diff --git a/comms.html b/comms.html index b9dc12306..788ea0c44 100644 --- a/comms.html +++ b/comms.html @@ -510,7 +510,7 @@ user-select: none; } .pressed>.group{ - border: solid 2px black; + box-shadow: inset 2px 2px 10px #0007, inset -2px -2px 10px #0007; background-color: #276022aa; } button.pressed { diff --git a/devices.css b/devices.css index 79a9458dd..26db120f4 100644 --- a/devices.css +++ b/devices.css @@ -19,7 +19,6 @@ h1 { font-size: 1rem; padding: 10px; position: relative; - user-select: none; background: #d0d0d0; border-radius: 4px; } diff --git a/index.html b/index.html index c55a387a1..0e38f8561 100644 --- a/index.html +++ b/index.html @@ -57,7 +57,7 @@ - + @@ -73,7 +73,7 @@ --> - + @@ -81,9 +81,9 @@ - + - + - + @@ -882,7 +885,7 @@

Welcome to VDO Ninja! We've rebranded! Nothing else is changing and we're staying 100% free.


- 🚀🚀 Site updated November 18th, 2022 to v22. If having new sudden issues, please try clearing your browser's cache, including refreshing the cache within any OBS browser source. You can also still access the previous version, which is hosted here. Development updates are here. + 🚀🚀 Site last updated on Nov.18th (v22 release notes). You can also still access the previous version, which is hosted here. Development updates are here.

@@ -943,7 +946,7 @@

INVITE A GUEST

Guests can use the link to join the group room - +
- - + + - + - + diff --git a/lib.js b/lib.js index 61581afe1..f81daa26c 100644 --- a/lib.js +++ b/lib.js @@ -2301,17 +2301,28 @@ function setupIncomingScreenTracking(v, UUID){ // SCREEN element. } v.addEventListener('resize', (e) => { // if the aspect ratio changes, then we might want to update the mixer. If audio only, then this doesn't matter. - log("resize event"); - var aspectRatio = parseFloat(e.target.videoWidth/e.target.videoHeight); - if (!aspectRatio){return;} // if Audio only, then we don't want to set or update any aspect ratio. + var v = e.target; + var aspectRatio = parseFloat(v.videoWidth/v.videoHeight) || 0; + log("resize event: "+aspectRatio); - if (v.dataset.aspectRatio){ - if (aspectRatio != v.dataset.aspectRatio){ + if (!aspectRatio){ + v.resetAR = true; + return; + } // if Audio only, then we don't want to set or update any aspect ratio. + + if (v.resetAR){ + log("ASPECT RATIO UNMUTED"); + delete(v.resetAR); + v.dataset.aspectRatio = aspectRatio; + setTimeout(function(){updateMixer();},1); + } else if (v.dataset.aspectRatio){ + if (aspectRatio != parseFloat(v.dataset.aspectRatio)){ + log("ASPECT RATIO CHANGED"); v.dataset.aspectRatio = aspectRatio; setTimeout(function(){updateMixer();},1); // We don't want to run this on the first resize? just subsequent ones. } } else { - log("ASPECT RATIO CHANGED"); + log("NEW VIDEO ? ASPECT RATIO new"); v.dataset.aspectRatio = aspectRatio; setTimeout(function(){updateMixer();},1); } @@ -2652,17 +2663,28 @@ function setupIncomingVideoTracking(v, UUID){ // video element. } v.addEventListener('resize', (e) => { - log("resize event"); - var aspectRatio = parseFloat(e.target.videoWidth/e.target.videoHeight); - if (!aspectRatio){return;} // if Audio only, then we don't want to set or update any aspect ratio. + var v = e.target; + var aspectRatio = parseFloat(v.videoWidth/v.videoHeight) || 0; + log("resize event: "+aspectRatio); + + if (!aspectRatio){ + v.resetAR = true; + return; + } // if Audio only, then we don't want to set or update any aspect ratio. - if (v.dataset.aspectRatio){ - if (aspectRatio != v.dataset.aspectRatio){ + if (v.resetAR){ + log("ASPECT RATIO UNMUTED"); + delete(v.resetAR); + v.dataset.aspectRatio = aspectRatio; + setTimeout(function(){updateMixer();},1); + } else if (v.dataset.aspectRatio){ + if (aspectRatio != parseFloat(v.dataset.aspectRatio)){ + log("ASPECT RATIO CHANGED"); v.dataset.aspectRatio = aspectRatio; setTimeout(function(){updateMixer();},1); // We don't want to run this on the first resize? just subsequent ones. } } else { - log("ASPECT RATIO CHANGED"); + log("NEW VIDEO ? ASPECT RATIO new"); v.dataset.aspectRatio = aspectRatio; setTimeout(function(){updateMixer();},1); } @@ -3193,7 +3215,7 @@ function updateMixerRun(e=false){ // this is the main auto-mixing code. It's a } } - if (session.iframeEle && (session.iframeEle.style.display!="none")){ // local feed + if (session.iframeEle && (session.iframeEle.style.display!=="none")){ // local feed if (session.order!==false){ session.iframeEle.order=session.order; } else { @@ -3208,7 +3230,7 @@ function updateMixerRun(e=false){ // this is the main auto-mixing code. It's a if (session.videoElement && (session.videoElement.src || session.videoElement.srcObject)){ // I, myself, exist - if (session.videoElement.style.display!="none"){ // local feed + if (session.videoElement.style.display!=="none"){ // local feed if (miniPreview && (soloVideo!==true)){ /* session.videoElement.onclick = function(){ @@ -3282,7 +3304,7 @@ function updateMixerRun(e=false){ // this is the main auto-mixing code. It's a if (j != soloVideo){ // this remote guest is NOT in focus try { - if (session.rpcs[j].videoElement && session.rpcs[j].videoElement.style.display!="none" ){ // Add it if not hidden + if (session.rpcs[j].videoElement && session.rpcs[j].videoElement.style.display!=="none" ){ // Add it if not hidden if (document.pictureInPictureElement && document.pictureInPictureElement.id && (document.pictureInPictureElement.id == session.rpcs[j].videoElement.id)){ var bitratePIP = parseInt(session.zoomedBitrate/4); @@ -3352,7 +3374,7 @@ function updateMixerRun(e=false){ // this is the main auto-mixing code. It's a } catch(e){errorlog(e);} } try { - if (session.rpcs[j].videoElement && (session.rpcs[j].videoElement.style.display!="none")){ // Add it if not hidden + if (session.rpcs[j].videoElement && (session.rpcs[j].videoElement.style.display!=="none")){ // Add it if not hidden if (document.pictureInPictureElement && document.pictureInPictureElement.id && (document.pictureInPictureElement.id == session.rpcs[j].videoElement.id)){ var bitratePIP = parseInt(session.zoomedBitrate/4); session.requestRateLimit(bitratePIP, j); @@ -3380,7 +3402,7 @@ function updateMixerRun(e=false){ // this is the main auto-mixing code. It's a } catch(e){errorlog(e);} } if (session.rpcs[i].videoElement){ // remote feeds - if (session.rpcs[i].videoElement.style.display!="none"){ + if (session.rpcs[i].videoElement.style.display!=="none"){ if (session.rpcs[i].videoElement.srcObject && session.rpcs[i].videoElement.srcObject.getVideoTracks().length){ // only count videos with actual video tracks; audio-only excluded if (session.rpcs[i].videoMuted){ // it's video muted @@ -3408,6 +3430,11 @@ function updateMixerRun(e=false){ // this is the main auto-mixing code. It's a if (session.broadcast !==false){ if (roomQuality>0){ if (session.nopreview!==false){ + for (var i=0;iparseInt(holder.style.height))){ @@ -4653,61 +4723,14 @@ function updateMixerRun(e=false){ // this is the main auto-mixing code. It's a } else { vid.style.position = "relative"; } - vid.style.left = 0; - if (cover){ - holder.style.left = borderOffset + "px"; - holder.style.top = borderOffset + "px"; - holder.style.height = "calc(100% - "+(videoMargin+borderOffset)+"px)"; - holder.style.width = "calc(100% - "+(videoMargin+borderOffset)+"px)"; - - vid.style.width = (height - (borderOffset + videoMargin)*2) + "px"; - vid.style.height = (width - (borderOffset + videoMargin)*2) + "px"; - - vid.style.left = 0; - vid.style.top = 0; - } - } else if (cover){ - holder.style.left = borderOffset + videoMargin + "px"; - holder.style.top = borderOffset + videoMargin +"px"; - holder.style.height = "calc(100% - "+(videoMargin*2+borderOffset)+"px)"; - holder.style.width = "calc(100% - "+(videoMargin*2+borderOffset)+"px)"; - vid.style.width = "100%"; - vid.style.height = "100%"; - vid.style.left = 0; - vid.style.top = 0; - } - - - } else if (vid.dataset.aspectRatio){ - var ar = parseFloat(vid.dataset.aspectRatio); - var wa = (container.twidth)-(2*(borderOffset + videoMargin)); - var ha = (container.theight)-(2*(borderOffset + videoMargin)); - if (wa<0){ - wa=0; - } - if (ha<0){ - ha=0; - } - if (wa/haupdateMixer(),10); + + if (session.fullscreenButton){ + if (session.infocus){ + fullscreenPageToggle(true); + } else { + fullscreenPageToggle(false); + } + } }; - } else { button.dataset.UUID = vid.dataset.UUID; button.onclick = function(event){ @@ -4968,6 +4998,13 @@ function updateMixerRun(e=false){ // this is the main auto-mixing code. It's a session.infocus = target.dataset.UUID; //log("session:"+target.dataset.UUID); } + if (session.fullscreenButton){ + if (session.infocus){ + fullscreenPageToggle(true); + } else { + fullscreenPageToggle(false); + } + } setTimeout(()=>updateMixer(),10); }; @@ -5034,13 +5071,19 @@ function updateMixerRun(e=false){ // this is the main auto-mixing code. It's a button.onclick = function(event){ event.stopPropagation(); event.preventDefault(); - if (!session.infocus){return;} if (session.infocus === true){ session.infocus = false; setTimeout(()=>updateMixer(),10); } + if (session.fullscreenButton){ + if (session.infocus){ + fullscreenPageToggle(true); + } else { + fullscreenPageToggle(false); + } + } }; } @@ -5066,20 +5109,20 @@ function miniTranslate(ele, ident = false, direct=false) { } if (ident){ - if (direct){ + if (translation.innerHTML && (ident in translation.innerHTML)){ if (ele.querySelector('[data-translate]')){ - ele.querySelector('[data-translate]').innerHTML = direct; + ele.querySelector('[data-translate]').innerHTML = translation.innerHTML[ident]; ele.querySelector('[data-translate]').dataset.translate = ident; } else { - ele.innerHTML = direct; + ele.innerHTML = translation.innerHTML[ident]; } return; - } else if (ident in translation.innerHTML){ + } else if (direct){ if (ele.querySelector('[data-translate]')){ - ele.querySelector('[data-translate]').innerHTML = translation.innerHTML[ident]; + ele.querySelector('[data-translate]').innerHTML = direct; ele.querySelector('[data-translate]').dataset.translate = ident; } else { - ele.innerHTML = translation.innerHTML[ident]; + ele.innerHTML = direct; } return; } else { @@ -5239,7 +5282,7 @@ eventer(messageEvent, function(e) { // this listens for child IFRAMES. // TODO: if (e.source == session...iframeEle.contentWindow) { warnlog(e); toggleSpeakerMute(true); - updateMixer(); // harmless to let run. + updateMixer(); // harmless to let run. (not so harmless if updateMixer reloads meshcast actually) TODO; Do I need this? } } } catch(e){errorlog(e);} @@ -10876,13 +10919,55 @@ function toggleClock(){ if (session.showTime){ clearInterval(session.showTime); session.showTime = null; + var clock = document.getElementById("overlayClock2"); + clock.ctx = null; + clock.canvas = null; + + if (document.pictureInPictureElement && clock.video) { + if (document.pictureInPictureElement == clock.video){ + document.exitPictureInPicture(); + pokeIframeAPI('picture-in-picture', false); + } + clock.video.remove; + } + clock.video = null; + clock.innerHTML = ""; getById("overlayClockContainer2").classList.add("hidden"); } else { var time = new Date(); - getById("overlayClock2").innerHTML = time.toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', hour12: true }); + + var clock = document.getElementById("overlayClock2"); + if (clock.ctx){ + clock.ctx.beginPath(); + clock.ctx.rect(0, 0, 230, 40); + clock.ctx.fillStyle = "#000"; + clock.ctx.fill(); + clock.ctx.fillStyle = "#FFF"; + clock.ctx.font = "50px monospace"; + clock.ctx.textAlign = "center"; + clock.ctx.fillText(time.toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', hour12: true }), 115, 37); + } else { + clock.innerHTML = time.toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', hour12: true }); + } + session.showTime = setInterval(function(){ var time = new Date(); - getById("overlayClock2").innerHTML = time.toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', hour12: true }); + + var clock = document.getElementById("overlayClock2"); + if (clock.ctx){ + clock.ctx.beginPath(); + clock.ctx.rect(0, 0, 230, 40); + clock.ctx.fillStyle = "#000"; + clock.ctx.fill(); + clock.ctx.fillStyle = "#FFF"; + clock.ctx.font = "50px monospace"; + clock.ctx.textAlign = "center"; + clock.ctx.fillText(time.toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', hour12: true }), 115, 37); + } else { + getById("overlayClock2").innerHTML = time.toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', hour12: true }); + } + + },2000); getById("overlayClockContainer2").classList.remove("hidden"); } @@ -12626,6 +12711,7 @@ session.publishIFrame = function(iframeURL){ if (session.roomid===""){ if (!(session.view) || (session.view==="")){ session.windowed = true; + container.classList.add("vidcon"); getById("mutespeakerbutton").classList.add("hidden"); container.style.width="100%"; @@ -14303,7 +14389,7 @@ async function createDirectorOnlyBox() { if (session.hidesololinks==false){ // won't be updating the solo link to a view-only one ever, since director is always expected to be in a room controls.innerHTML += "
\ - " + sanitizeChat(soloLink) + "\ \
\ @@ -14780,7 +14866,7 @@ function createControlBox(UUID, soloLink, streamID) { if (session.hidesololinks==false){ controls.innerHTML += "
\ - " + sanitizeChat(soloLink) + "\ \
"; @@ -15272,7 +15358,7 @@ function loadSettings(){ function gotDevices(deviceInfos) { - log("got devices!"); + log("got devices!1"); log(deviceInfos); try { const audioInputSelect = document.getElementById('audioSource') || document.getElementById('audioSource3'); @@ -15303,6 +15389,9 @@ function gotDevices(deviceInfos) { audioInputSelect.innerHTML = ""; audioInputSelect.appendChild(listele); + + audioOutputSelect.innerHTML = ""; + option.onchange = function(event) { // make sure to clear 'no audio option' if anything else is selected @@ -15946,7 +16035,7 @@ function addScreenDevices(device) { var gotDevices2AlreadyRan = false; function gotDevices2(deviceInfos) { gotDevices2AlreadyRan=true; - log("got devices!"); + log("got devices!2"); log(deviceInfos); getById("multiselect-trigger3").dataset.state = "0"; getById("multiselect-trigger3").classList.add('closed'); @@ -16723,6 +16812,17 @@ async function getAudioOnly(selector, trackid = null, override = false) { constraint.audio.channelCount = session.audioInputChannels; } } + + + if (session.micSampleRate){ + if (constraint.audio === true) { + constraint.audio = {}; + constraint.audio.sampleRate = parseInt(session.micSampleRate); + } else if (constraint.audio) { + constraint.audio.sampleRate = parseInt(session.micSampleRate); + } + } + log("CONSTRAINT"); log(constraint); var stream = await navigator.mediaDevices.getUserMedia(constraint).then(function(stream2) { @@ -17064,6 +17164,7 @@ function reconnectDevices(event) { /// TODO: Perhaps change this to only if the }, 1000); } +var vingesterFixed = false; function resetupAudioOut(ele=false, forceReset=false) { // this re-sets ALL output devices / sources log("resetupAudioOut"); if (iOS || iPad || SafariVersion || (ChromeVersion && session.mobile)) { // TODO : TEST TO SEE IF THIS WORKS WITH SAFARI? it might. @@ -17091,6 +17192,15 @@ function resetupAudioOut(ele=false, forceReset=false) { // this re-sets ALL outp var outputSelect = document.getElementById("outputSource") || document.getElementById("outputSource3") || false; var sinkSet = false; + try { // function tries to get vingester working, by listening for its first tweak. + if (!session.sink && !vingesterFixed && document.getElementById("testtone") && document.getElementById("testtone").sinkId && (navigator.userAgent.toLowerCase().indexOf(' electron/') > -1)){ + vingesterFixed = true; // only set the session.sink one time, as vingester on should be needing to set it one time. + session.sink = document.getElementById("testtone").sinkId; + } + } catch(e){ + errorlog(e); + } + if (outputSelect && outputSelect.options && outputSelect.options.length){ for (var i = 0; i < outputSelect.options.length; i++) { if (outputSelect.options[i].value == session.sink) { @@ -17150,6 +17260,7 @@ function resetupAudioOut(ele=false, forceReset=false) { // this re-sets ALL outp }); } } catch(e){warnlog("can't use setsink");} + log("audio sink: "+eleSink); return; } @@ -17188,7 +17299,72 @@ function resetupAudioOut(ele=false, forceReset=false) { // this re-sets ALL outp } } catch(e){warnlog(e);} } + log("audio sink 2: "+eleSink); +} + + +function lyraDecode(receiver){ // WIP. does not work + warnlog("lyraDecode"); + const receiverStreams = receiver.createEncodedStreams(); + var xx = receiverStreams.readable; + xx.pipeThrough(new TransformStream()); + xx.pipeTo(receiverStreams.writable); } +function lyraEncode(UUID){ // WIP. does not work + warnlog("lyraEncode"); + var senders = getSenders2(UUID); + senders.forEach((sender) => { + if (!sender.track){return;} + if (sender.track.kind === "audio") { + try { + var senderStreams = sender.createEncodedStreams(); + senderStreams.readable.pipeThrough(new TransformStream()).pipeTo(senderStreams.writable); + } catch (e){ + errorlog(e); + } + } + }); +} + +///////// WIP. does not work //////////// +// function encodeFunctionLyra(encodedFrame, controller) { // Snippet is Apache 2.0 licenced. Source: https://github.com/Flash-Meeting/lyra-webrtc + // const inputDataArray = new Uint8Array(encodedFrame.data); + + // const inputBufferPtr = session.lyraCodecModule._malloc(encodedFrame.data.byteLength); + // const encodedBufferPtr = session.lyraCodecModule._malloc(1024); + + // session.lyraCodecModule.HEAPU8.set(inputDataArray, inputBufferPtr); + // const length = session.lyraCodecModule.encode(inputBufferPtr, inputDataArray.length, 16000, encodedBufferPtr); + + // const newData = new ArrayBuffer(length); + // if (length > 0){ + // const newDataArray = new Uint8Array(newData); + // newDataArray.set(session.lyraCodecModule.HEAPU8.subarray(encodedBufferPtr, encodedBufferPtr + length)); + // } + // session.lyraCodecModule._free(inputBufferPtr); + // session.lyraCodecModule._free(encodedBufferPtr); + // encodedFrame.data = newData; + // controller.enqueue(encodedFrame); +// } +// function decodeFunctionLyra(encodedFrame, controller) { // Apache 2.0 licenced. Source: https://github.com/Flash-Meeting/lyra-webrtc + // const newData = new ArrayBuffer(16000 * 0.02 * 2); + // if (encodedFrame.data.byteLength > 0) { + // const inputDataArray = new Uint8Array(encodedFrame.data); + // const inputBufferPtr = session.lyraCodecModule._malloc(encodedFrame.data.byteLength); + // const outputBufferPtr = session.lyraCodecModule._malloc(2048); + // session.lyraCodecModule.HEAPU8.set(inputDataArray, inputBufferPtr); + // const length = session.lyraCodecModule.decode(inputBufferPtr, + // inputDataArray.length, 16000, + // outputBufferPtr); + // const newDataArray = new Uint8Array(newData); + // newDataArray.set(session.lyraCodecModule.HEAPU8.subarray(outputBufferPtr, outputBufferPtr + length)); + // session.lyraCodecModule._free(inputBufferPtr); + // session.lyraCodecModule._free(outputBufferPtr); + // } + // encodedFrame.data = newData; + // controller.enqueue(encodedFrame); +// } +////////// function obfuscateURL(input) { if (input.startsWith("https://obs.ninja/")) { @@ -19792,7 +19968,7 @@ session.publishStream = function(v){ // stream is used to generated an SDP container.style.setProperty('height', '100%', 'important'); } - container.className = "vidcon"; + //container.className = "vidcon"; getById("gridlayout").appendChild(container); v.className = "tile"; //"tile task"; TODO: get working (will add task later on instead) @@ -19874,6 +20050,7 @@ session.publishStream = function(v){ // stream is used to generated an SDP } else { v.className = "myVideo"; //"myVideo task"; TODO: get working session.windowed = true; + container.classList.add("vidcon"); } getById("mutespeakerbutton").classList.add("hidden"); @@ -19913,6 +20090,7 @@ session.publishStream = function(v){ // stream is used to generated an SDP session.windowed = false; } else { v.className = "myVideo"; //"myVideo task"; TODO: get working + container.classList.add("vidcon"); session.windowed = true; } getById("mutespeakerbutton").classList.add("hidden"); @@ -20118,6 +20296,24 @@ async function publishScreen2(constraints, audioList=[], audio=true, overrideFra } else { constraint.audio.noiseSuppression=true; } + + if (session.audioInputChannels) { + if (constraint.audio === true) { + constraint.audio = {}; + constraint.audio.channelCount = session.audioInputChannels; + } else if (constraint.audio) { + constraint.audio.channelCount = session.audioInputChannels; + } + } + + if (session.micSampleRate){ + if (constraint.audio === true) { + constraint.audio = {}; + constraint.audio.sampleRate = parseInt(session.micSampleRate); + } else if (constraint.audio) { + constraint.audio.sampleRate = parseInt(session.micSampleRate); + } + } getUserMediaRequestID+=1; var gumID = getUserMediaRequestID; await navigator.mediaDevices.getUserMedia(constraint).then((stream)=>{ @@ -20277,7 +20473,7 @@ async function publishScreen2(constraints, audioList=[], audio=true, overrideFra v.style.boxShadow = "none"; } - container.className = "vidcon"; + //container.className = "vidcon"; getById("gridlayout").appendChild(container); if (session.nopreview){ @@ -20370,6 +20566,7 @@ async function publishScreen2(constraints, audioList=[], audio=true, overrideFra } else { v.className = "myVideo"; session.windowed = true; + container.classList.add("vidcon"); if (session.mirrored && session.flipped){ v.style.transform = " scaleX(-1) scaleY(-1) translate(0, 50%)"; v.classList.add("mirrorControl"); @@ -20821,7 +21018,7 @@ session.publishFile = function(ele, event){ // webcam stream is used to generate var fileURL = URL.createObjectURL(files[0]); var container = document.createElement("div"); container.id = "container"; - container.className = "vidcon"; + //container.className = "vidcon"; if (session.cover){ container.style.setProperty('height', '100%', 'important'); @@ -20965,6 +21162,7 @@ session.publishFile = function(ele, event){ // webcam stream is used to generate session.windowed = false; } else { v.className = "myVideo clean fileshare"; + container.classList.add("vidcon"); session.windowed = true; } getById("mutespeakerbutton").classList.add("hidden"); @@ -20989,6 +21187,7 @@ session.publishFile = function(ele, event){ // webcam stream is used to generate session.windowed = false; } else { v.className = "myVideo clean fileshare"; + container.classList.add("vidcon"); session.windowed = true; } getById("mutespeakerbutton").classList.add("hidden"); @@ -21428,16 +21627,18 @@ function togglePictureInPicture(videoElement) { if (document.pictureInPictureElement.id == videoElement.id){ document.exitPictureInPicture(); pokeIframeAPI('picture-in-picture', false); + return false; } else { document.exitPictureInPicture(); pokeIframeAPI('picture-in-picture', false); videoElement.requestPictureInPicture(); - pokeIframeAPI('picture-in-picture', true); + pokeIframeAPI('picture-in-picture', true); } } else if (document.pictureInPictureEnabled) { videoElement.requestPictureInPicture(); pokeIframeAPI('picture-in-picture', true); } + return true; } @@ -21963,6 +22164,7 @@ function updateDirectorsAudio(dataN, UUID) { label.style.marginBottom = "10px"; label.style.display = "block"; label.id = "remoteAudioLabel_"+UUID; + label.dataset.UUID = UUID; audioEle.appendChild(label); } } @@ -21976,8 +22178,8 @@ function updateDirectorsAudio(dataN, UUID) { if (("micDelay" in data) && n==0) { var label = document.createElement("label"); var i = "micDelay"; - label.id = "label_" + i; - label.htmlFor = "constraints_" + i; + label.id = "label_" + i + "_"+UUID; + label.htmlFor = "constraints_" + i + "_"+UUID; var input = document.createElement("input"); input.min = 0; @@ -21997,30 +22199,30 @@ function updateDirectorsAudio(dataN, UUID) { manualInput.dataset.keyname = i; manualInput.value = parseFloat(input.value); manualInput.className = "manualInput"; - manualInput.id = "constraints_manual_" + i; + manualInput.id = "constraints_manual_" + i + "_"+UUID; manualInput.dataset.UUID = UUID; manualInput.dataset.track = n; input.dataset.track = n; input.dataset.UUID = UUID; - input.id = "constraints_" + i; + input.id = "constraints_" + i + "_"+UUID; input.style = "display:block; width:100%;"; input.name = "constraints_" + i; input.style.margin = "10px 0"; manualInput.onchange = function(e) { - getById("constraints_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("constraints_" + e.target.dataset.keyname+"_"+e.target.dataset.UUID).value = parseFloat(e.target.value); requestChangeMicDelay(parseInt(e.target.value), e.target.dataset.UUID, parseInt(e.target.dataset.track)); }; input.onchange = function(e) { //e.target.title = e.target.value; - getById("constraints_manual_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("constraints_manual_" + e.target.dataset.keyname+"_"+e.target.dataset.UUID).value = parseFloat(e.target.value); requestChangeMicDelay(parseInt(e.target.value), e.target.dataset.UUID, parseInt(e.target.dataset.track)); }; input.oninput = function(e) { - getById("constraints_manual_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("constraints_manual_" + e.target.dataset.keyname+"_"+e.target.dataset.UUID).value = parseFloat(e.target.value); if (Date.now() - remoteSliderTimeout > 100){ remoteSliderTimeout = Date.now(); requestChangeMicDelay(parseInt(e.target.value), e.target.dataset.UUID, parseInt(e.target.dataset.track)); @@ -22036,8 +22238,8 @@ function updateDirectorsAudio(dataN, UUID) { if (data.lowcut!==false && n==0) { var label = document.createElement("label"); var i = "lowCut"; - label.id = "label_" + i; - label.htmlFor = "constraints_" + i; + label.id = "label_" + i + "_"+UUID; + label.htmlFor = "constraints_" + i + "_"+UUID; var input = document.createElement("input"); input.min = 50; @@ -22057,30 +22259,30 @@ function updateDirectorsAudio(dataN, UUID) { manualInput.dataset.keyname = i; manualInput.value = parseFloat(input.value); manualInput.className = "manualInput"; - manualInput.id = "constraints_manual_" + i; + manualInput.id = "constraints_manual_" + i + "_"+UUID; manualInput.dataset.UUID = UUID; manualInput.dataset.track = n; input.dataset.track = n; input.dataset.UUID = UUID; - input.id = "constraints_" + i; + input.id = "constraints_" + i + "_"+UUID; input.style = "display:block; width:100%;"; input.name = "constraints_" + i; input.style.margin = "10px 0"; manualInput.onchange = function(e) { - getById("constraints_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("constraints_" + e.target.dataset.keyname+"_"+e.target.dataset.UUID).value = parseFloat(e.target.value); requestChangeLowcut(parseInt(e.target.value), e.target.dataset.UUID, parseInt(e.target.dataset.track)); }; input.onchange = function(e) { //e.target.title = e.target.value; - getById("constraints_manual_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("constraints_manual_" + e.target.dataset.keyname+"_"+e.target.dataset.UUID).value = parseFloat(e.target.value); requestChangeLowcut(parseInt(e.target.value), e.target.dataset.UUID, parseInt(e.target.dataset.track)); }; input.oninput = function(e) { - getById("constraints_manual_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("constraints_manual_" + e.target.dataset.keyname+"_"+e.target.dataset.UUID).value = parseFloat(e.target.value); if (Date.now() - remoteSliderTimeout > 100){ remoteSliderTimeout = Date.now(); requestChangeLowcut(parseInt(e.target.value), e.target.dataset.UUID, parseInt(e.target.dataset.track)); @@ -22095,8 +22297,8 @@ function updateDirectorsAudio(dataN, UUID) { if (data.equalizer && n==0) { var label = document.createElement("label"); var i = "Low_EQ"; - //label.id = "label_" + i; - label.htmlFor = "constraints_" + i; + //label.id = "label_" +i + "_"+UUID; + label.htmlFor = "constraints_" +i + "_"+UUID; var input = document.createElement("input"); @@ -22115,29 +22317,29 @@ function updateDirectorsAudio(dataN, UUID) { manualInput.dataset.keyname = i; manualInput.value = parseFloat(input.value); manualInput.className = "manualInput"; - manualInput.id = "label_" + i; + manualInput.id = "label_" + i + "_"+UUID; manualInput.dataset.UUID = UUID; manualInput.dataset.track = n; input.dataset.track = n; input.dataset.UUID = UUID; - input.id = "constraints_" + i; + input.id = "constraints_" + i + "_"+UUID; input.style = "display:block; width:100%;"; input.name = "constraints_" + i; input.style.margin = "10px 0"; manualInput.onchange = function(e) { - getById("constraints_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("constraints_" + e.target.dataset.keyname+"_"+e.target.dataset.UUID).value = parseFloat(e.target.value); requestChangeEQ("low", parseInt(e.target.value), e.target.dataset.UUID, parseInt(e.target.dataset.track)); }; input.onchange = function(e) { - getById("label_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("label_" + e.target.dataset.keyname+"_"+e.target.dataset.UUID).value = parseFloat(e.target.value); requestChangeEQ("low", parseInt(e.target.value), e.target.dataset.UUID, parseInt(e.target.dataset.track)); }; input.oninput = function(e) { - getById("label_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("label_"+ e.target.dataset.keyname+"_"+e.target.dataset.UUID).value = parseFloat(e.target.value); if (Date.now() - remoteSliderTimeout > 100){ remoteSliderTimeout = Date.now(); requestChangeEQ("low", parseInt(e.target.value), e.target.dataset.UUID, parseInt(e.target.dataset.track)); @@ -22150,8 +22352,8 @@ function updateDirectorsAudio(dataN, UUID) { var label = document.createElement("label"); var i = "midEQ"; - //label.id = "label_" + i; - label.htmlFor = "constraints_" + i; + //label.id = "label_" + i + "_"+UUID; + label.htmlFor = "constraints_" + i + "_"+UUID; @@ -22171,29 +22373,29 @@ function updateDirectorsAudio(dataN, UUID) { manualInput.dataset.keyname = i; manualInput.value = parseFloat(input.value); manualInput.className = "manualInput"; - manualInput.id = "label_" + i; + manualInput.id = "label_" + i + "_"+UUID; manualInput.dataset.UUID = UUID; manualInput.dataset.track = n; input.dataset.track = n; input.dataset.UUID = UUID; - input.id = "constraints_" + i; + input.id = "constraints_" + i + "_"+UUID; input.style = "display:block; width:100%;"; input.name = "constraints_" + i; input.style.margin = "10px 0"; manualInput.onchange = function(e) { - getById("constraints_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("constraints_" + e.target.dataset.keyname+"_"+e.target.dataset.UUID).value = parseFloat(e.target.value); requestChangeEQ("mid", parseInt(e.target.value), e.target.dataset.UUID, parseInt(e.target.dataset.track)); }; input.onchange = function(e) { - getById("label_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("label_" + e.target.dataset.keyname+"_"+e.target.dataset.UUID).value = parseFloat(e.target.value); requestChangeEQ("mid", parseInt(e.target.value), e.target.dataset.UUID, parseInt(e.target.dataset.track)); }; input.oninput = function(e) { - getById("label_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("label_" + e.target.dataset.keyname+"_"+e.target.dataset.UUID).value = parseFloat(e.target.value); if (Date.now() - remoteSliderTimeout > 100){ remoteSliderTimeout = Date.now(); requestChangeEQ("mid", parseInt(e.target.value), e.target.dataset.UUID, parseInt(e.target.dataset.track)); @@ -22208,8 +22410,8 @@ function updateDirectorsAudio(dataN, UUID) { var label = document.createElement("label"); var i = "highEQ"; - //label.id = "label_" + i; - label.htmlFor = "constraints_" + i; + //label.id = "label_" + i + "_"+UUID; + label.htmlFor = "constraints_" + i + "_"+UUID; var input = document.createElement("input"); @@ -22228,28 +22430,28 @@ function updateDirectorsAudio(dataN, UUID) { manualInput.dataset.keyname = i; manualInput.value = parseFloat(input.value); manualInput.className = "manualInput"; - manualInput.id = "label_" + i; + manualInput.id = "label_" + i + "_"+UUID; manualInput.dataset.UUID = UUID; manualInput.dataset.track = n; input.dataset.track = n; input.dataset.UUID = UUID; - input.id = "constraints_" + i; + input.id = "constraints_" + i + "_"+UUID; input.style = "display:block; width:100%;margin:10px 0;"; input.name = "constraints_" + i; manualInput.onchange = function(e) { - getById("constraints_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("constraints_" + e.target.dataset.keyname+"_"+e.target.dataset.UUID).value = parseFloat(e.target.value); requestChangeEQ("high", parseInt(e.target.value), e.target.dataset.UUID, parseInt(e.target.dataset.track)); }; input.onchange = function(e) { - getById("label_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("label_" + e.target.dataset.keyname+"_"+e.target.dataset.UUID).value = parseFloat(e.target.value); requestChangeEQ("high", parseInt(e.target.value), e.target.dataset.UUID, parseInt(e.target.dataset.track)); }; input.oninput = function(e) { - getById("label_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("label_" + e.target.dataset.keyname+"_"+e.target.dataset.UUID).value = parseFloat(e.target.value); if (Date.now() - remoteSliderTimeout > 100){ remoteSliderTimeout = Date.now(); requestChangeEQ("high", parseInt(e.target.value), e.target.dataset.UUID, parseInt(e.target.dataset.track)); @@ -22266,11 +22468,12 @@ function updateDirectorsAudio(dataN, UUID) { var i = "noiseGate"; var div = document.createElement("div"); var label = document.createElement("label"); - label.id = "label_" + i + "_"+n; - label.htmlFor = "constraints_" + i + "_"+n; + label.id = "label_" + i + "_"+n + "_"+UUID; + label.htmlFor = "constraints_" + i + "_"+n + "_"+UUID; label.innerText = capitalizeFirstLetter(i).replace(/([a-z])([A-Z])/g, '$1 $2') + ":"; label.style = "display:inline-block; padding:0;margin: 5px 0px 9px;"; - label.dataset.keyname = i + "_"+n; + label.dataset.keyname = i; + label.dataset.track = n; var input = document.createElement("select"); var c = document.createElement("option"); @@ -22284,7 +22487,7 @@ function updateDirectorsAudio(dataN, UUID) { } input.dataset.deviceId = data.deviceId; - input.id = "constraints_" + i + "_"+n; + input.id = "constraints_" + i + "_"+n + "_"+UUID; input.className = "constraintCameraInput"; input.name = "constraints_" + i + "_"+n; input.style = "display:inline; padding:2px; margin:0 10px;"; @@ -22307,11 +22510,13 @@ function updateDirectorsAudio(dataN, UUID) { var i = "compressor"; var div = document.createElement("div"); var label = document.createElement("label"); - label.id = "label_" + i + "_"+n; - label.htmlFor = "constraints_" + i + "_"+n; + label.id = "label_" + i + "_"+n+ "_"+UUID; + label.htmlFor = "constraints_" + i + "_"+n+ "_"+UUID; label.innerText = capitalizeFirstLetter(i).replace(/([a-z])([A-Z])/g, '$1 $2') + ":"; label.style = "display:inline-block; padding:0;margin: 5px 0px 9px;"; - label.dataset.keyname = i + "_"+n; + label.dataset.keyname = i; + label.dataset.track = n; + var input = document.createElement("select"); var c = document.createElement("option"); @@ -22331,7 +22536,7 @@ function updateDirectorsAudio(dataN, UUID) { } input.dataset.deviceId = data.deviceId; - input.id = "constraints_" + i + "_"+n; + input.id = "constraints_" + i + "_"+n+ "_"+UUID; input.className = "constraintCameraInput"; input.name = "constraints_" + i + "_"+n; input.style = "display:inline; padding:2px; margin:0 10px;"; @@ -22355,7 +22560,7 @@ function updateDirectorsAudio(dataN, UUID) { label.innerText = data.trackLabel; label.style.margin = "20px 0 10px 0"; label.style.display = "block"; - label.id = "remoteAudioLabel_"+UUID+"_"+n; + label.id = "remoteAudioLabel_"+UUID+"_"+n+ "_"+UUID; audioEle.appendChild(label); } } @@ -22388,8 +22593,8 @@ function updateDirectorsAudio(dataN, UUID) { if (!("deviceId" in data.audioConstraints)){continue;} // not going to support older versions. var label = document.createElement("label"); - //label.id = "label_" + i + "_"+n; - label.htmlFor = "constraints_" + i + "_"+n; + //label.id = "label_" + i + "_"+n+ "_"+UUID; + label.htmlFor = "constraints_" + i + "_"+n+ "_"+UUID; label.innerText = capitalizeFirstLetter(i).replace(/([a-z])([A-Z])/g, '$1 $2') + ":"; var input = document.createElement("input"); @@ -22414,11 +22619,12 @@ function updateDirectorsAudio(dataN, UUID) { manualInput.dataset.keyname = i; manualInput.className = "manualInput"; - manualInput.id = "label_" + i + "_"+n; + manualInput.id = "label_" + i + "_"+n+ "_"+UUID; manualInput.max = data.audioConstraints[i].max; manualInput.min = data.audioConstraints[i].min; manualInput.dataset.UUID = UUID; manualInput.dataset.track = n; + manualInput.dataset.keyname = i; if (i in data.currentAudioConstraints) { input.value = data.currentAudioConstraints[i]; @@ -22441,9 +22647,9 @@ function updateDirectorsAudio(dataN, UUID) { input.dataset.track = n; input.dataset.deviceId = data.deviceId; input.dataset.UUID = UUID; - input.id = "constraints_" + i + "_"+n; + input.id = "constraints_" + i + "_"+n+ "_"+UUID; input.style = "display:block; width:100%;"; - input.name = "constraints_" + i + "_"+n; + input.name = "constraints_" + i + "_"+n + "_"+ UUID; if (i=="channelCount"){ input.style.display = "none"; @@ -22451,13 +22657,13 @@ function updateDirectorsAudio(dataN, UUID) { } manualInput.onchange = function(e) { - getById("constraints_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("constraints_" + e.target.dataset.keyname + "_"+e.target.dataset.track + "_"+ e.target.dataset.UUID).value = parseFloat(e.target.value); requestAudioHack(e.target.dataset.keyname, e.target.value, e.target.dataset.UUID, e.target.dataset.deviceId); }; input.onchange = function(e) { //e.target.title = e.target.value; - getById("label_" + e.target.dataset.keyname+"_"+e.target.dataset.track ).value = parseFloat(e.target.value); + getById("label_" + e.target.dataset.keyname + "_"+e.target.dataset.track + "_"+ e.target.dataset.UUID ).value = parseFloat(e.target.value); //updateAudioConstraints(e.target.dataset.keyname, e.target.value); requestAudioHack(e.target.dataset.keyname, e.target.value, e.target.dataset.UUID, e.target.dataset.deviceId); }; @@ -22472,8 +22678,8 @@ function updateDirectorsAudio(dataN, UUID) { var div = document.createElement("div"); var label = document.createElement("label"); - label.id = "label_" + i + "_"+n; - label.htmlFor = "constraints_" + i + "_"+n; + label.id = "label_" + i + "_"+n+ "_"+UUID; + label.htmlFor = "constraints_" + i + "_"+n+ "_"+UUID; label.innerText = capitalizeFirstLetter(i).replace(/([a-z])([A-Z])/g, '$1 $2') + ":"; label.style = "display:inline-block; padding:0;margin: 5px 0px 9px;"; var input = document.createElement("select"); @@ -22507,9 +22713,9 @@ function updateDirectorsAudio(dataN, UUID) { continue; } - input.id = "constraints_" + i + "_"+n; + input.id = "constraints_" + i + "_"+n+ "_"+UUID; input.className = "constraintCameraInput"; - input.name = "constraints_" + i + "_"+n; + input.name = input.id; input.style = "display:inline; padding:2px; margin:0 10px;"; input.dataset.keyname = i; input.dataset.track = n; @@ -22528,11 +22734,12 @@ function updateDirectorsAudio(dataN, UUID) { var div = document.createElement("div"); var label = document.createElement("label"); - label.id = "label_" + i + "_"+n; - label.htmlFor = "constraints_" + i + "_"+n; + label.id = "label_" + i + "_"+n+ "_"+UUID; + label.htmlFor = "constraints_" + i + "_"+n+ "_"+UUID; label.innerText = capitalizeFirstLetter(i).replace(/([a-z])([A-Z])/g, '$1 $2') + ":"; label.style = "display:inline-block; padding:0;margin: 5px 0px 9px;"; - label.dataset.keyname = i + "_"+n; + label.dataset.keyname = i ; + label.dataset.track = n; var input = document.createElement("select"); var c = document.createElement("option"); @@ -22548,9 +22755,9 @@ function updateDirectorsAudio(dataN, UUID) { } catch(e){} input.dataset.deviceId = data.deviceId; - input.id = "constraints_" + i + "_"+n; + input.id = "constraints_" + i + "_"+n+ "_"+UUID; input.className = "constraintCameraInput"; - input.name = "constraints_" + i + "_"+n; + input.name = input.id; input.style = "display:inline; padding:2px; margin:0 10px;"; input.dataset.keyname = i; input.dataset.track = n; @@ -22574,8 +22781,8 @@ function updateDirectorsAudio(dataN, UUID) { if (data.subGain!==false) { var label = document.createElement("label"); var i = "Gain"; - - label.htmlFor = "constraints_" + i + "_" + n; + label.id = "label_" + i + "_"+n+ "_"+UUID; + label.htmlFor = "constraints_" + i + "_" + n+ "_"+UUID; var input = document.createElement("input"); input.min = 0; @@ -22583,39 +22790,40 @@ function updateDirectorsAudio(dataN, UUID) { input.value = data.subGain*100; input.title = "Previously was: "+parseInt(input.value); input.type = "range"; - input.dataset.keyname = i + "_" + n; + input.dataset.keyname = i; + input.dataset.track = n; input.dataset.labelname = "Gain:" label.innerText = capitalizeFirstLetter(i).replace(/([a-z])([A-Z])/g, '$1 $2') + ":"; var manualInput = document.createElement("input"); manualInput.type = "number"; - manualInput.dataset.keyname = i + "_" + n; + manualInput.dataset.keyname = i; manualInput.value = parseFloat(input.value); manualInput.className = "manualInput"; - manualInput.id = "label_" + i + "_" + n; + manualInput.id = "label_" + i + "_" + n+ "_"+UUID; manualInput.dataset.UUID = UUID; manualInput.dataset.track = n; input.dataset.track = data.deviceId; input.dataset.UUID = UUID; - input.id = "constraints_" + i + "_" + n; + input.id = "constraints_" + i + "_" + n+ "_"+UUID; input.style = "display:block; width:100%;"; - input.name = "constraints_" + i + "_" + n; + input.name = input.id; input.style.margin = "10px 0"; manualInput.onchange = function(e) { - getById("constraints_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("constraints_" + e.target.dataset.keyname + "_"+e.target.dataset.track + "_"+ e.target.dataset.UUID).value = parseFloat(e.target.value); requestChangeSubGain(parseInt(e.target.value), e.target.dataset.UUID, e.target.dataset.track); }; input.onchange = function(e) { - getById("label_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("label_" + e.target.dataset.keyname + "_"+e.target.dataset.track + "_"+ e.target.dataset.UUID).value = parseFloat(e.target.value); requestChangeSubGain(parseInt(e.target.value), e.target.dataset.UUID, e.target.dataset.track); }; input.oninput = function(e) { - getById("label_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("label_" + e.target.dataset.keyname + "_"+e.target.dataset.track + "_"+ e.target.dataset.UUID).value = parseFloat(e.target.value); if (Date.now() - remoteSliderTimeout > 100){ remoteSliderTimeout = Date.now(); requestChangeSubGain(parseInt(e.target.value), e.target.dataset.UUID, e.target.dataset.track); @@ -22641,6 +22849,7 @@ function updateDirectorsVideo(data, UUID) { label.style.marginBottom = "10px"; label.style.display = "block"; label.id = "remoteVideoLabel_"+UUID; + label.dataset.UUID = UUID; videoEle.appendChild(label); } @@ -22648,7 +22857,18 @@ function updateDirectorsVideo(data, UUID) { try { log(i); log(data.cameraConstraints[i]); - if ((typeof data.cameraConstraints[i] === 'object') && (data.cameraConstraints[i] !== null) && ("max" in data.cameraConstraints[i]) && ("min" in data.cameraConstraints[i])) { + + + if (i === "focusMode") { + continue // I'll handle this with FocusDistance instead + } else if (i === "whiteBalanceMode") { + continue // I'll handle this elsewhere + } else if (i === "exposureMode") { + continue // I'll handle this elsewhere + } + + + if ((typeof data.cameraConstraints[i] === 'object') && (data.cameraConstraints[i] !== null) && ("max" in data.cameraConstraints[i]) && ("min" in data.cameraConstraints[i])){ if (i === "aspectRatio") { // continue; } else if (i === "width") { @@ -22664,11 +22884,97 @@ function updateDirectorsVideo(data, UUID) { } else if (i === "channelCount") { // continue; } + + var manualMode = false; + var manualLabel = false; + if (i ==="exposureTime"){ + if (data.currentCameraConstraints["exposureMode"]){ + manualMode = document.createElement("input"); + manualMode.type = "checkbox"; + manualMode.id = "manual_"+i+"_"+UUID; + manualMode.dataset.UUID = UUID; + manualMode.dataset.keyname = "exposureMode"; + manualMode.onchange = function(e) { + var value = "manual"; + if (e.target.checked){ + value = "continuous"; + } + requestVideoHack(e.target.dataset.keyname, value, e.target.dataset.UUID, true); + //getById("constraints_" + e.target.dataset.keyname + "_" + e.target.dataset.UUID).value = parseFloat(e.target.value); + //getById("label_" + e.target.dataset.keyname+ "_" + e.target.dataset.UUID).value = parseFloat(e.target.value); + }; + + manualLabel = document.createElement("label"); + manualLabel.htmlFor = manualMode.id; + manualLabel.innerHTML = "Auto: "; + manualLabel.style.marginLeft = "20px"; + if (data.currentCameraConstraints["exposureMode"] == "continuous"){ + manualMode.checked = true; + } + } + } else if (i ==="focusDistance"){ + if (data.currentCameraConstraints["focusMode"]){ + manualMode = document.createElement("input"); + manualMode.type = "checkbox"; + manualMode.id = "manual_"+i+"_"+UUID; + manualMode.dataset.UUID = UUID; + manualMode.dataset.keyname = "focusMode"; + manualMode.onchange = function(e) { + var value = "manual"; + if (e.target.checked){ + value = "continuous"; + } + requestVideoHack(e.target.dataset.keyname, value, e.target.dataset.UUID, true); + }; + manualLabel = document.createElement("label"); + manualLabel.htmlFor = manualMode.id; + manualLabel.innerHTML = "Auto: "; + manualLabel.style.marginLeft = "20px"; + if (data.currentCameraConstraints["focusMode"] == "continuous"){ + manualMode.checked = true; + } + } + } else if (i ==="colorTemperature"){ + if (data.currentCameraConstraints["whiteBalanceMode"]){ + manualMode = document.createElement("input"); + manualMode.type = "checkbox"; + manualMode.id = "manual_"+i+"_"+UUID; + manualMode.dataset.UUID = UUID; + manualMode.dataset.keyname = "whiteBalanceMode"; + manualMode.onchange = function(e) { + var value = "manual"; + if (e.target.checked){ + value = "continuous"; + } + requestVideoHack(e.target.dataset.keyname, value, e.target.dataset.UUID, true); + }; + manualLabel = document.createElement("label"); + manualLabel.htmlFor = manualMode.id; + manualLabel.innerHTML = "Auto: "; + manualLabel.style.marginLeft = "20px"; + if (data.currentCameraConstraints["whiteBalanceMode"] == "continuous"){ + manualMode.checked = true; + } + } + } + + var label = document.createElement("label"); //label.id = "label_" + i; - label.htmlFor = "constraints_" + i; - label.innerText = capitalizeFirstLetter(i).replace(/([a-z])([A-Z])/g, '$1 $2') + ":"; + label.htmlFor = "constraints_" + i + " _"+ UUID; + if (i === "colorTemperature"){ + label.innerText = "Color Temp:"; + } else if (i === "exposureCompensation"){ + label.innerText = "Exposure Comp:"; + } else if (i === "exposureTime"){ + label.innerText = "Exposure:"; + } else if (i === "focusDistance"){ + label.innerText = "Focus:"; + } else { + label.innerText = capitalizeFirstLetter(i).replace(/([a-z])([A-Z])/g, '$1 $2') + ":"; + } + if (i === "zoom" || i === "pan" || i === "til"){ label.innerHTML = "âš  "+label.innerText @@ -22694,13 +23000,14 @@ function updateDirectorsVideo(data, UUID) { input.title = "Previously was: " + data.currentCameraConstraints[i]; } - - input.type = "range"; input.dataset.keyname = i; - input.id = "constraints_" + i; + input.dataset.UUID = UUID; + input.id = "constraints_" + i + "_" + UUID; + input.name = input.id; input.style = "display:block; width:100%;margin: 10px 0;"; - input.name = "constraints_" + i; + input.manualMode = manualMode; + if ((i === "height") || (i === "width")){ input.title = "Hold CTRL (or cmd) to lock width and height together when changing them"; @@ -22711,8 +23018,11 @@ function updateDirectorsVideo(data, UUID) { manualInput.type = "number"; manualInput.value = parseFloat(input.value); manualInput.className = "manualInput"; - manualInput.id = "label_" + i; + manualInput.id = "label_" + i + "_" + UUID; + manualInput.name = manualInput.id; manualInput.dataset.keyname = i; + manualInput.dataset.UUID = UUID; + manualInput.manualMode = manualMode; if ("step" in data.cameraConstraints[i]) { manualInput.step = data.cameraConstraints[i].step; @@ -22722,35 +23032,72 @@ function updateDirectorsVideo(data, UUID) { } manualInput.onchange = function(e) { - getById("constraints_" + e.target.dataset.keyname).value = parseFloat(e.target.value); - requestVideoHack(e.target.dataset.keyname, e.target.value, UUID, false); + getById("constraints_" + e.target.dataset.keyname + "_" + e.target.dataset.UUID).value = parseFloat(e.target.value); + if (e.target.manualMode){ + requestVideoHack(e.target.dataset.keyname, e.target.value, e.target.dataset.UUID, true); + } else { + requestVideoHack(e.target.dataset.keyname, e.target.value, e.target.dataset.UUID, false); + } }; input.onchange = function(e) { - getById("label_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("label_" + e.target.dataset.keyname+ "_" + e.target.dataset.UUID).value = parseFloat(e.target.value); //updateVideoConstraints(e.target.dataset.keyname, e.target.value); - if (CtrlPressed){ - requestVideoHack(e.target.dataset.keyname, e.target.value, UUID, true); + if (CtrlPressed || e.target.manualMode){ + requestVideoHack(e.target.dataset.keyname, e.target.value, e.target.dataset.UUID, true); } else { - requestVideoHack(e.target.dataset.keyname, e.target.value, UUID, false); + requestVideoHack(e.target.dataset.keyname, e.target.value, e.target.dataset.UUID, false); } }; input.oninput = function(e) { - getById("label_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("label_" + e.target.dataset.keyname+ "_" + e.target.dataset.UUID).value = parseFloat(e.target.value); if (Date.now() - remoteSliderTimeout > 100){ remoteSliderTimeout = Date.now(); if (CtrlPressed){ - requestVideoHack(e.target.dataset.keyname, e.target.value, UUID, true); + requestVideoHack(e.target.dataset.keyname, e.target.value, e.target.dataset.UUID, true); } else { - requestVideoHack(e.target.dataset.keyname, e.target.value, UUID, false); + requestVideoHack(e.target.dataset.keyname, e.target.value, e.target.dataset.UUID, false); } } }; - + videoEle.appendChild(label); videoEle.appendChild(manualInput); + if (manualMode && manualLabel){ + videoEle.appendChild(manualLabel); + videoEle.appendChild(manualMode); + } + + if (i === "aspectRatio") { + var preSelectButton = document.createElement("button"); + preSelectButton.value = 16/9.0; + preSelectButton.innerText = "16:9"; + preSelectButton.dataset.keyname = i; + preSelectButton.dataset.UUID = UUID; + preSelectButton.className = "preSelectButton"; + preSelectButton.onclick = function(e) { + getById("constraints_" + e.target.dataset.keyname+ "_" + e.target.dataset.UUID).value = parseFloat(e.target.value); + getById("label_" + e.target.dataset.keyname+ "_" + e.target.dataset.UUID).value = parseFloat(e.target.value); + requestVideoHack(e.target.dataset.keyname, e.target.value, e.target.dataset.UUID, false); + }; + videoEle.appendChild(preSelectButton); + var preSelectButton = document.createElement("button"); + preSelectButton.value = 9/16.0; + preSelectButton.innerText = "9:16"; + preSelectButton.dataset.UUID = UUID; + preSelectButton.className = "preSelectButton"; + preSelectButton.dataset.keyname = i; + preSelectButton.onclick = function(e) { + getById("constraints_" + e.target.dataset.keyname+ "_" + e.target.dataset.UUID).value = parseFloat(e.target.value); + getById("label_" + e.target.dataset.keyname+ "_" + e.target.dataset.UUID).value = parseFloat(e.target.value); + requestVideoHack(e.target.dataset.keyname, e.target.value, e.target.dataset.UUID, false); + }; + videoEle.appendChild(preSelectButton); + } + + videoEle.appendChild(input); } else if ((typeof data.cameraConstraints[i] === 'object') && (data.cameraConstraints[i] !== null)) { if (i == "resizeMode") { @@ -22759,11 +23106,13 @@ function updateDirectorsVideo(data, UUID) { var div = document.createElement("div"); var label = document.createElement("label"); - label.id = "label_" + i; - label.htmlFor = "constraints_" + i; + label.id = "label_" + i + "_"+UUID; + label.name = label.id; + label.htmlFor = "constraints_" + i + "_"+UUID; label.innerText = capitalizeFirstLetter(i).replace(/([a-z])([A-Z])/g, '$1 $2') + ":"; label.style = "display:inline-block; padding:0;margin: 5px 0px 9px;"; label.dataset.keyname = i; + label.dataset.UUID = UUID; var input = document.createElement("select"); var c = document.createElement("option"); @@ -22794,18 +23143,19 @@ function updateDirectorsVideo(data, UUID) { continue; } - input.id = "constraints_" + i; + input.id = "constraints_" + i + "_"+UUID; input.className = "constraintCameraInput"; - input.name = "constraints_" + i; + input.name = input.id; + input.dataset.UUID = UUID; input.style = "display:inline; padding:2px; margin:0 10px;"; input.dataset.keyname = i; input.onchange = function(e) { - //getById("label_"+e.target.dataset.keyname).innerText =e.target.dataset.keyname+": "+e.target.value; + //getById("label_"+e.target.dataset.keyname+ "_" + e.target.dataset.UUID).innerText =e.target.dataset.keyname+": "+e.target.value; //updateVideoConstraints(e.target.dataset.keyname, e.target.value); if (CtrlPressed){ - requestVideoHack(e.target.dataset.keyname, e.target.value, UUID, true); + requestVideoHack(e.target.dataset.keyname, e.target.value, e.target.dataset.UUID, true); } else { - requestVideoHack(e.target.dataset.keyname, e.target.value, UUID, false); + requestVideoHack(e.target.dataset.keyname, e.target.value, e.target.dataset.UUID, false); } log(e.target.dataset.keyname, e.target.value); }; @@ -22816,11 +23166,13 @@ function updateDirectorsVideo(data, UUID) { var div = document.createElement("div"); var label = document.createElement("label"); - label.id = "label_" + i; - label.htmlFor = "constraints_" + i; + label.id = "label_" + + i + "_"+UUID; + label.name = label.id; + label.htmlFor = "constraints_" + + i + "_"+UUID; label.innerText = capitalizeFirstLetter(i).replace(/([a-z])([A-Z])/g, '$1 $2') + ":"; label.style = "display:inline-block; padding:0;margin: 5px 0px 9px;"; label.dataset.keyname = i; + label.dataset.UUID = UUID; var input = document.createElement("select"); var c = document.createElement("option"); @@ -22835,18 +23187,19 @@ function updateDirectorsVideo(data, UUID) { } } catch(e){} - input.id = "constraints_" + i; + input.id = "constraints_" + + i + "_"+UUID; input.className = "constraintCameraInput"; - input.name = "constraints_" + i; + input.name = input.id; input.style = "display:inline; padding:2px; margin:0 10px;"; + input.dataset.UUID = UUID; input.dataset.keyname = i; input.onchange = function(e) { - //getById("label_"+e.target.dataset.keyname).innerText =e.target.dataset.keyname+": "+e.target.value; + //getById("label_"+e.target.dataset.keyname+ "_" + e.target.dataset.UUID).innerText =e.target.dataset.keyname+": "+e.target.value; //updateVideoConstraints(e.target.dataset.keyname, e.target.value); if (CtrlPressed){ - requestVideoHack(e.target.dataset.keyname, e.target.value, UUID, true); + requestVideoHack(e.target.dataset.keyname, e.target.value, e.target.dataset.UUID, true); } else { - requestVideoHack(e.target.dataset.keyname, e.target.value, UUID, false); + requestVideoHack(e.target.dataset.keyname, e.target.value, e.target.dataset.UUID, false); } log(e.target.dataset.keyname, e.target.value); }; @@ -24071,6 +24424,32 @@ function listCameraSettings() { getById("popupSelector_constraints_video").appendChild(manualLabel); getById("popupSelector_constraints_video").appendChild(manualMode); } + + if (i === "aspectRatio") { + var preSelectButton = document.createElement("button"); + preSelectButton.value = 16/9.0; + preSelectButton.innerText = "16:9"; + preSelectButton.dataset.keyname = i; + preSelectButton.className = "preSelectButton"; + preSelectButton.onclick = function(e) { + getById("constraints_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("label_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + updateCameraConstraints(e.target.dataset.keyname, e.target.value, false, false); + }; + getById("popupSelector_constraints_video").appendChild(preSelectButton); + var preSelectButton = document.createElement("button"); + preSelectButton.value = 9/16.0; + preSelectButton.innerText = "9:16"; + preSelectButton.className = "preSelectButton"; + preSelectButton.dataset.keyname = i; + preSelectButton.onclick = function(e) { + getById("constraints_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + getById("label_" + e.target.dataset.keyname).value = parseFloat(e.target.value); + updateCameraConstraints(e.target.dataset.keyname, e.target.value, false, false); + }; + getById("popupSelector_constraints_video").appendChild(preSelectButton); + } + getById("popupSelector_constraints_video").appendChild(input); } else if ((typeof session.cameraConstraints[i] === 'object') && (session.cameraConstraints[i] !== null)) { if (i == "resizeMode") { @@ -25295,6 +25674,16 @@ async function requestBasicPermissions(constraint = {video: true, audio: true}, constraint.audio.channelCount = session.audioInputChannels; } } + + + if (session.micSampleRate){ + if (constraint.audio === true) { + constraint.audio = {}; + constraint.audio.sampleRate = parseInt(session.micSampleRate); + } else if (constraint.audio) { + constraint.audio.sampleRate = parseInt(session.micSampleRate); + } + } if (session.safemode){ if (constraint.video){ @@ -25564,6 +25953,29 @@ function updateLinkScene(arg, input) { getById("director_block_" + arg).innerText = string; } +function fullscreenPageToggle(state=null){ + try { + if (!document.fullscreenElement) { // not currently full screen + if (state!==false){ // if state is false, we are already not full screen + if (document.documentElement.requestFullscreen){ + document.documentElement.requestFullscreen(); + } else if (document.documentElement.webkitRequestFullscreen){ + document.documentElement.webkitRequestFullscreen(); + } + } + } else if (document.exitFullscreen) { + if (!state){ // if toggle mode or state=false + document.exitFullscreen(); + } + } else if (document.webkitExitFullscreen) { + if (!state){ // if toggle mode or state=false + document.webkitExitFullscreen(); + } + } + //updateMixer(); // we will do this on the event for this instead + } catch(e){errorlog(e);} +} + function resetGen() { getById("gencontent").style.display = "block"; getById("gencontent2").style.display = "none"; @@ -25838,17 +26250,15 @@ function pauseVideo(videoEle, update=true){ function clickInsideElement(e, value="menu") { var el = e.srcElement || e.target; - - if (el.dataset && el.dataset[value]) { + if (el.dataset && (value in el.dataset)) { return el; } else { while (el = el.parentNode) { - if (el.dataset && el.dataset[value]) { + if (el.dataset && (value in el.dataset)) { return el; } } } - return false; } @@ -25856,9 +26266,9 @@ function pauseVideo(videoEle, update=true){ var posx = 0; var posy = 0; - if (!event2) var event = window.event; + if (!event2){var event = window.event;} - if (event2.pageX || event2.pageY) { + if (event2.pageX || event2.pageY){ posx = event2.pageX; posy = event2.pageY; } else if (event2.clientX || event2.clientY) { @@ -25866,17 +26276,15 @@ function pauseVideo(videoEle, update=true){ posy = event2.clientY + document.body.scrollTop + document.documentElement.scrollTop; } - return { - x: posx - , y: posy - }; + return {x: posx, y: posy}; } var taskItemInContext; var clickCoordsX; var clickCoordsY; - var menu = getById("context-menu"); + var menu; var menuState = 0; + var lastMenu= false; var menuWidth; var menuHeight; var windowWidth; @@ -25923,29 +26331,26 @@ function pauseVideo(videoEle, update=true){ } function toggleMenuOn(menutype=false, ele=false) { - log(menutype); - log(ele); - - if (menutype){ - menu = getById(menutype); - menuItemSyncState(menu); - if (menuState !== 1) { - menuState = 1; - menu.classList.add("context-menu--active"); - document.addEventListener("click", menuClickListener); - } - } else { - menu = getById("context-menu"); - menuItemSyncState(menu); - if (menuState !== 1) { - menuState = 1; - menu.classList.add("context-menu--active"); - document.addEventListener("click", menuClickListener); - } + if (lastMenu && (lastMenu !== menutype)){ + try { + menuState = 0; + getById(lastMenu).classList.remove("context-menu--active"); + + document.removeEventListener("click", menuClickListener); + } catch(e){} } + menu = getById(menutype || "context-menu"); + menuItemSyncState(menu); + if (menuState !== 1) { + menuState = 1; + menu.classList.add("context-menu--active"); + document.addEventListener("click", menuClickListener); + } + if (ele && ele.classOptions){ menu.classList.add(ele.classOptions); } + lastMenu = menutype || "context-menu"; } @@ -25955,6 +26360,7 @@ function pauseVideo(videoEle, update=true){ menu.classList.remove("context-menu--active"); document.removeEventListener("click", menuClickListener); } + lastMenu = false; } function positionMenu(e) { @@ -26117,7 +26523,10 @@ function pauseVideo(videoEle, update=true){ var URL = "https://"+window.location.hostname+location.pathname+createScreenShareURL(false); log(URL); window.open(URL, '_blank').focus(); + } else if (link.getAttribute("data-action") === "pip-clock") { + popOutClock(taskItemInContext.children[0]); } + log("Task ID - " + taskItemInContext + ", Task action - " + link.getAttribute("data-action")); toggleMenuOff(); } @@ -26264,8 +26673,6 @@ function gotDevices3(deviceInfos, vid){ function popupMessage(e, message = "Copied to Clipboard") { // right click menu - //if (session.cleanOutput){return;} - var posx = 0; var posy = 0; @@ -26569,30 +26976,46 @@ function showClock(){ function hideClock(){ getById("overlayClockContainer").classList.add("hidden"); } -function setClock(initial=false){ +function setClock(initial=false, color="#000"){ if (initial!==false){ initial = parseInt(initial); getById("overlayClockContainer").dataset.initial = initial; } else { initial = parseInt(getById("overlayClockContainer").dataset.initial); } - //getById("overlayClock").dataset.current = initial; - var minutes = Math.floor(initial/60); - var seconds = initial%60; - getById("overlayClock").innerHTML = zpadTime(minutes)+":"+zpadTime(seconds); - getById("overlayClock").style.backgroundColor = "#0009"; + if (initial<0){ + initial = 0; + } + + updateClock(initial, color); } function stopClock(){ + + var clock = document.getElementById("overlayClock"); + //clock.ctx = null; + //clock.canvas = null; + + //if (document.pictureInPictureElement && clock.video) { + // if (document.pictureInPictureElement == clock.video){ + // document.exitPictureInPicture(); + // pokeIframeAPI('picture-in-picture', false); + // } + //clock.video.remove; + //} + clock.innerHTML = ""; clearInterval(clockOverlayTimer); - setClock(); + //setClock(); + updateClock("0","#444"); } function pauseClock(){ clearInterval(clockOverlayTimer); var current = Date.now() - parseInt(getById("overlayClockContainer").dataset.timestamp); current = parseInt(getById("overlayClockContainer").dataset.initial) - parseInt(Math.round(current/1000)); getById("overlayClockContainer").dataset.initial = current; - getById("overlayClock").style.backgroundColor = "#00F9"; + + var clock = document.getElementById("overlayClock"); + setClock(false, "#00F"); } function resumeClock(){ startClock(); @@ -26600,8 +27023,14 @@ function resumeClock(){ function startClock(){ clearInterval(clockOverlayTimer); getById("overlayClockContainer").dataset.timestamp = Date.now(); - getById("overlayClock").style.backgroundColor = "#0009"; stepClock(); + var clock = document.getElementById("overlayClock"); + if (clock && clock.video){ + clock.innerHTML = ""; + clock.appendChild(clock.video); + clock.video.play(); + } + clockOverlayTimer = setInterval(function(){ stepClock(); },999); @@ -26609,7 +27038,7 @@ function startClock(){ function stepClock(){ var current = Date.now() - parseInt(getById("overlayClockContainer").dataset.timestamp); current = parseInt(getById("overlayClockContainer").dataset.initial) - parseInt(Math.round(current/1000)); - //getById("overlayClockContainer").dataset.current = current; + if (session.directorList.length) { var msg = {}; msg.timer = current; @@ -26618,20 +27047,71 @@ function stepClock(){ session.sendMessage(msg, msg.UUID); } } - if (current<0) { - if (current%2){ - getById("overlayClock").style.backgroundColor = "#F009"; - } else { - getById("overlayClock").style.backgroundColor = "#0009"; - } - getById("overlayClock").innerHTML = "00:00"; + if ((current<0) && (current%2)) { + updateClock(0, "#F00"); + } else if (current<0){ + updateClock(0, "#000"); + } else { + updateClock(current, "#000"); + } +} + +function updateClock(timeleft, color="#000"){ + var minutes = Math.floor(timeleft/60); + var seconds = timeleft%60; + + var clock = document.getElementById("overlayClock"); + if (clock.ctx){ + clock.ctx.beginPath(); + clock.ctx.rect(0, 0, 230, 40); + clock.ctx.fillStyle = color; + clock.ctx.fill(); + clock.ctx.fillStyle = "#FFF"; + clock.ctx.textAlign = "center"; + clock.ctx.font = "50px monospace"; + clock.ctx.fillText(zpadTime(minutes)+":"+zpadTime(seconds), 115, 37); + } else { + clock.innerHTML = zpadTime(minutes)+":"+zpadTime(seconds); + clock.style.backgroundColor = color+"9"; + } +} +function popOutClock(clock){ + if (!clock.ctx){ + var canvas = document.createElement('canvas'); + canvas.width="230"; + canvas.height="40"; + var ctx = canvas.getContext('2d'); + clock.canvas = canvas; + clock.ctx = ctx; + + ctx.beginPath(); + ctx.rect(0, 0, 230, 40); + ctx.fillStyle = "#000"; + ctx.fill(); + ctx.fillStyle = "#FFF"; + ctx.font = "50px monospace"; + ctx.textAlign = "center"; + ctx.fillText(clock.innerHTML, 115, 37); + clock.video = document.createElement("video"); + clock.innerHTML = ""; + clock.appendChild(clock.video); + clock.video.onloadedmetadata = function(){ + togglePictureInPicture(clock.video); + } + clock.video.srcObject = canvas.captureStream(); + clock.video.play(); + //clock.video.dataset.menu = "context-menu-clock"; + + } else { - var minutes = Math.floor(current/60); - var seconds = current%60; - getById("overlayClock").innerHTML = zpadTime(minutes)+":"+zpadTime(seconds); + clock.innerHTML = ""; + clock.appendChild(clock.video); + clock.video.play(); + togglePictureInPicture(clock.video); } } + function createPopoutChat() { if (session.broadcastChannelID===false){ session.broadcastChannelID = session.generateStreamID(8); @@ -28110,6 +28590,12 @@ function cycleStyleOptions(){ function addAudioPipeline(UUID, track){ // INBOUND AUDIO EFFECTS ; audio tracks only try{ + + if (session.disableViewerWebAudioPipeline){ + log("ignoring addAudioPipeline - disableViewerWebAudioPipeline is enabled (noap)"); + return track; + } + log("Triggered webaudio effects path"); for (var tid in session.rpcs[UUID].inboundAudioPipeline){ @@ -30976,7 +31462,7 @@ function createControlBoxScreenshare(UUID, soloLink, streamID) { if (session.hidesololinks==false){ controls.innerHTML += "
\ - " + sanitizeChat(soloLink) + "\ \
"; diff --git a/main.css b/main.css index 815022e26..0fd1903f4 100644 --- a/main.css +++ b/main.css @@ -119,7 +119,10 @@ tr { th { padding:4px; } - +.preSelectButton { + margin: 4px 0 4px 8px; + padding: 1px 4px; +} .meter { display: inline-block; width: 0px; @@ -356,11 +359,20 @@ button.white:active { text-align: center; position: fixed; overflow-wrap: anywhere; - pointer-events: none; + cursor: pointer; + user-select: none; } #overlayClock{ padding:2px 20px; - background-color: #0009; + background-color: #0009; +} +#overlayClock video { + width: calc(22vh + 22vw / 2); + max-width: 100%; + max-height:25%; +} +#overlayClock:empty{ + display:none; } #overlayClockContainer2{ margin: 0 auto; @@ -377,12 +389,16 @@ button.white:active { right:0; bottom:0; overflow-wrap: anywhere; - pointer-events: none; + cursor: pointer; + user-select: none; } #overlayClock2{ padding:0 5px; background-color: #0009; } +#overlayClock2:empty{ + display:none; +} #overlayMsgs{ margin:0 auto; background-color: #0000; @@ -486,7 +502,7 @@ body.darktheme .credits>a:visited { } .advDirectGuestSettings { - padding: 10px; + padding: 10px 5px; max-height: 400px; overflow-y: auto; } @@ -1262,6 +1278,11 @@ input[type='radio'] { cursor:pointer; } z-index: 10; } +#recordLocalbutton.la-spinner { + animation: spin-animation 3s infinite; + display: inline-block; +} + .retry-spinner { border: 1vh solid #7f838666; border-top: 1vh solid #f0f0f066; @@ -3330,7 +3351,7 @@ a#reshare { margin: 0px var(--regular-margin); } -span#guestTips { +#guestTips { margin: 0 auto 15px auto; width: 450px; display: flex; @@ -4202,6 +4223,8 @@ input:checked + .slider:before { content: "\f1e6"; } .la-reply:before { content: "\f3e5"; } +.la-expand-arrows-alt:before { + content: "\f31e"; } .la-headset:before { content: "\f590"; } .la-check:before { diff --git a/main.js b/main.js index d2ce88b46..4d53eaed4 100644 --- a/main.js +++ b/main.js @@ -535,14 +535,34 @@ async function main(){ // main asyncronous thread; mostly initializes the user s document.addEventListener('fullscreenchange', event => { log("full screen change event"); + log(event); if (session.orientation && session.mobile){ if (document.fullscreenElement) { document.exitFullscreen(); + getById("fullscreenPageToggle").classList.add("la-expand-arrows-alt"); + getById("fullscreenPageToggle").classList.remove("la-compress-arrows-alt"); } + return; + } + if (document.fullscreenElement) { + getById("fullscreenPageToggle").classList.remove("la-expand-arrows-alt"); + getById("fullscreenPageToggle").classList.add("la-compress-arrows-alt"); } else { - updateMixer(); + getById("fullscreenPageToggle").classList.add("la-expand-arrows-alt"); + getById("fullscreenPageToggle").classList.remove("la-compress-arrows-alt"); + } + updateMixer(); }); + + if (urlParams.has('fullscreenbutton') || urlParams.has('fsb')){ // just an alternative; might be compoundable + if (!(iOS || iPad)){ + session.fullscreenButton = true; + getById("fullscreenPage").classList.remove("hidden"); + } + } + + // fullScreenPage if (urlParams.has('midi') || urlParams.has('hotkeys')) { session.midiHotkeys = urlParams.get('midi') || urlParams.get ('hotkeys') || 1; @@ -712,6 +732,7 @@ async function main(){ // main asyncronous thread; mostly initializes the user s session.layout = {}; } } + console.warn("Warning: If using &layout with &broadcast, only the director's video will appear in the custom layout, which is likely not intended."); } if (urlParams.has('layouts')) { // an ordered array of layouts, which can be used to switch between using the API layouts action. @@ -2420,6 +2441,9 @@ async function main(){ // main asyncronous thread; mostly initializes the user s } else if (session.h264profile=="false"){ session.h264profile = false; } + } else if ((session.codec==="hardware") && Android){ // same as &h264profile, but easier for me to remember. I'll try to automate this in the future. + session.codec = "h264"; + session.h264profile = "42e01f"; } if (urlParams.has('nofec')){ // disables error control / throttling -- currently on audio @@ -3108,6 +3132,8 @@ async function main(){ // main asyncronous thread; mostly initializes the user s if (urlParams.has('showall')){ // just an alternative; might be compoundable session.showall = true; } + + if (urlParams.has('samplerate') || urlParams.has('sr')) { session.sampleRate = parseInt(urlParams.get('samplerate')) || parseInt(urlParams.get('samplerate')) || 48000; @@ -3119,8 +3145,39 @@ async function main(){ // main asyncronous thread; mostly initializes the user s }); session.audioEffects = true; } + + // if (session.audioCodec === "lyra"){ // WIP. does not work + // try { + // var { default: Module } = await import('./thirdparty/lyra/webassembly_codec_wrapper.js'); + // await Module().then((module) => { + // console.log("Initialized codec's wasmModule."); + // session.lyraCodecModule = module; + // }).catch(e => { + // console.log(`Module() error: ${e.name} message: ${e.message}`); + // }); + // } catch(e){ + // errorlog(e); + // } + // if (session.lyraCodecModule){ + // console.log("Lyra module loaded"); + // session.micSampleRate = 16000; + // session.encodedInsertableStreams = true; + // } else { + // console.log("Lyra module failed to load"); + // } + // } + + if (urlParams.has("insertablestreams")){ + session.encodedInsertableStreams = true; + } + + if (urlParams.has('micsamplerate') || urlParams.has('msr')) { + session.micSampleRate = parseInt(urlParams.get('micsamplerate')) || parseInt(urlParams.get('msr')) || 48000; + } + if (urlParams.has('noaudioprocessing') || urlParams.has('noap')) { session.disableWebAudio = true; // default true; might be useful to disable on slow or old computers? + session.disableViewerWebAudioPipeline = true; // this has the potential to break things. session.audioEffects = false; // disable audio inbound effects also. session.audioMeterGuest = false; if (session.noisegate===null){ @@ -3414,8 +3471,8 @@ async function main(){ // main asyncronous thread; mostly initializes the user s } } } + if (session.roomid || urlParams.has('roomid') || urlParams.has('r') || urlParams.has('room') || filename || (session.permaid !== false)) { - var roomid = ""; if (urlParams.has('room')) { // needs to be first; takes priority roomid = urlParams.get('room'); @@ -3438,13 +3495,13 @@ async function main(){ // main asyncronous thread; mostly initializes the user s if (urlParams.has('effects') || urlParams.has('effect')) { session.effect = urlParams.get('effects') || urlParams.get('effect') || null; } + if (window.FaceDetector !== undefined){ document.querySelectorAll(".facetracker").forEach(ele=>{ ele.disabled = null; ele.removeAttribute("disabled"); ele.title = "Will slowly pan, tilt, and zoom in on the first face detected"; }); - } @@ -5172,27 +5229,6 @@ async function main(){ // main asyncronous thread; mostly initializes the user s }); } - window.onload = function winonLoad() { // This just keeps people from killing the live stream accidentally. Also give me a headsup that the stream is ending - window.addEventListener("beforeunload", confirmUnload); - window.addEventListener("unload", function(e) { - try { - session.ws.close(); - if (session.videoElement.recording) { - session.videoElement.recorder.writer.close(); - session.videoElement.recording = false; - } - for (var i in session.rpcs) { - if (session.rpcs[i].videoElement) { - if (session.rpcs[i].videoElement.recording) { - session.rpcs[i].videoElement.recorder.writer.close(); - session.rpcs[i].videoElement.recording = false; - } - } - } - session.hangup(); - } catch (e) {} - }); - }; var lastTouchEnd = 0; document.addEventListener('touchend', function(event) { @@ -5229,6 +5265,14 @@ async function main(){ // main asyncronous thread; mostly initializes the user s AltPressed = false; } + if (event.key === "Escape") { + if (document.fullscreenElement) { + document.exitFullscreen(); + //updateMixer(); + } + return; + } + if (session.disableHotKeys){return;} if (PPTHotkey){ @@ -5366,31 +5410,54 @@ async function main(){ // main asyncronous thread; mostly initializes the user s } } }); -} - - -main(); // asyncronous load - -try { - navigator.serviceWorker.getRegistrations().then(registrations => { // getting rid of old service workers. - try { - log(registrations); - for(let registration of registrations) { - if (registration.scope != "https://"+window.location.hostname+window.location.pathname+"thirdparty/"){ - registration.unregister(); + + setTimeout(function(){ // lets lazy load the following.. + window.addEventListener("beforeunload", confirmUnload); // This just keeps people from killing the live stream accidentally. Also give me a headsup that the stream is ending + window.addEventListener("unload", function(e) { + try { + session.ws.close(); + if (session.videoElement.recording) { + session.videoElement.recorder.writer.close(); + session.videoElement.recording = false; } + for (var i in session.rpcs) { + if (session.rpcs[i].videoElement) { + if (session.rpcs[i].videoElement.recording) { + session.rpcs[i].videoElement.recorder.writer.close(); + session.rpcs[i].videoElement.recording = false; + } + } + } + session.hangup(); + } catch (e) { + errorlog(e); } + }); + + try { + navigator.serviceWorker.getRegistrations().then(registrations => { // getting rid of old service workers. + try { + log(registrations); + for(let registration of registrations) { + if (registration.scope != "https://"+window.location.hostname+window.location.pathname+"thirdparty/"){ + registration.unregister(); + } + } + } catch(e){} + }).catch(errorlog); } catch(e){} - }).catch(errorlog); -} catch(e){} -setTimeout(function(){ // lazy load - var script = document.createElement('script'); - document.head.appendChild(script); - script.onload = function() { var script = document.createElement('script'); document.head.appendChild(script); - script.src = "./thirdparty/StreamSaver.js?v=13"; // dynamically load this only if its needed. Keeps loading time down. - }; - script.src = "./thirdparty/polyfill.min.js"; // dynamically load this only if its needed. Keeps loading time down. -},0); \ No newline at end of file + script.onload = function() { + var script = document.createElement('script'); + document.head.appendChild(script); + script.src = "./thirdparty/StreamSaver.js?v=13"; // dynamically load this only if its needed. Keeps loading time down. + }; + script.src = "./thirdparty/polyfill.min.js"; // dynamically load this only if its needed. Keeps loading time down. + },100); +} + + + +// main(); //calling this now from body tag. diff --git a/minidirector.css b/minidirector.css index 756362844..073017814 100644 --- a/minidirector.css +++ b/minidirector.css @@ -2,13 +2,6 @@ body{ zoom: 75%; background-color: #1F1E1F; } -.hidden{ - display:unset!important; - visibility: visible; - width:unset; - height:unset; - opacity: 1; -} button[data-action-type='solo-chat'] { display:none! important; } @@ -54,7 +47,66 @@ span[data-action-type='sceneCluster2']{ span[data-action-type='sceneCluster1']{ display:none! important; } - +button[data-action-type='recorder-remote']{ + display:none! important; +} +button[data-action-type='advanced-camera-settings']{ + display:inline-block! important; +} +button[data-action-type='force-keyframe']{ + display:none! important; +} +body { + font-size: 0.9em! important; +} +button[data-action-type='mute-scene']{ + display:inline-block! important; + visibility: visible; + width: unset; + height: unset; + opacity: 1; +} +button[data-action-type='stats-remote']{ + display:inline-block! important; + visibility: visible; + width: unset; + height: unset; + opacity: 1; +} +button[data-action-type='advanced-audio-settings']{ + display:inline-block! important; + visibility: visible; + width: unset; + height: unset; + opacity: 1; +} +button[data-action-type='advanced-camera-settings']{ + display:inline-block! important; + visibility: visible; + width: unset; + height: unset; + opacity: 1; +} +button[data-action-type='advanced-camera-settings']{ + display:inline-block! important; + visibility: visible; + width: unset; + height: unset; + opacity: 1; +} +.groupcluster1 { + display:inline-block! important; + visibility: visible; + width: unset; + height: unset; + opacity: 1; +} +.hideDropMenu:empty{ + display:none; +} +.hideDropMenu { + display:none; +} .orderspan{ display:none! important; } @@ -64,9 +116,8 @@ span[data-action-type='sceneCluster1']{ .directorContainer { display:none!important; } - -.hideDropMenu{ - display:none!important; +:root { + --advanced-mode: inline; } #header{ diff --git a/mixer.html b/mixer.html index 9acadb992..deaa524ed 100644 --- a/mixer.html +++ b/mixer.html @@ -507,9 +507,13 @@ user-select: none; } .pressed>canvas{ - border: solid 2px black; + box-shadow: inset 2px 2px 10px #0007, inset -2px -2px 10px #0007; background-color: #FFFA; } + .pressed>.group{ + box-shadow: inset 2px 2px 10px #0007, inset -2px -2px 10px #0007; + background-color: #276022aa; + } button.pressed { background-color: #CEF; } @@ -2450,7 +2454,7 @@

Customize invite link

additional += "&broadcast"; toggleBroadcast = true; } else { - additional += "&layout"; + additional += "&layout"; // do not use &broadcast with &layout, else you will get broken results. toggleBroadcast = false; } diff --git a/thirdparty/CodecsHandler.js b/thirdparty/CodecsHandler.js index 7a5f3db75..9abdfb49c 100644 --- a/thirdparty/CodecsHandler.js +++ b/thirdparty/CodecsHandler.js @@ -28,6 +28,10 @@ Copyright (c) 2012-2020 [Muaz Khan](https://github.com/muaz-khan) var CodecsHandler = (function() { function preferCodec(sdp, codecName) { + if (codecName){ + codecName = codecName.toLowerCase(); + } + var info = splitLines(sdp); if (!info.videoCodecNumbers) { return sdp; @@ -41,18 +45,45 @@ var CodecsHandler = (function() { return sdp; } else if (codecName === 'av1' && info.av1LineNumber === info.videoCodecNumbers[0]) { return sdp; - } else if (codecName === 'red' && info.redLineNumber === info.videoCodecNumbers[0]) { + } + //} else if (codecName === 'red' && info.redLineNumber === info.videoCodecNumbers[0]) { + // return sdp; + //} else if (codecName === 'fec' && info.fecLineNumber === info.videoCodecNumbers[0]) { + // return sdp; + //} + + sdp = preferCodecHelper(sdp, codecName, info); + + return sdp; + } + + + function preferAudioCodec(sdp, codecName) { + if (codecName){ + codecName = codecName.toLowerCase(); + } + var info = splitAudioLines(sdp); + if (!info.audioCodecNumbers) { + return sdp; + } else if (codecName === 'opus' && info.opusLineNumber === info.audioCodecNumbers[0]) { + return sdp; + } else if (codecName === 'isac' && info.isacLineNumber === info.audioCodecNumbers[0]) { + return sdp; + } else if (codecName === 'g722' && info.g722LineNumber === info.audioCodecNumbers[0]) { + return sdp; + } else if (codecName === 'pcmu' && info.pcmuLineNumber === info.audioCodecNumbers[0]) { return sdp; - } else if (codecName === 'fec' && info.fecLineNumber === info.videoCodecNumbers[0]) { + } else if (codecName === 'pcma' && info.pcmaLineNumber === info.audioCodecNumbers[0]) { + return sdp; + } else if (codecName === 'red' && info.redLineNumber === info.audioCodecNumbers[0]) { return sdp; } - sdp = preferCodecHelper(sdp, codecName, info); - + sdp = preferAudioCodecHelper(sdp, codecName, info); return sdp; } - function preferCodecHelper(sdp, codec, info, ignore) { + function preferCodecHelper(sdp, codec, info) { var preferCodecNumber = ''; if (codec === 'vp8') { @@ -82,36 +113,83 @@ var CodecsHandler = (function() { return sdp; } preferCodecNumber = info.av1LineNumber; + } else { + return sdp; + } + //} else if (codec === 'red') { + // if (!info.redLineNumber) { + // return sdp; + // } + // preferCodecNumber = info.redLineNumber; + //} else if (codec === 'fec') { + // if (!info.fecLineNumber) { + // return sdp; + // } + // preferCodecNumber = info.fecLineNumber; + // } + + var newLine = info.videoCodecNumbersOriginal.split('SAVPF')[0] + 'SAVPF '; + + var newOrder = [preferCodecNumber]; + + info.videoCodecNumbers.forEach(function(codecNumber) { + if (codecNumber === preferCodecNumber) return; + newOrder.push(codecNumber); + }); + + newLine += newOrder.join(' '); + + sdp = sdp.replace(info.videoCodecNumbersOriginal, newLine); + return sdp; + } + + function preferAudioCodecHelper(sdp, codec, info) { + var preferCodecNumber = ''; + + if (codec === 'opus') { + if (!info.opusLineNumber) { + return sdp; + } + preferCodecNumber = info.opusLineNumber; + } else if (codec === 'isac') { + if (!info.isacLineNumber) { + return sdp; + } + preferCodecNumber = info.isacLineNumber; + } else if (codec === 'g722') { + if (!info.g722LineNumber) { + return sdp; + } + preferCodecNumber = info.g722LineNumber; + } else if (codec === 'pcmu') { + if (!info.pcmuLineNumber) { + return sdp; + } + preferCodecNumber = info.pcmuLineNumber; + } else if (codec === 'pcma') { + if (!info.pcmaLineNumber) { + return sdp; + } + preferCodecNumber = info.pcmaLineNumber; } else if (codec === 'red') { if (!info.redLineNumber) { return sdp; } preferCodecNumber = info.redLineNumber; - - } else if (codec === 'fec') { - if (!info.fecLineNumber) { - return sdp; - } - preferCodecNumber = info.fecLineNumber; - } - - var newLine = info.videoCodecNumbersOriginal.split('SAVPF')[0] + 'SAVPF '; + } + var newLine = info.audioCodecNumbersOriginal.split('SAVPF')[0] + 'SAVPF '; var newOrder = [preferCodecNumber]; - if (ignore) { - newOrder = []; - } - - info.videoCodecNumbers.forEach(function(codecNumber) { + info.audioCodecNumbers.forEach(function(codecNumber) { if (codecNumber === preferCodecNumber) return; newOrder.push(codecNumber); }); newLine += newOrder.join(' '); - sdp = sdp.replace(info.videoCodecNumbersOriginal, newLine); + sdp = sdp.replace(info.audioCodecNumbersOriginal, newLine); return sdp; } @@ -127,36 +205,82 @@ var CodecsHandler = (function() { info.videoCodecNumbersOriginal = line; }); } + + var LINE = line.toUpperCase(); - if (line.indexOf('VP8/90000') !== -1 && !info.vp8LineNumber) { + if (LINE.indexOf('VP8/90000') !== -1 && !info.vp8LineNumber) { info.vp8LineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; } - if (line.indexOf('VP9/90000') !== -1 && !info.vp9LineNumber) { + if (LINE.indexOf('VP9/90000') !== -1 && !info.vp9LineNumber) { info.vp9LineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; } - if (line.indexOf('H264/90000') !== -1 && !info.h264LineNumber) { + if (LINE.indexOf('H264/90000') !== -1 && !info.h264LineNumber) { info.h264LineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; } - if (line.indexOf('H265/90000') !== -1 && !info.h265LineNumber) { + if (LINE.indexOf('H265/90000') !== -1 && !info.h265LineNumber) { info.h265LineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; } - if (line.indexOf('AV1X/90000') !== -1 && !info.av1LineNumber) { + if (LINE.indexOf('AV1X/90000') !== -1 && !info.av1LineNumber) { info.av1LineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; - } else if (line.indexOf('AV1/90000') !== -1 && !info.av1LineNumber) { + } else if (LINE.indexOf('AV1/90000') !== -1 && !info.av1LineNumber) { info.av1LineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; } - if (line.indexOf('red/90000') !== -1 && !info.redLineNumber) { - info.redLineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; + //if (LINE.indexOf('RED/90000') !== -1 && !info.redLineNumber) { + // info.redLineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; + // } + + // if (LINE.indexOf('FEC/90000') !== -1 && !info.fecLineNumber) { + // info.fecLineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; + // } + }); + + return info; + } + + function splitAudioLines(sdp) { + var info = {}; + sdp.split('\n').forEach(function(line) { + if (line.indexOf('m=audio') === 0) { + info.audioCodecNumbers = []; + line.split('SAVPF')[1].split(' ').forEach(function(codecNumber) { + codecNumber = codecNumber.trim(); + if (!codecNumber || !codecNumber.length) return; + info.audioCodecNumbers.push(codecNumber); + info.audioCodecNumbersOriginal = line; + }); } - if (line.indexOf('ulpfec/90000') !== -1 && !info.fecLineNumber) { - info.fecLineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; + var LINE = line.toLowerCase(); + + if (LINE.indexOf('opus/48000') !== -1 && !info.opusLineNumber) { + info.opusLineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; } + + if (LINE.indexOf('isac/32000') !== -1 && !info.isacLineNumber) { + info.isacLineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; + } + + if (LINE.indexOf('g722/8000') !== -1 && !info.g722LineNumber) { + info.g722LineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; + } + + if (LINE.indexOf('pcmu/8000') !== -1 && !info.pcmuLineNumber) { + info.pcmuLineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; + } + + if (LINE.indexOf('pcma/8000') !== -1 && !info.pcmaLineNumber) { + info.pcmaLineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; + } + + if (LINE.indexOf('red/48000') !== -1 && !info.redLineNumber) { + info.redLineNumber = line.replace('a=rtpmap:', '').split(' ')[0]; + } + }); return info; @@ -494,25 +618,25 @@ var CodecsHandler = (function() { appendOpusNext += ';cbr=' + params.cbr; // default is 0 (vbr) } } + + if (typeof params.dtx != 'undefined') { + if (params.dtx){ + if (sdpLines[opusFmtpLineIndex].split("usedtx=").length==1){ + appendOpusNext += ';usedtx=1'; + } + } + } if (typeof params.useinbandfec != 'undefined') { // useful for handling packet loss if (sdpLines[opusFmtpLineIndex].split("useinbandfec=").length==1){ appendOpusNext += ';useinbandfec=' + params.useinbandfec; // Defaults to 0 + } else { + sdpLines[opusFmtpLineIndex] = sdpLines[opusFmtpLineIndex].replace("useinbandfec="+(params.useinbandfec ? 0 : 1), "useinbandfec="+params.useinbandfec); } } - if (typeof params.usedtx != 'undefined') { // Default is 0 - if (sdpLines[opusFmtpLineIndex].split("usedtx=").length==1){ - appendOpusNext += ';usedtx=' + params.usedtx; // if decoder prefers the use of DTX. - } - } - - - sdpLines[opusFmtpLineIndex] = sdpLines[opusFmtpLineIndex].concat(appendOpusNext); - sdp = sdpLines.join('\r\n'); - return sdp; } @@ -548,6 +672,73 @@ var CodecsHandler = (function() { } return 32768; } + + function modifyDescLyra(modifiedSDP) { // WIP + if (!modifiedSDP.includes("m=audio")){ // don't bother modifying if no audio line found + return modifiedSDP; + } + ///// Snippet based on Apache 2.0 licenced code. Source: https://github.com/Flash-Meeting/lyra-webrtc ////////// + modifiedSDP = modifiedSDP.replace("SAVPF 111", "SAVPF 109 111").replace("a=rtpmap:111", "a=rtpmap:109 L16/16000/1\r\na=fmtp:109 ptime=20\r\na=rtpmap:111"); + modifiedSDP = modifiedSDP.replace("a=rtpmap:106 CN/32000\r\n", "").replace("a=rtpmap:105 CN/16000\r\n", "").replace("a=rtpmap:13 CN/8000\r\n", "").replace(" 106 105 13", ""); + /////////////////////////////// + return modifiedSDP; + } + + function modifyDescPCM(modifiedSDP, rate=32000, stereo=false, ptimeOverride=false) { + if (!modifiedSDP.includes("m=audio")){ // don't bother modifying if no audio line found + return modifiedSDP; + } + var ptime = 10; + if (ptimeOverride){ + ptime = parseInt(ptimeOverride); // 10 seems to work with 48000, so might as well make it default + } + ptime = parseInt(ptime/10)*10; + if (ptime<10){ + ptime = 10; + } + rate = parseInt(rate) || 32000; + + + if (!stereo && (rate>=48000)){ + rate = 48000; // 44100 doesn't want to work for me, so we'll skip it. + ptime = 10; // 48000 only works with ptime=10 + } else if (!stereo && rate>=44100){ + rate = 44100; // 44100 doesn't want to work for me, so we'll skip it. + ptime = 10; + } else if (rate>=32000){ + rate = 32000; + if (stereo){ + ptime=10; // can be ptime = 20 if not stereo + } else if (ptime>20){ + ptime=20; + } + } else if (rate>=16000){ + rate = 16000; + if (stereo){ + if (ptime>20){ + ptime=20; // can be ptime = 20 if not stereo + } + } else if (ptime>40){ + ptime=40; + } + } else { + rate = 8000; + if (stereo){ + if (ptime>40){ + ptime=40; // can be ptime = 20 if not stereo + } + } + } + + if (stereo){ + modifiedSDP = modifiedSDP.replace("SAVPF 111", "SAVPF 109 111").replace("a=rtpmap:111", "a=rtpmap:109 L16/"+rate+"/2\r\na=fmtp:109 ptime="+ptime+"\r\na=rtpmap:111"); + } else { + modifiedSDP = modifiedSDP.replace("SAVPF 111", "SAVPF 109 111").replace("a=rtpmap:111", "a=rtpmap:109 L16/"+rate+"/1\r\na=fmtp:109 ptime="+ptime+"\r\na=rtpmap:111"); + } + + modifiedSDP = modifiedSDP.replace("a=rtpmap:106 CN/32000\r\n", "").replace("a=rtpmap:105 CN/16000\r\n", "").replace("a=rtpmap:13 CN/8000\r\n", "").replace(" 106 105 13", ""); + return modifiedSDP; + } return { @@ -556,6 +747,10 @@ var CodecsHandler = (function() { disablePLI: disablePLI, disableREMB: disableREMB, + + modifyDescPCM: modifyDescPCM, + + modifyDescLyra: modifyDescLyra, getVideoBitrates: function(sdp) { return getVideoBitrates(sdp); @@ -572,7 +767,9 @@ var CodecsHandler = (function() { return getOpusBitrate(sdp); }, - preferCodec: preferCodec + preferCodec: preferCodec, + + preferAudioCodec: preferAudioCodec }; })(); diff --git a/thirdparty/lyra/README.md b/thirdparty/lyra/README.md new file mode 100644 index 000000000..173c178d2 --- /dev/null +++ b/thirdparty/lyra/README.md @@ -0,0 +1,25 @@ +## WebRTC snippets for Lyra sourced from meeting.dev + +Apache 2.0 Licenced + +Sourced from: https://meeting.dev/lab/lyra-webrtc/loopback.html + + +## NOTE FROM STEVE + At the moment Lyra isn't actually being used, but I'm trying to get it working with VDO.Ninja. It may be removed at some future point - steve + +## TFLITE MODELS SOURCED FROM GOOGLE ON GITHUB + +google/lyra is licensed under the +Apache License 2.0 +https://github.com/google/lyra +https://github.com/google/lyra/tree/f079e8c4dd1c61c87de1852178976ee3bdf15561/model_coeffs + + +## Further Acknowledgments + +Thanks to [the team that developed Lyra](https://ai.googleblog.com/2021/02/lyra-new-very-low-bitrate-codec-for.html) and to [mayitayew for making it work with WASM](https://github.com/mayitayew/soundstream-wasm). + +We are using a modified Lyra WASM. It is available [here](https://github.com/Flash-Meeting/lyra-wasm) + + diff --git a/thirdparty/lyra/model_coeffs/README.md b/thirdparty/lyra/model_coeffs/README.md new file mode 100644 index 000000000..2810aa82a --- /dev/null +++ b/thirdparty/lyra/model_coeffs/README.md @@ -0,0 +1,6 @@ +TFLITE MODELS SOURCED FROM GOOGLE ON GITHUB + +google/lyra is licensed under the +Apache License 2.0 +https://github.com/google/lyra +https://github.com/google/lyra/tree/f079e8c4dd1c61c87de1852178976ee3bdf15561/model_coeffs \ No newline at end of file diff --git a/thirdparty/lyra/model_coeffs/lyragan.tflite b/thirdparty/lyra/model_coeffs/lyragan.tflite new file mode 100644 index 000000000..1cb98cb68 Binary files /dev/null and b/thirdparty/lyra/model_coeffs/lyragan.tflite differ diff --git a/thirdparty/lyra/model_coeffs/quantizer.tflite b/thirdparty/lyra/model_coeffs/quantizer.tflite new file mode 100644 index 000000000..e72dc0afe Binary files /dev/null and b/thirdparty/lyra/model_coeffs/quantizer.tflite differ diff --git a/thirdparty/lyra/model_coeffs/soundstream_encoder.tflite b/thirdparty/lyra/model_coeffs/soundstream_encoder.tflite new file mode 100644 index 000000000..d6594f831 Binary files /dev/null and b/thirdparty/lyra/model_coeffs/soundstream_encoder.tflite differ diff --git a/thirdparty/lyra/webassembly_codec_wrapper.js b/thirdparty/lyra/webassembly_codec_wrapper.js new file mode 100644 index 000000000..d9066ebd9 --- /dev/null +++ b/thirdparty/lyra/webassembly_codec_wrapper.js @@ -0,0 +1,6508 @@ +// This file is Apache 2.0 Licenced +// See README.md in this location for licencing details and credits + +var _scriptDir = "."; +var lyraCodecModule = function(Module) { + Module = Module || {}; + + function GROWABLE_HEAP_I8() { + if (wasmMemory.buffer != buffer) { + updateGlobalBufferAndViews(wasmMemory.buffer) + } + return HEAP8 + } + + function GROWABLE_HEAP_U8() { + if (wasmMemory.buffer != buffer) { + updateGlobalBufferAndViews(wasmMemory.buffer) + } + return HEAPU8 + } + + function GROWABLE_HEAP_I16() { + if (wasmMemory.buffer != buffer) { + updateGlobalBufferAndViews(wasmMemory.buffer) + } + return HEAP16 + } + + function GROWABLE_HEAP_U16() { + if (wasmMemory.buffer != buffer) { + updateGlobalBufferAndViews(wasmMemory.buffer) + } + return HEAPU16 + } + + function GROWABLE_HEAP_I32() { + if (wasmMemory.buffer != buffer) { + updateGlobalBufferAndViews(wasmMemory.buffer) + } + return HEAP32 + } + + function GROWABLE_HEAP_U32() { + if (wasmMemory.buffer != buffer) { + updateGlobalBufferAndViews(wasmMemory.buffer) + } + return HEAPU32 + } + + function GROWABLE_HEAP_F32() { + if (wasmMemory.buffer != buffer) { + updateGlobalBufferAndViews(wasmMemory.buffer) + } + return HEAPF32 + } + + function GROWABLE_HEAP_F64() { + if (wasmMemory.buffer != buffer) { + updateGlobalBufferAndViews(wasmMemory.buffer) + } + return HEAPF64 + } + var Module = typeof Module !== "undefined" ? Module : {}; + var readyPromiseResolve, readyPromiseReject; + Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject + }); + var moduleOverrides = {}; + var key; + for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key] + } + } + var arguments_ = []; + var thisProgram = "./this.program"; + var quit_ = function(status, toThrow) { + throw toThrow + }; + var ENVIRONMENT_IS_WEB = typeof window === "object"; + var ENVIRONMENT_IS_WORKER = typeof importScripts === "function"; + var ENVIRONMENT_IS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string"; + var ENVIRONMENT_IS_PTHREAD = Module["ENVIRONMENT_IS_PTHREAD"] || false; + var scriptDirectory = ""; + + function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory) + } + return scriptDirectory + path + } + var read_, readAsync, readBinary, setWindowTitle; + + function logExceptionOnExit(e) { + if (e instanceof ExitStatus) return; + var toLog = e; + err("exiting due to exception: " + toLog) + } + var nodeFS; + var nodePath; + if (ENVIRONMENT_IS_NODE) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = require("path").dirname(scriptDirectory) + "/" + } else { + scriptDirectory = __dirname + "/" + } + read_ = function shell_read(filename, binary) { + if (!nodeFS) nodeFS = require("fs"); + if (!nodePath) nodePath = require("path"); + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8") + }; + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret) + } + assert(ret.buffer); + return ret + }; + readAsync = function readAsync(filename, onload, onerror) { + if (!nodeFS) nodeFS = require("fs"); + if (!nodePath) nodePath = require("path"); + filename = nodePath["normalize"](filename); + nodeFS["readFile"](filename, function(err, data) { + if (err) onerror(err); + else onload(data.buffer) + }) + }; + if (process["argv"].length > 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/") + } + arguments_ = process["argv"].slice(2); + process["on"]("uncaughtException", function(ex) { + if (!(ex instanceof ExitStatus)) { + throw ex + } + }); + process["on"]("unhandledRejection", function(reason) { + throw reason + }); + quit_ = function(status, toThrow) { + if (keepRuntimeAlive()) { + process["exitCode"] = status; + throw toThrow + } + logExceptionOnExit(toThrow); + process["exit"](status) + }; + Module["inspect"] = function() { + return "[Emscripten Module object]" + }; + var nodeWorkerThreads; + try { + nodeWorkerThreads = require("worker_threads") + } catch (e) { + console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'); + throw e + } + global.Worker = nodeWorkerThreads.Worker + } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href + } else if (typeof document !== "undefined" && document.currentScript) { + scriptDirectory = document.currentScript.src + } + if (_scriptDir) { + scriptDirectory = _scriptDir + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1) + } else { + scriptDirectory = "" + } + if (ENVIRONMENT_IS_NODE) { + read_ = function shell_read(filename, binary) { + if (!nodeFS) nodeFS = require("fs"); + if (!nodePath) nodePath = require("path"); + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8") + }; + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret) + } + assert(ret.buffer); + return ret + }; + readAsync = function readAsync(filename, onload, onerror) { + if (!nodeFS) nodeFS = require("fs"); + if (!nodePath) nodePath = require("path"); + filename = nodePath["normalize"](filename); + nodeFS["readFile"](filename, function(err, data) { + if (err) onerror(err); + else onload(data.buffer) + }) + } + } else { + read_ = function(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = function(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response) + } + } + readAsync = function(url, onload, onerror) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = function() { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return + } + onerror() + }; + xhr.onerror = onerror; + xhr.send(null) + } + } + setWindowTitle = function(title) { + document.title = title + } + } else {} + if (ENVIRONMENT_IS_NODE) { + if (typeof performance === "undefined") { + global.performance = require("perf_hooks").performance + } + } + var out = Module["print"] || console.log.bind(console); + var err = Module["printErr"] || console.warn.bind(console); + for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key] + } + } + moduleOverrides = null; + if (Module["arguments"]) arguments_ = Module["arguments"]; + if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; + if (Module["quit"]) quit_ = Module["quit"]; + + function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text) + } + } + var tempRet0 = 0; + var setTempRet0 = function(value) { + tempRet0 = value + }; + var Atomics_load = Atomics.load; + var Atomics_store = Atomics.store; + var Atomics_compareExchange = Atomics.compareExchange; + var wasmBinary; + if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; + var noExitRuntime = Module["noExitRuntime"] || true; + if (typeof WebAssembly !== "object") { + abort("no native wasm support detected") + } + var wasmMemory; + var wasmModule; + var ABORT = false; + var EXITSTATUS; + + function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text) + } + } + + function TextDecoderWrapper(encoding) { + var textDecoder = new TextDecoder(encoding); + this.decode = function(data) { + if (data.buffer instanceof SharedArrayBuffer) { + data = new Uint8Array(data) + } + return textDecoder.decode.call(textDecoder, data) + } + } + var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoderWrapper("utf8") : undefined; + + function UTF8ArrayToString(heap, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { + return UTF8Decoder.decode(heap.subarray(idx, endPtr)) + } else { + var str = ""; + while (idx < endPtr) { + var u0 = heap[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue + } + var u1 = heap[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue + } + var u2 = heap[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2 + } else { + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heap[idx++] & 63 + } + if (u0 < 65536) { + str += String.fromCharCode(u0) + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023) + } + } + } + return str + } + + function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(GROWABLE_HEAP_U8(), ptr, maxBytesToRead) : "" + } + + function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023 + } + if (u <= 127) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 192 | u >> 6; + heap[outIdx++] = 128 | u & 63 + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 224 | u >> 12; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63 + } else { + if (outIdx + 3 >= endIdx) break; + heap[outIdx++] = 240 | u >> 18; + heap[outIdx++] = 128 | u >> 12 & 63; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63 + } + } + heap[outIdx] = 0; + return outIdx - startIdx + } + + function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, GROWABLE_HEAP_U8(), outPtr, maxBytesToWrite) + } + + function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) ++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4 + } + return len + } + var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoderWrapper("utf-16le") : undefined; + + function UTF16ToString(ptr, maxBytesToRead) { + var endPtr = ptr; + var idx = endPtr >> 1; + var maxIdx = idx + maxBytesToRead / 2; + while (!(idx >= maxIdx) && GROWABLE_HEAP_U16()[idx]) ++idx; + endPtr = idx << 1; + if (endPtr - ptr > 32 && UTF16Decoder) { + return UTF16Decoder.decode(GROWABLE_HEAP_U8().subarray(ptr, endPtr)) + } else { + var str = ""; + for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { + var codeUnit = GROWABLE_HEAP_I16()[ptr + i * 2 >> 1]; + if (codeUnit == 0) break; + str += String.fromCharCode(codeUnit) + } + return str + } + } + + function stringToUTF16(str, outPtr, maxBytesToWrite) { + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 2147483647 + } + if (maxBytesToWrite < 2) return 0; + maxBytesToWrite -= 2; + var startPtr = outPtr; + var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + var codeUnit = str.charCodeAt(i); + GROWABLE_HEAP_I16()[outPtr >> 1] = codeUnit; + outPtr += 2 + } + GROWABLE_HEAP_I16()[outPtr >> 1] = 0; + return outPtr - startPtr + } + + function lengthBytesUTF16(str) { + return str.length * 2 + } + + function UTF32ToString(ptr, maxBytesToRead) { + var i = 0; + var str = ""; + while (!(i >= maxBytesToRead / 4)) { + var utf32 = GROWABLE_HEAP_I32()[ptr + i * 4 >> 2]; + if (utf32 == 0) break; + ++i; + if (utf32 >= 65536) { + var ch = utf32 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023) + } else { + str += String.fromCharCode(utf32) + } + } + return str + } + + function stringToUTF32(str, outPtr, maxBytesToWrite) { + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 2147483647 + } + if (maxBytesToWrite < 4) return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 55296 && codeUnit <= 57343) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 65536 + ((codeUnit & 1023) << 10) | trailSurrogate & 1023 + } + GROWABLE_HEAP_I32()[outPtr >> 2] = codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) break + } + GROWABLE_HEAP_I32()[outPtr >> 2] = 0; + return outPtr - startPtr + } + + function lengthBytesUTF32(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 55296 && codeUnit <= 57343) ++i; + len += 4 + } + return len + } + + function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, GROWABLE_HEAP_I8(), ret, size); + return ret + } + + function writeArrayToMemory(array, buffer) { + GROWABLE_HEAP_I8().set(array, buffer) + } + + function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + GROWABLE_HEAP_I8()[buffer++ >> 0] = str.charCodeAt(i) + } + if (!dontAddNull) GROWABLE_HEAP_I8()[buffer >> 0] = 0 + } + + function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - x % multiple + } + return x + } + var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + if (ENVIRONMENT_IS_PTHREAD) { + buffer = Module["buffer"] + } + + function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf) + } + var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216; + if (ENVIRONMENT_IS_PTHREAD) { + wasmMemory = Module["wasmMemory"]; + buffer = Module["buffer"] + } else { + if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"] + } else { + wasmMemory = new WebAssembly.Memory({ + "initial": INITIAL_MEMORY / 65536, + "maximum": 2147483648 / 65536, + "shared": true + }); + if (!(wasmMemory.buffer instanceof SharedArrayBuffer)) { + err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"); + if (ENVIRONMENT_IS_NODE) { + console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)") + } + throw Error("bad memory") + } + } + } + if (wasmMemory) { + buffer = wasmMemory.buffer + } + INITIAL_MEMORY = buffer.byteLength; + updateGlobalBufferAndViews(buffer); + var wasmTable; + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATMAIN__ = []; + var __ATEXIT__ = []; + var __ATPOSTRUN__ = []; + var runtimeInitialized = false; + var runtimeExited = false; + var runtimeKeepaliveCounter = 0; + + function keepRuntimeAlive() { + return noExitRuntime || runtimeKeepaliveCounter > 0 + } + + function preRun() { + if (ENVIRONMENT_IS_PTHREAD) return; + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()) + } + } + callRuntimeCallbacks(__ATPRERUN__) + } + + function initRuntime() { + runtimeInitialized = true; + if (ENVIRONMENT_IS_PTHREAD) return; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + FS.ignorePermissions = false; + TTY.init(); + callRuntimeCallbacks(__ATINIT__) + } + + function preMain() { + if (ENVIRONMENT_IS_PTHREAD) return; + callRuntimeCallbacks(__ATMAIN__) + } + + function exitRuntime() { + if (ENVIRONMENT_IS_PTHREAD) return; + PThread.terminateAllThreads(); + runtimeExited = true + } + + function postRun() { + if (ENVIRONMENT_IS_PTHREAD) return; + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()) + } + } + callRuntimeCallbacks(__ATPOSTRUN__) + } + + function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb) + } + + function addOnInit(cb) { + __ATINIT__.unshift(cb) + } + + function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb) + } + var runDependencies = 0; + var runDependencyWatcher = null; + var dependenciesFulfilled = null; + + function getUniqueRunDependency(id) { + return id + } + + function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + } + + function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback() + } + } + } + Module["preloadedImages"] = {}; + Module["preloadedAudios"] = {}; + + function abort(what) { + if (ENVIRONMENT_IS_PTHREAD) { + postMessage({ + "cmd": "onAbort", + "arg": what + }) + } else { + if (Module["onAbort"]) { + Module["onAbort"](what) + } + } + what = "Aborted(" + what + ")"; + err(what); + ABORT = true; + EXITSTATUS = 1; + what += ". Build with -s ASSERTIONS=1 for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e + } + var dataURIPrefix = "data:application/octet-stream;base64,"; + + function isDataURI(filename) { + return filename.startsWith(dataURIPrefix) + } + + function isFileURI(filename) { + return filename.startsWith("file://") + } + var wasmBinaryFile = "./thirdparty/lyra/webassembly_codec_wrapper.wasm"; + + function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary) + } + if (readBinary) { + return readBinary(file) + } else { + throw "both async and sync fetching of the wasm failed" + } + } catch (err) { + abort(err) + } + } + + function getBinaryPromise() { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch === "function" && !isFileURI(wasmBinaryFile)) { + return fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" + } + return response["arrayBuffer"]() + }).catch(function() { + return getBinary(wasmBinaryFile) + }) + } else { + if (readAsync) { + return new Promise(function(resolve, reject) { + readAsync(wasmBinaryFile, function(response) { + resolve(new Uint8Array(response)) + }, reject) + }) + } + } + } + return Promise.resolve().then(function() { + return getBinary(wasmBinaryFile) + }) + } + + function createWasm() { + var info = { + "a": asmLibraryArg + }; + + function receiveInstance(instance, module) { + var exports = instance.exports; + Module["asm"] = exports; + registerTlsInit(Module["asm"]["ka"]); + wasmTable = Module["asm"]["fa"]; + addOnInit(Module["asm"]["da"]); + wasmModule = module; + if (!ENVIRONMENT_IS_PTHREAD) { + removeRunDependency("wasm-instantiate") + } + } + if (!ENVIRONMENT_IS_PTHREAD) { + addRunDependency("wasm-instantiate") + } + + function receiveInstantiationResult(result) { + receiveInstance(result["instance"], result["module"]) + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info) + }).then(function(instance) { + return instance + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason) + }) + } + + function instantiateAsync() { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && !isFileURI(wasmBinaryFile) && typeof fetch === "function") { + return fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, info); + return result.then(receiveInstantiationResult, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + return instantiateArrayBuffer(receiveInstantiationResult) + }) + }) + } else { + return instantiateArrayBuffer(receiveInstantiationResult) + } + } + if (Module["instantiateWasm"]) { + try { + var exports = Module["instantiateWasm"](info, receiveInstance); + return exports + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false + } + } + instantiateAsync().catch(readyPromiseReject); + return {} + } + var tempDouble; + var tempI64; + var ASM_CONSTS = { + 196044: function() { + return typeof wasmOffsetConverter !== "undefined" + } + }; + + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(Module); + continue + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + wasmTable.get(func)() + } else { + wasmTable.get(func)(callback.arg) + } + } else { + func(callback.arg === undefined ? null : callback.arg) + } + } + } + Module["callRuntimeCallbacks"] = callRuntimeCallbacks; + + function demangle(func) { + return func + } + Module["demangle"] = demangle; + + function demangleAll(text) { + var regex = /\b_Z[\w\d_]+/g; + return text.replace(regex, function(x) { + var y = demangle(x); + return x === y ? x : y + " [" + x + "]" + }) + } + Module["demangleAll"] = demangleAll; + + function _emscripten_futex_wake(addr, count) { + if (addr <= 0 || addr > GROWABLE_HEAP_I8().length || addr & 3 != 0 || count < 0) return -28; + if (count == 0) return 0; + if (count >= 2147483647) count = Infinity; + var mainThreadWaitAddress = Atomics.load(GROWABLE_HEAP_I32(), __emscripten_main_thread_futex >> 2); + var mainThreadWoken = 0; + if (mainThreadWaitAddress == addr) { + var loadedAddr = Atomics.compareExchange(GROWABLE_HEAP_I32(), __emscripten_main_thread_futex >> 2, mainThreadWaitAddress, 0); + if (loadedAddr == mainThreadWaitAddress) { + --count; + mainThreadWoken = 1; + if (count <= 0) return 1 + } + } + var ret = Atomics.notify(GROWABLE_HEAP_I32(), addr >> 2, count); + if (ret >= 0) return ret + mainThreadWoken; + throw "Atomics.notify returned an unexpected value " + ret + } + Module["_emscripten_futex_wake"] = _emscripten_futex_wake; + + function killThread(pthread_ptr) { + GROWABLE_HEAP_I32()[pthread_ptr + 8 >> 2] = 0; + var pthread = PThread.pthreads[pthread_ptr]; + delete PThread.pthreads[pthread_ptr]; + pthread.worker.terminate(); + freeThreadData(pthread); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(pthread.worker), 1); + pthread.worker.pthread = undefined + } + Module["killThread"] = killThread; + + function cancelThread(pthread_ptr) { + var pthread = PThread.pthreads[pthread_ptr]; + pthread.worker.postMessage({ + "cmd": "cancel" + }) + } + Module["cancelThread"] = cancelThread; + + function cleanupThread(pthread_ptr) { + var pthread = PThread.pthreads[pthread_ptr]; + if (pthread) { + GROWABLE_HEAP_I32()[pthread_ptr + 8 >> 2] = 0; + var worker = pthread.worker; + PThread.returnWorkerToPool(worker) + } + } + Module["cleanupThread"] = cleanupThread; + + function freeThreadData(pthread) { + if (!pthread) return; + if (pthread.threadInfoStruct) { + _free(pthread.threadInfoStruct) + } + pthread.threadInfoStruct = 0; + if (pthread.allocatedOwnStack && pthread.stackBase) _free(pthread.stackBase); + pthread.stackBase = 0; + if (pthread.worker) pthread.worker.pthread = null + } + Module["freeThreadData"] = freeThreadData; + + function _exit(status) { + exit(status) + } + Module["_exit"] = _exit; + + function handleException(e) { + if (e instanceof ExitStatus || e == "unwind") { + return EXITSTATUS + } + quit_(1, e) + } + Module["handleException"] = handleException; + var PThread = { + unusedWorkers: [], + runningWorkers: [], + tlsInitFunctions: [], + initMainThreadBlock: function() {}, + initWorker: function() {}, + pthreads: {}, + threadExitHandlers: [], + setExitStatus: function(status) { + EXITSTATUS = status + }, + terminateAllThreads: function() { + for (var t in PThread.pthreads) { + var pthread = PThread.pthreads[t]; + if (pthread && pthread.worker) { + PThread.returnWorkerToPool(pthread.worker) + } + } + for (var i = 0; i < PThread.unusedWorkers.length; ++i) { + var worker = PThread.unusedWorkers[i]; + worker.terminate() + } + PThread.unusedWorkers = [] + }, + returnWorkerToPool: function(worker) { + PThread.runWithoutMainThreadQueuedCalls(function() { + delete PThread.pthreads[worker.pthread.threadInfoStruct]; + PThread.unusedWorkers.push(worker); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker), 1); + freeThreadData(worker.pthread); + worker.pthread = undefined + }) + }, + runWithoutMainThreadQueuedCalls: function(func) { + GROWABLE_HEAP_I32()[__emscripten_allow_main_runtime_queued_calls >> 2] = 0; + try { + func() + } finally { + GROWABLE_HEAP_I32()[__emscripten_allow_main_runtime_queued_calls >> 2] = 1 + } + }, + receiveObjectTransfer: function(data) {}, + threadInit: function() { + for (var i in PThread.tlsInitFunctions) { + PThread.tlsInitFunctions[i]() + } + }, + loadWasmModuleToWorker: function(worker, onFinishedLoading) { + worker.onmessage = function(e) { + var d = e["data"]; + var cmd = d["cmd"]; + if (worker.pthread) PThread.currentProxiedOperationCallerThread = worker.pthread.threadInfoStruct; + if (d["targetThread"] && d["targetThread"] != _pthread_self()) { + var thread = PThread.pthreads[d.targetThread]; + if (thread) { + thread.worker.postMessage(d, d["transferList"]) + } else { + err('Internal error! Worker sent a message "' + cmd + '" to target pthread ' + d["targetThread"] + ", but that thread no longer exists!") + } + PThread.currentProxiedOperationCallerThread = undefined; + return + } + if (cmd === "processQueuedMainThreadWork") { + _emscripten_main_thread_process_queued_calls() + } else if (cmd === "spawnThread") { + spawnThread(d) + } else if (cmd === "cleanupThread") { + cleanupThread(d["thread"]) + } else if (cmd === "killThread") { + killThread(d["thread"]) + } else if (cmd === "cancelThread") { + cancelThread(d["thread"]) + } else if (cmd === "loaded") { + worker.loaded = true; + if (onFinishedLoading) onFinishedLoading(worker); + if (worker.runPthread) { + worker.runPthread(); + delete worker.runPthread + } + } else if (cmd === "print") { + out("Thread " + d["threadId"] + ": " + d["text"]) + } else if (cmd === "printErr") { + err("Thread " + d["threadId"] + ": " + d["text"]) + } else if (cmd === "alert") { + alert("Thread " + d["threadId"] + ": " + d["text"]) + } else if (cmd === "detachedExit") { + PThread.returnWorkerToPool(worker) + } else if (cmd === "cancelDone") { + PThread.returnWorkerToPool(worker) + } else if (d.target === "setimmediate") { + worker.postMessage(d) + } else if (cmd === "onAbort") { + if (Module["onAbort"]) { + Module["onAbort"](d["arg"]) + } + } else { + err("worker sent an unknown command " + cmd) + } + PThread.currentProxiedOperationCallerThread = undefined + }; + worker.onerror = function(e) { + err("pthread sent an error! " + e.filename + ":" + e.lineno + ": " + e.message); + throw e + }; + if (ENVIRONMENT_IS_NODE) { + worker.on("message", function(data) { + worker.onmessage({ + data: data + }) + }); + worker.on("error", function(e) { + worker.onerror(e) + }); + worker.on("detachedExit", function() {}) + } + worker.postMessage({ + "cmd": "load", + "urlOrBlob": Module["mainScriptUrlOrBlob"], + "wasmMemory": wasmMemory, + "wasmModule": wasmModule + }) + }, + allocateUnusedWorker: function() { + if (!Module["locateFile"]) { + PThread.unusedWorkers.push(new Worker("webassembly_codec_wrapper.worker.js")); + return + } + var pthreadMainJs = locateFile("webassembly_codec_wrapper.worker.js"); + PThread.unusedWorkers.push(new Worker(pthreadMainJs)) + }, + getNewWorker: function() { + if (PThread.unusedWorkers.length == 0) { + PThread.allocateUnusedWorker(); + PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0]) + } + return PThread.unusedWorkers.pop() + } + }; + Module["PThread"] = PThread; + + function establishStackSpace(stackTop, stackMax) { + _emscripten_stack_set_limits(stackTop, stackMax); + stackRestore(stackTop) + } + Module["establishStackSpace"] = establishStackSpace; + + function exitOnMainThread(returnCode) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(1, 0, returnCode); + try { + _exit(returnCode) + } catch (e) { + handleException(e) + } + } + Module["exitOnMainThread"] = exitOnMainThread; + + function invokeEntryPoint(ptr, arg) { + return wasmTable.get(ptr)(arg) + } + Module["invokeEntryPoint"] = invokeEntryPoint; + + function jsStackTrace() { + var error = new Error; + if (!error.stack) { + try { + throw new Error + } catch (e) { + error = e + } + if (!error.stack) { + return "(no stack trace available)" + } + } + return error.stack.toString() + } + Module["jsStackTrace"] = jsStackTrace; + + function registerTlsInit(tlsInitFunc, moduleExports, metadata) { + PThread.tlsInitFunctions.push(tlsInitFunc) + } + Module["registerTlsInit"] = registerTlsInit; + + function stackTrace() { + var js = jsStackTrace(); + if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); + return demangleAll(js) + } + Module["stackTrace"] = stackTrace; + + function ___assert_fail(condition, filename, line, func) { + abort("Assertion failed: " + UTF8ToString(condition) + ", at: " + [filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function"]) + } + Module["___assert_fail"] = ___assert_fail; + var _emscripten_get_now; + if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function() { + var t = process["hrtime"](); + return t[0] * 1e3 + t[1] / 1e6 + } + } else if (ENVIRONMENT_IS_PTHREAD) { + _emscripten_get_now = function() { + return performance.now() - Module["__performance_now_clock_drift"] + } + } else _emscripten_get_now = function() { + return performance.now() + }; + Module["_emscripten_get_now"] = _emscripten_get_now; + var _emscripten_get_now_is_monotonic = true; + Module["_emscripten_get_now_is_monotonic"] = _emscripten_get_now_is_monotonic; + + function setErrNo(value) { + GROWABLE_HEAP_I32()[___errno_location() >> 2] = value; + return value + } + Module["setErrNo"] = setErrNo; + + function _clock_gettime(clk_id, tp) { + var now; + if (clk_id === 0) { + now = Date.now() + } else if ((clk_id === 1 || clk_id === 4) && _emscripten_get_now_is_monotonic) { + now = _emscripten_get_now() + } else { + setErrNo(28); + return -1 + } + GROWABLE_HEAP_I32()[tp >> 2] = now / 1e3 | 0; + GROWABLE_HEAP_I32()[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0; + return 0 + } + Module["_clock_gettime"] = _clock_gettime; + + function ___clock_gettime(a0, a1) { + return _clock_gettime(a0, a1) + } + Module["___clock_gettime"] = ___clock_gettime; + + function _atexit(func, arg) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(2, 1, func, arg) + } + Module["_atexit"] = _atexit; + + function ___cxa_atexit(a0, a1) { + return _atexit(a0, a1) + } + Module["___cxa_atexit"] = ___cxa_atexit; + + function ___cxa_thread_atexit(routine, arg) { + PThread.threadExitHandlers.push(function() { + wasmTable.get(routine)(arg) + }) + } + Module["___cxa_thread_atexit"] = ___cxa_thread_atexit; + + function ___emscripten_init_main_thread_js(tb) { + __emscripten_thread_init(tb, !ENVIRONMENT_IS_WORKER, 1); + PThread.threadInit() + } + Module["___emscripten_init_main_thread_js"] = ___emscripten_init_main_thread_js; + + function spawnThread(threadParams) { + var worker = PThread.getNewWorker(); + if (!worker) { + return 6 + } + PThread.runningWorkers.push(worker); + var stackHigh = threadParams.stackBase + threadParams.stackSize; + var pthread = PThread.pthreads[threadParams.pthread_ptr] = { + worker: worker, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + allocatedOwnStack: threadParams.allocatedOwnStack, + threadInfoStruct: threadParams.pthread_ptr + }; + var tis = pthread.threadInfoStruct >> 2; + Atomics.store(GROWABLE_HEAP_U32(), tis + (60 >> 2), threadParams.detached); + Atomics.store(GROWABLE_HEAP_U32(), tis + (76 >> 2), threadParams.stackSize); + Atomics.store(GROWABLE_HEAP_U32(), tis + (72 >> 2), stackHigh); + Atomics.store(GROWABLE_HEAP_U32(), tis + (100 >> 2), threadParams.stackSize); + Atomics.store(GROWABLE_HEAP_U32(), tis + (100 + 8 >> 2), stackHigh); + Atomics.store(GROWABLE_HEAP_U32(), tis + (100 + 12 >> 2), threadParams.detached); + worker.pthread = pthread; + var msg = { + "cmd": "run", + "start_routine": threadParams.startRoutine, + "arg": threadParams.arg, + "threadInfoStruct": threadParams.pthread_ptr, + "stackBase": threadParams.stackBase, + "stackSize": threadParams.stackSize + }; + worker.runPthread = function() { + msg.time = performance.now(); + worker.postMessage(msg, threadParams.transferList) + }; + if (worker.loaded) { + worker.runPthread(); + delete worker.runPthread + } + return 0 + } + Module["spawnThread"] = spawnThread; + + function ___pthread_create_js(pthread_ptr, attr, start_routine, arg) { + if (typeof SharedArrayBuffer === "undefined") { + err("Current environment does not support SharedArrayBuffer, pthreads are not available!"); + return 6 + } + var transferList = []; + var error = 0; + if (ENVIRONMENT_IS_PTHREAD && (transferList.length === 0 || error)) { + return _emscripten_sync_run_in_main_thread_4(687865856, pthread_ptr, attr, start_routine, arg) + } + if (error) return error; + var stackSize = 0; + var stackBase = 0; + var detached = 0; + if (attr && attr != -1) { + stackSize = GROWABLE_HEAP_I32()[attr >> 2]; + stackSize += 2097152; + stackBase = GROWABLE_HEAP_I32()[attr + 8 >> 2]; + detached = GROWABLE_HEAP_I32()[attr + 12 >> 2] !== 0 + } else { + stackSize = 2097152 + } + var allocatedOwnStack = stackBase == 0; + if (allocatedOwnStack) { + stackBase = _memalign(16, stackSize) + } else { + stackBase -= stackSize; + assert(stackBase > 0) + } + var threadParams = { + stackBase: stackBase, + stackSize: stackSize, + allocatedOwnStack: allocatedOwnStack, + detached: detached, + startRoutine: start_routine, + pthread_ptr: pthread_ptr, + arg: arg, + transferList: transferList + }; + if (ENVIRONMENT_IS_PTHREAD) { + threadParams.cmd = "spawnThread"; + postMessage(threadParams, transferList); + return 0 + } + return spawnThread(threadParams) + } + Module["___pthread_create_js"] = ___pthread_create_js; + + function ___pthread_detached_exit() { + postMessage({ + "cmd": "detachedExit" + }) + } + Module["___pthread_detached_exit"] = ___pthread_detached_exit; + + function ___pthread_exit_run_handlers(status) { + while (PThread.threadExitHandlers.length > 0) { + PThread.threadExitHandlers.pop()() + } + } + Module["___pthread_exit_run_handlers"] = ___pthread_exit_run_handlers; + + function _emscripten_futex_wait(addr, val, timeout) { + if (addr <= 0 || addr > GROWABLE_HEAP_I8().length || addr & 3 != 0) return -28; + if (!ENVIRONMENT_IS_WEB) { + var ret = Atomics.wait(GROWABLE_HEAP_I32(), addr >> 2, val, timeout); + if (ret === "timed-out") return -73; + if (ret === "not-equal") return -6; + if (ret === "ok") return 0; + throw "Atomics.wait returned an unexpected value " + ret + } else { + if (Atomics.load(GROWABLE_HEAP_I32(), addr >> 2) != val) { + return -6 + } + var tNow = performance.now(); + var tEnd = tNow + timeout; + var lastAddr = Atomics.exchange(GROWABLE_HEAP_I32(), __emscripten_main_thread_futex >> 2, addr); + while (1) { + tNow = performance.now(); + if (tNow > tEnd) { + lastAddr = Atomics.exchange(GROWABLE_HEAP_I32(), __emscripten_main_thread_futex >> 2, 0); + return -73 + } + lastAddr = Atomics.exchange(GROWABLE_HEAP_I32(), __emscripten_main_thread_futex >> 2, 0); + if (lastAddr == 0) { + break + } + _emscripten_main_thread_process_queued_calls(); + if (Atomics.load(GROWABLE_HEAP_I32(), addr >> 2) != val) { + return -6 + } + lastAddr = Atomics.exchange(GROWABLE_HEAP_I32(), __emscripten_main_thread_futex >> 2, addr) + } + return 0 + } + } + Module["_emscripten_futex_wait"] = _emscripten_futex_wait; + + function _emscripten_check_blocking_allowed() { + if (ENVIRONMENT_IS_NODE) return; + if (ENVIRONMENT_IS_WORKER) return; + warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread") + } + Module["_emscripten_check_blocking_allowed"] = _emscripten_check_blocking_allowed; + + function __emscripten_do_pthread_join(thread, status, block) { + if (!thread) { + err("pthread_join attempted on a null thread pointer!"); + return 71 + } + if (ENVIRONMENT_IS_PTHREAD && _pthread_self() == thread) { + err("PThread " + thread + " is attempting to join to itself!"); + return 16 + } else if (!ENVIRONMENT_IS_PTHREAD && _emscripten_main_browser_thread_id() == thread) { + err("Main thread " + thread + " is attempting to join to itself!"); + return 16 + } + var self = GROWABLE_HEAP_I32()[thread + 8 >> 2]; + if (self !== thread) { + err("pthread_join attempted on thread " + thread + ", which does not point to a valid thread, or does not exist anymore!"); + return 71 + } + var detached = Atomics.load(GROWABLE_HEAP_U32(), thread + 60 >> 2); + if (detached) { + err("Attempted to join thread " + thread + ", which was already detached!"); + return 28 + } + if (block) { + _emscripten_check_blocking_allowed() + } + for (;;) { + var threadStatus = Atomics.load(GROWABLE_HEAP_U32(), thread + 0 >> 2); + if (threadStatus == 1) { + if (status) { + var result = Atomics.load(GROWABLE_HEAP_U32(), thread + 88 >> 2); + GROWABLE_HEAP_I32()[status >> 2] = result + } + Atomics.store(GROWABLE_HEAP_U32(), thread + 60 >> 2, 1); + if (!ENVIRONMENT_IS_PTHREAD) cleanupThread(thread); + else postMessage({ + "cmd": "cleanupThread", + "thread": thread + }); + return 0 + } + if (!block) { + return 10 + } + _pthread_testcancel(); + if (!ENVIRONMENT_IS_PTHREAD) _emscripten_main_thread_process_queued_calls(); + _emscripten_futex_wait(thread + 0, threadStatus, ENVIRONMENT_IS_PTHREAD ? 100 : 1) + } + } + Module["__emscripten_do_pthread_join"] = __emscripten_do_pthread_join; + + function ___pthread_join_js(thread, status) { + return __emscripten_do_pthread_join(thread, status, true) + } + Module["___pthread_join_js"] = ___pthread_join_js; + var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1) + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1) + } else if (last === "..") { + parts.splice(i, 1); + up++ + } else if (up) { + parts.splice(i, 1); + up-- + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift("..") + } + } + return parts + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", + trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "." + } + if (path && trailingSlash) { + path += "/" + } + return (isAbsolute ? "/" : "") + path + }, + dirname: function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + return "." + } + if (dir) { + dir = dir.substr(0, dir.length - 1) + } + return root + dir + }, + basename: function(path) { + if (path === "/") return "/"; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1) + }, + extname: function(path) { + return PATH.splitPath(path)[3] + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")) + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r) + } + }; + Module["PATH"] = PATH; + + function getRandomDevice() { + if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { + var randomBuffer = new Uint8Array(1); + return function() { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0] + } + } else if (ENVIRONMENT_IS_NODE) { + try { + var crypto_module = require("crypto"); + return function() { + return crypto_module["randomBytes"](1)[0] + } + } catch (e) {} + } + return function() { + abort("randomDevice") + } + } + Module["getRandomDevice"] = getRandomDevice; + var PATH_FS = { + resolve: function() { + var resolvedPath = "", + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings") + } else if (!path) { + return "" + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/" + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) { + return !!p + }), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "." + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") break + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") break + } + if (start > end) return []; + return arr.slice(start, end - start + 1) + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push("..") + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/") + } + }; + Module["PATH_FS"] = PATH_FS; + var TTY = { + ttys: [], + init: function() {}, + shutdown: function() {}, + register: function(dev, ops) { + TTY.ttys[dev] = { + input: [], + output: [], + ops: ops + }; + FS.registerDevice(dev, TTY.stream_ops) + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43) + } + stream.tty = tty; + stream.seekable = false + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60) + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty) + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60) + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]) + } + } catch (e) { + throw new FS.ErrnoError(29) + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = Buffer.alloc(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = nodeFS.readSync(process.stdin.fd, buf, 0, BUFSIZE, null) + } catch (e) { + if (e.toString().includes("EOF")) bytesRead = 0; + else throw e + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8") + } else { + result = null + } + } else if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n" + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n" + } + } + if (!result) { + return null + } + tty.input = intArrayFromString(result, true) + } + return tty.input.shift() + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + } + }; + Module["TTY"] = TTY; + + function zeroMemory(address, size) { + GROWABLE_HEAP_U8().fill(0, address, address + size) + } + Module["zeroMemory"] = zeroMemory; + + function alignMemory(size, alignment) { + return Math.ceil(size / alignment) * alignment + } + Module["alignMemory"] = alignMemory; + + function mmapAlloc(size) { + size = alignMemory(size, 65536); + var ptr = _memalign(65536, size); + if (!ptr) return 0; + zeroMemory(ptr, size); + return ptr + } + Module["mmapAlloc"] = mmapAlloc; + var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0) + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63) + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + } + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {} + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp + } + return node + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array(0); + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents) + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0) + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0 + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))) + } + node.usedBytes = newSize + } + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096 + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length + } else { + attr.size = 0 + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size) + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44] + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev) + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55) + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now(); + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir + }, + unlink: function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now() + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55) + } + delete parent.contents[name]; + parent.timestamp = Date.now() + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28) + } + return node.link + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset) + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i] + } + return size + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (buffer.buffer === GROWABLE_HEAP_I8().buffer) { + canOwn = false + } + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length + } else if (node.usedBytes === 0 && position === 0) { + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) { + node.contents.set(buffer.subarray(offset, offset + length), position) + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i] + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length) + }, + mmap: function(stream, address, length, position, prot, flags) { + if (address !== 0) { + throw new FS.ErrnoError(28) + } + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === buffer) { + allocated = false; + ptr = contents.byteOffset + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length) + } else { + contents = Array.prototype.slice.call(contents, position, position + length) + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48) + } + GROWABLE_HEAP_I8().set(contents, ptr) + } + return { + ptr: ptr, + allocated: allocated + } + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (mmapFlags & 2) { + return 0 + } + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0 + } + } + }; + Module["MEMFS"] = MEMFS; + + function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency("al " + url) : ""; + readAsync(url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep) + }, function(event) { + if (onerror) { + onerror() + } else { + throw 'Loading data file "' + url + '" failed.' + } + }); + if (dep) addRunDependency(dep) + } + Module["asyncLoad"] = asyncLoad; + var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key] + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32) + } + var parts = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), false); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32) + } + } + } + } + return { + path: current_path, + node: current + } + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path + } + path = path ? node.name + "/" + path : node.name; + node = node.parent + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0 + } + return (parentid + hash >>> 0) % FS.nameTable.length + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break + } + current = current.name_next + } + } + }, + lookupNode: function(parent, name) { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent) + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node + } + } + return FS.lookup(parent, name) + }, + createNode: function(parent, name, mode, rdev) { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node + }, + destroyNode: function(node) { + FS.hashRemoveNode(node) + }, + isRoot: function(node) { + return node === node.parent + }, + isMountpoint: function(node) { + return !!node.mounted + }, + isFile: function(mode) { + return (mode & 61440) === 32768 + }, + isDir: function(mode) { + return (mode & 61440) === 16384 + }, + isLink: function(mode) { + return (mode & 61440) === 40960 + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192 + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576 + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096 + }, + isSocket: function(mode) { + return (mode & 49152) === 49152 + }, + flagModes: { + "r": 0, + "r+": 2, + "w": 577, + "w+": 578, + "a": 1089, + "a+": 1090 + }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str) + } + return flags + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w" + } + return perms + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0 + } + if (perms.includes("r") && !(node.mode & 292)) { + return 2 + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2 + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2 + } + return 0 + }, + mayLookup: function(dir) { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0 + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20 + } catch (e) {} + return FS.nodePermissions(dir, "wx") + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name) + } catch (e) { + return e.errno + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54 + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10 + } + } else { + if (FS.isDir(node.mode)) { + return 31 + } + } + return 0 + }, + mayOpen: function(node, flags) { + if (!node) { + return 44 + } + if (FS.isLink(node.mode)) { + return 32 + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31 + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)) + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd + } + } + throw new FS.ErrnoError(33) + }, + getStream: function(fd) { + return FS.streams[fd] + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() {}; + FS.FSStream.prototype = { + object: { + get: function() { + return this.node + }, + set: function(val) { + this.node = val + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1 + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0 + } + }, + isAppend: { + get: function() { + return this.flags & 1024 + } + } + } + } + var newStream = new FS.FSStream; + for (var p in stream) { + newStream[p] = stream[p] + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream + }, + closeStream: function(fd) { + FS.streams[fd] = null + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + }, + llseek: function() { + throw new FS.ErrnoError(70) + } + }, + major: function(dev) { + return dev >> 8 + }, + minor: function(dev) { + return dev & 255 + }, + makedev: function(ma, mi) { + return ma << 8 | mi + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { + stream_ops: ops + } + }, + getDevice: function(dev) { + return FS.devices[dev] + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts) + } + return mounts + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work") + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(errCode) { + FS.syncFSRequests--; + return callback(errCode) + } + + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode) + } + return + } + if (++completed >= mounts.length) { + doCallback(null) + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null) + } + mount.type.syncfs(mount, populate, done) + }) + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10) + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount) + } + } + return mountRoot + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28) + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current) + } + current = next + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1) + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name) + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28) + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode) + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.mknod(parent, name, mode, dev) + }, + create: function(path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0) + }, + mkdir: function(path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0) + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode) + } catch (e) { + if (e.errno != 20) throw e + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438 + } + mode |= 8192; + return FS.mknod(path, mode, dev) + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44) + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44) + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode) + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.symlink(parent, newname, oldpath) + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node; + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75) + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28) + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55) + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (old_node === new_node) { + return + } + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode) + } + errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode) + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10) + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode) + } + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name) + } catch (e) { + throw e + } finally { + FS.hashAddNode(old_node) + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode) + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node) + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54) + } + return node.node_ops.readdir(node) + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode) + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node) + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44) + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28) + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)) + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44) + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63) + } + return node.node_ops.getattr(node) + }, + lstat: function(path) { + return FS.stat(path, true) + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }) + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true) + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chmod(stream.node, mode) + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }) + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true) + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chown(stream.node, uid, gid) + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28) + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31) + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28) + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode) + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }) + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28) + } + FS.truncate(stream.node, len) + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }) + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44) + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768 + } else { + mode = 0 + } + var node; + if (typeof path === "object") { + node = path + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20) + } + } else { + node = FS.mknod(path, mode, 0); + created = true + } + } + if (!node) { + throw new FS.ErrnoError(44) + } + if (FS.isChrdev(node.mode)) { + flags &= ~512 + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode) + } + } + if (flags & 512) { + FS.truncate(node, 0) + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, fd_start, fd_end); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1 + } + } + return stream + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream) + } + } catch (e) { + throw e + } finally { + FS.closeStream(stream.fd) + } + stream.fd = null + }, + isClosed: function(stream) { + return stream.fd === null + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70) + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28) + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position + }, + read: function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28) + } + if (stream.seekable && stream.flags & 1024) { + FS.llseek(stream, 0, 2) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138) + } + stream.stream_ops.allocate(stream, offset, length) + }, + mmap: function(stream, address, length, position, prot, flags) { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2) + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43) + } + return stream.stream_ops.mmap(stream, address, length, position, prot, flags) + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0 + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags) + }, + munmap: function(stream) { + return 0 + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59) + } + return stream.stream_ops.ioctl(stream, cmd, arg) + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"') + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0) + } else if (opts.encoding === "binary") { + ret = buf + } + FS.close(stream); + return ret + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn) + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn) + } else { + throw new Error("Unsupported data type") + } + FS.close(stream) + }, + cwd: function() { + return FS.currentPath + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44) + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54) + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode) + } + FS.currentPath = lookup.path + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user") + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0 + }, + write: function(stream, buffer, offset, length, pos) { + return length + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device = getRandomDevice(); + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp") + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: function() { + var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: function() { + return stream.path + } + } + }; + ret.parent = ret; + return ret + } + }; + return node + } + }, {}, "/proc/self/fd") + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]) + } else { + FS.symlink("/dev/tty", "/dev/stdin") + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]) + } else { + FS.symlink("/dev/tty", "/dev/stdout") + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]) + } else { + FS.symlink("/dev/tty1", "/dev/stderr") + } + var stdin = FS.open("/dev/stdin", 0); + var stdout = FS.open("/dev/stdout", 1); + var stderr = FS.open("/dev/stderr", 1) + }, + ensureErrnoError: function() { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno) { + this.errno = errno + }; + this.setErrno(errno); + this.message = "FS error" + }; + FS.ErrnoError.prototype = new Error; + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = "" + }) + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS + } + }, + init: function(input, output, error) { + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams() + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue + } + FS.close(stream) + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object + } else { + return null + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + path = lookup.path + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { + parent: true + }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/" + } catch (e) { + ret.error = e.errno + } + return ret + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current) + } catch (e) {} + parent = current + } + return current + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode) + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode) + } + return node + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10) + } + }, + read: function(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input() + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]) + } catch (e) { + throw new FS.ErrnoError(29) + } + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }); + return FS.mkdev(path, mode, dev) + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + if (typeof XMLHttpRequest !== "undefined") { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.") + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length + } catch (e) { + throw new FS.ErrnoError(29) + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest.") + } + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = [] + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset] + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest; + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined") + } + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []) + } else { + return intArrayFromString(xhr.responseText || "", true) + } + }; + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end) + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum] + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + out("LazyFiles on gzip forces download of the whole file when length is accessed") + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array; + Object.defineProperties(lazyArray, { + length: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._length + } + }, + chunkSize: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._chunkSize + } + } + }); + var properties = { + isDevice: false, + contents: lazyArray + } + } else { + var properties = { + isDevice: false, + url: url + } + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents + } else if (properties.url) { + node.contents = null; + node.url = properties.url + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments) + } + }); + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + FS.forceLoadFile(node); + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i] + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i) + } + } + return size + }; + node.stream_ops = stream_ops; + return node + }, + createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn) + } + if (onload) onload(); + removeRunDependency(dep) + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep) + }); + handled = true + } + }); + if (!handled) finish(byteArray) + } + addRunDependency(dep); + if (typeof url == "string") { + asyncLoad(url, function(byteArray) { + processData(byteArray) + }, onerror) + } else { + processData(url) + } + }, + indexedDB: function() { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB + }, + DB_NAME: function() { + return "EM_FS_" + window.location.pathname + }, + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + out("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME) + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish() + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly") + } catch (e) { + onerror(e); + return + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path) + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish() + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + } + }; + Module["FS"] = FS; + var SYSCALLS = { + mappings: {}, + DEFAULT_POLLMASK: 5, + umask: 511, + calculateAt: function(dirfd, path, allowEmpty) { + if (path[0] === "/") { + return path + } + var dir; + if (dirfd === -100) { + dir = FS.cwd() + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44) + } + return dir + } + return PATH.join2(dir, path) + }, + doStat: function(func, path, buf) { + try { + var stat = func(path) + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54 + } + throw e + } + GROWABLE_HEAP_I32()[buf >> 2] = stat.dev; + GROWABLE_HEAP_I32()[buf + 4 >> 2] = 0; + GROWABLE_HEAP_I32()[buf + 8 >> 2] = stat.ino; + GROWABLE_HEAP_I32()[buf + 12 >> 2] = stat.mode; + GROWABLE_HEAP_I32()[buf + 16 >> 2] = stat.nlink; + GROWABLE_HEAP_I32()[buf + 20 >> 2] = stat.uid; + GROWABLE_HEAP_I32()[buf + 24 >> 2] = stat.gid; + GROWABLE_HEAP_I32()[buf + 28 >> 2] = stat.rdev; + GROWABLE_HEAP_I32()[buf + 32 >> 2] = 0; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[buf + 40 >> 2] = tempI64[0], GROWABLE_HEAP_I32()[buf + 44 >> 2] = tempI64[1]; + GROWABLE_HEAP_I32()[buf + 48 >> 2] = 4096; + GROWABLE_HEAP_I32()[buf + 52 >> 2] = stat.blocks; + GROWABLE_HEAP_I32()[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; + GROWABLE_HEAP_I32()[buf + 60 >> 2] = 0; + GROWABLE_HEAP_I32()[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; + GROWABLE_HEAP_I32()[buf + 68 >> 2] = 0; + GROWABLE_HEAP_I32()[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; + GROWABLE_HEAP_I32()[buf + 76 >> 2] = 0; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[buf + 80 >> 2] = tempI64[0], GROWABLE_HEAP_I32()[buf + 84 >> 2] = tempI64[1]; + return 0 + }, + doMsync: function(addr, stream, len, flags, offset) { + var buffer = GROWABLE_HEAP_U8().slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags) + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0 + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28 + } + FS.mknod(path, mode, dev); + return 0 + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = GROWABLE_HEAP_I8()[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + GROWABLE_HEAP_I8()[buf + len] = endChar; + return len + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -28 + } + var node; + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node; + if (!node) { + return -44 + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2 + } + return 0 + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = GROWABLE_HEAP_I32()[iov + i * 8 >> 2]; + var len = GROWABLE_HEAP_I32()[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, GROWABLE_HEAP_I8(), ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break + } + return ret + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = GROWABLE_HEAP_I32()[iov + i * 8 >> 2]; + var len = GROWABLE_HEAP_I32()[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, GROWABLE_HEAP_I8(), ptr, len, offset); + if (curr < 0) return -1; + ret += curr + } + return ret + }, + varargs: undefined, + get: function() { + SYSCALLS.varargs += 4; + var ret = GROWABLE_HEAP_I32()[SYSCALLS.varargs - 4 >> 2]; + return ret + }, + getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret + }, + getStreamFromFD: function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream + }, + get64: function(low, high) { + return low + } + }; + Module["SYSCALLS"] = SYSCALLS; + + function syscallMmap2(addr, len, prot, flags, fd, off) { + off <<= 12; + var ptr; + var allocated = false; + if ((flags & 16) !== 0 && addr % 65536 !== 0) { + return -28 + } + if ((flags & 32) !== 0) { + ptr = mmapAlloc(len); + if (!ptr) return -48; + allocated = true + } else { + var info = FS.getStream(fd); + if (!info) return -8; + var res = FS.mmap(info, addr, len, off, prot, flags); + ptr = res.ptr; + allocated = res.allocated + } + SYSCALLS.mappings[ptr] = { + malloc: ptr, + len: len, + allocated: allocated, + fd: fd, + prot: prot, + flags: flags, + offset: off + }; + return ptr + } + Module["syscallMmap2"] = syscallMmap2; + + function ___sys_mmap2(addr, len, prot, flags, fd, off) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(3, 1, addr, len, prot, flags, fd, off); + try { + return syscallMmap2(addr, len, prot, flags, fd, off) + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } + } + Module["___sys_mmap2"] = ___sys_mmap2; + + function syscallMunmap(addr, len) { + var info = SYSCALLS.mappings[addr]; + if (len === 0 || !info) { + return -28 + } + if (len === info.len) { + var stream = FS.getStream(info.fd); + if (stream) { + if (info.prot & 2) { + SYSCALLS.doMsync(addr, stream, len, info.flags, info.offset) + } + FS.munmap(stream) + } + SYSCALLS.mappings[addr] = null; + if (info.allocated) { + _free(info.malloc) + } + } + return 0 + } + Module["syscallMunmap"] = syscallMunmap; + + function ___sys_munmap(addr, len) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(4, 1, addr, len); + try { + return syscallMunmap(addr, len) + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } + } + Module["___sys_munmap"] = ___sys_munmap; + + function ___sys_open(path, flags, varargs) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(5, 1, path, flags, varargs); + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(path); + var mode = varargs ? SYSCALLS.get() : 0; + var stream = FS.open(pathname, flags, mode); + return stream.fd + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } + } + Module["___sys_open"] = ___sys_open; + + function __dlopen_js(filename, flag) { + abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking") + } + Module["__dlopen_js"] = __dlopen_js; + + function __dlsym_js(handle, symbol) { + abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking") + } + Module["__dlsym_js"] = __dlsym_js; + + function __embind_register_bigint(primitiveType, name, size, minRange, maxRange) {} + Module["__embind_register_bigint"] = __embind_register_bigint; + + function getShiftFromSize(size) { + switch (size) { + case 1: + return 0; + case 2: + return 1; + case 4: + return 2; + case 8: + return 3; + default: + throw new TypeError("Unknown type size: " + size) + } + } + Module["getShiftFromSize"] = getShiftFromSize; + + function embind_init_charCodes() { + var codes = new Array(256); + for (var i = 0; i < 256; ++i) { + codes[i] = String.fromCharCode(i) + } + embind_charCodes = codes + } + Module["embind_init_charCodes"] = embind_init_charCodes; + var embind_charCodes = undefined; + Module["embind_charCodes"] = embind_charCodes; + + function readLatin1String(ptr) { + var ret = ""; + var c = ptr; + while (GROWABLE_HEAP_U8()[c]) { + ret += embind_charCodes[GROWABLE_HEAP_U8()[c++]] + } + return ret + } + Module["readLatin1String"] = readLatin1String; + var awaitingDependencies = {}; + Module["awaitingDependencies"] = awaitingDependencies; + var registeredTypes = {}; + Module["registeredTypes"] = registeredTypes; + var typeDependencies = {}; + Module["typeDependencies"] = typeDependencies; + var char_0 = 48; + Module["char_0"] = char_0; + var char_9 = 57; + Module["char_9"] = char_9; + + function makeLegalFunctionName(name) { + if (undefined === name) { + return "_unknown" + } + name = name.replace(/[^a-zA-Z0-9_]/g, "$"); + var f = name.charCodeAt(0); + if (f >= char_0 && f <= char_9) { + return "_" + name + } else { + return name + } + } + Module["makeLegalFunctionName"] = makeLegalFunctionName; + + function createNamedFunction(name, body) { + name = makeLegalFunctionName(name); + return new Function("body", "return function " + name + "() {\n" + ' "use strict";' + " return body.apply(this, arguments);\n" + "};\n")(body) + } + Module["createNamedFunction"] = createNamedFunction; + + function extendError(baseErrorType, errorName) { + var errorClass = createNamedFunction(errorName, function(message) { + this.name = errorName; + this.message = message; + var stack = new Error(message).stack; + if (stack !== undefined) { + this.stack = this.toString() + "\n" + stack.replace(/^Error(:[^\n]*)?\n/, "") + } + }); + errorClass.prototype = Object.create(baseErrorType.prototype); + errorClass.prototype.constructor = errorClass; + errorClass.prototype.toString = function() { + if (this.message === undefined) { + return this.name + } else { + return this.name + ": " + this.message + } + }; + return errorClass + } + Module["extendError"] = extendError; + var BindingError = undefined; + Module["BindingError"] = BindingError; + + function throwBindingError(message) { + throw new BindingError(message) + } + Module["throwBindingError"] = throwBindingError; + var InternalError = undefined; + Module["InternalError"] = InternalError; + + function throwInternalError(message) { + throw new InternalError(message) + } + Module["throwInternalError"] = throwInternalError; + + function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { + myTypes.forEach(function(type) { + typeDependencies[type] = dependentTypes + }); + + function onComplete(typeConverters) { + var myTypeConverters = getTypeConverters(typeConverters); + if (myTypeConverters.length !== myTypes.length) { + throwInternalError("Mismatched type converter count") + } + for (var i = 0; i < myTypes.length; ++i) { + registerType(myTypes[i], myTypeConverters[i]) + } + } + var typeConverters = new Array(dependentTypes.length); + var unregisteredTypes = []; + var registered = 0; + dependentTypes.forEach(function(dt, i) { + if (registeredTypes.hasOwnProperty(dt)) { + typeConverters[i] = registeredTypes[dt] + } else { + unregisteredTypes.push(dt); + if (!awaitingDependencies.hasOwnProperty(dt)) { + awaitingDependencies[dt] = [] + } + awaitingDependencies[dt].push(function() { + typeConverters[i] = registeredTypes[dt]; + ++registered; + if (registered === unregisteredTypes.length) { + onComplete(typeConverters) + } + }) + } + }); + if (0 === unregisteredTypes.length) { + onComplete(typeConverters) + } + } + Module["whenDependentTypesAreResolved"] = whenDependentTypesAreResolved; + + function registerType(rawType, registeredInstance, options) { + options = options || {}; + if (!("argPackAdvance" in registeredInstance)) { + throw new TypeError("registerType registeredInstance requires argPackAdvance") + } + var name = registeredInstance.name; + if (!rawType) { + throwBindingError('type "' + name + '" must have a positive integer typeid pointer') + } + if (registeredTypes.hasOwnProperty(rawType)) { + if (options.ignoreDuplicateRegistrations) { + return + } else { + throwBindingError("Cannot register type '" + name + "' twice") + } + } + registeredTypes[rawType] = registeredInstance; + delete typeDependencies[rawType]; + if (awaitingDependencies.hasOwnProperty(rawType)) { + var callbacks = awaitingDependencies[rawType]; + delete awaitingDependencies[rawType]; + callbacks.forEach(function(cb) { + cb() + }) + } + } + Module["registerType"] = registerType; + + function __embind_register_bool(rawType, name, size, trueValue, falseValue) { + var shift = getShiftFromSize(size); + name = readLatin1String(name); + registerType(rawType, { + name: name, + "fromWireType": function(wt) { + return !!wt + }, + "toWireType": function(destructors, o) { + return o ? trueValue : falseValue + }, + "argPackAdvance": 8, + "readValueFromPointer": function(pointer) { + var heap; + if (size === 1) { + heap = GROWABLE_HEAP_I8() + } else if (size === 2) { + heap = GROWABLE_HEAP_I16() + } else if (size === 4) { + heap = GROWABLE_HEAP_I32() + } else { + throw new TypeError("Unknown boolean type size: " + name) + } + return this["fromWireType"](heap[pointer >> shift]) + }, + destructorFunction: null + }) + } + Module["__embind_register_bool"] = __embind_register_bool; + var emval_free_list = []; + Module["emval_free_list"] = emval_free_list; + var emval_handle_array = [{}, { + value: undefined + }, { + value: null + }, { + value: true + }, { + value: false + }]; + Module["emval_handle_array"] = emval_handle_array; + + function __emval_decref(handle) { + if (handle > 4 && 0 === --emval_handle_array[handle].refcount) { + emval_handle_array[handle] = undefined; + emval_free_list.push(handle) + } + } + Module["__emval_decref"] = __emval_decref; + + function count_emval_handles() { + var count = 0; + for (var i = 5; i < emval_handle_array.length; ++i) { + if (emval_handle_array[i] !== undefined) { + ++count + } + } + return count + } + Module["count_emval_handles"] = count_emval_handles; + + function get_first_emval() { + for (var i = 5; i < emval_handle_array.length; ++i) { + if (emval_handle_array[i] !== undefined) { + return emval_handle_array[i] + } + } + return null + } + Module["get_first_emval"] = get_first_emval; + + function init_emval() { + Module["count_emval_handles"] = count_emval_handles; + Module["get_first_emval"] = get_first_emval + } + Module["init_emval"] = init_emval; + + function __emval_register(value) { + switch (value) { + case undefined: { + return 1 + } + case null: { + return 2 + } + case true: { + return 3 + } + case false: { + return 4 + } + default: { + var handle = emval_free_list.length ? emval_free_list.pop() : emval_handle_array.length; + emval_handle_array[handle] = { + refcount: 1, + value: value + }; + return handle + } + } + } + Module["__emval_register"] = __emval_register; + + function simpleReadValueFromPointer(pointer) { + return this["fromWireType"](GROWABLE_HEAP_U32()[pointer >> 2]) + } + Module["simpleReadValueFromPointer"] = simpleReadValueFromPointer; + + function __embind_register_emval(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { + name: name, + "fromWireType": function(handle) { + var rv = emval_handle_array[handle].value; + __emval_decref(handle); + return rv + }, + "toWireType": function(destructors, value) { + return __emval_register(value) + }, + "argPackAdvance": 8, + "readValueFromPointer": simpleReadValueFromPointer, + destructorFunction: null + }) + } + Module["__embind_register_emval"] = __embind_register_emval; + + function _embind_repr(v) { + if (v === null) { + return "null" + } + var t = typeof v; + if (t === "object" || t === "array" || t === "function") { + return v.toString() + } else { + return "" + v + } + } + Module["_embind_repr"] = _embind_repr; + + function floatReadValueFromPointer(name, shift) { + switch (shift) { + case 2: + return function(pointer) { + return this["fromWireType"](GROWABLE_HEAP_F32()[pointer >> 2]) + }; + case 3: + return function(pointer) { + return this["fromWireType"](GROWABLE_HEAP_F64()[pointer >> 3]) + }; + default: + throw new TypeError("Unknown float type: " + name) + } + } + Module["floatReadValueFromPointer"] = floatReadValueFromPointer; + + function __embind_register_float(rawType, name, size) { + var shift = getShiftFromSize(size); + name = readLatin1String(name); + registerType(rawType, { + name: name, + "fromWireType": function(value) { + return value + }, + "toWireType": function(destructors, value) { + if (typeof value !== "number" && typeof value !== "boolean") { + throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name) + } + return value + }, + "argPackAdvance": 8, + "readValueFromPointer": floatReadValueFromPointer(name, shift), + destructorFunction: null + }) + } + Module["__embind_register_float"] = __embind_register_float; + + function new_(constructor, argumentList) { + if (!(constructor instanceof Function)) { + throw new TypeError("new_ called with constructor type " + typeof constructor + " which is not a function") + } + var dummy = createNamedFunction(constructor.name || "unknownFunctionName", function() {}); + dummy.prototype = constructor.prototype; + var obj = new dummy; + var r = constructor.apply(obj, argumentList); + return r instanceof Object ? r : obj + } + Module["new_"] = new_; + + function runDestructors(destructors) { + while (destructors.length) { + var ptr = destructors.pop(); + var del = destructors.pop(); + del(ptr) + } + } + Module["runDestructors"] = runDestructors; + + function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc) { + var argCount = argTypes.length; + if (argCount < 2) { + throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!") + } + var isClassMethodFunc = argTypes[1] !== null && classType !== null; + var needsDestructorStack = false; + for (var i = 1; i < argTypes.length; ++i) { + if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { + needsDestructorStack = true; + break + } + } + var returns = argTypes[0].name !== "void"; + var argsList = ""; + var argsListWired = ""; + for (var i = 0; i < argCount - 2; ++i) { + argsList += (i !== 0 ? ", " : "") + "arg" + i; + argsListWired += (i !== 0 ? ", " : "") + "arg" + i + "Wired" + } + var invokerFnBody = "return function " + makeLegalFunctionName(humanName) + "(" + argsList + ") {\n" + "if (arguments.length !== " + (argCount - 2) + ") {\n" + "throwBindingError('function " + humanName + " called with ' + arguments.length + ' arguments, expected " + (argCount - 2) + " args!');\n" + "}\n"; + if (needsDestructorStack) { + invokerFnBody += "var destructors = [];\n" + } + var dtorStack = needsDestructorStack ? "destructors" : "null"; + var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"]; + var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]]; + if (isClassMethodFunc) { + invokerFnBody += "var thisWired = classParam.toWireType(" + dtorStack + ", this);\n" + } + for (var i = 0; i < argCount - 2; ++i) { + invokerFnBody += "var arg" + i + "Wired = argType" + i + ".toWireType(" + dtorStack + ", arg" + i + "); // " + argTypes[i + 2].name + "\n"; + args1.push("argType" + i); + args2.push(argTypes[i + 2]) + } + if (isClassMethodFunc) { + argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired + } + invokerFnBody += (returns ? "var rv = " : "") + "invoker(fn" + (argsListWired.length > 0 ? ", " : "") + argsListWired + ");\n"; + if (needsDestructorStack) { + invokerFnBody += "runDestructors(destructors);\n" + } else { + for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; ++i) { + var paramName = i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired"; + if (argTypes[i].destructorFunction !== null) { + invokerFnBody += paramName + "_dtor(" + paramName + "); // " + argTypes[i].name + "\n"; + args1.push(paramName + "_dtor"); + args2.push(argTypes[i].destructorFunction) + } + } + } + if (returns) { + invokerFnBody += "var ret = retType.fromWireType(rv);\n" + "return ret;\n" + } else {} + invokerFnBody += "}\n"; + args1.push(invokerFnBody); + var invokerFunction = new_(Function, args1).apply(null, args2); + return invokerFunction + } + Module["craftInvokerFunction"] = craftInvokerFunction; + + function ensureOverloadTable(proto, methodName, humanName) { + if (undefined === proto[methodName].overloadTable) { + var prevFunc = proto[methodName]; + proto[methodName] = function() { + if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { + throwBindingError("Function '" + humanName + "' called with an invalid number of arguments (" + arguments.length + ") - expects one of (" + proto[methodName].overloadTable + ")!") + } + return proto[methodName].overloadTable[arguments.length].apply(this, arguments) + }; + proto[methodName].overloadTable = []; + proto[methodName].overloadTable[prevFunc.argCount] = prevFunc + } + } + Module["ensureOverloadTable"] = ensureOverloadTable; + + function exposePublicSymbol(name, value, numArguments) { + if (Module.hasOwnProperty(name)) { + if (undefined === numArguments || undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments]) { + throwBindingError("Cannot register public name '" + name + "' twice") + } + ensureOverloadTable(Module, name, name); + if (Module.hasOwnProperty(numArguments)) { + throwBindingError("Cannot register multiple overloads of a function with the same number of arguments (" + numArguments + ")!") + } + Module[name].overloadTable[numArguments] = value + } else { + Module[name] = value; + if (undefined !== numArguments) { + Module[name].numArguments = numArguments + } + } + } + Module["exposePublicSymbol"] = exposePublicSymbol; + + function heap32VectorToArray(count, firstElement) { + var array = []; + for (var i = 0; i < count; i++) { + array.push(GROWABLE_HEAP_I32()[(firstElement >> 2) + i]) + } + return array + } + Module["heap32VectorToArray"] = heap32VectorToArray; + + function replacePublicSymbol(name, value, numArguments) { + if (!Module.hasOwnProperty(name)) { + throwInternalError("Replacing nonexistant public symbol") + } + if (undefined !== Module[name].overloadTable && undefined !== numArguments) { + Module[name].overloadTable[numArguments] = value + } else { + Module[name] = value; + Module[name].argCount = numArguments + } + } + Module["replacePublicSymbol"] = replacePublicSymbol; + + function dynCallLegacy(sig, ptr, args) { + var f = Module["dynCall_" + sig]; + return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr) + } + Module["dynCallLegacy"] = dynCallLegacy; + + function dynCall(sig, ptr, args) { + if (sig.includes("j")) { + return dynCallLegacy(sig, ptr, args) + } + return wasmTable.get(ptr).apply(null, args) + } + Module["dynCall"] = dynCall; + + function getDynCaller(sig, ptr) { + var argCache = []; + return function() { + argCache.length = arguments.length; + for (var i = 0; i < arguments.length; i++) { + argCache[i] = arguments[i] + } + return dynCall(sig, ptr, argCache) + } + } + Module["getDynCaller"] = getDynCaller; + + function embind__requireFunction(signature, rawFunction) { + signature = readLatin1String(signature); + + function makeDynCaller() { + if (signature.includes("j")) { + return getDynCaller(signature, rawFunction) + } + return wasmTable.get(rawFunction) + } + var fp = makeDynCaller(); + if (typeof fp !== "function") { + throwBindingError("unknown function pointer with signature " + signature + ": " + rawFunction) + } + return fp + } + Module["embind__requireFunction"] = embind__requireFunction; + var UnboundTypeError = undefined; + Module["UnboundTypeError"] = UnboundTypeError; + + function getTypeName(type) { + var ptr = ___getTypeName(type); + var rv = readLatin1String(ptr); + _free(ptr); + return rv + } + Module["getTypeName"] = getTypeName; + + function throwUnboundTypeError(message, types) { + var unboundTypes = []; + var seen = {}; + + function visit(type) { + if (seen[type]) { + return + } + if (registeredTypes[type]) { + return + } + if (typeDependencies[type]) { + typeDependencies[type].forEach(visit); + return + } + unboundTypes.push(type); + seen[type] = true + } + types.forEach(visit); + throw new UnboundTypeError(message + ": " + unboundTypes.map(getTypeName).join([", "])) + } + Module["throwUnboundTypeError"] = throwUnboundTypeError; + + function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn) { + var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + name = readLatin1String(name); + rawInvoker = embind__requireFunction(signature, rawInvoker); + exposePublicSymbol(name, function() { + throwUnboundTypeError("Cannot call " + name + " due to unbound types", argTypes) + }, argCount - 1); + whenDependentTypesAreResolved([], argTypes, function(argTypes) { + var invokerArgsArray = [argTypes[0], null].concat(argTypes.slice(1)); + replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null, rawInvoker, fn), argCount - 1); + return [] + }) + } + Module["__embind_register_function"] = __embind_register_function; + + function integerReadValueFromPointer(name, shift, signed) { + switch (shift) { + case 0: + return signed ? function readS8FromPointer(pointer) { + return GROWABLE_HEAP_I8()[pointer] + } : function readU8FromPointer(pointer) { + return GROWABLE_HEAP_U8()[pointer] + }; + case 1: + return signed ? function readS16FromPointer(pointer) { + return GROWABLE_HEAP_I16()[pointer >> 1] + } : function readU16FromPointer(pointer) { + return GROWABLE_HEAP_U16()[pointer >> 1] + }; + case 2: + return signed ? function readS32FromPointer(pointer) { + return GROWABLE_HEAP_I32()[pointer >> 2] + } : function readU32FromPointer(pointer) { + return GROWABLE_HEAP_U32()[pointer >> 2] + }; + default: + throw new TypeError("Unknown integer type: " + name) + } + } + Module["integerReadValueFromPointer"] = integerReadValueFromPointer; + + function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { + name = readLatin1String(name); + if (maxRange === -1) { + maxRange = 4294967295 + } + var shift = getShiftFromSize(size); + var fromWireType = function(value) { + return value + }; + if (minRange === 0) { + var bitshift = 32 - 8 * size; + fromWireType = function(value) { + return value << bitshift >>> bitshift + } + } + var isUnsignedType = name.includes("unsigned"); + registerType(primitiveType, { + name: name, + "fromWireType": fromWireType, + "toWireType": function(destructors, value) { + if (typeof value !== "number" && typeof value !== "boolean") { + throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name) + } + if (value < minRange || value > maxRange) { + throw new TypeError('Passing a number "' + _embind_repr(value) + '" from JS side to C/C++ side to an argument of type "' + name + '", which is outside the valid range [' + minRange + ", " + maxRange + "]!") + } + return isUnsignedType ? value >>> 0 : value | 0 + }, + "argPackAdvance": 8, + "readValueFromPointer": integerReadValueFromPointer(name, shift, minRange !== 0), + destructorFunction: null + }) + } + Module["__embind_register_integer"] = __embind_register_integer; + + function __embind_register_memory_view(rawType, dataTypeIndex, name) { + var typeMapping = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; + var TA = typeMapping[dataTypeIndex]; + + function decodeMemoryView(handle) { + handle = handle >> 2; + var heap = GROWABLE_HEAP_U32(); + var size = heap[handle]; + var data = heap[handle + 1]; + return new TA(buffer, data, size) + } + name = readLatin1String(name); + registerType(rawType, { + name: name, + "fromWireType": decodeMemoryView, + "argPackAdvance": 8, + "readValueFromPointer": decodeMemoryView + }, { + ignoreDuplicateRegistrations: true + }) + } + Module["__embind_register_memory_view"] = __embind_register_memory_view; + + function __embind_register_std_string(rawType, name) { + name = readLatin1String(name); + var stdStringIsUTF8 = name === "std::string"; + registerType(rawType, { + name: name, + "fromWireType": function(value) { + var length = GROWABLE_HEAP_U32()[value >> 2]; + var str; + if (stdStringIsUTF8) { + var decodeStartPtr = value + 4; + for (var i = 0; i <= length; ++i) { + var currentBytePtr = value + 4 + i; + if (i == length || GROWABLE_HEAP_U8()[currentBytePtr] == 0) { + var maxRead = currentBytePtr - decodeStartPtr; + var stringSegment = UTF8ToString(decodeStartPtr, maxRead); + if (str === undefined) { + str = stringSegment + } else { + str += String.fromCharCode(0); + str += stringSegment + } + decodeStartPtr = currentBytePtr + 1 + } + } + } else { + var a = new Array(length); + for (var i = 0; i < length; ++i) { + a[i] = String.fromCharCode(GROWABLE_HEAP_U8()[value + 4 + i]) + } + str = a.join("") + } + _free(value); + return str + }, + "toWireType": function(destructors, value) { + if (value instanceof ArrayBuffer) { + value = new Uint8Array(value) + } + var getLength; + var valueIsOfTypeString = typeof value === "string"; + if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) { + throwBindingError("Cannot pass non-string to std::string") + } + if (stdStringIsUTF8 && valueIsOfTypeString) { + getLength = function() { + return lengthBytesUTF8(value) + } + } else { + getLength = function() { + return value.length + } + } + var length = getLength(); + var ptr = _malloc(4 + length + 1); + GROWABLE_HEAP_U32()[ptr >> 2] = length; + if (stdStringIsUTF8 && valueIsOfTypeString) { + stringToUTF8(value, ptr + 4, length + 1) + } else { + if (valueIsOfTypeString) { + for (var i = 0; i < length; ++i) { + var charCode = value.charCodeAt(i); + if (charCode > 255) { + _free(ptr); + throwBindingError("String has UTF-16 code units that do not fit in 8 bits") + } + GROWABLE_HEAP_U8()[ptr + 4 + i] = charCode + } + } else { + for (var i = 0; i < length; ++i) { + GROWABLE_HEAP_U8()[ptr + 4 + i] = value[i] + } + } + } + if (destructors !== null) { + destructors.push(_free, ptr) + } + return ptr + }, + "argPackAdvance": 8, + "readValueFromPointer": simpleReadValueFromPointer, + destructorFunction: function(ptr) { + _free(ptr) + } + }) + } + Module["__embind_register_std_string"] = __embind_register_std_string; + + function __embind_register_std_wstring(rawType, charSize, name) { + name = readLatin1String(name); + var decodeString, encodeString, getHeap, lengthBytesUTF, shift; + if (charSize === 2) { + decodeString = UTF16ToString; + encodeString = stringToUTF16; + lengthBytesUTF = lengthBytesUTF16; + getHeap = function() { + return GROWABLE_HEAP_U16() + }; + shift = 1 + } else if (charSize === 4) { + decodeString = UTF32ToString; + encodeString = stringToUTF32; + lengthBytesUTF = lengthBytesUTF32; + getHeap = function() { + return GROWABLE_HEAP_U32() + }; + shift = 2 + } + registerType(rawType, { + name: name, + "fromWireType": function(value) { + var length = GROWABLE_HEAP_U32()[value >> 2]; + var HEAP = getHeap(); + var str; + var decodeStartPtr = value + 4; + for (var i = 0; i <= length; ++i) { + var currentBytePtr = value + 4 + i * charSize; + if (i == length || HEAP[currentBytePtr >> shift] == 0) { + var maxReadBytes = currentBytePtr - decodeStartPtr; + var stringSegment = decodeString(decodeStartPtr, maxReadBytes); + if (str === undefined) { + str = stringSegment + } else { + str += String.fromCharCode(0); + str += stringSegment + } + decodeStartPtr = currentBytePtr + charSize + } + } + _free(value); + return str + }, + "toWireType": function(destructors, value) { + if (!(typeof value === "string")) { + throwBindingError("Cannot pass non-string to C++ string type " + name) + } + var length = lengthBytesUTF(value); + var ptr = _malloc(4 + length + charSize); + GROWABLE_HEAP_U32()[ptr >> 2] = length >> shift; + encodeString(value, ptr + 4, length + charSize); + if (destructors !== null) { + destructors.push(_free, ptr) + } + return ptr + }, + "argPackAdvance": 8, + "readValueFromPointer": simpleReadValueFromPointer, + destructorFunction: function(ptr) { + _free(ptr) + } + }) + } + Module["__embind_register_std_wstring"] = __embind_register_std_wstring; + + function __embind_register_void(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { + isVoid: true, + name: name, + "argPackAdvance": 0, + "fromWireType": function() { + return undefined + }, + "toWireType": function(destructors, o) { + return undefined + } + }) + } + Module["__embind_register_void"] = __embind_register_void; + + function __emscripten_fetch_free(id) { + delete Fetch.xhrs[id - 1] + } + Module["__emscripten_fetch_free"] = __emscripten_fetch_free; + + function __emscripten_notify_thread_queue(targetThreadId, mainThreadId) { + if (targetThreadId == mainThreadId) { + postMessage({ + "cmd": "processQueuedMainThreadWork" + }) + } else if (ENVIRONMENT_IS_PTHREAD) { + postMessage({ + "targetThread": targetThreadId, + "cmd": "processThreadQueue" + }) + } else { + var pthread = PThread.pthreads[targetThreadId]; + var worker = pthread && pthread.worker; + if (!worker) { + return + } + worker.postMessage({ + "cmd": "processThreadQueue" + }) + } + return 1 + } + Module["__emscripten_notify_thread_queue"] = __emscripten_notify_thread_queue; + + function _abort() { + abort("") + } + Module["_abort"] = _abort; + var readAsmConstArgsArray = []; + Module["readAsmConstArgsArray"] = readAsmConstArgsArray; + + function readAsmConstArgs(sigPtr, buf) { + readAsmConstArgsArray.length = 0; + var ch; + buf >>= 2; + while (ch = GROWABLE_HEAP_U8()[sigPtr++]) { + var readAsmConstArgsDouble = ch < 105; + if (readAsmConstArgsDouble && buf & 1) buf++; + readAsmConstArgsArray.push(readAsmConstArgsDouble ? GROWABLE_HEAP_F64()[buf++ >> 1] : GROWABLE_HEAP_I32()[buf]); + ++buf + } + return readAsmConstArgsArray + } + Module["readAsmConstArgs"] = readAsmConstArgs; + + function _emscripten_asm_const_int(code, sigPtr, argbuf) { + var args = readAsmConstArgs(sigPtr, argbuf); + return ASM_CONSTS[code].apply(null, args) + } + Module["_emscripten_asm_const_int"] = _emscripten_asm_const_int; + + function _emscripten_conditional_set_current_thread_status_js(expectedStatus, newStatus) {} + Module["_emscripten_conditional_set_current_thread_status_js"] = _emscripten_conditional_set_current_thread_status_js; + + function _emscripten_conditional_set_current_thread_status(expectedStatus, newStatus) {} + Module["_emscripten_conditional_set_current_thread_status"] = _emscripten_conditional_set_current_thread_status; + + function _emscripten_get_heap_max() { + return 2147483648 + } + Module["_emscripten_get_heap_max"] = _emscripten_get_heap_max; + + function _emscripten_memcpy_big(dest, src, num) { + GROWABLE_HEAP_U8().copyWithin(dest, src, src + num) + } + Module["_emscripten_memcpy_big"] = _emscripten_memcpy_big; + + function _emscripten_num_logical_cores() { + if (ENVIRONMENT_IS_NODE) return require("os").cpus().length; + return navigator["hardwareConcurrency"] + } + Module["_emscripten_num_logical_cores"] = _emscripten_num_logical_cores; + + function _emscripten_proxy_to_main_thread_js(index, sync) { + var numCallArgs = arguments.length - 2; + var stack = stackSave(); + var serializedNumCallArgs = numCallArgs; + var args = stackAlloc(serializedNumCallArgs * 8); + var b = args >> 3; + for (var i = 0; i < numCallArgs; i++) { + var arg = arguments[2 + i]; + GROWABLE_HEAP_F64()[b + i] = arg + } + var ret = _emscripten_run_in_main_runtime_thread_js(index, serializedNumCallArgs, args, sync); + stackRestore(stack); + return ret + } + Module["_emscripten_proxy_to_main_thread_js"] = _emscripten_proxy_to_main_thread_js; + var _emscripten_receive_on_main_thread_js_callArgs = []; + Module["_emscripten_receive_on_main_thread_js_callArgs"] = _emscripten_receive_on_main_thread_js_callArgs; + + function _emscripten_receive_on_main_thread_js(index, numCallArgs, args) { + _emscripten_receive_on_main_thread_js_callArgs.length = numCallArgs; + var b = args >> 3; + for (var i = 0; i < numCallArgs; i++) { + _emscripten_receive_on_main_thread_js_callArgs[i] = GROWABLE_HEAP_F64()[b + i] + } + var isEmAsmConst = index < 0; + var func = !isEmAsmConst ? proxiedFunctionTable[index] : ASM_CONSTS[-index - 1]; + return func.apply(null, _emscripten_receive_on_main_thread_js_callArgs) + } + Module["_emscripten_receive_on_main_thread_js"] = _emscripten_receive_on_main_thread_js; + + function emscripten_realloc_buffer(size) { + try { + wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16); + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1 + } catch (e) {} + } + Module["emscripten_realloc_buffer"] = emscripten_realloc_buffer; + + function _emscripten_resize_heap(requestedSize) { + var oldSize = GROWABLE_HEAP_U8().length; + requestedSize = requestedSize >>> 0; + if (requestedSize <= oldSize) { + return false + } + var maxHeapSize = 2147483648; + if (requestedSize > maxHeapSize) { + return false + } + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + .2 / cutDown); + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true + } + } + return false + } + Module["_emscripten_resize_heap"] = _emscripten_resize_heap; + var JSEvents = { + inEventHandler: 0, + removeAllEventListeners: function() { + for (var i = JSEvents.eventHandlers.length - 1; i >= 0; --i) { + JSEvents._removeHandler(i) + } + JSEvents.eventHandlers = []; + JSEvents.deferredCalls = [] + }, + registerRemoveEventListeners: function() { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(JSEvents.removeAllEventListeners); + JSEvents.removeEventListenersRegistered = true + } + }, + deferredCalls: [], + deferCall: function(targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + for (var i in arrA) { + if (arrA[i] != arrB[i]) return false + } + return true + } + for (var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + JSEvents.deferredCalls.sort(function(x, y) { + return x.precedence < y.precedence + }) + }, + removeDeferredCalls: function(targetFunction) { + for (var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i + } + } + }, + canPerformEventHandlerRequests: function() { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls + }, + runDeferredCalls: function() { + if (!JSEvents.canPerformEventHandlerRequests()) { + return + } + for (var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(null, call.argsList) + } + }, + eventHandlers: [], + removeAllHandlersOnTarget: function(target, eventTypeString) { + for (var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--) + } + } + }, + _removeHandler: function(i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1) + }, + registerOrRemoveHandler: function(eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + JSEvents.runDeferredCalls(); + eventHandler.handlerFunc(event); + JSEvents.runDeferredCalls(); + --JSEvents.inEventHandler + }; + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners() + } else { + for (var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--) + } + } + } + }, + queueEventHandlerOnThread_iiii: function(targetThread, eventHandlerFunc, eventTypeId, eventData, userData) { + var stackTop = stackSave(); + var varargs = stackAlloc(12); + GROWABLE_HEAP_I32()[varargs >> 2] = eventTypeId; + GROWABLE_HEAP_I32()[varargs + 4 >> 2] = eventData; + GROWABLE_HEAP_I32()[varargs + 8 >> 2] = userData; + __emscripten_call_on_thread(0, targetThread, 637534208, eventHandlerFunc, eventData, varargs); + stackRestore(stackTop) + }, + getTargetThreadForEventCallback: function(targetThread) { + switch (targetThread) { + case 1: + return 0; + case 2: + return PThread.currentProxiedOperationCallerThread; + default: + return targetThread + } + }, + getNodeNameForTarget: function(target) { + if (!target) return ""; + if (target == window) return "#window"; + if (target == screen) return "#screen"; + return target && target.nodeName ? target.nodeName : "" + }, + fullscreenEnabled: function() { + return document.fullscreenEnabled || document.webkitFullscreenEnabled + } + }; + Module["JSEvents"] = JSEvents; + + function stringToNewUTF8(jsString) { + var length = lengthBytesUTF8(jsString) + 1; + var cString = _malloc(length); + stringToUTF8(jsString, cString, length); + return cString + } + Module["stringToNewUTF8"] = stringToNewUTF8; + + function _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread, targetCanvas, width, height) { + var stackTop = stackSave(); + var varargs = stackAlloc(12); + var targetCanvasPtr = 0; + if (targetCanvas) { + targetCanvasPtr = stringToNewUTF8(targetCanvas) + } + GROWABLE_HEAP_I32()[varargs >> 2] = targetCanvasPtr; + GROWABLE_HEAP_I32()[varargs + 4 >> 2] = width; + GROWABLE_HEAP_I32()[varargs + 8 >> 2] = height; + __emscripten_call_on_thread(0, targetThread, 657457152, 0, targetCanvasPtr, varargs); + stackRestore(stackTop) + } + Module["_emscripten_set_offscreencanvas_size_on_target_thread_js"] = _emscripten_set_offscreencanvas_size_on_target_thread_js; + + function _emscripten_set_offscreencanvas_size_on_target_thread(targetThread, targetCanvas, width, height) { + targetCanvas = targetCanvas ? UTF8ToString(targetCanvas) : ""; + _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread, targetCanvas, width, height) + } + Module["_emscripten_set_offscreencanvas_size_on_target_thread"] = _emscripten_set_offscreencanvas_size_on_target_thread; + + function maybeCStringToJsString(cString) { + return cString > 2 ? UTF8ToString(cString) : cString + } + Module["maybeCStringToJsString"] = maybeCStringToJsString; + var specialHTMLTargets = [0, typeof document !== "undefined" ? document : 0, typeof window !== "undefined" ? window : 0]; + Module["specialHTMLTargets"] = specialHTMLTargets; + + function findEventTarget(target) { + target = maybeCStringToJsString(target); + var domElement = specialHTMLTargets[target] || (typeof document !== "undefined" ? document.querySelector(target) : undefined); + return domElement + } + Module["findEventTarget"] = findEventTarget; + + function findCanvasEventTarget(target) { + return findEventTarget(target) + } + Module["findCanvasEventTarget"] = findCanvasEventTarget; + + function _emscripten_set_canvas_element_size_calling_thread(target, width, height) { + var canvas = findCanvasEventTarget(target); + if (!canvas) return -4; + if (canvas.canvasSharedPtr) { + GROWABLE_HEAP_I32()[canvas.canvasSharedPtr >> 2] = width; + GROWABLE_HEAP_I32()[canvas.canvasSharedPtr + 4 >> 2] = height + } + if (canvas.offscreenCanvas || !canvas.controlTransferredOffscreen) { + if (canvas.offscreenCanvas) canvas = canvas.offscreenCanvas; + var autoResizeViewport = false; + if (canvas.GLctxObject && canvas.GLctxObject.GLctx) { + var prevViewport = canvas.GLctxObject.GLctx.getParameter(2978); + autoResizeViewport = prevViewport[0] === 0 && prevViewport[1] === 0 && prevViewport[2] === canvas.width && prevViewport[3] === canvas.height + } + canvas.width = width; + canvas.height = height; + if (autoResizeViewport) { + canvas.GLctxObject.GLctx.viewport(0, 0, width, height) + } + } else if (canvas.canvasSharedPtr) { + var targetThread = GROWABLE_HEAP_I32()[canvas.canvasSharedPtr + 8 >> 2]; + _emscripten_set_offscreencanvas_size_on_target_thread(targetThread, target, width, height); + return 1 + } else { + return -4 + } + return 0 + } + Module["_emscripten_set_canvas_element_size_calling_thread"] = _emscripten_set_canvas_element_size_calling_thread; + + function _emscripten_set_canvas_element_size_main_thread(target, width, height) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(6, 1, target, width, height); + return _emscripten_set_canvas_element_size_calling_thread(target, width, height) + } + Module["_emscripten_set_canvas_element_size_main_thread"] = _emscripten_set_canvas_element_size_main_thread; + + function _emscripten_set_canvas_element_size(target, width, height) { + var canvas = findCanvasEventTarget(target); + if (canvas) { + return _emscripten_set_canvas_element_size_calling_thread(target, width, height) + } else { + return _emscripten_set_canvas_element_size_main_thread(target, width, height) + } + } + Module["_emscripten_set_canvas_element_size"] = _emscripten_set_canvas_element_size; + + function _emscripten_set_current_thread_status_js(newStatus) {} + Module["_emscripten_set_current_thread_status_js"] = _emscripten_set_current_thread_status_js; + + function _emscripten_set_current_thread_status(newStatus) {} + Module["_emscripten_set_current_thread_status"] = _emscripten_set_current_thread_status; + + function maybeExit() { + if (!keepRuntimeAlive()) { + try { + if (ENVIRONMENT_IS_PTHREAD) __emscripten_thread_exit(EXITSTATUS); + else _exit(EXITSTATUS) + } catch (e) { + handleException(e) + } + } + } + Module["maybeExit"] = maybeExit; + + function callUserCallback(func, synchronous) { + if (ABORT) { + return + } + if (synchronous) { + func(); + return + } + try { + func(); + if (ENVIRONMENT_IS_PTHREAD) maybeExit() + } catch (e) { + handleException(e) + } + } + Module["callUserCallback"] = callUserCallback; + + function runtimeKeepalivePush() { + runtimeKeepaliveCounter += 1 + } + Module["runtimeKeepalivePush"] = runtimeKeepalivePush; + + function runtimeKeepalivePop() { + runtimeKeepaliveCounter -= 1 + } + Module["runtimeKeepalivePop"] = runtimeKeepalivePop; + + function _emscripten_set_timeout(cb, msecs, userData) { + runtimeKeepalivePush(); + return setTimeout(function() { + runtimeKeepalivePop(); + callUserCallback(function() { + wasmTable.get(cb)(userData) + }) + }, msecs) + } + Module["_emscripten_set_timeout"] = _emscripten_set_timeout; + + function _emscripten_generate_pc(frame) { + abort("Cannot use emscripten_generate_pc (needed by __builtin_return_address) without -s USE_OFFSET_CONVERTER") + } + Module["_emscripten_generate_pc"] = _emscripten_generate_pc; + var UNWIND_CACHE = {}; + Module["UNWIND_CACHE"] = UNWIND_CACHE; + + function __emscripten_save_in_unwind_cache(callstack) { + callstack.forEach(function(frame) { + var pc = _emscripten_generate_pc(frame); + if (pc) { + UNWIND_CACHE[pc] = frame + } + }) + } + Module["__emscripten_save_in_unwind_cache"] = __emscripten_save_in_unwind_cache; + + function _emscripten_stack_snapshot() { + var callstack = (new Error).stack.split("\n"); + if (callstack[0] == "Error") { + callstack.shift() + } + __emscripten_save_in_unwind_cache(callstack); + UNWIND_CACHE.last_addr = _emscripten_generate_pc(callstack[2]); + UNWIND_CACHE.last_stack = callstack; + return UNWIND_CACHE.last_addr + } + Module["_emscripten_stack_snapshot"] = _emscripten_stack_snapshot; + + function _emscripten_stack_unwind_buffer(addr, buffer, count) { + var stack; + if (UNWIND_CACHE.last_addr == addr) { + stack = UNWIND_CACHE.last_stack + } else { + stack = (new Error).stack.split("\n"); + if (stack[0] == "Error") { + stack.shift() + } + __emscripten_save_in_unwind_cache(stack) + } + var offset = 2; + while (stack[offset] && _emscripten_generate_pc(stack[offset]) != addr) { + ++offset + } + for (var i = 0; i < count && stack[i + offset]; ++i) { + GROWABLE_HEAP_I32()[buffer + i * 4 >> 2] = _emscripten_generate_pc(stack[i + offset]) + } + return i + } + Module["_emscripten_stack_unwind_buffer"] = _emscripten_stack_unwind_buffer; + var Fetch = { + xhrs: [], + setu64: function(addr, val) { + GROWABLE_HEAP_U32()[addr >> 2] = val; + GROWABLE_HEAP_U32()[addr + 4 >> 2] = val / 4294967296 | 0 + }, + openDatabase: function(dbname, dbversion, onsuccess, onerror) { + try { + var openRequest = indexedDB.open(dbname, dbversion) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function(event) { + var db = event.target.result; + if (db.objectStoreNames.contains("FILES")) { + db.deleteObjectStore("FILES") + } + db.createObjectStore("FILES") + }; + openRequest.onsuccess = function(event) { + onsuccess(event.target.result) + }; + openRequest.onerror = function(error) { + onerror(error) + } + }, + staticInit: function() { + var isMainThread = true; + var onsuccess = function(db) { + Fetch.dbInstance = db; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + var onerror = function() { + Fetch.dbInstance = false; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + Fetch.openDatabase("emscripten_filesystem", 1, onsuccess, onerror); + if (typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined" || !ENVIRONMENT_IS_FETCH_WORKER) addRunDependency("library_fetch_init") + } + }; + Module["Fetch"] = Fetch; + + function fetchXHR(fetch, onsuccess, onerror, onprogress, onreadystatechange) { + var url = GROWABLE_HEAP_U32()[fetch + 8 >> 2]; + if (!url) { + onerror(fetch, 0, "no url specified!"); + return + } + var url_ = UTF8ToString(url); + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + if (!requestMethod) requestMethod = "GET"; + var userData = GROWABLE_HEAP_U32()[fetch + 4 >> 2]; + var fetchAttributes = GROWABLE_HEAP_U32()[fetch_attr + 52 >> 2]; + var timeoutMsecs = GROWABLE_HEAP_U32()[fetch_attr + 56 >> 2]; + var withCredentials = !!GROWABLE_HEAP_U32()[fetch_attr + 60 >> 2]; + var destinationPath = GROWABLE_HEAP_U32()[fetch_attr + 64 >> 2]; + var userName = GROWABLE_HEAP_U32()[fetch_attr + 68 >> 2]; + var password = GROWABLE_HEAP_U32()[fetch_attr + 72 >> 2]; + var requestHeaders = GROWABLE_HEAP_U32()[fetch_attr + 76 >> 2]; + var overriddenMimeType = GROWABLE_HEAP_U32()[fetch_attr + 80 >> 2]; + var dataPtr = GROWABLE_HEAP_U32()[fetch_attr + 84 >> 2]; + var dataLength = GROWABLE_HEAP_U32()[fetch_attr + 88 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrSynchronous = !!(fetchAttributes & 64); + var userNameStr = userName ? UTF8ToString(userName) : undefined; + var passwordStr = password ? UTF8ToString(password) : undefined; + var overriddenMimeTypeStr = overriddenMimeType ? UTF8ToString(overriddenMimeType) : undefined; + var xhr = new XMLHttpRequest; + xhr.withCredentials = withCredentials; + xhr.open(requestMethod, url_, !fetchAttrSynchronous, userNameStr, passwordStr); + if (!fetchAttrSynchronous) xhr.timeout = timeoutMsecs; + xhr.url_ = url_; + xhr.responseType = "arraybuffer"; + if (overriddenMimeType) { + xhr.overrideMimeType(overriddenMimeTypeStr) + } + if (requestHeaders) { + for (;;) { + var key = GROWABLE_HEAP_U32()[requestHeaders >> 2]; + if (!key) break; + var value = GROWABLE_HEAP_U32()[requestHeaders + 4 >> 2]; + if (!value) break; + requestHeaders += 8; + var keyStr = UTF8ToString(key); + var valueStr = UTF8ToString(value); + xhr.setRequestHeader(keyStr, valueStr) + } + } + Fetch.xhrs.push(xhr); + var id = Fetch.xhrs.length; + GROWABLE_HEAP_U32()[fetch + 0 >> 2] = id; + var data = dataPtr && dataLength ? GROWABLE_HEAP_U8().slice(dataPtr, dataPtr + dataLength) : null; + + function saveResponse(condition) { + var ptr = 0; + var ptrLen = 0; + if (condition) { + ptrLen = xhr.response ? xhr.response.byteLength : 0; + ptr = _malloc(ptrLen); + GROWABLE_HEAP_U8().set(new Uint8Array(xhr.response), ptr) + } + GROWABLE_HEAP_U32()[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen) + } + xhr.onload = function(e) { + saveResponse(fetchAttrLoadToMemory && !fetchAttrStreamData); + var len = xhr.response ? xhr.response.byteLength : 0; + Fetch.setu64(fetch + 24, 0); + if (len) { + Fetch.setu64(fetch + 32, len) + } + GROWABLE_HEAP_U16()[fetch + 40 >> 1] = xhr.readyState; + GROWABLE_HEAP_U16()[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (xhr.status >= 200 && xhr.status < 300) { + if (onsuccess) onsuccess(fetch, xhr, e) + } else { + if (onerror) onerror(fetch, xhr, e) + } + }; + xhr.onerror = function(e) { + saveResponse(fetchAttrLoadToMemory); + var status = xhr.status; + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, xhr.response ? xhr.response.byteLength : 0); + GROWABLE_HEAP_U16()[fetch + 40 >> 1] = xhr.readyState; + GROWABLE_HEAP_U16()[fetch + 42 >> 1] = status; + if (onerror) onerror(fetch, xhr, e) + }; + xhr.ontimeout = function(e) { + if (onerror) onerror(fetch, xhr, e) + }; + xhr.onprogress = function(e) { + var ptrLen = fetchAttrLoadToMemory && fetchAttrStreamData && xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + if (fetchAttrLoadToMemory && fetchAttrStreamData) { + ptr = _malloc(ptrLen); + GROWABLE_HEAP_U8().set(new Uint8Array(xhr.response), ptr) + } + GROWABLE_HEAP_U32()[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, e.loaded - ptrLen); + Fetch.setu64(fetch + 32, e.total); + GROWABLE_HEAP_U16()[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 3 && xhr.status === 0 && e.loaded > 0) xhr.status = 200; + GROWABLE_HEAP_U16()[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (onprogress) onprogress(fetch, xhr, e); + if (ptr) { + _free(ptr) + } + }; + xhr.onreadystatechange = function(e) { + GROWABLE_HEAP_U16()[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 2) { + GROWABLE_HEAP_U16()[fetch + 42 >> 1] = xhr.status + } + if (onreadystatechange) onreadystatechange(fetch, xhr, e) + }; + try { + xhr.send(data) + } catch (e) { + if (onerror) onerror(fetch, xhr, e) + } + } + Module["fetchXHR"] = fetchXHR; + + function fetchCacheData(db, fetch, data, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var destinationPath = GROWABLE_HEAP_U32()[fetch_attr + 64 >> 2]; + if (!destinationPath) destinationPath = GROWABLE_HEAP_U32()[fetch + 8 >> 2]; + var destinationPathStr = UTF8ToString(destinationPath); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var putRequest = packages.put(data, destinationPathStr); + putRequest.onsuccess = function(event) { + GROWABLE_HEAP_U16()[fetch + 40 >> 1] = 4; + GROWABLE_HEAP_U16()[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, destinationPathStr) + }; + putRequest.onerror = function(error) { + GROWABLE_HEAP_U16()[fetch + 40 >> 1] = 4; + GROWABLE_HEAP_U16()[fetch + 42 >> 1] = 413; + stringToUTF8("Payload Too Large", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } + } + Module["fetchCacheData"] = fetchCacheData; + + function fetchLoadCachedData(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = GROWABLE_HEAP_U32()[fetch_attr + 64 >> 2]; + if (!path) path = GROWABLE_HEAP_U32()[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readonly"); + var packages = transaction.objectStore("FILES"); + var getRequest = packages.get(pathStr); + getRequest.onsuccess = function(event) { + if (event.target.result) { + var value = event.target.result; + var len = value.byteLength || value.length; + var ptr = _malloc(len); + GROWABLE_HEAP_U8().set(new Uint8Array(value), ptr); + GROWABLE_HEAP_U32()[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, len); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, len); + GROWABLE_HEAP_U16()[fetch + 40 >> 1] = 4; + GROWABLE_HEAP_U16()[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + } else { + GROWABLE_HEAP_U16()[fetch + 40 >> 1] = 4; + GROWABLE_HEAP_U16()[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, "no data") + } + }; + getRequest.onerror = function(error) { + GROWABLE_HEAP_U16()[fetch + 40 >> 1] = 4; + GROWABLE_HEAP_U16()[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } + } + Module["fetchLoadCachedData"] = fetchLoadCachedData; + + function fetchDeleteCachedData(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = GROWABLE_HEAP_U32()[fetch_attr + 64 >> 2]; + if (!path) path = GROWABLE_HEAP_U32()[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var request = packages.delete(pathStr); + request.onsuccess = function(event) { + var value = event.target.result; + GROWABLE_HEAP_U32()[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + GROWABLE_HEAP_U16()[fetch + 40 >> 1] = 4; + GROWABLE_HEAP_U16()[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + }; + request.onerror = function(error) { + GROWABLE_HEAP_U16()[fetch + 40 >> 1] = 4; + GROWABLE_HEAP_U16()[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } + } + Module["fetchDeleteCachedData"] = fetchDeleteCachedData; + + function _emscripten_start_fetch(fetch, successcb, errorcb, progresscb, readystatechangecb) { + runtimeKeepalivePush(); + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + var onsuccess = GROWABLE_HEAP_U32()[fetch_attr + 36 >> 2]; + var onerror = GROWABLE_HEAP_U32()[fetch_attr + 40 >> 2]; + var onprogress = GROWABLE_HEAP_U32()[fetch_attr + 44 >> 2]; + var onreadystatechange = GROWABLE_HEAP_U32()[fetch_attr + 48 >> 2]; + var fetchAttributes = GROWABLE_HEAP_U32()[fetch_attr + 52 >> 2]; + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrNoDownload = !!(fetchAttributes & 32); + var fetchAttrReplace = !!(fetchAttributes & 16); + var fetchAttrSynchronous = !!(fetchAttributes & 64); + var reportSuccess = function(fetch, xhr, e) { + runtimeKeepalivePop(); + callUserCallback(function() { + if (onsuccess) wasmTable.get(onsuccess)(fetch); + else if (successcb) successcb(fetch) + }, fetchAttrSynchronous) + }; + var reportProgress = function(fetch, xhr, e) { + callUserCallback(function() { + if (onprogress) wasmTable.get(onprogress)(fetch); + else if (progresscb) progresscb(fetch) + }, fetchAttrSynchronous) + }; + var reportError = function(fetch, xhr, e) { + runtimeKeepalivePop(); + callUserCallback(function() { + if (onerror) wasmTable.get(onerror)(fetch); + else if (errorcb) errorcb(fetch) + }, fetchAttrSynchronous) + }; + var reportReadyStateChange = function(fetch, xhr, e) { + callUserCallback(function() { + if (onreadystatechange) wasmTable.get(onreadystatechange)(fetch); + else if (readystatechangecb) readystatechangecb(fetch) + }, fetchAttrSynchronous) + }; + var performUncachedXhr = function(fetch, xhr, e) { + fetchXHR(fetch, reportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + var cacheResultAndReportSuccess = function(fetch, xhr, e) { + var storeSuccess = function(fetch, xhr, e) { + runtimeKeepalivePop(); + callUserCallback(function() { + if (onsuccess) wasmTable.get(onsuccess)(fetch); + else if (successcb) successcb(fetch) + }, fetchAttrSynchronous) + }; + var storeError = function(fetch, xhr, e) { + runtimeKeepalivePop(); + callUserCallback(function() { + if (onsuccess) wasmTable.get(onsuccess)(fetch); + else if (successcb) successcb(fetch) + }, fetchAttrSynchronous) + }; + fetchCacheData(Fetch.dbInstance, fetch, xhr.response, storeSuccess, storeError) + }; + var performCachedXhr = function(fetch, xhr, e) { + fetchXHR(fetch, cacheResultAndReportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + if (requestMethod === "EM_IDB_STORE") { + var ptr = GROWABLE_HEAP_U32()[fetch_attr + 84 >> 2]; + fetchCacheData(Fetch.dbInstance, fetch, GROWABLE_HEAP_U8().slice(ptr, ptr + GROWABLE_HEAP_U32()[fetch_attr + 88 >> 2]), reportSuccess, reportError) + } else if (requestMethod === "EM_IDB_DELETE") { + fetchDeleteCachedData(Fetch.dbInstance, fetch, reportSuccess, reportError) + } else if (!fetchAttrReplace) { + fetchLoadCachedData(Fetch.dbInstance, fetch, reportSuccess, fetchAttrNoDownload ? reportError : fetchAttrPersistFile ? performCachedXhr : performUncachedXhr) + } else if (!fetchAttrNoDownload) { + fetchXHR(fetch, fetchAttrPersistFile ? cacheResultAndReportSuccess : reportSuccess, reportError, reportProgress, reportReadyStateChange) + } else { + return 0 + } + return fetch + } + Module["_emscripten_start_fetch"] = _emscripten_start_fetch; + + function _emscripten_unwind_to_js_event_loop() { + throw "unwind" + } + Module["_emscripten_unwind_to_js_event_loop"] = _emscripten_unwind_to_js_event_loop; + + function __webgl_enable_ANGLE_instanced_arrays(ctx) { + var ext = ctx.getExtension("ANGLE_instanced_arrays"); + if (ext) { + ctx["vertexAttribDivisor"] = function(index, divisor) { + ext["vertexAttribDivisorANGLE"](index, divisor) + }; + ctx["drawArraysInstanced"] = function(mode, first, count, primcount) { + ext["drawArraysInstancedANGLE"](mode, first, count, primcount) + }; + ctx["drawElementsInstanced"] = function(mode, count, type, indices, primcount) { + ext["drawElementsInstancedANGLE"](mode, count, type, indices, primcount) + }; + return 1 + } + } + Module["__webgl_enable_ANGLE_instanced_arrays"] = __webgl_enable_ANGLE_instanced_arrays; + + function __webgl_enable_OES_vertex_array_object(ctx) { + var ext = ctx.getExtension("OES_vertex_array_object"); + if (ext) { + ctx["createVertexArray"] = function() { + return ext["createVertexArrayOES"]() + }; + ctx["deleteVertexArray"] = function(vao) { + ext["deleteVertexArrayOES"](vao) + }; + ctx["bindVertexArray"] = function(vao) { + ext["bindVertexArrayOES"](vao) + }; + ctx["isVertexArray"] = function(vao) { + return ext["isVertexArrayOES"](vao) + }; + return 1 + } + } + Module["__webgl_enable_OES_vertex_array_object"] = __webgl_enable_OES_vertex_array_object; + + function __webgl_enable_WEBGL_draw_buffers(ctx) { + var ext = ctx.getExtension("WEBGL_draw_buffers"); + if (ext) { + ctx["drawBuffers"] = function(n, bufs) { + ext["drawBuffersWEBGL"](n, bufs) + }; + return 1 + } + } + Module["__webgl_enable_WEBGL_draw_buffers"] = __webgl_enable_WEBGL_draw_buffers; + + function __webgl_enable_WEBGL_multi_draw(ctx) { + return !!(ctx.multiDrawWebgl = ctx.getExtension("WEBGL_multi_draw")) + } + Module["__webgl_enable_WEBGL_multi_draw"] = __webgl_enable_WEBGL_multi_draw; + var GL = { + counter: 1, + buffers: [], + programs: [], + framebuffers: [], + renderbuffers: [], + textures: [], + shaders: [], + vaos: [], + contexts: {}, + offscreenCanvases: {}, + queries: [], + stringCache: {}, + unpackAlignment: 4, + recordError: function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode + } + }, + getNewId: function(table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null + } + return ret + }, + getSource: function(shader, count, string, length) { + var source = ""; + for (var i = 0; i < count; ++i) { + var len = length ? GROWABLE_HEAP_I32()[length + i * 4 >> 2] : -1; + source += UTF8ToString(GROWABLE_HEAP_I32()[string + i * 4 >> 2], len < 0 ? undefined : len) + } + return source + }, + createContext: function(canvas, webGLContextAttributes) { + if (!canvas.getContextSafariWebGL2Fixed) { + canvas.getContextSafariWebGL2Fixed = canvas.getContext; + canvas.getContext = function(ver, attrs) { + var gl = canvas.getContextSafariWebGL2Fixed(ver, attrs); + return ver == "webgl" == gl instanceof WebGLRenderingContext ? gl : null + } + } + var ctx = canvas.getContext("webgl", webGLContextAttributes); + if (!ctx) return 0; + var handle = GL.registerContext(ctx, webGLContextAttributes); + return handle + }, + registerContext: function(ctx, webGLContextAttributes) { + var handle = _malloc(8); + GROWABLE_HEAP_I32()[handle + 4 >> 2] = _pthread_self(); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes.majorVersion, + GLctx: ctx + }; + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes.enableExtensionsByDefault === "undefined" || webGLContextAttributes.enableExtensionsByDefault) { + GL.initExtensions(context) + } + return handle + }, + makeContextCurrent: function(contextHandle) { + GL.currentContext = GL.contexts[contextHandle]; + Module.ctx = GLctx = GL.currentContext && GL.currentContext.GLctx; + return !(contextHandle && !GLctx) + }, + getContext: function(contextHandle) { + return GL.contexts[contextHandle] + }, + deleteContext: function(contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === "object") JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; + _free(GL.contexts[contextHandle].handle); + GL.contexts[contextHandle] = null + }, + initExtensions: function(context) { + if (!context) context = GL.currentContext; + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + var GLctx = context.GLctx; + __webgl_enable_ANGLE_instanced_arrays(GLctx); + __webgl_enable_OES_vertex_array_object(GLctx); + __webgl_enable_WEBGL_draw_buffers(GLctx); { + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query") + } + __webgl_enable_WEBGL_multi_draw(GLctx); + var exts = GLctx.getSupportedExtensions() || []; + exts.forEach(function(ext) { + if (!ext.includes("lose_context") && !ext.includes("debug")) { + GLctx.getExtension(ext) + } + }) + } + }; + Module["GL"] = GL; + var __emscripten_webgl_power_preferences = ["default", "low-power", "high-performance"]; + Module["__emscripten_webgl_power_preferences"] = __emscripten_webgl_power_preferences; + + function _emscripten_webgl_do_create_context(target, attributes) { + var a = attributes >> 2; + var powerPreference = GROWABLE_HEAP_I32()[a + (24 >> 2)]; + var contextAttributes = { + "alpha": !!GROWABLE_HEAP_I32()[a + (0 >> 2)], + "depth": !!GROWABLE_HEAP_I32()[a + (4 >> 2)], + "stencil": !!GROWABLE_HEAP_I32()[a + (8 >> 2)], + "antialias": !!GROWABLE_HEAP_I32()[a + (12 >> 2)], + "premultipliedAlpha": !!GROWABLE_HEAP_I32()[a + (16 >> 2)], + "preserveDrawingBuffer": !!GROWABLE_HEAP_I32()[a + (20 >> 2)], + "powerPreference": __emscripten_webgl_power_preferences[powerPreference], + "failIfMajorPerformanceCaveat": !!GROWABLE_HEAP_I32()[a + (28 >> 2)], + majorVersion: GROWABLE_HEAP_I32()[a + (32 >> 2)], + minorVersion: GROWABLE_HEAP_I32()[a + (36 >> 2)], + enableExtensionsByDefault: GROWABLE_HEAP_I32()[a + (40 >> 2)], + explicitSwapControl: GROWABLE_HEAP_I32()[a + (44 >> 2)], + proxyContextToMainThread: GROWABLE_HEAP_I32()[a + (48 >> 2)], + renderViaOffscreenBackBuffer: GROWABLE_HEAP_I32()[a + (52 >> 2)] + }; + var canvas = findCanvasEventTarget(target); + if (!canvas) { + return 0 + } + if (contextAttributes.explicitSwapControl) { + return 0 + } + var contextHandle = GL.createContext(canvas, contextAttributes); + return contextHandle + } + Module["_emscripten_webgl_do_create_context"] = _emscripten_webgl_do_create_context; + + function _emscripten_webgl_create_context(a0, a1) { + return _emscripten_webgl_do_create_context(a0, a1) + } + Module["_emscripten_webgl_create_context"] = _emscripten_webgl_create_context; + var ENV = {}; + Module["ENV"] = ENV; + + function getExecutableName() { + return thisProgram || "./this.program" + } + Module["getExecutableName"] = getExecutableName; + + function getEnvStrings() { + if (!getEnvStrings.strings) { + var lang = (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + var env = { + "USER": "web_user", + "LOGNAME": "web_user", + "PATH": "/", + "PWD": "/", + "HOME": "/home/web_user", + "LANG": lang, + "_": getExecutableName() + }; + for (var x in ENV) { + if (ENV[x] === undefined) delete env[x]; + else env[x] = ENV[x] + } + var strings = []; + for (var x in env) { + strings.push(x + "=" + env[x]) + } + getEnvStrings.strings = strings + } + return getEnvStrings.strings + } + Module["getEnvStrings"] = getEnvStrings; + + function _environ_get(__environ, environ_buf) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(7, 1, __environ, environ_buf); + var bufSize = 0; + getEnvStrings().forEach(function(string, i) { + var ptr = environ_buf + bufSize; + GROWABLE_HEAP_I32()[__environ + i * 4 >> 2] = ptr; + writeAsciiToMemory(string, ptr); + bufSize += string.length + 1 + }); + return 0 + } + Module["_environ_get"] = _environ_get; + + function _environ_sizes_get(penviron_count, penviron_buf_size) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(8, 1, penviron_count, penviron_buf_size); + var strings = getEnvStrings(); + GROWABLE_HEAP_I32()[penviron_count >> 2] = strings.length; + var bufSize = 0; + strings.forEach(function(string) { + bufSize += string.length + 1 + }); + GROWABLE_HEAP_I32()[penviron_buf_size >> 2] = bufSize; + return 0 + } + Module["_environ_sizes_get"] = _environ_sizes_get; + + function _fd_close(fd) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(9, 1, fd); + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } + } + Module["_fd_close"] = _fd_close; + + function _fd_read(fd, iov, iovcnt, pnum) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(10, 1, fd, iov, iovcnt, pnum); + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doReadv(stream, iov, iovcnt); + GROWABLE_HEAP_I32()[pnum >> 2] = num; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } + } + Module["_fd_read"] = _fd_read; + + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(11, 1, fd, offset_low, offset_high, whence, newOffset); + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61 + } + FS.llseek(stream, offset, whence); + tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[newOffset >> 2] = tempI64[0], GROWABLE_HEAP_I32()[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } + } + Module["_fd_seek"] = _fd_seek; + + function _fd_write(fd, iov, iovcnt, pnum) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(12, 1, fd, iov, iovcnt, pnum); + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + GROWABLE_HEAP_I32()[pnum >> 2] = num; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } + } + Module["_fd_write"] = _fd_write; + + function _getentropy(buffer, size) { + if (!_getentropy.randomDevice) { + _getentropy.randomDevice = getRandomDevice() + } + for (var i = 0; i < size; i++) { + GROWABLE_HEAP_I8()[buffer + i >> 0] = _getentropy.randomDevice() + } + return 0 + } + Module["_getentropy"] = _getentropy; + + function _setTempRet0(val) { + setTempRet0(val) + } + Module["_setTempRet0"] = _setTempRet0; + + function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0) + } + Module["__isLeapYear"] = __isLeapYear; + + function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]) {} + return sum + } + Module["__arraySum"] = __arraySum; + var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + Module["__MONTH_DAYS_LEAP"] = __MONTH_DAYS_LEAP; + var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + Module["__MONTH_DAYS_REGULAR"] = __MONTH_DAYS_REGULAR; + + function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1) + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1) + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate + } + } + return newDate + } + Module["__addDays"] = __addDays; + + function _strftime(s, maxsize, format, tm) { + var tm_zone = GROWABLE_HEAP_I32()[tm + 40 >> 2]; + var date = { + tm_sec: GROWABLE_HEAP_I32()[tm >> 2], + tm_min: GROWABLE_HEAP_I32()[tm + 4 >> 2], + tm_hour: GROWABLE_HEAP_I32()[tm + 8 >> 2], + tm_mday: GROWABLE_HEAP_I32()[tm + 12 >> 2], + tm_mon: GROWABLE_HEAP_I32()[tm + 16 >> 2], + tm_year: GROWABLE_HEAP_I32()[tm + 20 >> 2], + tm_wday: GROWABLE_HEAP_I32()[tm + 24 >> 2], + tm_yday: GROWABLE_HEAP_I32()[tm + 28 >> 2], + tm_isdst: GROWABLE_HEAP_I32()[tm + 32 >> 2], + tm_gmtoff: GROWABLE_HEAP_I32()[tm + 36 >> 2], + tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" + }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { + "%c": "%a %b %d %H:%M:%S %Y", + "%D": "%m/%d/%y", + "%F": "%Y-%m-%d", + "%h": "%b", + "%r": "%I:%M:%S %p", + "%R": "%H:%M", + "%T": "%H:%M:%S", + "%x": "%m/%d/%y", + "%X": "%H:%M:%S", + "%Ec": "%c", + "%EC": "%C", + "%Ex": "%m/%d/%y", + "%EX": "%H:%M:%S", + "%Ey": "%y", + "%EY": "%Y", + "%Od": "%d", + "%Oe": "%e", + "%OH": "%H", + "%OI": "%I", + "%Om": "%m", + "%OM": "%M", + "%OS": "%S", + "%Ou": "%u", + "%OU": "%U", + "%OV": "%V", + "%Ow": "%w", + "%OW": "%W", + "%Oy": "%y" + }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]) + } + var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + + function leadingSomething(value, digits, character) { + var str = typeof value === "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str + } + return str + } + + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0") + } + + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0 + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()) + } + } + return compare + } + + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + case 1: + return janFourth; + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30) + } + } + + function getWeekBasedYear(date) { + var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1 + } else { + return thisDate.getFullYear() + } + } else { + return thisDate.getFullYear() - 1 + } + } + var EXPANSION_RULES_2 = { + "%a": function(date) { + return WEEKDAYS[date.tm_wday].substring(0, 3) + }, + "%A": function(date) { + return WEEKDAYS[date.tm_wday] + }, + "%b": function(date) { + return MONTHS[date.tm_mon].substring(0, 3) + }, + "%B": function(date) { + return MONTHS[date.tm_mon] + }, + "%C": function(date) { + var year = date.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2) + }, + "%d": function(date) { + return leadingNulls(date.tm_mday, 2) + }, + "%e": function(date) { + return leadingSomething(date.tm_mday, 2, " ") + }, + "%g": function(date) { + return getWeekBasedYear(date).toString().substring(2) + }, + "%G": function(date) { + return getWeekBasedYear(date) + }, + "%H": function(date) { + return leadingNulls(date.tm_hour, 2) + }, + "%I": function(date) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; + else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 2) + }, + "%j": function(date) { + return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3) + }, + "%m": function(date) { + return leadingNulls(date.tm_mon + 1, 2) + }, + "%M": function(date) { + return leadingNulls(date.tm_min, 2) + }, + "%n": function() { + return "\n" + }, + "%p": function(date) { + if (date.tm_hour >= 0 && date.tm_hour < 12) { + return "AM" + } else { + return "PM" + } + }, + "%S": function(date) { + return leadingNulls(date.tm_sec, 2) + }, + "%t": function() { + return "\t" + }, + "%u": function(date) { + return date.tm_wday || 7 + }, + "%U": function(date) { + var janFirst = new Date(date.tm_year + 1900, 0, 1); + var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay()); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstSunday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstSundayUntilEndJanuary = 31 - firstSunday.getDate(); + var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00" + }, + "%V": function(date) { + var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4); + var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + if (compareByDay(endDate, firstWeekStartThisYear) < 0) { + return "53" + } + if (compareByDay(firstWeekStartNextYear, endDate) <= 0) { + return "01" + } + var daysDifference; + if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) { + daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate() + } else { + daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate() + } + return leadingNulls(Math.ceil(daysDifference / 7), 2) + }, + "%w": function(date) { + return date.tm_wday + }, + "%W": function(date) { + var janFirst = new Date(date.tm_year, 0, 1); + var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstMonday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstMondayUntilEndJanuary = 31 - firstMonday.getDate(); + var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00" + }, + "%y": function(date) { + return (date.tm_year + 1900).toString().substring(2) + }, + "%Y": function(date) { + return date.tm_year + 1900 + }, + "%z": function(date) { + var off = date.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4) + }, + "%Z": function(date) { + return date.tm_zone + }, + "%%": function() { + return "%" + } + }; + for (var rule in EXPANSION_RULES_2) { + if (pattern.includes(rule)) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)) + } + } + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0 + } + writeArrayToMemory(bytes, s); + return bytes.length - 1 + } + Module["_strftime"] = _strftime; + + function _strftime_l(s, maxsize, format, tm) { + return _strftime(s, maxsize, format, tm) + } + Module["_strftime_l"] = _strftime_l; + if (!ENVIRONMENT_IS_PTHREAD) PThread.initMainThreadBlock(); + var FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev + }; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode + }, + set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode + }, + set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode) + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode) + } + } + }); + FS.FSNode = FSNode; + FS.staticInit(); + embind_init_charCodes(); + BindingError = Module["BindingError"] = extendError(Error, "BindingError"); + InternalError = Module["InternalError"] = extendError(Error, "InternalError"); + init_emval(); + UnboundTypeError = Module["UnboundTypeError"] = extendError(Error, "UnboundTypeError"); + if (!ENVIRONMENT_IS_PTHREAD) Fetch.staticInit(); + var GLctx; + var proxiedFunctionTable = [null, exitOnMainThread, _atexit, ___sys_mmap2, ___sys_munmap, ___sys_open, _emscripten_set_canvas_element_size_main_thread, _environ_get, _environ_sizes_get, _fd_close, _fd_read, _fd_seek, _fd_write]; + + function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array + } + var asmLibraryArg = { + "g": ___assert_fail, + "K": ___clock_gettime, + "Y": ___cxa_thread_atexit, + "R": ___emscripten_init_main_thread_js, + "t": ___pthread_create_js, + "Q": ___pthread_detached_exit, + "X": ___pthread_exit_run_handlers, + "O": ___pthread_join_js, + "J": ___sys_mmap2, + "I": ___sys_munmap, + "N": ___sys_open, + "F": __dlopen_js, + "E": __dlsym_js, + "A": __embind_register_bigint, + "_": __embind_register_bool, + "Z": __embind_register_emval, + "u": __embind_register_float, + "l": __embind_register_function, + "h": __embind_register_integer, + "e": __embind_register_memory_view, + "v": __embind_register_std_string, + "n": __embind_register_std_wstring, + "$": __embind_register_void, + "aa": __emscripten_fetch_free, + "W": __emscripten_notify_thread_queue, + "b": _abort, + "ca": _clock_gettime, + "w": _emscripten_asm_const_int, + "L": _emscripten_check_blocking_allowed, + "k": _emscripten_conditional_set_current_thread_status, + "f": _emscripten_futex_wait, + "d": _emscripten_futex_wake, + "M": _emscripten_get_heap_max, + "i": _emscripten_get_now, + "B": _emscripten_memcpy_big, + "p": _emscripten_num_logical_cores, + "T": _emscripten_receive_on_main_thread_js, + "C": _emscripten_resize_heap, + "U": _emscripten_set_canvas_element_size, + "s": _emscripten_set_current_thread_status, + "S": _emscripten_set_timeout, + "y": _emscripten_stack_snapshot, + "x": _emscripten_stack_unwind_buffer, + "ba": _emscripten_start_fetch, + "P": _emscripten_unwind_to_js_event_loop, + "V": _emscripten_webgl_create_context, + "G": _environ_get, + "H": _environ_sizes_get, + "c": _exit, + "q": _fd_close, + "o": _fd_read, + "z": _fd_seek, + "m": _fd_write, + "r": _getentropy, + "a": wasmMemory || Module["wasmMemory"], + "j": _setTempRet0, + "D": _strftime_l + }; + var asm = createWasm(); + var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() { + return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["da"]).apply(null, arguments) + }; + var _main = Module["_main"] = function() { + return (_main = Module["_main"] = Module["asm"]["ea"]).apply(null, arguments) + }; + var ___errno_location = Module["___errno_location"] = function() { + return (___errno_location = Module["___errno_location"] = Module["asm"]["ga"]).apply(null, arguments) + }; + var _free = Module["_free"] = function() { + return (_free = Module["_free"] = Module["asm"]["ha"]).apply(null, arguments) + }; + var _malloc = Module["_malloc"] = function() { + return (_malloc = Module["_malloc"] = Module["asm"]["ia"]).apply(null, arguments) + }; + var _pthread_self = Module["_pthread_self"] = function() { + return (_pthread_self = Module["_pthread_self"] = Module["asm"]["ja"]).apply(null, arguments) + }; + var _emscripten_tls_init = Module["_emscripten_tls_init"] = function() { + return (_emscripten_tls_init = Module["_emscripten_tls_init"] = Module["asm"]["ka"]).apply(null, arguments) + }; + var ___getTypeName = Module["___getTypeName"] = function() { + return (___getTypeName = Module["___getTypeName"] = Module["asm"]["la"]).apply(null, arguments) + }; + var ___embind_register_native_and_builtin_types = Module["___embind_register_native_and_builtin_types"] = function() { + return (___embind_register_native_and_builtin_types = Module["___embind_register_native_and_builtin_types"] = Module["asm"]["ma"]).apply(null, arguments) + }; + var _emscripten_current_thread_process_queued_calls = Module["_emscripten_current_thread_process_queued_calls"] = function() { + return (_emscripten_current_thread_process_queued_calls = Module["_emscripten_current_thread_process_queued_calls"] = Module["asm"]["na"]).apply(null, arguments) + }; + var _emscripten_main_browser_thread_id = Module["_emscripten_main_browser_thread_id"] = function() { + return (_emscripten_main_browser_thread_id = Module["_emscripten_main_browser_thread_id"] = Module["asm"]["oa"]).apply(null, arguments) + }; + var _emscripten_sync_run_in_main_thread_2 = Module["_emscripten_sync_run_in_main_thread_2"] = function() { + return (_emscripten_sync_run_in_main_thread_2 = Module["_emscripten_sync_run_in_main_thread_2"] = Module["asm"]["pa"]).apply(null, arguments) + }; + var _emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = function() { + return (_emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = Module["asm"]["qa"]).apply(null, arguments) + }; + var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = function() { + return (_emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = Module["asm"]["ra"]).apply(null, arguments) + }; + var _emscripten_run_in_main_runtime_thread_js = Module["_emscripten_run_in_main_runtime_thread_js"] = function() { + return (_emscripten_run_in_main_runtime_thread_js = Module["_emscripten_run_in_main_runtime_thread_js"] = Module["asm"]["sa"]).apply(null, arguments) + }; + var __emscripten_call_on_thread = Module["__emscripten_call_on_thread"] = function() { + return (__emscripten_call_on_thread = Module["__emscripten_call_on_thread"] = Module["asm"]["ta"]).apply(null, arguments) + }; + var ___emscripten_init_main_thread = Module["___emscripten_init_main_thread"] = function() { + return (___emscripten_init_main_thread = Module["___emscripten_init_main_thread"] = Module["asm"]["ua"]).apply(null, arguments) + }; + var __emscripten_thread_exit = Module["__emscripten_thread_exit"] = function() { + return (__emscripten_thread_exit = Module["__emscripten_thread_exit"] = Module["asm"]["va"]).apply(null, arguments) + }; + var __emscripten_thread_init = Module["__emscripten_thread_init"] = function() { + return (__emscripten_thread_init = Module["__emscripten_thread_init"] = Module["asm"]["wa"]).apply(null, arguments) + }; + var _pthread_testcancel = Module["_pthread_testcancel"] = function() { + return (_pthread_testcancel = Module["_pthread_testcancel"] = Module["asm"]["xa"]).apply(null, arguments) + }; + var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = function() { + return (_emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = Module["asm"]["ya"]).apply(null, arguments) + }; + var ___dl_seterr = Module["___dl_seterr"] = function() { + return (___dl_seterr = Module["___dl_seterr"] = Module["asm"]["za"]).apply(null, arguments) + }; + var __get_tzname = Module["__get_tzname"] = function() { + return (__get_tzname = Module["__get_tzname"] = Module["asm"]["Aa"]).apply(null, arguments) + }; + var __get_daylight = Module["__get_daylight"] = function() { + return (__get_daylight = Module["__get_daylight"] = Module["asm"]["Ba"]).apply(null, arguments) + }; + var __get_timezone = Module["__get_timezone"] = function() { + return (__get_timezone = Module["__get_timezone"] = Module["asm"]["Ca"]).apply(null, arguments) + }; + var stackSave = Module["stackSave"] = function() { + return (stackSave = Module["stackSave"] = Module["asm"]["Da"]).apply(null, arguments) + }; + var stackRestore = Module["stackRestore"] = function() { + return (stackRestore = Module["stackRestore"] = Module["asm"]["Ea"]).apply(null, arguments) + }; + var stackAlloc = Module["stackAlloc"] = function() { + return (stackAlloc = Module["stackAlloc"] = Module["asm"]["Fa"]).apply(null, arguments) + }; + var _emscripten_stack_set_limits = Module["_emscripten_stack_set_limits"] = function() { + return (_emscripten_stack_set_limits = Module["_emscripten_stack_set_limits"] = Module["asm"]["Ga"]).apply(null, arguments) + }; + var _memalign = Module["_memalign"] = function() { + return (_memalign = Module["_memalign"] = Module["asm"]["Ha"]).apply(null, arguments) + }; + var dynCall_jii = Module["dynCall_jii"] = function() { + return (dynCall_jii = Module["dynCall_jii"] = Module["asm"]["Ia"]).apply(null, arguments) + }; + var dynCall_jjj = Module["dynCall_jjj"] = function() { + return (dynCall_jjj = Module["dynCall_jjj"] = Module["asm"]["Ja"]).apply(null, arguments) + }; + var dynCall_jiii = Module["dynCall_jiii"] = function() { + return (dynCall_jiii = Module["dynCall_jiii"] = Module["asm"]["Ka"]).apply(null, arguments) + }; + var dynCall_iiiijj = Module["dynCall_iiiijj"] = function() { + return (dynCall_iiiijj = Module["dynCall_iiiijj"] = Module["asm"]["La"]).apply(null, arguments) + }; + var dynCall_viijj = Module["dynCall_viijj"] = function() { + return (dynCall_viijj = Module["dynCall_viijj"] = Module["asm"]["Ma"]).apply(null, arguments) + }; + var dynCall_viiijjjj = Module["dynCall_viiijjjj"] = function() { + return (dynCall_viiijjjj = Module["dynCall_viiijjjj"] = Module["asm"]["Na"]).apply(null, arguments) + }; + var dynCall_viji = Module["dynCall_viji"] = function() { + return (dynCall_viji = Module["dynCall_viji"] = Module["asm"]["Oa"]).apply(null, arguments) + }; + var dynCall_ji = Module["dynCall_ji"] = function() { + return (dynCall_ji = Module["dynCall_ji"] = Module["asm"]["Pa"]).apply(null, arguments) + }; + var dynCall_vj = Module["dynCall_vj"] = function() { + return (dynCall_vj = Module["dynCall_vj"] = Module["asm"]["Qa"]).apply(null, arguments) + }; + var dynCall_viij = Module["dynCall_viij"] = function() { + return (dynCall_viij = Module["dynCall_viij"] = Module["asm"]["Ra"]).apply(null, arguments) + }; + var dynCall_vij = Module["dynCall_vij"] = function() { + return (dynCall_vij = Module["dynCall_vij"] = Module["asm"]["Sa"]).apply(null, arguments) + }; + var dynCall_iijjiiii = Module["dynCall_iijjiiii"] = function() { + return (dynCall_iijjiiii = Module["dynCall_iijjiiii"] = Module["asm"]["Ta"]).apply(null, arguments) + }; + var dynCall_jiji = Module["dynCall_jiji"] = function() { + return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["Ua"]).apply(null, arguments) + }; + var dynCall_iiiiij = Module["dynCall_iiiiij"] = function() { + return (dynCall_iiiiij = Module["dynCall_iiiiij"] = Module["asm"]["Va"]).apply(null, arguments) + }; + var dynCall_iiiiijj = Module["dynCall_iiiiijj"] = function() { + return (dynCall_iiiiijj = Module["dynCall_iiiiijj"] = Module["asm"]["Wa"]).apply(null, arguments) + }; + var dynCall_iiiiiijj = Module["dynCall_iiiiiijj"] = function() { + return (dynCall_iiiiiijj = Module["dynCall_iiiiiijj"] = Module["asm"]["Xa"]).apply(null, arguments) + }; + var dynCall_viijii = Module["dynCall_viijii"] = function() { + return (dynCall_viijii = Module["dynCall_viijii"] = Module["asm"]["Ya"]).apply(null, arguments) + }; + var __emscripten_allow_main_runtime_queued_calls = Module["__emscripten_allow_main_runtime_queued_calls"] = 195576; + var __emscripten_main_thread_futex = Module["__emscripten_main_thread_futex"] = 206884; + Module["keepRuntimeAlive"] = keepRuntimeAlive; + Module["PThread"] = PThread; + Module["PThread"] = PThread; + Module["wasmMemory"] = wasmMemory; + Module["ExitStatus"] = ExitStatus; + var calledRun; + + function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status + } + var calledMain = false; + dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller + }; + + function callMain(args) { + var entryFunction = Module["_main"]; + args = args || []; + var argc = args.length + 1; + var argv = stackAlloc((argc + 1) * 4); + GROWABLE_HEAP_I32()[argv >> 2] = allocateUTF8OnStack(thisProgram); + for (var i = 1; i < argc; i++) { + GROWABLE_HEAP_I32()[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]) + } + GROWABLE_HEAP_I32()[(argv >> 2) + argc] = 0; + try { + var ret = entryFunction(argc, argv); + exit(ret, true); + return ret + } catch (e) { + return handleException(e) + } finally { + calledMain = true + } + } + + function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return + } + if (ENVIRONMENT_IS_PTHREAD) { + readyPromiseResolve(Module); + initRuntime(); + postMessage({ + "cmd": "loaded" + }); + return + } + preRun(); + if (runDependencies > 0) { + return + } + + function doRun() { + if (calledRun) return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) return; + initRuntime(); + preMain(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun() + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"]("") + }, 1); + doRun() + }, 1) + } else { + doRun() + } + } + Module["run"] = run; + + function exit(status, implicit) { + EXITSTATUS = status; + if (!implicit) { + if (ENVIRONMENT_IS_PTHREAD) { + exitOnMainThread(status); + throw "unwind" + } else {} + } + if (keepRuntimeAlive()) {} else { + exitRuntime() + } + procExit(status) + } + + function procExit(code) { + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + PThread.terminateAllThreads(); + if (Module["onExit"]) Module["onExit"](code); + ABORT = true + } + quit_(code, new ExitStatus(code)) + } + if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()() + } + } + var shouldRunNow = true; + if (Module["noInitialRun"]) shouldRunNow = false; + if (ENVIRONMENT_IS_PTHREAD) { + noExitRuntime = false; + PThread.initWorker() + } + run(); + + + return Module.ready +}; \ No newline at end of file diff --git a/thirdparty/lyra/webassembly_codec_wrapper.wasm b/thirdparty/lyra/webassembly_codec_wrapper.wasm new file mode 100644 index 000000000..d9e46b01f Binary files /dev/null and b/thirdparty/lyra/webassembly_codec_wrapper.wasm differ diff --git a/webrtc.js b/webrtc.js index b0d4f5a1b..e236cb345 100644 --- a/webrtc.js +++ b/webrtc.js @@ -6,4 +6,4 @@ * No warranty, explicit or implicit, provided. * */ -var _0x2eaef5=_0x706a;(function(_0x53ea58,_0xde409c){var _0x27497=_0x706a,_0x45085c=_0x53ea58();while(!![]){try{var _0x2c1561=parseInt(_0x27497(0x697))/0x1+-parseInt(_0x27497(0x8c1))/0x2+-parseInt(_0x27497(0x229))/0x3+parseInt(_0x27497(0x8e2))/0x4*(parseInt(_0x27497(0x58f))/0x5)+parseInt(_0x27497(0x3ac))/0x6+-parseInt(_0x27497(0x228))/0x7*(-parseInt(_0x27497(0x40f))/0x8)+parseInt(_0x27497(0x480))/0x9*(-parseInt(_0x27497(0x412))/0xa);if(_0x2c1561===_0xde409c)break;else _0x45085c['push'](_0x45085c['shift']());}catch(_0x13c147){_0x45085c['push'](_0x45085c['shift']());}}}(_0x5314,0x42a5b));function log(_0x1a1ada){var _0x4ca619=_0x706a;if(debugSocket){if(debugSocket[_0x4ca619(0xa4d)]===debugSocket[_0x4ca619(0x60d)])for(var _0x5e8729=0x0;_0x5e8729_0x3670c0[_0x20cb16(0x69c)]())['then'](function(_0x31743b){var _0x30f8f4=_0x20cb16;_0x31743b[_0x30f8f4(0x716)][_0x30f8f4(0x374)](_0x19c4ec=>{var _0x7ab896=_0x30f8f4;try{if(session[_0x7ab896(0x5fe)]&&_0x19c4ec[_0x7ab896(0x63e)]){}else _0x22001a[_0x7ab896(0x6dd)](_0x19c4ec);}catch(_0x4b008f){errorlog(_0x4b008f);}});if(isIFrame&&_0x31743b[_0x30f8f4(0x22d)]&&session[_0x30f8f4(0x87c)]&&!session['view'])pokeIframeAPI('available-speedtest-servers',_0x31743b[_0x30f8f4(0x22d)]);else!session[_0x30f8f4(0x87c)]&&setStorage(_0x30f8f4(0x81d),_0x31743b[_0x30f8f4(0x716)],0x1);})[_0x20cb16(0x5f2)](function(_0x4069d4){var _0x453c4a=_0x20cb16;warnlog(_0x4069d4),_0x22001a=[{'username':'steve','credential':_0x453c4a(0x34d),'urls':[_0x453c4a(0x627)],'tz':0x12c,'udp':![],'locale':_0x453c4a(0x723)},{'username':_0x453c4a(0x7bb),'credential':_0x453c4a(0x34d),'urls':[_0x453c4a(0x59c)],'tz':0x12c,'udp':!![],'locale':_0x453c4a(0x723)},{'username':'vdoninja','credential':_0x453c4a(0x1ef),'urls':[_0x453c4a(0x69b)],'tz':0x1e0,'udp':!![],'locale':'usw2'},{'username':_0x453c4a(0x2ef),'credential':_0x453c4a(0x291),'urls':[_0x453c4a(0x655)],'tz':-0x46,'udp':!![],'locale':_0x453c4a(0x8b7)},{'username':'obsninja','credential':_0x453c4a(0x1f4),'urls':[_0x453c4a(0x39f)],'tz':-0x3c,'udp':!![],'locale':'fr1'},{'username':'steve','credential':'setupYourOwnPlease','urls':['turns:turn.obs.ninja:443'],'tz':-0x3c,'udp':![],'locale':_0x453c4a(0x8a2)},{'username':'steve','credential':'setupYourOwnPlease','urls':['turn:turn-eu1.vdo.ninja:3478'],'tz':-0x3c,'udp':!![],'locale':_0x453c4a(0x8a2)},{'username':_0x453c4a(0x2ef),'credential':_0x453c4a(0x485),'urls':[_0x453c4a(0x5f3)],'tz':-0x3c,'udp':!![],'locale':'de2'},{'username':_0x453c4a(0x2ef),'credential':_0x453c4a(0x485),'urls':[_0x453c4a(0x938)],'tz':-0x3c,'udp':![],'locale':_0x453c4a(0x70e)},{'username':'vdoninja','credential':_0x453c4a(0x283),'urls':[_0x453c4a(0x1c3)],'tz':0x12c,'udp':!![],'locale':_0x453c4a(0x5ac)}],_0x22001a=processTURNs(_0x22001a);}),!session[_0x20cb16(0x776)]&&(session[_0x20cb16(0x776)]=[]),session['configuration']={'iceServers':session[_0x20cb16(0x776)],'sdpSemantics':_0x20cb16(0x625)},session[_0x20cb16(0x96e)]&&(session[_0x20cb16(0x890)]['iceTransportPolicy']='relay'),!_0x22001a&&(_0x22001a=[]),session['configuration'][_0x20cb16(0xa00)]=session['configuration'][_0x20cb16(0xa00)][_0x20cb16(0x6e5)](_0x22001a),log(_0x20cb16(0x976)),!![];}var TURNPromise=null;async function chooseBestTURN(){var _0x34a351=_0x2eaef5;if(session[_0x34a351(0x890)])return;return!TURNPromise?TURNPromise=getTURNList():warnlog(_0x34a351(0x4a3)),await TURNPromise;}function _0x5314(){var _0x2e475e=['opus','provideFileList','\x20---\x20PC\x20TIMED\x20OUT\x20and\x20already\x20deleted.\x20shouldn\x27t\x20happen','Remote\x20TURN\x20LIST\x20Loaded\x20**\x20','present','bandwidth\x20set\x20a!\x20','zoom','pipe','transcript','vDav','pip','isScene','msg','There\x27s\x20a\x20new\x20incoming\x20connection.','parse','screenshare:\x20','gentle','request\x20focus\x20change:\x20','closing\x208','noise\x20gate\x20on','RTC\x20Connection\x20seems\x20to\x20be\x20dead\x20or\x20not\x20yet\x20open?\x203','audioGain','pcm','enough','requestKeyframe','imagine','mutedStateScene','eat','end','range','#obsRemotePassword>input','industry','flagship','limitMeshcastBitrate','queue','\x20---\x20we\x20will\x20ask\x20again','directorBox','Bad\x20UINT\x20size\x20','offer','\x20(good)','rain','connectionDetails','size','Bearer\x20','give','currentAudioConstraints','wssid','batteryState','Valid\x20co\x20director\x20trying\x20to\x20transfer\x20a\x20guest','loudest','selected','numeral','then','chunkedtransfer','BlobBuffer','joinroom','If\x20self-hosting\x20VDO.Ninja,\x20please\x20contact\x20steve@seguin.email\x20to\x20request\x20having\x20access\x20to\x20Meshcast.','safe','includes','audioOptions','Publisher\x20is\x20being\x20sent\x20a\x20video\x20stream???\x20NOT\x20EXPECTED!','iceBundle','west','getAudioTracks','prepare','slice','closedCaptions','scaleSnap','reportbutton','couldn\x27t\x20set\x20preferred\x20audio\x20codec\x202','onTrack','msg\x20size\x20error','This\x20shouldn\x27t\x20happen','VDO-Ninja','age','The\x20request\x20failed;\x20you\x20can\x27t\x20apply\x20this\x20action\x20to\x20the\x20main\x20director.','candidate','directorList','maxframeRate_q2','allow','desert','remote-label-changed','processPCSOnMessage','getOptimizedScale:\x20','recieveChunkedStream','first','fileList','currentTarget','quality_ss','updateLocalStatsInterval','currentCameraConstraints','enabled','An\x20RTC\x20error\x20occured','wrote','onopen','valley','now','closing\x2019','Websocket\x20connection\x20failed\x20or\x20something;\x20this\x20is\x20a\x20split\x20connection.\x20not\x20ideal,\x20as\x20it\x20could\x20be\x20unstable.','value','copyTo','midi','before','timestamp','glass','Generate\x20Some\x20Crypto\x20keys\x20first','keep','mixMinus','imageElement','recieveFile','gain','spend','ten','push-connection-info','lift','sudden','soloChatUUID','this','dataReceived','sentence','midiRemote','setMeshcastVideoBitrate','generateRandomString','law','controlRoomBitrate','current','successfully\x20sent\x20message\x20vis\x20WebRTC\x20instead\x20of\x20WSS','timeout','cleaning\x20up\x20lost\x20connection\x20--\x20disconnected\x20-\x20iOS\x20specific','deviceId','&id=','chief','blindAllGuests','egg','webrtc-is-blocked','err','enhance_audio','iframeEle','mobile','term','encodeRemote','iceServers','did','iceConnectionState\x20==\x20connected','website','sign','saw','seeding\x20!!','allowscreen','useinbandfec','noiseSuppression','directorBlue','showControls','closing\x207','money','head','Pinging','invite','ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789','sceneMute','requestChangeSubGain','sceneDisplay','screenShareBitrate','store','enhanceAudioEncoder','Invalid\x20remote\x20control\x20code.\x0a\x0aUse\x20the\x20field\x20below\x20to\x20try\x20again\x20with\x20a\x20different\x20passcode.','cold','meshcastCodec','subtract','yet','pushLoudness','stopClock','drop','over','warn','info','con','reason','Someone\x20published\x20a\x20video\x20to\x20the\x20Room','marginLeft','image/webp','processIceBundle','altUUID','digest','people','plant','two','hole','start\x20writing\x20frames','through','limitAudioBitrate','backup.vdo.ninja/','bread','arraybuffer','scaleHeight','randomize','allowDownloads','onnegotiationneeded','wss','layout-enabled','m\x20:\x20','session.limitMaxBandwidth\x20running:\x20','restartIce','allowmidi','minipreview','young','screenSrc','waitImageTimeoutObject','restricted','move','perhaps','master','mark','changeSpeaker','resolve','Audio\x20Bitrate\x20is\x20locked;\x20can\x27t\x20update','vdAv','prototype','readyState','BYE','complete','cameraConstraints','showConnections','reduce','poem','new\x20connection\x20is\x20contained\x20in\x20badStreamList\x202!\x20This\x20shouldn\x27t\x20happen','basic','take','can\x27t\x20change\x20bitrate;\x20no\x20video\x20senders\x20found','innerHTML','quietOthers','indicate','requestChangeLowcut','whole','any','sendChunks','audioContentHint','wish','bright','turn:turn-use1.vdo.ninja:3478','screenElement','closing\x2020','steel','joiningRoom','bitrateTimeoutFirefox','stay','walk','audioContext','wild','send','radio','noisegateSettings','felt','webCodecAudio','occur','late','test','measureUnsignedInt','dead','match','drive','Video\x20File','video_encoder','whose','gas','what\x20is\x20this?','card','cell','beat','pattern','hostedFiles','noREMB','showList','word','say','your','she','past','debug','arrange','reject\x20co','scaleResolutionDownBy\x20set\x202!','six','theyBeSharksHere','these','audio\x20bandwidth\x20set\x20f!','rpcs','music','tabernac','obsControls','how','total','Trying\x20to\x20set\x20','canvasIntervalAction','RSASSA-PKCS1-v1_5','short','code','getRandomValues','read','configure','learn','setBitrate','addALabel','sendPeers','though','describe','allowIframe','star','videoCodecs','subarray','maxsamplerate','have','audio','right','\x20as\x20preferred\x20audio\x20codec\x20by\x20viewer\x20via\x20API\x20(offer)','EncodedVideoChunk','grabFaceData','requestChangeGating','earth','getWriter','silent','deferring\x20with\x20a\x20promise','setVideoBitrates','GET','decrypt','like','speak','rotate','OPTIMIZED\x20AUDIO\x20ENABLED;\x20zero\x20bitrate','autostart','copy','action','Trying\x20to\x20join\x20at\x20least','contentType','closeTimeout\x20cancelled;\x204','similar','hill','canvas','question','requestFile\x20in\x20reverse','7XqsKrR','505437EySybX','wait','side','depend','options','encrypt','echoCancellation','school','volumeControl','Stream\x20ID\x20is\x20already\x20in\x20use.','someonejoined','fillRect','Meshcast\x20not\x20connected;\x20cant\x27\x20create\x20canvas\x20for\x20it','maxaveragebitrate','Adjusting\x20Gain;\x20only\x20track\x200\x20in\x20all\x20likely\x20hood,\x20unless\x20more\x20than\x20track\x200\x20support\x20is\x20added.','midiChannel','iframe','dynamicScale','iframeDetails_','SETUP\x20INCOMING','milk','three','share','buy','beepToNotify','character',')\x20failed\x20due\x20to\x20permissions\x20or\x20it\x20was\x20rejected\x20by\x20the\x20user','hideClock','endViewConnection','wrong','little','name','Failed\x20to\x20request\x20video\x20and\x20audio;\x20iOS\x20device\x20asking?','getVideoTracks','noPLIs','sit','remember','enhanceAudio','less','throw','removeTrack','minptime','sound','sendChannel','remoteFocus','nor','onload','recordingVideoCodec','Update\x20Mixer\x20Event\x20on\x20REsize\x20SET','deferring\x20with\x20a\x20promise;\x20hashed\x20room','A\x20Guest\x20joined\x20the\x20room','onclose','WEBRTC\x20CONNECTION\x20OPEN','CLOSING\x20SECONDARY\x20CONNECTION;\x20matched\x20stream\x20ID\x20has\x20re-connected','vp9','inboundAudioPipeline','sendOnNewConnect','magnet','trip','changeOrder','security','completed','volume','east','poor','wear','sourceActive','requestVideoRecord','canvasCtx','onreadystatechange','contentHint','writeString','added\x20video\x20track','station','hands_','crease','chord','span','speakerMute','Transfer\x20was\x20cnacelled\x20by\x20remote\x20user;\x20parital\x20file\x20saved.','allowwebp','log','INITIAL\x20PUBLISH\x20START:\x20','charge','next','crop','screenShareStartPaused','You\x20are\x20a\x20co-director\x20of\x20this\x20room;\x20you\x20have\x20partial\x20director\x20control\x20assigned\x20to\x20you.','sending\x20message\x20via\x20WSS\x20as\x20WebRTC\x20failed\x20to\x20send\x20message;\x20RTC\x20peers\x20only','write','EastSideRepresentZ','resumeClock','InvalidOperationException','phrase','loud','novideo','screenshareAutogain','forest','men','screenStopped','sheet','buffer','turn','vb_url','PolandPirat','forceRotate','mountain','teeth','closeTimeout\x20cancelled;\x205','can\x27t\x20change\x20audio\x20bitrate;\x20no\x20audio\x20sender\x20found','begin','quick','Opened\x20transfer\x20channel','usual','Unknown','dictionary','Checking\x20to\x20see\x20if\x20reconnectino\x20to\x20ws\x20lost\x20any\x20peers','checkBasicStreamsExist','raw','motion','chance','burn','ICE\x20FAILed.\x20bad?','vdo.socialstream.ninja','webPquality','bitrate','cmd','aspectRatio','text/plain','closing\x203','queueList','createWritable','noise\x20gate\x20off','bank','remoteHash','spell','streamid-already-published','laugh','mouth','hash','startClock','getResponseHeader','window','allowNoGroup','fish','sendMessage','roomenc','syllable','GOT\x20ICES!!','lockedAudioBitrate','object','url','compressor','setRemoteDescription','baby','chunked','stringify','hash\x20is\x20','fast','iceConnectionState','heat','success','hangupDirector','degrade','melody','updateurl','signData','chick','failed\x20to\x20disconnect','tool','center','meshcast','layout','example','trackNumber','needKeyFrame','result','AudioContext','study','target','difficult','horse','develop','metal','meshcastScreenShareBitrate','band','else','close','letter','suffix','true\x20.','real','providing\x20answer','CHUNKED\x20DETAILS','charCodeAt','getSenders','sight','isDirector\x20','vdoninja','book','closeTimeout','has','show','figure','badStreamList','ship','batteryMeter','mid','head4','new\x20connection\x20is\x20contained\x20in\x20badStreamList!\x20This\x20might\x20be\x20the\x20director\x27s\x20video/audio\x20->\x20this\x20a\x20scene?','river','populate','happen','lay','/h264','indexOf','PONGED','BYE\x20RPCS','playbackheader','Media','especially','manualSink','remoteRaisedHandElement','/status','zoom\x20success','sail','PCS:\x20ICE\x20Disconnected;\x20wait\x20for\x20retry?\x20pcs','getParameters','starting\x20some\x20preload\x20bitrate\x20','mono','stream','power_level','gather','oniceconnectionstatechange','optimize','getElementById','sendframes','writeEBMLVarInt','[data-action-type=\x27recorder-local\x27][data--u-u-i-d=\x27','ctrlKey','http://','FileSystemWritableFileStream','children','network_type','born','closeRPC','column','videoaddedtoroom','TOO\x20MANY\x20PUBLISHING\x20PEERS','audioConstraints','allowVideo','ring','spot','join','directorState','instrument','channelOffset','sync','second','Messaging\x20sent','chair','bit','lowBitrateCutoff','targetBandwidth','glad','near','seem','sdp','forceRetry','watchTimeoutList:','toward','activelySpeaking','but','back','chrg','closed','skin','scene','string','group-set-updated','idea','mainmenu','watchTimeoutList','correct','setParameters','build','Chunked\x20Stream\x20Ended','plane','thing','localDescription','screenShareState','height_url','setupYourOwnPlease','winter','maintain-resolution','numberOfChannels','RTC\x20Connection\x20seems\x20to\x20be\x20dead\x20or\x20not\x20yet\x20open?\x202','plugged_in','CLOSED','optimizedBitrate','foot','hope','maxframeRate','thousand','sky','fakeUser','RTC\x20closed','hunt','.webm','labelsize','least','constructor','screenshareType','directorSettings','configAudio','also','Someone\x20Joined\x20the\x20Room\x20with\x20a\x20video','sugar','circle','Someone\x20Joined\x20the\x20Room','screenshareDenoise','sticky','wss://wss.vdo.ninja:443','view-connection','byteLength','&code=','miss','labelstyle','Failed\x20to\x20determine\x20size\x20of\x20element','session','new-push-connection','forEach','width','rejected','stopping\x20some\x20preload\x20bitrate\x20','lake','flow','island','single','iceTimer','mykey','writeEBMLVarIntWidth','remoteVideoMuteElement','verb','muted','process','cross','page','getTracks','party','meant','obs.ninja/','ptime','pos','rampUpTime','wind','reach','closing\x2013','joining-room','bitrate_set','closeTimeout\x20cancelled;\x203','clock','friend','FORCE\x20KEYFRAME\x20FOR\x20SCENE','organ','removeChild','sceneList','come','oil','add-a-label','exercise','changeMicrophone','codirector_changeURL','happy','turn:turn-eu2.obs.ninja:3478','cbr','country','put','get','Refreshing\x20scale','five','audioBitrate','https://meshcast.io/view.html?id=','fileWriter','always','drink','active','1266324KQvWzB','obsState','audioCodec','not-the-director','onicecandidate','cpuLimited','Browser','connectPeer','shoulder','fight','engine','A\x20director\x20joined\x20the\x20room','Can\x27t\x20change\x20the\x20location\x20once\x20started\x20streaming','preferAudioCodec','camp','finish','localVoiceMeter','seedStream','changeParams','gainNode','note','fine','Change\x20Label','day','canvasStream','shine','The\x20remote\x20request\x20failed;\x20the\x20&remote\x20token\x20did\x20not\x20match\x20or\x20the\x20remote\x20user\x20does\x20not\x20allow\x20remote\x20control.','stereo\x20enabled','pixelFix','closing\x204','The\x20remote\x20control\x20request\x20failed.','layouts','TFJSModel','data','Inbound\x20User-based\x20Message\x20from\x20Room','audioCtxOutbound','ball','announceCoDirector','include','claim','hw_enc','left','addCoDirector','recorder','class','seeding-started','dad','screenShareLabel','allowMIDI','hurry','showRoomTime','label','PUBLISHER\x27s\x20RTC\x20Connection\x20seems\x20to\x20be\x20dead?\x20','sink','land','every','afraid','broadcast=false','Overwrite\x20crosses\x20blob\x20boundaries','recordedBlobs','wave','sharp','limitBitrate','guestFeeds','https://www.youtube.com/','stick','had','ask','changeURL','scaleResolutionDownBy','length','processIce2','die','favor','retryWatchInterval','win','scale\x20set!','frameRate','videosource_','speakerMuted','notifyScreenShare','gotGenericData','jointone','heavy','neighbor','Firefox','apple','application/error','midiDevice','requestChangeEQ','videoMutedFlag','sensorDataFilter','each','start','substring','event','showSettings','recordLocal','ICE\x20closed?','4257320aYmWkd','weather','NOT\x20VIEW\x20TARGET','3816700xgMZTS','getPCM','million','https://turnservers.socialstream.ninja/','allowAudio','wing','water','selectedIndex','rest','farm','pow','./media/bg_sample.webp','createElement','setup\x20peer\x20complete','wonder','both','unmute-guest','You\x27ve\x20been\x20transferred','targetAudioBitrate','too','listen','locale','totalRoomBitrate_default','oxygen','webkitAudioContext','molecule','replace','screenShareElementHidden','enter','ICE\x20DISCONNECTED','science','defaultMedia','https://meshcast.io/servers.json?ts=','defaultBackgroundImages','gun','[data-action-type=\x22order-value\x22][data--u-u-i-d=\x22','midiHotkeys','container_','Chromium-based\x20v','remoteMuteState','ArrayBufferDataStream','icefilter','label_','GOT\x20ICEs!!','room_init','green','outboundVideoBitrate','customWSS','noiframe','call','hostedTransfers','bitrateTimeout','tire','reload','bear','application/sdp','region','Websockets\x20timed\x20out;\x2030\x20seconds','seedPlz','stream_configAudio','high','reconnected','request','since','bye','limitAudioEncoder','borderColor','coat','animatedMoves','hostname','statsMenu','city','Remote\x20request\x20decoded\x20successfully','climb','screenshareContentHint','find','channels','remote-video-mute-state','postMessage','once','with','directorSpeakerMute','great','Should\x20we\x20ask\x20to\x20play\x20the\x20stream\x20Again?','requestRateLimit','STARTING\x20NEW\x20AUDIO\x20TRACK','help','controlTimer','requestCoDirector','POST','ice','ICE\x20DID\x20NOT\x20FIND\x20A\x20PC\x20OPTION?\x20peer\x20might\x20have\x20left\x20before\x20ICE\x20complete','iframeSrc','done','closing\x2016','startsWith','unshift','director','local','URL','when','effect','square','RTC\x20already\x20connected','MESHCAST\x20LINK:\x20','manual','cool','mother','setRequestHeader','chatbutton','18kXLiCO','autorecord','bitrateGroupFlag','abs','scaleFactor','IchBinSteveDerNinja','couldn\x27t\x20set\x20preferred\x20audio\x20codec','line','excite','consent','rule','rpcs\x20onconnectionstatechange\x20Disconnected;\x20retry\x20in\x205s','blood','stream_configVideo','autorecordlocal','sat','bandwidth','requestFocusChange','candidates','width_url','coDirector','playsinline','obsControl','child','hidesololinks','stood','sending\x20message\x20via\x20WSS\x20as\x20WebRTC\x20failed\x20to\x20send\x20message','record','symbol','session.rpcs[UUID].screenIndexes:\x20','remoteDescription','onaudioprocess','user\x20didn\x27t\x20have\x20access\x20for\x20this\x20file.','one','charAt','Second\x20Thread\x20Waiting\x20for\x20TURN\x20LIST\x20to\x20load','codirectorSettings','clean','directorUUID','same','pauseClock','slip','\x20','preferCodec','directorEnabledPPT','h264profile','score','point','Max\x20bandwidth\x20controlling\x20bitrate:\x20','offsetChannel','north','application/json;\x20charset=utf-8','continent','remote-mute-state','scaleDueToBitrate','EncodedAudioChunk','description','getReader','canvasWebGL','audiobitrate','hiddenSceneViewBitrate','./media/bg_sample2.webp','no\x20UUID\x20in\x20msg','getSettings','PINGED','practice','keys','please','season','scaleResolution','initialPublish','transfer','son','control','Created\x20transfer\x20channel','-kbps','save','proxy','free','meshcastSettings','maxviewers','roomclaimed','cleaning\x20up\x20lost\x20connection','onconnectionstatechange\x20pcs\x20ice\x20--\x20disconnected,\x20but\x20not\x20yet\x20closed?\x20','parentNode','location','sendRequest','vDAv','directMigrateIssue','encoder','orientation','directorDisplayMute','story','Bad\x20EBML\x20datatype\x20','playback_audio_samplerate','init_video','createObjectURL','gray','kind','screenshareVideoOnly','streaming','sendKeyFrameScenes','mine','preLimitedBitrate','status','Authorization','quart','HANG\x20UP\x202\x20COMPLETE','optimizeBitrate','hanging\x20up','request\x20zoom\x20change:\x20','audioLatency','ICE:\x20','smell','inline-block','filename','arrive','pcs\x20RTC\x20CLOSED','visible','outboundAudioBitrate','Couldn\x27t\x20parse\x20JSON;\x20will\x20attempt\x20as\x20ArrayBuffer\x20UINT8ARRAY','meet','either','no\x20audio\x20track\x20to\x20poke','quiet','guest','Chunked_audio','light','salt','team','requestSceneUpdate','measure','lowMobileBitrate','rejoining\x20room','readAsArrayBuffer','transferred','webCodec','error','allowScreen','writable','experiment','able','stun:stun.l.google.com:19302','Publisher\x20will\x20be\x20ignored\x20due\x20to\x20max\x20connections\x20already\x20hit','substance','sensors','care','shift','requested\x20file\x20was\x20not\x20found','stone','Track\x20threw\x20an\x20error;\x20going\x20to\x20reconnect\x20it','processDescription','Room\x20is\x20already\x20claimed\x20by\x20someone\x20else.','speech','isInteger','print','vp8','Meshcast\x20error:\x20432','knew','RPCS\x20for\x20MESHCAST\x20ISNT\x20MADE\x20YET??','metaKey','cleanup','early','Remote\x20user\x20is\x20a\x20director','charging','answer','dropped\x20candidate\x20due\x20to\x20filter','message\x20could\x20not\x20be\x20sent;\x20queuing\x20it','request\x20rate\x20limit:\x20','not\x20record\x20button\x20detected;\x20can\x27t\x20update\x20time\x20since\x20started\x20recording','%\x20battery\x20remaining','border','Track\x20was\x20removed','heard','product','remoteMuteElement','machine','box','https://meshcast.io/view.html?api=','found','split','desaltStreamID','seed','directorMutedState','connect','agree','viewDirectorOnly','stopPropagation','order','replaceAll','lowerhand','floor','lead','meshcastScale','solution','micIsolate','videoMargin','lin','createAnswer','serve','hidden','importKey','max_bandwidth_capped_kbps','focusDistance','channel','roll','rotate_video','leavetone','effectValue_default','bandwidth\x20set\x20e!\x20','totalBitrate:\x20','student','preventDefault','large','videoMuted','targetBitrate','startTime','addFrame','recording_audio_pipeline','hard','welcomeMessage','New\x20ON\x20TRACK\x20event','padStart','available_outgoing_bitrate_kbps','garden','room-is-claimed-codirector','checking','hidehome','WebRTC\x20Connection\x20Closed.\x20Clean\x20up.\x20657','tiny','could\x20not\x20be\x20sent;\x20queuing\x20it','requestAudioRateLimit','micIsolated','space','art','video_bitrate_kbps','processFrame','shop','cid:','capital','done\x20setting\x20degrad','classList','four','solo','createScriptProcessor','what','swim','keyframe','air','decodeRemote','crypto','BITRATE\x203:\x20','STREAM\x20ID\x20desalted\x202:','disableMouseEvents','heart','set','pipeTo','bind','live','obsfix','forceMediaSettings','above','group','Someone\x20is\x20trying\x20to\x20transfer\x20a\x20guest','chunksInQueue','qlr','post','TrackNumber\x20must\x20be\x20>\x200\x20and\x20<\x20127','spring','https://turnservers.rtc.ninja/','run','45rrtTOB','\x20(ok)','opposite','waitImage','taintedSession','last','fly','quotient','getLocalStream','allowWebp','vdav','duck','iframeVideo','turn:turn-cae1.vdo.ninja:3478','false','audioInputChannels','miniInfo','\x20:\x20','train','loadoutID','maintain-framerate','localMuteElement','resolution','compare','force','videoWriter','remoteMuteState_','signature','race','use1','downloads','relative','prioritize-audio','director-connected','stretch','experience','sending\x20request\x20via\x20server','far','ceil','guide','videos','obs_control','maxviewers_url','details','screenIndexes','preloadbitrate','sid','meterStyle','forcePLI','setVideoBitrate','design','verify','subject','onerror','Something\x20went\x20wrong\x20with\x20incoming\x20track..','sampleRate','addIceCandidate','signalMeter','screensharequality','setupIncoming','tell','deep','avatar','reply','hangupbutton','requested-stream','videosource','option','property','against','closeTimeout\x20cancelled;\x207','disableOBS','applyIsolatedVolume','distant','readable','setupScreenShareAddon','among','setVideoScale','decryptMessage','plugged','ROOMID\x20EANBLED','particular','certain','iframetarget','showall','connected','led','nacks_per_second','could','section','relay','slow','conn_type','firstPlayTriggered','alpha','table','vdo.ninja/','successfully\x20sent\x20message\x20vis\x20WebRTC\x20instead\x20of\x20WSS\x20to\x20all\x20RTC\x20Peers','OBSNINJAFORLIFE','catch','turn:www.turn.vdo.ninja:3478','und','ride','level','networkPriority','pcs','showlabels','new','think','enhance','encryptMessage','forceTcpMode','keyframeRate','block','teach','cleanOutput','true','segment','forceScreenShareAspectRatio','forceios','muteStateTemplate','dataset','here','splice','grow','showClock','OPEN','requestChangeMicDelay','edgelist','couldn\x27t\x20set\x20preferred\x20video\x20codec','starting\x20kicker','introButton','offset','grand','requestAudioHack','weight','autoGainControl','wash','sceneType','state','processIce','step','open','[data-action-type=\x22mute-guest\x22][data--u-u-i-d=\x22','failed\x20to\x20send\x20zoom\x20change\x20request','actual\x20bitrate:','division','stopping\x20old\x20track','remoteMuted','pretty','unified-plan','canvasSource','turns:www.turn.obs.ninja:443','speed','choose','data\x20channel\x20being\x20used\x20in\x20reverse;\x20this\x20shouldn\x27t\x20really\x20happen,\x20except\x20if\x20maybe\x20doing\x20a\x20file\x20transfer','noFEC','car','opacityMuted','addTrack','gave','myVideo.webm','broadcastChannel','small','orderby','ended','are','morning','voice','chunkedAudioEnabled','they','eye','directorSpeakerMuted','ab_url','failed','udp','liquid','gpGPU','sendFile','protect','try','obsCommand','LOADING\x20UP\x20WAITING\x20WATCH\x20STREAM:\x20','dark','than','pressed','introOnClean','Content-Type','session.watchTimeoutList\x20no\x20longer\x20exists;\x20won\x27t\x20retry.','frameWriter','lady','deltaY','pong','statsInterval','createJavaScriptNode','audio_codec_url','stats','bypass','turn:turn-eu4.vdo.ninja:3478','fullscreen','filetransfer','Can\x27t\x20play\x20your\x20own\x20stream\x20ID','height','disabled','cry','hasOwnProperty','getAsDataArray','beauty','ping','safemode','broke','**\x20connected','key','decide','noaudio','remoteInterfaceAPI','Video\x20Bitrate\x20is\x20locked;\x20can\x27t\x20update','limitaudio','bed','writeByte','look','srcObject','setFloat32','measureEBMLVarInt','wall','Only\x20the\x20main\x20director\x20can\x20use\x20this\x20setting','Chunked_video','eventPlayActive','isView','enemy','remoteZoom','surface','empty\x20ice..','fun','sceneType2','may','dataOffset','frameReader','waitingWatchList','allowGraphs','interest','bandwidth\x20set\x20b!\x20','apiserver','requesting\x20stream','track','enhanceaudio','animal','rose','remoteStats','writeFloatBE','mutedState','\x20---\x20PC\x20TIMED\x20OUT,\x20but\x20still\x20alive.\x20Killing\x20it.','sceneSync','pose','receiveChannel','very','divide','suggest','totalRoomBitrate','autoadd','title','triangle','wss://api.vdo.ninja:443','ICE\x20FAILED','366012uibVBa','limitMaxBandwidth','middle','rotated','turn:turn-usw2.vdo.ninja:3478','json','broadcast','The\x20Director\x20has\x20disabled\x20your\x20vision\x20temporarily
','decimal','ground','FORCING\x20A\x20KEY\x20FRAME:\x20','love','streamSrc','autoSyncObject','ear','requestStream','createMediaStreamSource','disconnected','said','virtualcam','UUID\x20does\x20not\x20exist','seven','Restarting\x20since\x20closed','told','','displayMute','value\x20there','writer_config','thank','KEY\x20FRAME\x20REQUESTED','sending\x20message\x20via\x20server','decode','Someone','requestFile','videoElement','streamID','paper','count','add','noon','generator','create\x20offer\x20worked','meshcastAudioBitrate','mediaDevices','sand','showDirector','video/webm','electric','pointer','recording_audio_compressor_type','main-director','adding\x20track','thought','Offset\x20may\x20not\x20be\x20NaN','scene-connected','chunkedStream','way','tall','?ts=','pound','writeUnsignedIntBE','focus','The\x20request\x20was\x20rejected.\x0a\x0aThe\x20remote\x20OBS\x20system\x20needs\x20a\x20matching\x20passcode\x20set\x20using\x20&remote.\x0a\x0aSee\x20the\x20documentation\x20for\x20help.','publishing\x20SDP\x20Offer:\x20','_screen','successfully\x20requested\x20audio\x20and\x20video','sense','setResolution','cleanDirector','touch','push','song','roombitrate','requestZoomChange','much','made','getTime','long','concat','priority','updateTime','Someone\x20sent\x20us\x20an\x20ANSWER\x20sdp??','company','appendChild','evening','session.setupScreenShareAddon','believe','disableHotKeys','dream','samplingFrequency','1vh','virtualHangup','no\x20pcs[UUID]','writeDoubleBE','set-video-scale','might','The\x20director\x20approved\x20you\x20as\x20a\x20co-director','mass','town','HANG\x20UP\x20COMPLETE','video','tfliteModule','transferSettings','Failed\x20attempt\x20to\x20connect\x20as\x20co-director','talk','bring','bandwidth\x20set\x20h!\x20','done\x20setting\x20degrad\x20to\x20','carry','month','permaid','setClock','https://temp.vdo.ninja/','provide','onmessage','switchMode','lost','changeLabel','acc','de2','host','delta','maxBitrate','syncState','chatname','change','querySelector','servers','round','problem','mute','common','broadcastIFrame','PCS\x20WINS\x20ICE','showTime','binaryType','listing','slotmode','cut','8px','cae1','top','screen','Lowered\x20hand','ondatachannel','bandwidthMuted','all','captain','anger','api','chunked_mode','closeTimeout\x20cancelled;\x206\x27\x20retry\x20in\x203s?','[data-sololink]','minimumRoomBitrate','pop','subtle','know','newMainDirectorSetup','chart','eight','Not\x20a\x20scene','appear','multiply','setOpusAttributes','bar','directorPassword','codirector\x20request\x20hash\x20failed','pushEffectsData','token','pair','configVideo','vary','received\x20data\x20from\x20viewer','consonant','home','enhacing\x20audio\x20encoder','roomTimer','bell','codecs','We\x20will\x20not\x20request\x20the\x20meshcast\x20as\x20no\x20audio\x20or\x20video\x20is\x20requested','want','maxpublishers','doNotSeed','screenShareElement','lowerVolume','wire','thin','dear','neck','savedBitrate','createDataChannel','enc','requestUpload','pick','offerSDP','trade','hardware_video_encoder','10px','that','death','see','720','dress','alert','disconnectedTimeout','apiSocket','transparent','done\x20clearing\x20audio','thick','directorView','caught','brother','chatmessage','codirector_transfer','joy','feel','writeBytes','responseText','getVideoBitrates','midiIn','scaleWidth','night','ctx','stunServers','textContent','defaultIframeSrc','crowd','cloud','remoteFocusZoomRequest','yellow','can','watchStream','webm','allowBroadcast','some','fire','totalSceneBitrate','stereo\x20inbound\x20enabled','dataMode','images','act','toLowerCase','directorActions','objectFit','addEventListener','board','during','bad','smile','sure','front','blow','utf-8','innerText','requestedStatsInterval','adaptivePtime','className','setAudioBitrate','resending\x20message','closePC','screenshare','fat','encodings','stand','shape','roomid','bottom','mirrored','raisehands','ACTION\x20REJECTED:\x20','send\x20channel\x20open\x20pcs','processRPCSOnMessage','readAsText','should','maxBandwidth','Only\x20the\x20main\x20director\x20can\x20transfer\x20this\x20guest','proper','cloneNode','work','42e01f','audioMeterGuest','minute','picture','disableNACK','from','new-display-name','GOT\x20ICE!!','fact','history','tail','won\x27t','red','steve','voiceMeter','frameMeta','cow','onconnectionstatechange','password','obsstudio','audioDevice','Meshcast\x20SET\x20SCALING\x20IS\x20FIRING,\x20which\x20is\x20GOOD\x20!!!!!!','processFrameAudio','modern','screenshareAEC','recording','soil','Offset\x20may\x20not\x20be\x20negative','thus','AES-CBC','limitTotalBitrateGuests','moment','keyframeTimeout','postInterval','overlayNinja','chunks','for','directVideoMuted','windowed','play','directorChat','contain','applyIsolatedChat','power','random','human','shall','quality_url','ease','infocus','consider','changeCamera','low','Incoming\x20Ice\x20Offer\x20does\x20not\x20match\x20Session','market',',\x20isDirector:\x20','seat','getOpusBitrate','bat','muted_activeSpeaker','fadein','remote','remoteVideoMuted','keyname','MAKING\x20A\x20NEW\x20RPCS\x20RTC\x20CONNECTION','selectImageTFLITE_contents','Audio\x20isn\x27t\x20setup\x20yet.','\x20as\x20preferred\x20codec\x20by\x20viewer\x20via\x20API','obs','frame','silver','requestResolution','playback_audio_pipeline','yes','init_audio','sendMsg','hot','EBML\x20VINT\x20size\x20not\x20supported\x20','nodownloads','slot','[data-action-type=\x22toggle-group\x22][data--u-u-i-d=\x22','soft','videoOptions','trouble','separate','img','fraction','lockedVideoBitrate','\x20(fail)','cpu','decrypted','autoplay','display','Remote\x20peer\x20connected\x20to\x20video\x20stream.\x0a\x0aConnection\x20to\x20handshake\x20server\x20being\x20killed\x20on\x20request.\x20This\x20increases\x20security,\x20but\x20the\x20peer\x20will\x20not\x20be\x20able\x20to\x20reconnect\x20automatically\x20on\x20connection\x20failure.\x0a\x0aPress\x20OK\x20to\x20start\x20the\x20stream!','ASKING\x20FOR\x20AUDIO\x20AND\x20VIDEO?','video_muted_init','createWriteStream','Does\x20Local\x20Stream\x20Source\x20EXIST?','PROBLEM,\x20Senders\x20is\x20more\x20than\x200:\x20','Safari','Keyframe\x20inserted','hit','effectValue','bandwidth\x20set\x20c!\x20','hangup','after','forceAspectRatio','BROWER\x20DID\x20NOT\x20SUPPORT\x20LIMIT\x20BITRATE','toString','off','seedAttempts','turnlist','showSaveFilePicker','midiOut','codirectorRequested','Transfer\x20ended','float','\x20(timeout)','autoSyncCallback','miconly','general','ON\x20NEGO\x20NEEDED','migrate','interval','Seeking\x20beyond\x20the\x20end\x20of\x20file\x20is\x20not\x20allowed','allowVideos','degree','activeSpeaker','held','streams','writer','requestStats','room\x20rate\x20restriction\x20detected.\x20No\x20videos\x20will\x20be\x20published\x20to\x20other\x20guests','between','watchTimeoutList2:','Requested_resolution','create','position','codec','RECONNECTING\x20to\x20HSS;\x20DISCONNECTING\x20FROM\x20TRANSFERRED\x20ROOM','timer','screenshare_url','autoSync','simple','plural','support','UUID','leg','discuss','pliCount','closeTimeout\x20cancelled;\x202','webcamonly','max','send\x20channel\x20closed','Setting\x20Codec\x20to\x20vp8','approved','Create\x20a\x20new\x20RTC\x20connection;\x20offering\x20SDP\x20on\x20request','ArrayBufferDataStream\x27s\x20pos\x20lies\x20beyond\x20end\x20of\x20buffer','stead','deal','version','screenshareStereo','ori','mag','oncanplay','iron','onremovetrack','VP9','piece','manualBandwidth','RTCRtpSender','seek','pay','retryTimeout','language','RTC\x20Connection\x20seems\x20to\x20be\x20dead\x20or\x20not\x20yet\x20open?\x204','few','vp09.00.10.08','TRANSFERRING?','timecode','bigmutebutton','room','Setting\x20pc\x20connection\x20timeout\x20in\x205\x20seconds\x20??','coDirectorEnable','bought','hold','fig','Mute\x20video\x203306','more','2px','pull','boat','startWriter','dtx','type','\x20x\x20','overlayControls','failed\x20to\x20send\x20focus\x20change\x20request','calculateScale','CONNECTEED!','nature','mile','direct','SHA-256','vdo.ninja','directorVideoMuted','speedtest','AndroidFix','hssConnection','Bad\x20EBML\x20VINT\x20size\x20','querySelectorAll','vector','week','lowcut','nocursor','exclude','house','noisegate','total_outbound_p2p_connections','ever','muted_savedState','defaultPassword','again','sendGenericData','ago','pluginVersion','configuration','quality_limitation_reason','out','ctrl','stream\x20ID\x20is\x200\x20length','fear','colony','panning','danger','iOS\x20devices\x20do\x20not\x20support\x20dynamic\x20bitrates\x20correctly;\x20skipping','src','noNacks','onnegotiationneeded\x20triggered;\x20creating\x20offer','century','no\x20video\x20track\x20to\x20control','nine','preferVideoCodec','took','de1','number','limitTotalBitrate','opacity','seeding','applySoloChat','nextQueue','pitch','audioCodecs','Audio\x20processing\x20is\x20disabled\x20with\x20this\x20guest.\x20Can\x27t\x20mute\x20or\x20change\x20volume','probable','snow','brought','guess','screensharecursor','EOF1','header','generateStreamID','encode','estop','invent','pol1','push-connection','connectionState','several','his','ontrack','cover','seeding\x20blocked','forceRetryTimeout','maxptime','784756MTvNZA','chunkTime','feed','directorDisplayMuted','check','stereo','https://turnservers.vdo.ninja/','joinRoom','stop','exact','WebMWriter','broadcastChannelID','NO\x20NEW\x20TRACKS?','onclick','STARTING\x20NEW\x20VIDEO\x20TRACK','listPromise','Members\x20in\x20Room','layout-updated','defaultSpeaker','list','steam','tainted','setAttribute','quality','obsVisibility','h264','inputBuffer','pingTimeout','webp','family','solo-scene-connected','directorVolumeState','decoder','216868nMtsgw','period','slave','useragent','continue','text','viewheight','promptAccess','meshcastBitrate','busy','area','limiting\x20AudioEncoder','man','equate','clicked','until','recording_audio_gain','leave','createOffer','getVideoSettings','requestCoMigrate','anysend','will','audioEffects','decodeInvite','paint','opacityDisconnect','overlay','intime','setScale','previewToggleState','noise','Utf8','disableWebAudio','map','chat','govern','noScaling','boy','writeU8','degradationPreference','field','dedicatedControlBarSpace','sitePassword','many','platform','ON\x20FOCUS\x20NOT\x20FOUND','chunkedVideoEnabled','publicKey','condition','solve','soloVideo','meshcastScreenShareCodec','dance','channelWidth','feet','view','ran','CriOS','isArray','controls','New\x20Label:\x20','method','flower','muteState','requestStatsContinuous','brown','bufferedAmount','bird','cleanish','directorBlindAllGuests','Not\x20supported;\x20expected\x20\x27filetransfer\x27','ontimeout','initial_group','style','view_set','webAudios','place','insect','follow','processDescription2','Unknown\x20Meshcast\x20error','remote-screenshare-state','[data-action-type=\x22volume\x22][data--u-u-i-d=\x22','doctor','mean','turns:www.turn.vdo.ninja:443','wide','flipped','lie','message','best','gone','where','micDelay','Max\x20bandwidth\x20being\x20capped:\x20','time','1280','ifs','sensorData','limitAudio','screenStream','UUID\x20not\x20found;\x20can\x27t\x20close.','remove','anyrequest','maxconnections','even','maxvideobitrate','dog','forward','stopWriter','cleanViewer','settings','FAIL\x20rpcs\x20onconnectionstatechange','visibility','director-share','year','directorHash','broadcast_mode','can\x27t\x20change\x20bitrate;\x20no\x20video\x20sender\x20found','bitrate\x20timeout;\x20ios/firefox\x20specific:\x20','channelCount','was','https://','none','realUUID','label=','\x20(full)','userAgent','maxMobileBitrate','rise','Timestamp\x20duplicated','rock','waitImageTimeout','good','devicePixelRatio','.battery-level','closing\x2018','scale','requestChangeCompressor','privacy','SDP\x20Sessions\x20Match.\x20I\x20assume\x20ADDING\x20TRACKS.\x20RPCS','savedVolume','path','requestAs'];_0x5314=function(){return _0x2e475e;};return _0x5314();}var WebRTC={};WebRTC[_0x2eaef5(0x304)]=(function(){var _0x139c85=_0x2eaef5,_0x2de54d={};function _0xe7beec(){var _0x3a27a8=_0x706a,_0x386479,_0x256c07,_0x5674ef=new Promise((_0x45bb91,_0x5f683f)=>{_0x386479=_0x45bb91,_0x256c07=_0x5f683f;});return _0x5674ef[_0x3a27a8(0xa49)]=_0x386479,_0x5674ef['reject']=_0x256c07,_0x5674ef;}_0x2de54d[_0x139c85(0x8b3)]=function(_0x599b66=0x7){var _0x3dab3f=_0x139c85,_0x3ded6e='',_0x1474c9=_0x3dab3f(0xa11);for(var _0x49e912=0x0;_0x49e912<_0x599b66;_0x49e912++){_0x3ded6e+=_0x1474c9[_0x3dab3f(0x4a2)](Math[_0x3dab3f(0x53f)](Math['random']()*_0x1474c9[_0x3dab3f(0x3f2)]));}try{_0x3ded6e=_0x3ded6e[_0x3dab3f(0x53d)]('AD',_0x3dab3f(0x4d7)),_0x3ded6e=_0x3ded6e[_0x3dab3f(0x53d)]('Ad',_0x3dab3f(0xa4b)),_0x3ded6e=_0x3ded6e[_0x3dab3f(0x53d)]('ad',_0x3dab3f(0x599)),_0x3ded6e=_0x3ded6e[_0x3dab3f(0x53d)]('aD','vDav');}catch(_0x5030ac){errorlog(_0x5030ac);}return log(_0x3ded6e),_0x3ded6e;},_0x2de54d[_0x139c85(0x9ed)]=function(_0x40f417=0x7){var _0x2cd188=_0x139c85,_0x32499b='',_0x9c4fe0=['the','of','to','and','a','in','is','it','you',_0x2cd188(0x75d),'he',_0x2cd188(0x95c),_0x2cd188(0x7d2),'on',_0x2cd188(0x635),_0x2cd188(0x462),'as','I',_0x2cd188(0x8bb),_0x2cd188(0x639),'be','at',_0x2cd188(0x4a1),_0x2cd188(0x20b),_0x2cd188(0x9e8),'from','or',_0x2cd188(0x3ee),'by',_0x2cd188(0x1e5),_0x2cd188(0x339),_0x2cd188(0x575),_0x2cd188(0x781),'we',_0x2cd188(0x77d),_0x2cd188(0x892),'other','were',_0x2cd188(0x729),'there',_0x2cd188(0x476),'up','use',_0x2cd188(0x1e7),_0x2cd188(0x1f6),_0x2cd188(0x6a9),'an',_0x2cd188(0x408),_0x2cd188(0x1e8),'which','do','their',_0x2cd188(0x942),'if',_0x2cd188(0x8f8),_0x2cd188(0x6cf),'about',_0x2cd188(0x90e),'then','them',_0x2cd188(0x282),'would',_0x2cd188(0x219),'so',_0x2cd188(0x1f0),'her',_0x2cd188(0x6e4),'make',_0x2cd188(0x349),_0x2cd188(0x75f),'him',_0x2cd188(0xa2d),_0x2cd188(0x2f2),_0x2cd188(0x66b),_0x2cd188(0x86a),_0x2cd188(0x3c3),_0x2cd188(0x5e7),'go',_0x2cd188(0x398),_0x2cd188(0xa01),_0x2cd188(0x8a3),_0x2cd188(0x253),'no','most',_0x2cd188(0xa2b),'my',_0x2cd188(0xa20),_0x2cd188(0x733),_0x2cd188(0x418),_0x2cd188(0x647),'call',_0x2cd188(0x9c8),'who',_0x2cd188(0x67a),'down',_0x2cd188(0x22b),'been',_0x2cd188(0x9d3),_0x2cd188(0x45d),_0x2cd188(0xa5d),_0x2cd188(0x5fa),_0x2cd188(0x7ad),'part',_0x2cd188(0xa56),_0x2cd188(0x3a3),_0x2cd188(0x92f),_0x2cd188(0x6e2),_0x2cd188(0x582),_0x2cd188(0x93f),_0x2cd188(0x817),_0x2cd188(0x33a),_0x2cd188(0x247),'only',_0x2cd188(0x717),_0x2cd188(0x8ee),_0x2cd188(0x956),'came',_0x2cd188(0x2f3),_0x2cd188(0x3e3),_0x2cd188(0x968),'me',_0x2cd188(0x99f),'our','under',_0x2cd188(0x248),_0x2cd188(0x68e),_0x2cd188(0xa30),'just','form',_0x2cd188(0x9ea),_0x2cd188(0x464),_0x2cd188(0x5fb),_0x2cd188(0x1e6),_0x2cd188(0x468),_0x2cd188(0x7e2),_0x2cd188(0x487),'differ',_0x2cd188(0x28f),'cause',_0x2cd188(0x6e1),_0x2cd188(0x937),_0x2cd188(0x9d9),_0x2cd188(0xa44),'right',_0x2cd188(0x908),'old',_0x2cd188(0x425),_0x2cd188(0x4a7),_0x2cd188(0x5cb),'does','set',_0x2cd188(0x23e),_0x2cd188(0x74b),_0x2cd188(0x578),'well',_0x2cd188(0x364),_0x2cd188(0x7d5),_0x2cd188(0x632),_0x2cd188(0x98f),_0x2cd188(0x3a2),_0x2cd188(0x745),_0x2cd188(0x1fe),'hand','port',_0x2cd188(0x555),_0x2cd188(0x2b0),_0x2cd188(0x6bd),_0x2cd188(0x94c),_0x2cd188(0x3e2),_0x2cd188(0x609),'must','big',_0x2cd188(0x44e),'such',_0x2cd188(0x931),_0x2cd188(0x787),'why',_0x2cd188(0x3ef),_0x2cd188(0x28b),_0x2cd188(0x714),'went',_0x2cd188(0x4ff),_0x2cd188(0x4e2),_0x2cd188(0x81b),'need',_0x2cd188(0x886),_0x2cd188(0x7b1),_0x2cd188(0x643),'us',_0x2cd188(0x88c),_0x2cd188(0x685),_0x2cd188(0x4af),_0x2cd188(0x47d),'world',_0x2cd188(0x332),_0x2cd188(0x346),'self',_0x2cd188(0x212),'father',_0x2cd188(0xa0e),_0x2cd188(0x79e),'own',_0x2cd188(0x384),_0x2cd188(0x7a8),_0x2cd188(0x3a1),_0x2cd188(0x533),'answer',_0x2cd188(0x230),_0x2cd188(0x60b),_0x2cd188(0x2db),'still',_0x2cd188(0x200),_0x2cd188(0xa2c),_0x2cd188(0x8bd),'food','sun',_0x2cd188(0x572),_0x2cd188(0x833),_0x2cd188(0x61a),_0x2cd188(0x9dd),_0x2cd188(0x63a),'never',_0x2cd188(0x594),'let',_0x2cd188(0x6cb),_0x2cd188(0x459),'tree',_0x2cd188(0x383),_0x2cd188(0x41b),_0x2cd188(0x55b),_0x2cd188(0x409),_0x2cd188(0x6f6),_0x2cd188(0x4dc),_0x2cd188(0xa05),_0x2cd188(0x5b4),'sea','draw',_0x2cd188(0x3d5),_0x2cd188(0x1d3),_0x2cd188(0x58e),'don\x27t','while','press','close',_0x2cd188(0x774),_0x2cd188(0x2e8),'life',_0x2cd188(0x85e),_0x2cd188(0x4b2),_0x2cd188(0x61d),_0x2cd188(0x333),'together',_0x2cd188(0x27d),'white',_0x2cd188(0x31b),_0x2cd188(0x297),'got',_0x2cd188(0x1ca),_0x2cd188(0x2d6),_0x2cd188(0x7de),_0x2cd188(0x6bb),_0x2cd188(0x586),_0x2cd188(0x3a9),_0x2cd188(0x1f3),'those',_0x2cd188(0x421),_0x2cd188(0xa47),'often',_0x2cd188(0x2e5),_0x2cd188(0x8f1),_0x2cd188(0x877),_0x2cd188(0x2fb),_0x2cd188(0x62c),_0x2cd188(0x919),_0x2cd188(0x512),_0x2cd188(0x32b),_0x2cd188(0x2f0),_0x2cd188(0x703),_0x2cd188(0x8a1),_0x2cd188(0x430),_0x2cd188(0x98e),_0x2cd188(0x863),_0x2cd188(0x393),'began',_0x2cd188(0x341),_0x2cd188(0x2b9),_0x2cd188(0x293),_0x2cd188(0x8c9),_0x2cd188(0x461),'base','hear',_0x2cd188(0x2de),_0x2cd188(0x721),_0x2cd188(0x790),'watch','color','face','wood','main',_0x2cd188(0x98a),'plain','girl',_0x2cd188(0x29a),_0x2cd188(0xa40),'ready',_0x2cd188(0x585),_0x2cd188(0x889),_0x2cd188(0x7ba),'list',_0x2cd188(0x204),_0x2cd188(0x76e),_0x2cd188(0x6ff),_0x2cd188(0x926),'soon','body',_0x2cd188(0x94e),_0x2cd188(0x8de),_0x2cd188(0x878),_0x2cd188(0x68c),_0x2cd188(0x8f3),_0x2cd188(0x6de),_0x2cd188(0x503),'door',_0x2cd188(0x52e),'black',_0x2cd188(0x1fb),_0x2cd188(0x9a6),_0x2cd188(0x3d8),_0x2cd188(0x38c),_0x2cd188(0x226),_0x2cd188(0x2fd),_0x2cd188(0xa4f),_0x2cd188(0x2f6),_0x2cd188(0x8ec),'half',_0x2cd188(0x966),_0x2cd188(0x53c),_0x2cd188(0x782),'south','problem',_0x2cd188(0x856),_0x2cd188(0x6ae),_0x2cd188(0x51e),'pass',_0x2cd188(0x451),'top',_0x2cd188(0xa5c),'king',_0x2cd188(0x569),_0x2cd188(0x52d),_0x2cd188(0x93d),'hour','better',_0x2cd188(0x2e7),_0x2cd188(0x78d),'hundred',_0x2cd188(0x3a5),_0x2cd188(0x24d),_0x2cd188(0x61c),_0x2cd188(0x522),_0x2cd188(0x867),_0x2cd188(0x9b1),_0x2cd188(0x6a0),_0x2cd188(0x67f),_0x2cd188(0x38d),_0x2cd188(0x2c7),_0x2cd188(0x380),'sing',_0x2cd188(0x426),_0x2cd188(0x1ee),_0x2cd188(0x5ee),'travel',_0x2cd188(0x24f),_0x2cd188(0x636),_0x2cd188(0x9e3),_0x2cd188(0x83d),_0x2cd188(0x8ba),'vowel',_0x2cd188(0x337),'war',_0x2cd188(0x2fe),_0x2cd188(0x5d4),_0x2cd188(0x1e1),_0x2cd188(0x5ea),_0x2cd188(0x2d3),_0x2cd188(0x6a2),'person',_0x2cd188(0xa0d),_0x2cd188(0x547),_0x2cd188(0x738),'road',_0x2cd188(0x904),_0x2cd188(0x99b),_0x2cd188(0x48a),_0x2cd188(0x906),_0x2cd188(0x86c),_0x2cd188(0xa19),'notice',_0x2cd188(0x637),'unit',_0x2cd188(0x7d9),_0x2cd188(0x6f9),_0x2cd188(0x3c1),_0x2cd188(0x5e1),_0x2cd188(0x595),'fall',_0x2cd188(0x540),_0x2cd188(0x65b),_0x2cd188(0x646),_0x2cd188(0x530),_0x2cd188(0x3c0),_0x2cd188(0x22a),'plan',_0x2cd188(0x2f4),_0x2cd188(0x207),_0x2cd188(0x531),'noun',_0x2cd188(0x90b),_0x2cd188(0x41a),_0x2cd188(0x344),_0x2cd188(0x50d),_0x2cd188(0x6d2),_0x2cd188(0x46f),_0x2cd188(0x65e),_0x2cd188(0x1d8),_0x2cd188(0x499),_0x2cd188(0x7d7),_0x2cd188(0x791),_0x2cd188(0x601),_0x2cd188(0x882),'final',_0x2cd188(0x62f),_0x2cd188(0x43f),'oh',_0x2cd188(0x298),_0x2cd188(0x2df),'ocean','warm',_0x2cd188(0x4ce),_0x2cd188(0x7b0),'strong','special','mind','behind','clear',_0x2cd188(0x7b8),'produce',_0x2cd188(0x7b6),'street','inch',_0x2cd188(0x739),'nothing','course',_0x2cd188(0x1c9),'wheel','full',_0x2cd188(0x5a7),'blue',_0x2cd188(0x2bf),_0x2cd188(0x664),_0x2cd188(0x676),_0x2cd188(0x5cc),'moon',_0x2cd188(0x37a),_0x2cd188(0x355),'system',_0x2cd188(0x8eb),_0x2cd188(0x1d4),_0x2cd188(0x49b),_0x2cd188(0x86d),_0x2cd188(0x71a),'gold','possible',_0x2cd188(0x348),_0x2cd188(0x84c),'dry',_0x2cd188(0x420),_0x2cd188(0x2b2),_0x2cd188(0x358),_0x2cd188(0x88e),_0x2cd188(0x91b),_0x2cd188(0x8c5),'game',_0x2cd188(0x79f),_0x2cd188(0x8ef),_0x2cd188(0x7fa),_0x2cd188(0x36f),_0x2cd188(0x8ae),_0x2cd188(0x2c9),_0x2cd188(0x8ad),_0x2cd188(0x446),_0x2cd188(0x700),_0x2cd188(0x7f7),_0x2cd188(0x5d8),'fill',_0x2cd188(0x268),_0x2cd188(0x8fb),_0x2cd188(0x85c),_0x2cd188(0x5db),_0x2cd188(0x614),_0x2cd188(0x3d0),_0x2cd188(0xa1c),_0x2cd188(0x3e8),_0x2cd188(0xa1f),_0x2cd188(0x57e),'am',_0x2cd188(0x977),_0x2cd188(0x3ff),_0x2cd188(0x917),_0x2cd188(0x3b6),_0x2cd188(0x837),'arm',_0x2cd188(0x939),_0x2cd188(0x30a),'material',_0x2cd188(0x99d),_0x2cd188(0x742),'settle',_0x2cd188(0x21a),_0x2cd188(0x616),_0x2cd188(0x826),'ice','matter',_0x2cd188(0x367),_0x2cd188(0x740),'include',_0x2cd188(0x68f),_0x2cd188(0x2bc),_0x2cd188(0x1d0),_0x2cd188(0xa45),_0x2cd188(0x758),_0x2cd188(0x9e6),_0x2cd188(0x6bc),_0x2cd188(0x478),_0x2cd188(0xa24),_0x2cd188(0x3f2),'represent',_0x2cd188(0x56a),_0x2cd188(0x5c3),_0x2cd188(0x44a),'energy',_0x2cd188(0x35c),_0x2cd188(0x8ac),_0x2cd188(0x669),_0x2cd188(0x76a),_0x2cd188(0x9f8),_0x2cd188(0x5f5),_0x2cd188(0x1df),_0x2cd188(0x6ed),_0x2cd188(0x804),_0x2cd188(0x28a),_0x2cd188(0x24c),_0x2cd188(0x5ab),_0x2cd188(0x2b7),_0x2cd188(0xa16),'summer',_0x2cd188(0x5a1),'sleep','prove','lone',_0x2cd188(0x841),_0x2cd188(0x39b),_0x2cd188(0x66f),_0x2cd188(0x5f2),'mount',_0x2cd188(0x1c1),_0x2cd188(0x359),_0x2cd188(0x78c),_0x2cd188(0x76d),_0x2cd188(0x34e),_0x2cd188(0x48f),'written',_0x2cd188(0x1cc),_0x2cd188(0x328),'kept',_0x2cd188(0x9db),'grass',_0x2cd188(0x7be),'job','edge','sign','visit',_0x2cd188(0x1e9),_0x2cd188(0x7ff),_0x2cd188(0x678),_0x2cd188(0x1c2),_0x2cd188(0x1dc),_0x2cd188(0x410),_0x2cd188(0x704),_0x2cd188(0x414),_0x2cd188(0x448),_0x2cd188(0x3bb),_0x2cd188(0x39e),_0x2cd188(0x356),_0x2cd188(0x921),'clothe','strange',_0x2cd188(0x93e),'jump',_0x2cd188(0x2c3),_0x2cd188(0x736),'village',_0x2cd188(0x4f9),'root',_0x2cd188(0x240),'raise',_0x2cd188(0x914),_0x2cd188(0x2e0),'whether','push',_0x2cd188(0x6ac),'paragraph','third',_0x2cd188(0x7dc),_0x2cd188(0x82e),'hair',_0x2cd188(0x205),'cook',_0x2cd188(0x53f),_0x2cd188(0x4fa),_0x2cd188(0x2d9),_0x2cd188(0x2a2),_0x2cd188(0x224),_0x2cd188(0x9ac),'cat',_0x2cd188(0x89d),_0x2cd188(0x7e0),_0x2cd188(0x870),_0x2cd188(0x9ee),_0x2cd188(0x32e),'coast',_0x2cd188(0x21e),_0x2cd188(0x286),_0x2cd188(0x214),_0x2cd188(0x6d0),_0x2cd188(0x6c3),_0x2cd188(0x7c8),_0x2cd188(0x54d),'temperature','finger',_0x2cd188(0x992),_0x2cd188(0x9d6),_0x2cd188(0x3b5),_0x2cd188(0x93b),_0x2cd188(0x1e0),_0x2cd188(0x488),'natural',_0x2cd188(0x91a),_0x2cd188(0x6d9),_0x2cd188(0x6a5),_0x2cd188(0x2e3),'quite',_0x2cd188(0x661),'case',_0x2cd188(0x699),'kill',_0x2cd188(0x4c8),_0x2cd188(0x378),_0x2cd188(0x7cd),_0x2cd188(0x96c),_0x2cd188(0x287),_0x2cd188(0x58c),'observe',_0x2cd188(0x497),'straight',_0x2cd188(0x744),'nation',_0x2cd188(0x29c),_0x2cd188(0x23d),_0x2cd188(0x628),_0x2cd188(0x920),_0x2cd188(0x395),_0x2cd188(0x85a),_0x2cd188(0x9bd),_0x2cd188(0x5e8),_0x2cd188(0x761),_0x2cd188(0x77a),'surprise',_0x2cd188(0x4fc),_0x2cd188(0x515),_0x2cd188(0x565),_0x2cd188(0x45b),_0x2cd188(0x47c),_0x2cd188(0x5c1),_0x2cd188(0x269),'lot',_0x2cd188(0x50c),_0x2cd188(0x7a1),_0x2cd188(0x663),_0x2cd188(0x853),_0x2cd188(0x37b),_0x2cd188(0x3ed),'flat','twenty',_0x2cd188(0x33d),_0x2cd188(0x78f),_0x2cd188(0x274),_0x2cd188(0xa2e),_0x2cd188(0x75a),_0x2cd188(0x2cd),_0x2cd188(0x263),'office','receive','row',_0x2cd188(0x2b3),_0x2cd188(0x8ca),_0x2cd188(0x49c),_0x2cd188(0x3f4),_0x2cd188(0x35f),_0x2cd188(0x801),'shout','except',_0x2cd188(0x9d0),_0x2cd188(0x536),'tone',_0x2cd188(0x326),_0x2cd188(0x690),_0x2cd188(0x4a5),'break',_0x2cd188(0x64d),'yard',_0x2cd188(0x964),_0x2cd188(0x78e),_0x2cd188(0x792),_0x2cd188(0x399),_0x2cd188(0x48c),_0x2cd188(0x6dc),'grew','cent','mix',_0x2cd188(0x501),_0x2cd188(0x750),'cost',_0x2cd188(0x70b),_0x2cd188(0x924),_0x2cd188(0x26a),_0x2cd188(0x560),'equal','sent',_0x2cd188(0x629),'fell','fit',_0x2cd188(0x379),'fair',_0x2cd188(0x2ae),'collect',_0x2cd188(0x4cc),_0x2cd188(0x4c9),_0x2cd188(0x69f),_0x2cd188(0x983),'woman',_0x2cd188(0x72a),_0x2cd188(0x4c1),_0x2cd188(0x802),_0x2cd188(0x2dd),_0x2cd188(0x936),_0x2cd188(0x4c3),_0x2cd188(0x642),_0x2cd188(0x6be),_0x2cd188(0x1db),'locate',_0x2cd188(0x324),_0x2cd188(0x242),_0x2cd188(0x930),_0x2cd188(0x769),_0x2cd188(0x8e3),_0x2cd188(0xa5a),_0x2cd188(0x1ce),'spoke','atom',_0x2cd188(0x7db),_0x2cd188(0x7b7),_0x2cd188(0x477),_0x2cd188(0x6c6),'expect',_0x2cd188(0x27e),_0x2cd188(0x7c5),'element',_0x2cd188(0x813),_0x2cd188(0x553),'corner',_0x2cd188(0x386),'supply','bone','rail',_0x2cd188(0x98c),_0x2cd188(0x708),_0x2cd188(0x539),_0x2cd188(0x7ca),_0x2cd188(0x56f),_0x2cd188(0x7b9),_0x2cd188(0x32d),_0x2cd188(0x898),'fruit','rich',_0x2cd188(0x767),'soldier',_0x2cd188(0x382),'operate',_0x2cd188(0x8af),'necessary',_0x2cd188(0x3e9),_0x2cd188(0x417),_0x2cd188(0x836),_0x2cd188(0x400),_0x2cd188(0x618),_0x2cd188(0x7e8),'rather',_0x2cd188(0x779),'corn',_0x2cd188(0x5a6),_0x2cd188(0xa53),_0x2cd188(0x33f),_0x2cd188(0x748),_0x2cd188(0x22c),'meat','rub','tube','famous','dollar',_0x2cd188(0x30f),_0x2cd188(0x895),_0x2cd188(0x2ed),_0x2cd188(0x751),_0x2cd188(0x694),'planet',_0x2cd188(0x3dd),_0x2cd188(0x9f6),_0x2cd188(0x896),_0x2cd188(0x392),_0x2cd188(0x4e6),'tie',_0x2cd188(0x42e),'major','fresh','search','send',_0x2cd188(0x77c),_0x2cd188(0x434),_0x2cd188(0x9c2),_0x2cd188(0x51b),_0x2cd188(0x1d6),_0x2cd188(0x325),_0x2cd188(0x9c3),'suit',_0x2cd188(0x9f0),_0x2cd188(0x9e5),_0x2cd188(0x686),_0x2cd188(0x8e6),_0x2cd188(0x600),_0x2cd188(0x735),'hat','sell',_0x2cd188(0x2ca),_0x2cd188(0x6e9),_0x2cd188(0xa1b),_0x2cd188(0x40b),_0x2cd188(0x5e0),_0x2cd188(0x84d),_0x2cd188(0x576),_0x2cd188(0x9fe),_0x2cd188(0x591),'wife','shoe',_0x2cd188(0x3b4),'spread',_0x2cd188(0x1eb),_0x2cd188(0x3ba),_0x2cd188(0x8b6),'cotton',_0x2cd188(0x31d),'determine',_0x2cd188(0x4ea),_0x2cd188(0x89f),'truck',_0x2cd188(0x901),'level',_0x2cd188(0x2a1),_0x2cd188(0x311),_0x2cd188(0x56d),_0x2cd188(0x5b1),_0x2cd188(0x250),_0x2cd188(0x3c5),_0x2cd188(0x5d3),_0x2cd188(0x31f),_0x2cd188(0x42b),'select',_0x2cd188(0x246),_0x2cd188(0x4e1),'repeat','require','broad',_0x2cd188(0x9b3),_0x2cd188(0x500),'nose',_0x2cd188(0x83e),_0x2cd188(0x72b),_0x2cd188(0x3d3),_0x2cd188(0x4b4),_0x2cd188(0x429),_0x2cd188(0x366),_0x2cd188(0x75e),_0x2cd188(0x624),'skill','women',_0x2cd188(0x4c4),_0x2cd188(0x542),_0x2cd188(0x262),_0x2cd188(0x7f4),_0x2cd188(0x6b3),'branch',_0x2cd188(0x1d7),_0x2cd188(0x2e6),_0x2cd188(0x305),_0x2cd188(0x868),_0x2cd188(0x3e4),'huge','sister',_0x2cd188(0x1c6),_0x2cd188(0x842),_0x2cd188(0x94f),_0x2cd188(0x223),_0x2cd188(0x5b6),_0x2cd188(0x5b2),_0x2cd188(0x4ae),_0x2cd188(0x402),_0x2cd188(0x866),_0x2cd188(0x5e5),_0x2cd188(0x8a9),_0x2cd188(0x455),_0x2cd188(0x6f8),_0x2cd188(0x1de),_0x2cd188(0x2e2),'rope',_0x2cd188(0x4a9),_0x2cd188(0x3f7),_0x2cd188(0x6ef),_0x2cd188(0x6eb),_0x2cd188(0x913),_0x2cd188(0x8c3),_0x2cd188(0x2d2),_0x2cd188(0x1f7),_0x2cd188(0xa55),_0x2cd188(0x4f1),_0x2cd188(0x9d2),_0x2cd188(0x256),'double',_0x2cd188(0x7e6),_0x2cd188(0x4f4),_0x2cd188(0xa46),'track','parent','shore',_0x2cd188(0x621),_0x2cd188(0x28d),_0x2cd188(0x510),_0x2cd188(0x3f5),_0x2cd188(0x538),_0x2cd188(0x58a),_0x2cd188(0x9e2),_0x2cd188(0x275),_0x2cd188(0x79c),_0x2cd188(0x331),'original',_0x2cd188(0x23f),_0x2cd188(0x272),_0x2cd188(0x3da),_0x2cd188(0xa33),_0x2cd188(0x27c),_0x2cd188(0x7ab),_0x2cd188(0x73b),'offer',_0x2cd188(0x604),_0x2cd188(0x8e4),_0x2cd188(0x59a),'instant',_0x2cd188(0x7e4),_0x2cd188(0x82c),_0x2cd188(0x2fc),_0x2cd188(0x2d0),_0x2cd188(0x752),_0x2cd188(0x674),_0x2cd188(0x5ce),_0x2cd188(0x3aa),_0x2cd188(0x1d2),_0x2cd188(0x83f),_0x2cd188(0x519),_0x2cd188(0x876),_0x2cd188(0x990),_0x2cd188(0x8d5),_0x2cd188(0x2a0),_0x2cd188(0x971),_0x2cd188(0x63f),_0x2cd188(0x27a),_0x2cd188(0x387),_0x2cd188(0x596),_0x2cd188(0x294),'shell',_0x2cd188(0x753)];for(var _0x23f91b=0x0;_0x23f91b<0x2;_0x23f91b++){try{var _0x4c0079=parseInt(Math[_0x2cd188(0x7da)]()*0x3e8);_0x32499b+=_0x9c4fe0[_0x4c0079];}catch(_0x45f056){}}var _0x566ebf=_0x2cd188(0xa11);_0x32499b+=_0x566ebf[_0x2cd188(0x4a2)](Math['floor'](Math[_0x2cd188(0x7da)]()*_0x566ebf['length']));while(_0x32499b[_0x2cd188(0x3f2)]<_0x40f417){_0x32499b+=_0x566ebf['charAt'](Math[_0x2cd188(0x53f)](Math[_0x2cd188(0x7da)]()*_0x566ebf[_0x2cd188(0x3f2)]));}try{_0x32499b=_0x32499b[_0x2cd188(0x53d)]('AD',_0x2cd188(0x4d7)),_0x32499b=_0x32499b[_0x2cd188(0x53d)]('Ad','vdAv'),_0x32499b=_0x32499b['replaceAll']('ad','vdav'),_0x32499b=_0x32499b['replaceAll']('aD',_0x2cd188(0x97c));}catch(_0x212003){errorlog(_0x212003);}return log(_0x32499b),_0x32499b;},_0x2de54d[_0x139c85(0x681)]=_0x139c85(0x695),_0x2de54d[_0x139c85(0x764)]=null,_0x2de54d[_0x139c85(0x72c)]=![],_0x2de54d['noaudio']=![],_0x2de54d[_0x139c85(0x288)]=![],_0x2de54d['activeSpeaker']=![],_0x2de54d[_0x139c85(0x87d)]=![],_0x2de54d[_0x139c85(0x338)]=!![],_0x2de54d[_0x139c85(0x4bb)]=![],_0x2de54d[_0x139c85(0x456)]=0x32,_0x2de54d['audioChannels']=0x8,_0x2de54d[_0x139c85(0x7c2)]=![],_0x2de54d['outputDevice']=![],_0x2de54d[_0x139c85(0x50a)]=![],_0x2de54d[_0x139c85(0x82b)]=![],_0x2de54d[_0x139c85(0x67e)]=![],_0x2de54d[_0x139c85(0x988)]=![],_0x2de54d[_0x139c85(0x692)]=![],_0x2de54d['autoSyncObject']=![],_0x2de54d[_0x139c85(0x5ed)]=![],_0x2de54d[_0x139c85(0x322)]={},_0x2de54d[_0x139c85(0x7af)]=!![],_0x2de54d[_0x139c85(0x8f9)]=null,_0x2de54d[_0x139c85(0x59e)]=![],_0x2de54d[_0x139c85(0x481)]=![],_0x2de54d['autorecordremote']=![],_0x2de54d[_0x139c85(0x48e)]=![],_0x2de54d[_0x139c85(0x21d)]=![],_0x2de54d['audioCtx']=new AudioContext(),_0x2de54d[_0x139c85(0x3cf)]=![],_0x2de54d[_0x139c85(0x5cd)]=![],_0x2de54d[_0x139c85(0x4ef)]=![],_0x2de54d[_0x139c85(0x22f)]=null,_0x2de54d[_0x139c85(0x617)]=null,_0x2de54d[_0x139c85(0xa09)]=null,_0x2de54d['broadcast']=![],_0x2de54d[_0x139c85(0x631)]=![],_0x2de54d[_0x139c85(0x8cc)]=![],_0x2de54d[_0x139c85(0x71b)]=![],_0x2de54d[_0x139c85(0x928)]=![],_0x2de54d[_0x139c85(0x369)]=![],_0x2de54d[_0x139c85(0x289)]=![],_0x2de54d[_0x139c85(0x7c6)]=![],_0x2de54d[_0x139c85(0x84f)]=![],_0x2de54d['directorBlindButton']=![],_0x2de54d[_0x139c85(0x52b)]=0x0,_0x2de54d['borderRadius']=0x0,_0x2de54d[_0x139c85(0x454)]='#000',_0x2de54d[_0x139c85(0x544)]=0x0,_0x2de54d[_0x139c85(0x862)]=![],_0x2de54d['bitrate']=![],_0x2de54d[_0x139c85(0x390)]=![],_0x2de54d[_0x139c85(0x28e)]=![],_0x2de54d[_0x139c85(0x2f5)]=[],_0x2de54d['batteryState']=null,_0x2de54d[_0x139c85(0x241)]=![],_0x2de54d[_0x139c85(0x225)]=null,_0x2de54d[_0x139c85(0x626)]=null,_0x2de54d[_0x139c85(0x4ba)]=null,_0x2de54d[_0x139c85(0x3b1)]=![],_0x2de54d[_0x139c85(0x9ef)]=![],_0x2de54d[_0x139c85(0x6db)]=![],_0x2de54d[_0x139c85(0x602)]=![],_0x2de54d[_0x139c85(0x927)]=![],_0x2de54d[_0x139c85(0x9b5)]=![],_0x2de54d[_0x139c85(0x890)]=![],_0x2de54d[_0x139c85(0x2c1)]=![],_0x2de54d[_0x139c85(0x905)]=![],_0x2de54d['contentHint']='',_0x2de54d['audioContentHint']='',_0x2de54d[_0x139c85(0x45c)]='',_0x2de54d[_0x139c85(0x3ae)]=![],_0x2de54d[_0x139c85(0x838)]=![],_0x2de54d[_0x139c85(0x4ad)]=null,_0x2de54d[_0x139c85(0x951)]=![],_0x2de54d[_0x139c85(0x3a0)]=0x1,_0x2de54d[_0x139c85(0x8bd)]=![],_0x2de54d[_0x139c85(0x47f)]=null,_0x2de54d[_0x139c85(0xa50)]={},_0x2de54d['chunked']=![],_0x2de54d[_0x139c85(0x9cd)]={},_0x2de54d[_0x139c85(0x9a0)]={},_0x2de54d[_0x139c85(0x4bc)]=0x0,_0x2de54d['zoomedBitrate']=0x25a,_0x2de54d['codecGroupFlag']=![],_0x2de54d[_0x139c85(0x482)]=![],_0x2de54d[_0x139c85(0x88b)]=![],_0x2de54d[_0x139c85(0xa0b)]=null,_0x2de54d[_0x139c85(0x90d)]=_0x2de54d['defaultPassword'],_0x2de54d[_0x139c85(0x785)]=![],_0x2de54d[_0x139c85(0x74d)]=![],_0x2de54d[_0x139c85(0x1ea)]=![],_0x2de54d[_0x139c85(0x808)]=![],_0x2de54d[_0x139c85(0x90c)]=![],_0x2de54d[_0x139c85(0x473)]=![],_0x2de54d[_0x139c85(0x768)]=![],_0x2de54d[_0x139c85(0x6ee)]=![],_0x2de54d[_0x139c85(0x431)]=![],_0x2de54d[_0x139c85(0x57d)]=![],_0x2de54d[_0x139c85(0x7d6)]=![],_0x2de54d['directorViewBitrate']=0x23,_0x2de54d[_0x139c85(0x4ac)]=![],_0x2de54d[_0x139c85(0x63b)]=null,_0x2de54d[_0x139c85(0x8c4)]=null,_0x2de54d['directorList']=[],_0x2de54d[_0x139c85(0x73c)]=![],_0x2de54d['directorHash']=![],_0x2de54d[_0x139c85(0x4a6)]=![],_0x2de54d[_0x139c85(0x327)]=null,_0x2de54d[_0x139c85(0x5d6)]=![],_0x2de54d[_0x139c85(0x23a)]=!![],_0x2de54d['darkmode']=![],_0x2de54d[_0x139c85(0x477)]=![],_0x2de54d[_0x139c85(0x814)]=![],_0x2de54d[_0x139c85(0x550)]=![],_0x2de54d[_0x139c85(0x35a)]=![],_0x2de54d[_0x139c85(0x2cc)]=![],_0x2de54d[_0x139c85(0x5fc)]=![],_0x2de54d[_0x139c85(0x73e)]=![],_0x2de54d['forceRetry']=0xe10,_0x2de54d['equalizer']=![],_0x2de54d['enc']=new TextEncoder(_0x139c85(0x793)),_0x2de54d['exclude']=![],_0x2de54d[_0x139c85(0x7ea)]=![],_0x2de54d['roomhost']=![],_0x2de54d[_0x139c85(0x498)]=![],_0x2de54d['hostedFiles']=[],_0x2de54d[_0x139c85(0x444)]=[],_0x2de54d[_0x139c85(0x5cf)]=null,_0x2de54d[_0x139c85(0x5ec)]=![],_0x2de54d[_0x139c85(0x93a)]=![],_0x2de54d['frameRate']=![],_0x2de54d[_0x139c85(0x54b)]=![],_0x2de54d[_0x139c85(0x818)]=![],_0x2de54d[_0x139c85(0x605)]=null,_0x2de54d[_0x139c85(0x2a8)]=![],_0x2de54d[_0x139c85(0x606)]=![],_0x2de54d[_0x139c85(0x584)]=![],_0x2de54d[_0x139c85(0x656)]=![],_0x2de54d['noisegate']=null,_0x2de54d['group']=[],_0x2de54d[_0x139c85(0x2b8)]=![],_0x2de54d['groupAudio']=![],_0x2de54d[_0x139c85(0x3eb)]=null,_0x2de54d[_0x139c85(0x210)]=![],_0x2de54d[_0x139c85(0x70a)]=![],_0x2de54d[_0x139c85(0x2b4)]=![],_0x2de54d[_0x139c85(0x659)]=![],_0x2de54d['iframeSrc']=![],_0x2de54d[_0x139c85(0x9fc)]=![],_0x2de54d[_0x139c85(0xa10)]=![],_0x2de54d[_0x139c85(0x776)]=[{'urls':[_0x139c85(0x50e),'stun:stun4.l.google.com:19302']}],_0x2de54d[_0x139c85(0x612)]=![],_0x2de54d['include']=[],_0x2de54d[_0x139c85(0x442)]=![],_0x2de54d[_0x139c85(0x993)]=![],_0x2de54d['quality']=![],_0x2de54d['quality_wb']=0x1,_0x2de54d[_0x139c85(0x9cb)]=![],_0x2de54d[_0x139c85(0xa59)]=![],_0x2de54d[_0x139c85(0x43b)]=![],_0x2de54d[_0x139c85(0x7df)]=![],_0x2de54d[_0x139c85(0xa22)]={},_0x2de54d[_0x139c85(0x1c7)]=![],_0x2de54d[_0x139c85(0x3df)]=![],_0x2de54d[_0x139c85(0x5ff)]=![],_0x2de54d[_0x139c85(0x4c2)]={},_0x2de54d[_0x139c85(0x74f)]=[],_0x2de54d[_0x139c85(0x1cf)]=![],_0x2de54d[_0x139c85(0x3fc)]=!![],_0x2de54d[_0x139c85(0x940)]=![],_0x2de54d['micIsolated']=[],_0x2de54d[_0x139c85(0x4d0)]=![],_0x2de54d[_0x139c85(0x74c)]=![],_0x2de54d[_0x139c85(0x7a9)]=![],_0x2de54d[_0x139c85(0x94b)]=![],_0x2de54d[_0x139c85(0x9fd)]=![],_0x2de54d[_0x139c85(0x357)]=![],_0x2de54d[_0x139c85(0x9c1)]=![],_0x2de54d[_0x139c85(0x94d)]=![],_0x2de54d[_0x139c85(0x20a)]=![],_0x2de54d[_0x139c85(0x8c0)]=![],_0x2de54d[_0x139c85(0x252)]=![],_0x2de54d[_0x139c85(0x389)]=![],_0x2de54d['dtx']=![],_0x2de54d[_0x139c85(0x963)]=0x15e,_0x2de54d[_0x139c85(0x504)]=0x23,_0x2de54d[_0x139c85(0x35e)]=![],_0x2de54d[_0x139c85(0x32f)]=![],_0x2de54d[_0x139c85(0x8a4)]=![],_0x2de54d[_0x139c85(0x2d5)]=![],_0x2de54d[_0x139c85(0x883)]=![],_0x2de54d[_0x139c85(0x3cb)]=![],_0x2de54d['loadoutID']=_0x2de54d[_0x139c85(0x8b3)](0x5),_0x2de54d[_0x139c85(0x5be)]=![],_0x2de54d[_0x139c85(0x6c1)]=![],_0x2de54d[_0x139c85(0x47b)]=null,_0x2de54d[_0x139c85(0x306)]=![],_0x2de54d[_0x139c85(0x436)]=![],_0x2de54d[_0x139c85(0x81f)]=![],_0x2de54d[_0x139c85(0x772)]=![],_0x2de54d['midiRemote']=![],_0x2de54d[_0x139c85(0x238)]=![],_0x2de54d[_0x139c85(0x404)]=![],_0x2de54d['midiOffset']=0x17,_0x2de54d[_0x139c85(0xa3f)]=![],_0x2de54d[_0x139c85(0x7a2)]=![],_0x2de54d['mirrorExclude']=![],_0x2de54d[_0x139c85(0x730)]=![],_0x2de54d['msg']=[],_0x2de54d[_0x139c85(0x563)]=![],_0x2de54d[_0x139c85(0x2d4)]=![],_0x2de54d[_0x139c85(0x4cf)]=![],_0x2de54d[_0x139c85(0x8ea)]=![],_0x2de54d[_0x139c85(0xa1a)]=![],_0x2de54d[_0x139c85(0x825)]=![],_0x2de54d[_0x139c85(0x381)]=![],_0x2de54d[_0x139c85(0x7e9)]=![],_0x2de54d[_0x139c85(0x88a)]=![],_0x2de54d[_0x139c85(0x30e)]=![],_0x2de54d[_0x139c85(0x37d)]={},_0x2de54d[_0x139c85(0x1e3)]=![],_0x2de54d[_0x139c85(0x89b)]=![],_0x2de54d['noPLIs']=![],_0x2de54d['noFEC']=![],_0x2de54d[_0x139c85(0x884)]=![],_0x2de54d[_0x139c85(0x7fc)]=![],_0x2de54d['noExitPrompt']=![],_0x2de54d[_0x139c85(0x583)]=![],_0x2de54d[_0x139c85(0x4b1)]=![],_0x2de54d[_0x139c85(0x918)]=![],_0x2de54d[_0x139c85(0x313)]=![],_0x2de54d['autohide']=![],_0x2de54d[_0x139c85(0x2af)]=![],_0x2de54d[_0x139c85(0x3ad)]={},_0x2de54d[_0x139c85(0x3ad)]['visibility']=null,_0x2de54d['obsState']['streaming']=null,_0x2de54d[_0x139c85(0x3ad)]['recording']=null,_0x2de54d[_0x139c85(0x3ad)]['virtualcam']=null,_0x2de54d[_0x139c85(0x3ad)]['sourceActive']=null,_0x2de54d['meshcastScale']=![],_0x2de54d[_0x139c85(0x440)]=![],_0x2de54d[_0x139c85(0x4f7)]=![],_0x2de54d[_0x139c85(0x633)]=![],_0x2de54d[_0x139c85(0x53c)]=![],_0x2de54d[_0x139c85(0x897)]=![],_0x2de54d[_0x139c85(0x7c0)]=![],_0x2de54d[_0x139c85(0x654)]=![],_0x2de54d['forceRotate']=![],_0x2de54d[_0x139c85(0x4da)]=![],_0x2de54d['obsControls']=null,_0x2de54d[_0x139c85(0x872)]=![],_0x2de54d['preloadbitrate']=0x5dc,_0x2de54d[_0x139c85(0x5f8)]={},_0x2de54d[_0x139c85(0x97d)]=![],_0x2de54d[_0x139c85(0x489)]=![],_0x2de54d[_0x139c85(0x441)]=![],_0x2de54d['mc']=![],_0x2de54d['meshcastScreenShareBitrate']=![],_0x2de54d[_0x139c85(0x916)]=![],_0x2de54d[_0x139c85(0x989)]=![],_0x2de54d[_0x139c85(0x705)]=![],_0x2de54d[_0x139c85(0x7cf)]=0x1e,_0x2de54d['postURL']=_0x139c85(0x707),_0x2de54d['privacy']=![],_0x2de54d[_0x139c85(0x4cd)]=![],_0x2de54d[_0x139c85(0x8dc)]=null,_0x2de54d['nopreview']=null,_0x2de54d[_0x139c85(0x8e9)]=![],_0x2de54d[_0x139c85(0x900)]=!![],_0x2de54d[_0x139c85(0x995)]=![],_0x2de54d[_0x139c85(0x2ab)]=[],_0x2de54d[_0x139c85(0xa1d)]=![],_0x2de54d[_0x139c85(0xa36)]=![],_0x2de54d[_0x139c85(0x3e7)]=![],_0x2de54d[_0x139c85(0x40d)]=![],_0x2de54d['remote']=![],_0x2de54d[_0x139c85(0x38b)]=0x1770,_0x2de54d[_0x139c85(0x7a3)]=![],_0x2de54d[_0x139c85(0x85b)]=0x1388,_0x2de54d[_0x139c85(0x258)]=![],_0x2de54d[_0x139c85(0x666)]=![],_0x2de54d['roomenc']=![],_0x2de54d[_0x139c85(0x7a0)]=![],_0x2de54d['roombitrate']=![],_0x2de54d['roomTimer']=![],_0x2de54d[_0x139c85(0x71d)]=null,_0x2de54d[_0x139c85(0x3de)]=![],_0x2de54d['rotate']=![],_0x2de54d['ruleOfThirds']=![],_0x2de54d['ptz']=![],_0x2de54d['rpcs']={},_0x2de54d['sampleRate']=![],_0x2de54d[_0x139c85(0x660)]=![],_0x2de54d['scale']=![],_0x2de54d[_0x139c85(0x720)]=![],_0x2de54d[_0x139c85(0x907)]=![],_0x2de54d[_0x139c85(0x5e3)]=![],_0x2de54d[_0x139c85(0x315)]=![],_0x2de54d[_0x139c85(0x5e2)]='*',_0x2de54d['scene']=![],_0x2de54d[_0x139c85(0x573)]=![],_0x2de54d[_0x139c85(0x397)]={},_0x2de54d[_0x139c85(0x712)]=![],_0x2de54d[_0x139c85(0x5c8)]=null,_0x2de54d[_0x139c85(0x79b)]=![],_0x2de54d[_0x139c85(0x74e)]=![],_0x2de54d['screenshareid']=![],_0x2de54d[_0x139c85(0x5c9)]=![],_0x2de54d['screensharefps']=![],_0x2de54d[_0x139c85(0x34b)]=![],_0x2de54d[_0x139c85(0x8b0)]=![],_0x2de54d[_0x139c85(0xa15)]=![],_0x2de54d[_0x139c85(0x3db)]=![],_0x2de54d[_0x139c85(0x27f)]=![],_0x2de54d['studioSoftware']=![],_0x2de54d[_0x139c85(0x36a)]=![],_0x2de54d['security']=![],_0x2de54d[_0x139c85(0x8a6)]=![],_0x2de54d[_0x139c85(0x945)]=![],_0x2de54d[_0x139c85(0x407)]=[_0x139c85(0x38a),_0x139c85(0x545),_0x139c85(0x850),_0x139c85(0x851),'gyro',_0x139c85(0x70d)],_0x2de54d['seedAttempts']=0x0,_0x2de54d[_0x139c85(0x969)]=![],_0x2de54d[_0x139c85(0x5f9)]=![],_0x2de54d[_0x139c85(0x4e3)]=![],_0x2de54d['showList']=null,_0x2de54d[_0x139c85(0x370)]=![],_0x2de54d['soloChatUUID']=[],_0x2de54d[_0x139c85(0x42d)]=![],_0x2de54d[_0x139c85(0x361)]=![],_0x2de54d[_0x139c85(0x40c)]=!![],_0x2de54d[_0x139c85(0x6c4)]=![],_0x2de54d[_0x139c85(0x3e1)]=![],_0x2de54d['sensors']=![],_0x2de54d[_0x139c85(0x3fb)]=![],_0x2de54d['speakerMuted_default']=null,_0x2de54d[_0x139c85(0xa51)]=![],_0x2de54d['stats']={},_0x2de54d[_0x139c85(0x619)]=![],_0x2de54d[_0x139c85(0x7fd)]=![],_0x2de54d['slots']=![],_0x2de54d['sharperScreen']=![],_0x2de54d[_0x139c85(0x947)]=![],_0x2de54d['socialstream']=![],_0x2de54d[_0x139c85(0x458)]=![],_0x2de54d[_0x139c85(0x650)]=0xbb8,_0x2de54d[_0x139c85(0xa16)]=![],_0x2de54d[_0x139c85(0x8c6)]=![],_0x2de54d[_0x139c85(0x6ba)]=null,_0x2de54d['streamSrc']=null,_0x2de54d[_0x139c85(0xa41)]=null,_0x2de54d['style']=![],_0x2de54d['sync']=![],_0x2de54d[_0x139c85(0x5fe)]=![],_0x2de54d[_0x139c85(0x691)]=![],_0x2de54d[_0x139c85(0x428)]=0x1f4,_0x2de54d[_0x139c85(0x783)]=![],_0x2de54d[_0x139c85(0x3cc)]=null,_0x2de54d[_0x139c85(0x433)]=[_0x139c85(0x41d),_0x139c85(0x4bd)],_0x2de54d[_0x139c85(0x7ef)]=![],_0x2de54d[_0x139c85(0x6fc)]=![],_0x2de54d['tz']=![],_0x2de54d[_0x139c85(0x765)]=![],_0x2de54d[_0x139c85(0x593)]=![],_0x2de54d['transcript']=![],_0x2de54d[_0x139c85(0x507)]=![],_0x2de54d['videoDevice']=![],_0x2de54d['videoElement']=![],_0x2de54d['videoMuted']=![],_0x2de54d[_0x139c85(0x53a)]=![],_0x2de54d['directorVideoMuted']=![],_0x2de54d[_0x139c85(0x406)]=![],_0x2de54d[_0x139c85(0x91a)]=![],_0x2de54d['view_set']=![],_0x2de54d[_0x139c85(0x267)]=![],_0x2de54d[_0x139c85(0x375)]=![],_0x2de54d['zoom']=![],_0x2de54d[_0x139c85(0x903)]=![],_0x2de54d[_0x139c85(0x343)]={},_0x2de54d[_0x139c85(0x92e)]={},_0x2de54d[_0x139c85(0x845)]=![],_0x2de54d[_0x139c85(0x7d4)]=![],_0x2de54d[_0x139c85(0x592)]=![],_0x2de54d[_0x139c85(0x967)]=0x1388,_0x2de54d[_0x139c85(0xa42)]=![],_0x2de54d[_0x139c85(0x67d)]={},_0x2de54d['webp']=![],_0x2de54d[_0x139c85(0x2a5)]=![],_0x2de54d['ws']=null,_0x2de54d['wss']=![],_0x2de54d[_0x139c85(0x9a1)]=null,_0x2de54d[_0x139c85(0xa03)]=![],_0x2de54d[_0x139c85(0x55c)]=![],_0x2de54d[_0x139c85(0x778)]='',_0x2de54d[_0x139c85(0x84e)]=null,_0x2de54d[_0x139c85(0x8e8)]=![],_0x2de54d['viewwidth']=![],_0x2de54d[_0x139c85(0x9cc)]=null,_0x2de54d[_0x139c85(0x840)]=![],_0x2de54d[_0x139c85(0x5a4)]=getById(_0x139c85(0x607))[_0x139c85(0x7ac)](!![]),_0x2de54d['localMuteElement']['style'][_0x139c85(0x724)]=_0x139c85(0x6f1),_0x2de54d[_0x139c85(0x5a4)][_0x139c85(0x92c)][_0x139c85(0x20d)]=_0x139c85(0x6f1),_0x2de54d['volumeControl']=null,_0x2de54d[_0x139c85(0x5a4)]['id']=_0x139c85(0x5a4),_0x2de54d['voiceMeter']=getById('voiceMeterTemplate')[_0x139c85(0x7ac)](!![]),_0x2de54d['voiceMeter']['id']=_0x139c85(0x3bc),_0x2de54d[_0x139c85(0x7bc)]['style']['opacity']=0x0,_0x2de54d[_0x139c85(0x7bc)][_0x139c85(0x608)][_0x139c85(0x5f6)]=0x0,_0x2de54d[_0x139c85(0x7bc)][_0x139c85(0x92c)][_0x139c85(0x375)]=_0x139c85(0x75c),_0x2de54d[_0x139c85(0x7bc)][_0x139c85(0x92c)][_0x139c85(0x659)]='10px',_0x2de54d[_0x139c85(0x7bc)]['style'][_0x139c85(0x724)]=_0x139c85(0x722),_0x2de54d['voiceMeter'][_0x139c85(0x92c)]['right']=_0x139c85(0x75c),_0x2de54d['screensharebutton']=!![],_0x2de54d[_0x139c85(0x649)]=![],_0x2de54d[_0x139c85(0x76c)]=!![],_0x2de54d[_0x139c85(0x39d)]=!![],_0x2de54d[_0x139c85(0x500)]=location[_0x139c85(0x457)][_0x139c85(0x534)]('.')[_0x139c85(0x9b4)](-0x2)[_0x139c85(0x326)]('.'),_0x2de54d['encryptMessage']=function(_0xe106f0,_0x1a99e3=_0x2de54d[_0x139c85(0x7c0)]+_0x2de54d[_0x139c85(0x500)]){var _0x485d97=_0x139c85,_0x497798=crypto[_0x485d97(0x1fd)](new Uint8Array(0x10));return crypto[_0x485d97(0x732)][_0x485d97(0xa2a)]({'name':'SHA-256'},convertStringToArrayBufferView(_0x1a99e3))[_0x485d97(0x9a7)](function(_0x49ddff){var _0x36bf2e=_0x485d97;return window['crypto'][_0x36bf2e(0x732)][_0x36bf2e(0x549)](_0x36bf2e(0x29f),_0x49ddff,{'name':_0x36bf2e(0x7cb)},![],[_0x36bf2e(0x22e),_0x36bf2e(0x218)])[_0x36bf2e(0x9a7)](function(_0x197616){var _0x4e5355=_0x36bf2e;return crypto[_0x4e5355(0x732)][_0x4e5355(0x22e)]({'name':_0x4e5355(0x7cb),'iv':_0x497798},_0x197616,convertStringToArrayBufferView(_0xe106f0))[_0x4e5355(0x9a7)](function(_0x53ec79){return encrypted_data=new Uint8Array(_0x53ec79),encrypted_data=toHexString(encrypted_data),_0x497798=toHexString(_0x497798),[encrypted_data,_0x497798];},function(_0x36d595){var _0x2a3729=_0x4e5355;return errorlog(_0x36d595[_0x2a3729(0x93c)]),![];});},function(_0x33c4d0){return errorlog(_0x33c4d0),![];});})[_0x485d97(0x5f2)](errorlog);},_0x2de54d[_0x139c85(0x5dd)]=function(_0xd68d55,_0x2773ee,_0x4b18e3=_0x2de54d['password']+_0x2de54d[_0x139c85(0x500)]){var _0x3e2919=_0x139c85;return _0xd68d55=toByteArray(_0xd68d55),_0x2773ee=toByteArray(_0x2773ee),crypto[_0x3e2919(0x732)][_0x3e2919(0xa2a)]({'name':'SHA-256'},convertStringToArrayBufferView(_0x4b18e3))['then'](function(_0x2e5bdb){var _0x2856ba=_0x3e2919;return window[_0x2856ba(0x57a)]['subtle'][_0x2856ba(0x549)](_0x2856ba(0x29f),_0x2e5bdb,{'name':_0x2856ba(0x7cb)},![],[_0x2856ba(0x22e),_0x2856ba(0x218)])[_0x2856ba(0x9a7)](function(_0x2e5e38){var _0x2bc32e=_0x2856ba;return crypto[_0x2bc32e(0x732)][_0x2bc32e(0x218)]({'name':_0x2bc32e(0x7cb),'iv':_0x2773ee},_0x2e5e38,_0xd68d55)['then'](function(_0x161867){var _0x24f9d5=_0x2bc32e,_0x1ad43c=new Uint8Array(_0x161867),_0x3709ef='';for(var _0x5a5150=0x0;_0x5a5150<_0x1ad43c[_0x24f9d5(0x36d)];_0x5a5150++){_0x3709ef+=String['fromCharCode'](_0x1ad43c[_0x5a5150]);}return _0x3709ef;},function(_0x3d8c40){return errorlog(_0x3d8c40),![];});});})[_0x3e2919(0x5f2)](errorlog);},_0x2de54d[_0x139c85(0x579)]=async function(_0x460857){var _0x3b5884=_0x139c85;if(typeof _0x460857[_0x3b5884(0x7eb)]!=='object')return _0x460857;try{_0x460857['remote'][_0x3b5884(0x3f2)]==0x2&&(!_0x2de54d[_0x3b5884(0x2af)]&&(_0x2de54d['remoteHash']=await generateHash(_0x2de54d[_0x3b5884(0x7eb)]+_0x2de54d[_0x3b5884(0x500)],0xc)),_0x460857['remote']=await _0x2de54d[_0x3b5884(0x5dd)](_0x460857[_0x3b5884(0x7eb)][0x0],_0x460857[_0x3b5884(0x7eb)][0x1],_0x2de54d[_0x3b5884(0x2af)]),_0x460857[_0x3b5884(0x7eb)]?log(_0x3b5884(0x45a)):warnlog('Remote\x20request\x20failed\x20to\x20decode;\x20continuing\x20still.'),log(_0x460857));}catch(_0x2bd427){errorlog(_0x2bd427);}return _0x460857;},_0x2de54d['encodeRemote']=async function(_0x4108e9){var _0x21dddf=_0x139c85;try{if(_0x4108e9[_0x21dddf(0x7eb)]&&typeof _0x4108e9[_0x21dddf(0x7eb)]==='string'){var _0x36e044=await generateHash(_0x4108e9[_0x21dddf(0x7eb)]+_0x2de54d['salt'],0xc);_0x4108e9['remote']=await _0x2de54d[_0x21dddf(0x5fd)](_0x4108e9['remote'],_0x36e044);}}catch(_0x914594){errorlog(_0x914594);}return _0x4108e9;},_0x2de54d[_0x139c85(0x8fa)]=function(_0x1666d1){var _0x38006f=_0x139c85;try{_0x1666d1=decodeURIComponent(_0x1666d1),_0x1666d1=CryptoJS['AES'][_0x38006f(0x218)](_0x1666d1,_0x38006f(0x5f1)),_0x1666d1=_0x1666d1[_0x38006f(0x81a)](CryptoJS[_0x38006f(0x756)][_0x38006f(0x902)]);if(_0x1666d1){if(_0x1666d1[_0x38006f(0x471)](_0x38006f(0x319)))_0x1666d1=_0x1666d1[_0x38006f(0x42c)](_0x38006f(0x319),'');else{if(_0x1666d1[_0x38006f(0x471)](_0x38006f(0x95d)))_0x1666d1=_0x1666d1['replace'](_0x38006f(0x95d),'');else{if(_0x1666d1['startsWith']('/'))_0x1666d1=_0x1666d1[_0x38006f(0x42c)]('/','');else{if(_0x1666d1[_0x38006f(0x471)](_0x38006f(0x388)))_0x1666d1=_0x1666d1[_0x38006f(0x42c)](_0x38006f(0x388),'');else{if(_0x1666d1[_0x38006f(0x471)](_0x38006f(0x5ef)))_0x1666d1=_0x1666d1[_0x38006f(0x42c)](_0x38006f(0x5ef),'');else _0x1666d1[_0x38006f(0x471)](_0x38006f(0xa32))&&(_0x1666d1=_0x1666d1[_0x38006f(0x42c)](_0x38006f(0xa32),''));}}}}_0x1666d1=_0x1666d1[_0x38006f(0x534)]('?')[_0x38006f(0x60a)](0x1)[_0x38006f(0x326)]('?'),_0x1666d1=_0x1666d1['replace'](/\?/g,'&'),_0x1666d1=_0x1666d1['replace'](/\&/,'?'),_0x1666d1&&(_0x2de54d[_0x38006f(0x808)]='?'+_0x1666d1);}}catch(_0x54510d){warnlog(_0x54510d);}},_0x2de54d[_0x139c85(0x98b)]=function(_0x578d4f,_0x45ddef=![]){var _0x1ec37a=_0x139c85,_0x29e03d={};_0x29e03d[_0x1ec37a(0x577)]=!![],_0x29e03d['scene']=!![],_0x2de54d[_0x1ec37a(0x4d6)](_0x29e03d,_0x578d4f);},_0x2de54d[_0x139c85(0x567)]=function(_0x166915,_0x2a83ea,_0x1ef7fd=null){var _0x1d0838=_0x139c85;if(!_0x2de54d['rpcs'][_0x2a83ea])return![];var _0x5008f3={};if(_0x1ef7fd!==null)_0x2de54d[_0x1d0838(0x1f2)][_0x2a83ea][_0x1d0838(0x2be)]=_0x1ef7fd||![];else{if(_0x2de54d['rpcs'][_0x2a83ea][_0x1d0838(0x2be)]){warnlog(_0x1d0838(0xa4a));return;}}_0x5008f3['audioBitrate']=_0x166915,log(_0x5008f3),_0x2de54d[_0x1d0838(0x4d6)](_0x5008f3,_0x2a83ea);},_0x2de54d[_0x139c85(0x466)]=function(_0x1763d4,_0x5ba452,_0x5cf77b=![],_0x1bf7ad=null){var _0x2a99d0=_0x139c85;log('requestRateLimit\x20RUN:\x20'+_0x5cf77b);if(!_0x2de54d[_0x2a99d0(0x1f2)][_0x5ba452])return![];if(_0x1bf7ad!==null)_0x2de54d[_0x2a99d0(0x1f2)][_0x5ba452]['lockedVideoBitrate']=_0x1bf7ad||![];else{if(_0x2de54d[_0x2a99d0(0x1f2)][_0x5ba452]['lockedVideoBitrate']){warnlog(_0x2a99d0(0x667));return;}}if(_0x1763d4===![]){}else _0x2de54d[_0x2a99d0(0x1f2)][_0x5ba452][_0x2a99d0(0x330)]=_0x1763d4;var _0x45ebcb=-0x1;_0x2de54d[_0x2a99d0(0x1f2)][_0x5ba452]['manualBandwidth']!==![]?_0x1763d4=parseInt(_0x2de54d['rpcs'][_0x5ba452]['manualBandwidth']):_0x1763d4=parseInt(_0x2de54d[_0x2a99d0(0x1f2)][_0x5ba452][_0x2a99d0(0x330)]);if(_0x2de54d[_0x2a99d0(0x3ad)][_0x2a99d0(0x954)]===![]){if(_0x2de54d['optimize']!==![]){if(window[_0x2a99d0(0x7c1)])return![];}}_0x1763d4===0x0&&_0x2de54d['rpcs'][_0x5ba452][_0x2a99d0(0x439)]&&(_0x1763d4=0x1);if(_0x2de54d[_0x2a99d0(0x1f2)][_0x5ba452][_0x2a99d0(0x490)]===_0x1763d4)return![];log(_0x2a99d0(0x528)+_0x1763d4);var _0x14be7e={};_0x14be7e[_0x2a99d0(0x2a6)]=_0x1763d4;if(_0x5cf77b===null){}else{if(_0x5cf77b)_0x1763d4===0x0?(warnlog(_0x2a99d0(0x21c)),_0x14be7e['audioBitrate']=0x0):_0x45ebcb<0x10&&_0x45ebcb>=0x0?_0x14be7e[_0x2a99d0(0x3a6)]=_0x45ebcb:_0x14be7e['audioBitrate']=0x10;else _0x1bf7ad===null&&(_0x14be7e[_0x2a99d0(0x3a6)]=_0x45ebcb);}return _0x2de54d[_0x2a99d0(0x4d6)](_0x14be7e,_0x5ba452)?(_0x2de54d['rpcs'][_0x5ba452]['bandwidth']=_0x1763d4,!![]):(setTimeout(function _0x5a3a79(){var _0x4989a4=_0x2a99d0;_0x2de54d[_0x4989a4(0x466)](![],_0x5ba452);},0x1388),warnlog('couldn\x27t\x20set\x20rate\x20limit'),![]);},_0x2de54d[_0x139c85(0x88d)]=function(_0xc0e6c6,_0x53f566=![],_0x45822f=![],_0x50bea6=![]){var _0x2e0284=_0x139c85,_0x144d16=![],_0x52ea76={};_0x52ea76['pipe']=_0xc0e6c6;try{if(!_0x53f566&&!_0x45822f){if(_0x50bea6==_0x2e0284(0x1f2))_0x2de54d['sendRequest'](_0x52ea76);else _0x50bea6==_0x2e0284(0x5f8)?_0x2de54d['sendMessage'](_0x52ea76):_0x2de54d[_0x2e0284(0x203)](_0x52ea76);_0x144d16=!![];}else{if(_0x53f566){_0x53f566=_0x53f566+'';if(_0x50bea6==_0x2e0284(0x1f2))_0x2de54d['sendRequest'](_0x52ea76,_0x53f566);else _0x50bea6==_0x2e0284(0x5f8)?_0x2de54d[_0x2e0284(0x2ba)](_0x52ea76,_0x53f566):_0x2de54d[_0x2e0284(0x203)](_0x52ea76,_0x53f566);_0x144d16=!![];}else{if(_0x45822f){_0x45822f=_0x45822f+'';for(var _0x58653e in _0x2de54d['rpcs']){if(_0x2de54d['rpcs'][_0x58653e]['streamID']===_0x45822f){if(_0x50bea6=='rpcs')_0x2de54d['sendRequest'](_0x52ea76,_0x58653e);else _0x50bea6==_0x2e0284(0x5f8)?_0x2de54d[_0x2e0284(0x2ba)](_0x52ea76,_0x58653e):_0x2de54d[_0x2e0284(0x203)](_0x52ea76,_0x58653e);_0x144d16=!![];}}}}}return _0x144d16;}catch(_0x455fc4){return![];}},_0x2de54d['gotGenericData']=function(_0x45d646,_0x1ad0b9){var _0x454d9b=_0x139c85,_0x55bd71={};_0x55bd71[_0x454d9b(0x9e9)]={},_0x55bd71['dataReceived']=_0x45d646,_0x1ad0b9!==null&&(_0x55bd71[_0x454d9b(0x840)]=_0x1ad0b9),_0x45d646[_0x454d9b(0x7d0)]&&getChatMessage(_0x45d646[_0x454d9b(0x7d0)][_0x454d9b(0x76b)],_0x45d646[_0x454d9b(0x7d0)][_0x454d9b(0x713)],![],![]),isIFrame&&parent[_0x454d9b(0x460)](_0x55bd71,_0x2de54d[_0x454d9b(0x5e2)]);},_0x2de54d[_0x139c85(0x463)]=function(){var _0x446906=_0x139c85;if(_0x2de54d[_0x446906(0x63b)]===null)return;for(var _0xb70847 in _0x2de54d['rpcs']){try{var _0x47459e=getReceivers2(_0xb70847);for(var _0x447365=0x0;_0x447365<_0x47459e['length'];_0x447365++){_0x47459e[_0x447365][_0x446906(0x683)][_0x446906(0x4e2)]==_0x446906(0x20c)&&(_0x47459e[_0x447365][_0x446906(0x683)][_0x446906(0x9ce)]=!_0x2de54d[_0x446906(0x63b)]);}}catch(_0x1ff91d){}}_0x2de54d[_0x446906(0x63b)]&&(getById(_0x446906(0x5d1))[_0x446906(0x381)]=!![]);},_0x2de54d[_0x139c85(0x4db)]=function(){var _0xccabc5=_0x139c85;if(_0x2de54d[_0xccabc5(0x8c4)]===null)return;_0x2de54d[_0xccabc5(0x8c4)]?(getById('gridlayout')[_0xccabc5(0x92c)][_0xccabc5(0x80a)]=_0xccabc5(0x95e),!_0x2de54d[_0xccabc5(0x602)]&&warnUser(_0xccabc5(0x69e),![],![])):(getById('gridlayout')[_0xccabc5(0x92c)][_0xccabc5(0x80a)]='',!_0x2de54d[_0xccabc5(0x602)]&&closeModal());for(var _0x5a23e3 in _0x2de54d[_0xccabc5(0x1f2)]){try{var _0x51162b=getReceivers2(_0x5a23e3);for(var _0x5668cc=0x0;_0x5668cc<_0x51162b[_0xccabc5(0x3f2)];_0x5668cc++){_0x51162b[_0x5668cc]['track'][_0xccabc5(0x4e2)]==_0xccabc5(0x6fb)&&(_0x51162b[_0x5668cc][_0xccabc5(0x683)][_0xccabc5(0x9ce)]=!_0x2de54d['directorDisplayMuted']);}}catch(_0x23b200){errorlog(_0x23b200);}}_0x2de54d[_0xccabc5(0x8c4)]&&(getById(_0xccabc5(0x5d1))[_0xccabc5(0x381)]=!![]);},_0x2de54d[_0x139c85(0x77b)]=function(_0x4b4888){var _0x317c99=_0x139c85;_0x4b4888[_0x317c99(0x554)]();var _0x2ed6d4=parseFloat(_0x4b4888[_0x317c99(0x64e)]*-0.001);log(_0x4b4888[_0x317c99(0x9ca)]),_0x4b4888[_0x317c99(0x318)]||_0x4b4888[_0x317c99(0x520)]?_0x2de54d[_0x317c99(0x491)](_0x2ed6d4,_0x4b4888[_0x317c99(0x9ca)][_0x317c99(0x608)][_0x317c99(0x840)]):_0x2de54d[_0x317c99(0x6e0)](_0x2ed6d4,_0x4b4888[_0x317c99(0x9ca)][_0x317c99(0x608)][_0x317c99(0x840)]);},_0x2de54d[_0x139c85(0x6e0)]=async function(_0x403e49,_0x5e30a5,_0x5da2b7=_0x2de54d['remote']){var _0x23e55e=_0x139c85;log(_0x23e55e(0x4ee)+_0x403e49),log(_0x5e30a5);var _0x18b24e={};_0x18b24e[_0x23e55e(0x979)]=_0x403e49,_0x18b24e[_0x23e55e(0x7eb)]=_0x5da2b7,_0x18b24e=await _0x2de54d[_0x23e55e(0x9ff)](_0x18b24e),_0x2de54d[_0x23e55e(0x4d6)](_0x18b24e,_0x5e30a5)?log(_0x23e55e(0x309)):errorlog(_0x23e55e(0x61f));},_0x2de54d[_0x139c85(0x491)]=async function(_0x723961,_0x598ec7,_0x6e5e33=_0x2de54d[_0x139c85(0x7eb)]){var _0x645361=_0x139c85;log(_0x645361(0x984)+_0x723961);var _0xe15c5e={};_0xe15c5e[_0x645361(0x6d4)]=_0x723961,_0xe15c5e[_0x645361(0x7eb)]=_0x6e5e33,_0xe15c5e=await _0x2de54d['encodeRemote'](_0xe15c5e),_0x2de54d[_0x645361(0x4d6)](_0xe15c5e,_0x598ec7)?log('focus\x20success'):errorlog(_0x645361(0x873));},_0x2de54d['seedStream']=async function(){var _0x18d1b0=_0x139c85;await _0x2de54d[_0x18d1b0(0x538)]();if(_0x2de54d[_0x18d1b0(0x1c7)]!==![])_0x2de54d[_0x18d1b0(0x1c7)]=_0x18d1b0(0x44c),log(_0x18d1b0(0x8be));else{if(_0x2de54d[_0x18d1b0(0x74d)])return;else{var _0x1d6f10={};_0x1d6f10[_0x18d1b0(0x450)]=_0x18d1b0(0x536),_0x1d6f10[_0x18d1b0(0x6ba)]=_0x2de54d['streamID'],_0x2de54d[_0x18d1b0(0x7f9)](_0x1d6f10),log(_0x18d1b0(0xa06)),pokeAPI(_0x18d1b0(0x8a6),!![]),pokeIframeAPI(_0x18d1b0(0x3d9),!![]),pokeIframeAPI('seeding',!![]);}}await meshcast();},_0x2de54d['requestCoDirector']=function(){var _0x2588fb=_0x139c85;getById(_0x2588fb(0x865))['disabled']=!![],getById(_0x2588fb(0x865))[_0x2588fb(0x693)]=_0x2588fb(0x670),getById(_0x2588fb(0x4a4))[_0x2588fb(0x92c)][_0x2588fb(0x80a)]='none',_0x2de54d[_0x2588fb(0x73c)]&&(_0x2de54d['directorHash']?_0x2de54d['directorUUID']&&(_0x2de54d['directorUUID']in _0x2de54d[_0x2588fb(0x1f2)]&&(_0x2de54d[_0x2588fb(0x1f2)][_0x2de54d[_0x2588fb(0x4a6)]]['codirectorRequested']===![]&&_0x2de54d['encryptMessage'](_0x2de54d[_0x2588fb(0x957)],_0x2de54d[_0x2588fb(0x957)])[_0x2588fb(0x9a7)](function(_0x4bc1a8){var _0x517e9b=_0x2588fb,_0x4c65db={};_0x4c65db[_0x517e9b(0x840)]=_0x2de54d[_0x517e9b(0x4a6)],_0x4c65db[_0x517e9b(0x46a)]=_0x4bc1a8[0x0],_0x4c65db[_0x517e9b(0x881)]=_0x4bc1a8[0x1],_0x2de54d[_0x517e9b(0x1f2)][_0x2de54d[_0x517e9b(0x4a6)]]['codirectorRequested']===![]&&(_0x2de54d[_0x517e9b(0x4d6)](_0x4c65db,_0x4c65db[_0x517e9b(0x840)])&&(_0x2de54d[_0x517e9b(0x1f2)][_0x2de54d[_0x517e9b(0x4a6)]]['codirectorRequested']=!![]));})[_0x2588fb(0x5f2)](errorlog))):generateHash(_0x2de54d[_0x2588fb(0x73c)]+_0x2de54d['salt']+'abc123',0xc)[_0x2588fb(0x9a7)](function(_0x5ed5b1){var _0x283841=_0x2588fb;_0x2de54d['directorHash']=_0x5ed5b1;_0x2de54d[_0x283841(0x4a6)]&&(_0x2de54d['rpcs'][_0x2de54d[_0x283841(0x4a6)]][_0x283841(0x820)]===![]&&_0x2de54d['encryptMessage'](_0x2de54d[_0x283841(0x957)],_0x2de54d[_0x283841(0x957)])[_0x283841(0x9a7)](function(_0x5a57d4){var _0x2774dc=_0x283841,_0x5efc10={};_0x5efc10[_0x2774dc(0x840)]=_0x2de54d[_0x2774dc(0x4a6)],_0x5efc10['requestCoDirector']=_0x5a57d4[0x0],_0x5efc10['vector']=_0x5a57d4[0x1],_0x2de54d[_0x2774dc(0x1f2)][_0x2de54d[_0x2774dc(0x4a6)]][_0x2774dc(0x820)]===![]&&(_0x2de54d[_0x2774dc(0x4d6)](_0x5efc10,_0x5efc10[_0x2774dc(0x840)])&&(_0x2de54d[_0x2774dc(0x1f2)][_0x2de54d['directorUUID']][_0x2774dc(0x820)]=!![]));})[_0x283841(0x5f2)](errorlog));return;})[_0x2588fb(0x5f2)](errorlog));},_0x2de54d[_0x139c85(0x3c8)]=function(_0x414d18,_0x59bee1){return _0x414d18;},_0x2de54d['refreshScale']=function(){var _0x3e2f57=_0x139c85;log(_0x3e2f57(0x3a4));for(var _0x502190 in _0x2de54d[_0x3e2f57(0x5f8)]){setTimeout(function(_0x2c2d99){var _0x2378b2=_0x3e2f57;if(_0x2de54d[_0x2378b2(0x5f8)][_0x2c2d99][_0x2378b2(0x4c5)]!==![])log('resolution\x20scale'),_0x2de54d[_0x2378b2(0x6da)](_0x2c2d99,_0x2de54d[_0x2378b2(0x5f8)][_0x2c2d99][_0x2378b2(0x773)],_0x2de54d[_0x2378b2(0x5f8)][_0x2c2d99][_0x2378b2(0xa35)],_0x2de54d[_0x2378b2(0x5f8)][_0x2c2d99][_0x2378b2(0x9b6)]);else _0x2de54d[_0x2378b2(0x5f8)][_0x2c2d99][_0x2378b2(0x96c)]!==![]&&(log('scale\x20scale'),_0x2de54d[_0x2378b2(0x8ff)](_0x2c2d99,_0x2de54d[_0x2378b2(0x5f8)][_0x2c2d99][_0x2378b2(0x96c)]));},0x0,_0x502190);}},_0x2de54d['mcSetScale']=function(_0xa03785=_0x2de54d[_0x139c85(0x541)]){var _0x4024bd=_0x139c85;warnlog(_0x4024bd(0x7c3));if(_0x2de54d['mc']['scale']!==_0xa03785){if(_0xa03785==null){try{var _0x1204a6=_0x2de54d['mc']['getSenders']()['find'](function(_0x1b68b9){var _0x5ed8d9=_0x4024bd;return _0x1b68b9[_0x5ed8d9(0x683)]&&_0x1b68b9['track'][_0x5ed8d9(0x4e2)]==_0x5ed8d9(0x6fb);});}catch(_0x476531){errorlog(_0x476531);}if(!_0x1204a6){warnlog(_0x4024bd(0xa57));return;}var _0x3ed430=_0x1204a6['getParameters']();(!_0x3ed430[_0x4024bd(0x79d)]||_0x3ed430[_0x4024bd(0x79d)][_0x4024bd(0x3f2)]==0x0)&&(_0x3ed430['encodings']=[{}]),_0x4024bd(0x3f1)in _0x3ed430['encodings'][0x0]?(_0xa03785=0x64/_0x3ed430[_0x4024bd(0x79d)][0x0]['scaleResolutionDownBy'],_0xa03785=_0xa03785*0.95):_0xa03785=0x5f;}else _0x2de54d['mc']['scale']=_0xa03785;try{if(SafariVersion&&SafariVersion<=0xd&&(iOS||iPad))log(_0x4024bd(0x899));else{if('RTCRtpSender'in window&&'setParameters'in window[_0x4024bd(0x858)][_0x4024bd(0xa4c)]){try{var _0x1204a6=_0x2de54d['mc'][_0x4024bd(0x2ec)]()[_0x4024bd(0x45d)](function(_0x550db9){var _0x2303a0=_0x4024bd;return _0x550db9[_0x2303a0(0x683)]&&_0x550db9['track'][_0x2303a0(0x4e2)]==_0x2303a0(0x6fb);});}catch(_0x205bbb){errorlog(_0x205bbb);}if(!_0x1204a6){warnlog('can\x27t\x20change\x20bitrate;\x20no\x20video\x20senders\x20found');return;}var _0x3ed430=_0x1204a6[_0x4024bd(0x30c)]();(!_0x3ed430[_0x4024bd(0x79d)]||_0x3ed430[_0x4024bd(0x79d)][_0x4024bd(0x3f2)]==0x0)&&(_0x3ed430[_0x4024bd(0x79d)]=[{}]);if(_0xa03785<=0x0||_0xa03785==0x64){var _0xf6d82c=getChromeVersion();_0xf6d82c>0x50?_0x4024bd(0x3f1)in _0x3ed430[_0x4024bd(0x79d)][0x0]&&delete _0x3ed430[_0x4024bd(0x79d)][0x0]['scaleResolutionDownBy']:_0x3ed430['encodings'][0x0][_0x4024bd(0x3f1)]=0x1;}else _0x3ed430[_0x4024bd(0x79d)][0x0][_0x4024bd(0x3f1)]=0x64/_0xa03785;_0x1204a6['setParameters'](_0x3ed430)[_0x4024bd(0x9a7)](()=>{var _0x3d0776=_0x4024bd;log(_0x3d0776(0x3f8)),log(_0x1204a6[_0x3d0776(0x30c)]()),pokeIframeAPI(_0x3d0776(0x5dc),_0xa03785,_0x3d0776(0x2d4)),pokeIframeAPI(_0x3d0776(0x6f5),_0xa03785,_0x3d0776(0x2d4));})['catch'](warnlog),_0x2de54d['mc'][_0x4024bd(0x653)][_0x4024bd(0x484)]=parseInt(_0xa03785)+'%';return;}}}catch(_0x312363){errorlog(_0x312363);}}},_0x2de54d[_0x139c85(0x8ff)]=function(_0x333b0e,_0x4a9200){var _0x541004=_0x139c85;warnlog('SET\x20SCALING\x20IS\x20FIRING,\x20which\x20is\x20GOOD\x20!!!!!!');if(_0x2de54d[_0x541004(0x5f8)][_0x333b0e]['scale']===_0x4a9200)return;if(_0x4a9200==null){try{var _0x10d377=getSenders2(_0x333b0e)[_0x541004(0x45d)](function(_0x686d42){var _0x5504fa=_0x541004;return _0x686d42[_0x5504fa(0x683)]&&_0x686d42[_0x5504fa(0x683)][_0x5504fa(0x4e2)]==_0x5504fa(0x6fb);});}catch(_0x261c10){errorlog(_0x261c10);}if(!_0x10d377){warnlog(_0x541004(0xa57));return;}var _0x34b281=_0x10d377[_0x541004(0x30c)]();(!_0x34b281['encodings']||_0x34b281[_0x541004(0x79d)][_0x541004(0x3f2)]==0x0)&&(_0x34b281[_0x541004(0x79d)]=[{}]),_0x541004(0x3f1)in _0x34b281['encodings'][0x0]?(_0x4a9200=0x64/_0x34b281['encodings'][0x0][_0x541004(0x3f1)],_0x4a9200=_0x4a9200*0.95):_0x4a9200=0x5f;}else _0x2de54d[_0x541004(0x5f8)][_0x333b0e][_0x541004(0x96c)]=_0x4a9200;try{if(SafariVersion&&SafariVersion<=0xd&&(iOS||iPad))log(_0x541004(0x899));else{if(_0x541004(0x858)in window&&_0x541004(0x345)in window[_0x541004(0x858)]['prototype']){try{var _0x10d377=getSenders2(_0x333b0e)['find'](function(_0x4cccf8){var _0xedd2d7=_0x541004;return _0x4cccf8[_0xedd2d7(0x683)]&&_0x4cccf8['track']['kind']=='video';});}catch(_0x2e3e11){errorlog(_0x2e3e11);}if(!_0x10d377){warnlog(_0x541004(0xa57));return;}_0x4a9200=_0x2de54d[_0x541004(0x874)](_0x333b0e,![],_0x4a9200);var _0x34b281=_0x10d377[_0x541004(0x30c)]();(!_0x34b281['encodings']||_0x34b281['encodings'][_0x541004(0x3f2)]==0x0)&&(_0x34b281['encodings']=[{}]);if(_0x4a9200<=0x0||_0x4a9200==0x64){var _0x2c4ce1=getChromeVersion();_0x2c4ce1>0x50?_0x541004(0x3f1)in _0x34b281['encodings'][0x0]&&delete _0x34b281[_0x541004(0x79d)][0x0][_0x541004(0x3f1)]:_0x34b281[_0x541004(0x79d)][0x0]['scaleResolutionDownBy']=0x1;}else _0x34b281['encodings'][0x0][_0x541004(0x3f1)]=0x64/_0x4a9200;_0x10d377[_0x541004(0x345)](_0x34b281)[_0x541004(0x9a7)](()=>{var _0x42188f=_0x541004;log(_0x42188f(0x3f8)),log(_0x10d377[_0x42188f(0x30c)]()),pokeIframeAPI('setVideoScale',_0x4a9200,_0x333b0e),pokeIframeAPI(_0x42188f(0x6f5),_0x4a9200,_0x333b0e);})['catch'](warnlog),_0x2de54d[_0x541004(0x5f8)][_0x333b0e][_0x541004(0x653)][_0x541004(0x484)]=parseInt(_0x4a9200)+'%';return;}}}catch(_0x5376af){errorlog(_0x5376af);}},_0x2de54d[_0x139c85(0x7f5)]=function(_0x5738a1,_0x5be82f,_0x1188b8,_0x3d9530=![],_0x176e52=![]){var _0x2391b6=_0x139c85;if(!(_0x5738a1 in _0x2de54d['rpcs']))return;_0x5be82f=parseInt(Math['round'](_0x5be82f)),_0x1188b8=parseInt(Math[_0x2391b6(0x717)](_0x1188b8));var _0x323850=![];_0x2de54d['rpcs'][_0x5738a1][_0x2391b6(0x773)]!=_0x5be82f&&(_0x2de54d['rpcs'][_0x5738a1][_0x2391b6(0x773)]=_0x5be82f,_0x323850=!![]);_0x2de54d[_0x2391b6(0x1f2)][_0x5738a1][_0x2391b6(0xa35)]!=_0x1188b8&&(_0x2de54d[_0x2391b6(0x1f2)][_0x5738a1][_0x2391b6(0xa35)]=_0x1188b8,_0x323850=!![]);_0x2de54d[_0x2391b6(0x1f2)][_0x5738a1][_0x2391b6(0x9b6)]!=_0x3d9530&&(_0x2de54d[_0x2391b6(0x1f2)][_0x5738a1][_0x2391b6(0x9b6)]=_0x3d9530,_0x323850=!![]);if(_0x323850){var _0x363494={};_0x363494[_0x2391b6(0x840)]=_0x5738a1,_0x363494[_0x2391b6(0x7f5)]={'w':_0x5be82f,'h':_0x1188b8,'s':_0x3d9530},_0x176e52&&(_0x363494['requestAs']=_0x176e52),log(_0x5be82f+'\x20'+_0x1188b8),_0x2de54d[_0x2391b6(0x4d6)](_0x363494,_0x5738a1);}_0x3d9530?_0x2de54d[_0x2391b6(0x1f2)][_0x5738a1][_0x2391b6(0x653)][_0x2391b6(0x835)]='~\x20'+parseInt(_0x5be82f)+_0x2391b6(0x871)+parseInt(_0x1188b8):_0x2de54d[_0x2391b6(0x1f2)][_0x5738a1][_0x2391b6(0x653)][_0x2391b6(0x835)]=parseInt(_0x5be82f)+_0x2391b6(0x871)+parseInt(_0x1188b8);},_0x2de54d[_0x139c85(0x874)]=function(_0x5673e1,_0x5cb49d=![],_0x3c287a=![]){var _0x12fb9a=_0x139c85;if(_0x3c287a){}else _0x2de54d['pcs'][_0x5673e1][_0x12fb9a(0x96c)]?_0x3c287a=_0x2de54d[_0x12fb9a(0x5f8)][_0x5673e1][_0x12fb9a(0x96c)]:_0x3c287a=0x64;_0x2de54d[_0x12fb9a(0x5f8)][_0x5673e1][_0x12fb9a(0x4c5)]&&_0x3c287a>_0x2de54d[_0x12fb9a(0x5f8)][_0x5673e1]['scaleResolution']&&(_0x3c287a=_0x2de54d[_0x12fb9a(0x5f8)][_0x5673e1][_0x12fb9a(0x4c5)]);if(_0x5cb49d)_0x3c287a=_0x41ce9a(_0x5673e1,_0x3c287a,_0x5cb49d);else _0x2de54d[_0x12fb9a(0x5f8)][_0x5673e1][_0x12fb9a(0x4b6)]&&_0x2de54d['pcs'][_0x5673e1]['scaleDueToBitrate']<_0x3c287a&&(_0x3c287a=_0x2de54d[_0x12fb9a(0x5f8)][_0x5673e1][_0x12fb9a(0x4b6)]);if(_0x2de54d[_0x12fb9a(0x34b)]&&_0x2de54d[_0x12fb9a(0x5f8)][_0x5673e1][_0x12fb9a(0x9b6)]){if(_0x3c287a>0x55)_0x3c287a=0x64;else _0x3c287a>0x2a&&_0x3c287a<0x32&&(_0x3c287a=0x32);}return _0x3c287a=_0x2de54d[_0x12fb9a(0x3c8)](_0x3c287a,_0x5673e1),_0x3c287a;},_0x2de54d[_0x139c85(0x6da)]=function(_0x410cce=![],_0x13aa4c=null,_0x3baa8d=null,_0x11c642=![]){var _0x24149b=_0x139c85;if(_0x410cce&&!(_0x410cce in _0x2de54d['pcs']))return;else{if(!_0x410cce){for(var _0x4a4679 in _0x2de54d[_0x24149b(0x5f8)]){_0x2de54d[_0x24149b(0x6da)](_0x4a4679);}return;}}if(_0x13aa4c===null&&_0x3baa8d===null){if(!_0x2de54d['pcs'][_0x410cce][_0x24149b(0x773)]&&!_0x2de54d['pcs'][_0x410cce][_0x24149b(0xa35)])return;else _0x13aa4c=_0x2de54d[_0x24149b(0x5f8)][_0x410cce][_0x24149b(0x773)]||0x64,_0x3baa8d=_0x2de54d[_0x24149b(0x5f8)][_0x410cce]['scaleHeight']||0x64;}else _0x2de54d['pcs'][_0x410cce][_0x24149b(0x773)]=_0x13aa4c,_0x2de54d['pcs'][_0x410cce][_0x24149b(0xa35)]=_0x3baa8d,_0x2de54d[_0x24149b(0x5f8)][_0x410cce][_0x24149b(0x9b6)]=_0x11c642;if(SafariVersion&&SafariVersion<=0xd&&(iOS||iPad))return;if('RTCRtpSender'in window&&_0x24149b(0x345)in window['RTCRtpSender'][_0x24149b(0xa4c)]){var _0x4bb341=getSenders2(_0x410cce)[_0x24149b(0x45d)](function(_0x31bfd1){var _0x1663c4=_0x24149b;return _0x31bfd1[_0x1663c4(0x683)]&&_0x31bfd1['track']['kind']==_0x1663c4(0x6fb);});if(!_0x4bb341){warnlog(_0x24149b(0x959));return;}var _0x4583fe=_0x4bb341[_0x24149b(0x30c)]();(!_0x4583fe[_0x24149b(0x79d)]||_0x4583fe[_0x24149b(0x79d)][_0x24149b(0x3f2)]==0x0)&&(_0x4583fe[_0x24149b(0x79d)]=[{}]);if(_0x24149b(0x95f)in _0x2de54d[_0x24149b(0x5f8)][_0x410cce]){var _0x289ffa=_0x2de54d[_0x24149b(0x947)][_0x24149b(0x24a)]();if(_0x289ffa[_0x24149b(0x3f2)])var _0xab56a3=_0x289ffa[0x0][_0x24149b(0x4bf)](),_0x1cdb62=_0xab56a3[_0x24149b(0x659)],_0x33d2e0=_0xab56a3[_0x24149b(0x375)];else return;}else{if(_0x2de54d[_0x24149b(0x6b9)]&&_0x2de54d['videoElement']['srcObject']){var _0x289ffa=_0x2de54d[_0x24149b(0x6b9)][_0x24149b(0x66c)]['getVideoTracks']();if(_0x289ffa[_0x24149b(0x3f2)])var _0xab56a3=_0x289ffa[0x0][_0x24149b(0x4bf)](),_0x1cdb62=_0xab56a3[_0x24149b(0x659)],_0x33d2e0=_0xab56a3[_0x24149b(0x375)];else return;}else return;}var _0x4081f1=0x64*_0x13aa4c/_0x33d2e0,_0x4bf741=0x64*_0x3baa8d/_0x1cdb62;log(_0x4081f1+'\x20x\x20'+_0x4bf741);var _0x4328d0=0x64;_0x4081f1>_0x4bf741?_0x4328d0=_0x4bf741:_0x4328d0=_0x4081f1;_0x4328d0>0x64&&(_0x4328d0=0x64);log('resolution\x20scale:\x20'+_0x4328d0),_0x2de54d[_0x24149b(0x5f8)][_0x410cce][_0x24149b(0x4c5)]=_0x4328d0;var _0x582bc3=_0x2de54d[_0x24149b(0x874)](_0x410cce);if(_0x582bc3<=0x0||_0x582bc3==0x64){var _0x411495=getChromeVersion();if(_0x411495>0x50)'scaleResolutionDownBy'in _0x4583fe[_0x24149b(0x79d)][0x0]&&delete _0x4583fe[_0x24149b(0x79d)][0x0][_0x24149b(0x3f1)];else{if(_0x4583fe[_0x24149b(0x79d)][0x0][_0x24149b(0x3f1)]&&_0x4583fe[_0x24149b(0x79d)][0x0]['scaleResolutionDownBy']==0x1){_0x2de54d[_0x24149b(0x5f8)][_0x410cce]['stats']['scaleFactor']=parseInt(_0x582bc3)+'%';return;}else _0x4583fe[_0x24149b(0x79d)][0x0][_0x24149b(0x3f1)]=0x1;}}else{if(_0x24149b(0x3f1)in _0x4583fe[_0x24149b(0x79d)][0x0]&&_0x4583fe[_0x24149b(0x79d)][0x0][_0x24149b(0x3f1)]==0x64/_0x582bc3){_0x2de54d[_0x24149b(0x5f8)][_0x410cce][_0x24149b(0x653)][_0x24149b(0x484)]=parseInt(_0x582bc3)+'%';return;}else _0x4583fe[_0x24149b(0x79d)][0x0][_0x24149b(0x3f1)]=0x64/_0x582bc3;}_0x4bb341[_0x24149b(0x345)](_0x4583fe)[_0x24149b(0x9a7)](()=>{var _0x3a9403=_0x24149b;log('scale\x20set!'),log(_0x4583fe),pokeIframeAPI(_0x3a9403(0x5dc),_0x582bc3,_0x410cce),pokeIframeAPI(_0x3a9403(0x6f5),_0x582bc3,_0x410cce);})[_0x24149b(0x5f2)](warnlog),_0x2de54d[_0x24149b(0x5f8)][_0x410cce][_0x24149b(0x653)][_0x24149b(0x484)]=parseInt(_0x582bc3)+'%';return;}},_0x2de54d[_0x139c85(0x5bf)]=function(_0x524028=null,_0xa04a2f=null){var _0x348fef=_0x139c85;_0xa04a2f&&_0xa04a2f[_0x348fef(0x53b)]();_0x5909dd&&(_0x5909dd[_0x348fef(0x2d8)]=!![],log('FORCING\x20A\x20CHUNKED\x20KEY\x20FRAME:\x20'+_0x524028));if(iOS||iPad)return log(_0x348fef(0x899)),![];else{if(_0x348fef(0x858)in window&&'setParameters'in window[_0x348fef(0x858)]['prototype']){log(_0x348fef(0x6a1)+_0x524028);if(_0x524028==null){for(_0x524028 in _0x2de54d[_0x348fef(0x5f8)]){_0x2de54d['forcePLI'](_0x524028);}return![];}if(!(_0x524028 in _0x2de54d[_0x348fef(0x5f8)]))return![];_0x2de54d[_0x348fef(0x5f8)][_0x524028]['keyframeRate']&&(_0x2de54d['pcs'][_0x524028][_0x348fef(0x7ce)]&&(clearTimeout(_0x2de54d[_0x348fef(0x5f8)][_0x524028][_0x348fef(0x7ce)]),_0x2de54d['pcs'][_0x524028]['keyframeTimeout']=null),_0x2de54d[_0x348fef(0x5f8)][_0x524028][_0x348fef(0x7ce)]=setTimeout(function(_0x4c6351){var _0x22c2ac=_0x348fef;!_0x2de54d[_0x22c2ac(0x5f8)][_0x4c6351]?clearInterval(this):_0x2de54d[_0x22c2ac(0x5bf)](_0x4c6351);},parseInt(_0x2de54d[_0x348fef(0x5f8)][_0x524028][_0x348fef(0x5ff)]),_0x524028));try{var _0x3f830d=getSenders2(_0x524028)[_0x348fef(0x45d)](function(_0x279166){var _0x5d6852=_0x348fef;return _0x279166[_0x5d6852(0x683)]&&_0x279166['track']['kind']==_0x5d6852(0x6fb);});if(!_0x3f830d)return warnlog(_0x348fef(0x959)),![];var _0x4fe31c=_0x3f830d['getParameters']();(!_0x4fe31c[_0x348fef(0x79d)]||_0x4fe31c[_0x348fef(0x79d)][_0x348fef(0x3f2)]==0x0)&&(_0x4fe31c[_0x348fef(0x79d)]=[{}]);var _0x4a052f=![];return _0x4fe31c[_0x348fef(0x79d)][0x0]['scaleResolutionDownBy']=0xa,_0x3f830d[_0x348fef(0x345)](_0x4fe31c)[_0x348fef(0x9a7)](()=>{var _0x334f2f=_0x348fef,_0x7779e1=_0x2de54d[_0x334f2f(0x874)](_0x524028),_0x20a48a=_0x3f830d[_0x334f2f(0x30c)]();if(_0x7779e1<=0x0||_0x7779e1==0x64){var _0x5f297e=getChromeVersion();_0x5f297e>0x50?_0x334f2f(0x3f1)in _0x20a48a['encodings'][0x0]&&delete _0x20a48a[_0x334f2f(0x79d)][0x0][_0x334f2f(0x3f1)]:_0x20a48a[_0x334f2f(0x79d)][0x0]['scaleResolutionDownBy']=0x1;}else _0x20a48a[_0x334f2f(0x79d)][0x0][_0x334f2f(0x3f1)]=0x64/_0x7779e1;_0x3f830d[_0x334f2f(0x345)](_0x20a48a)['then'](()=>{var _0x1a3e3a=_0x334f2f;log(_0x1a3e3a(0x1ed));})['catch'](warnlog);})[_0x348fef(0x5f2)](warnlog),!![];}catch(_0x4227b7){errorlog(_0x4227b7);}}}return![];},_0x2de54d[_0x139c85(0xa17)]=function(_0x38a1f3){var _0x26cff9=_0x139c85;log(_0x26cff9(0x746));var _0x35bff4=getSenders2(_0x38a1f3)[_0x26cff9(0x45d)](function(_0x3406e9){var _0x399588=_0x26cff9;return _0x3406e9['track']&&_0x3406e9[_0x399588(0x683)]['kind']==_0x399588(0x20c);});if(!_0x35bff4)return log(_0x26cff9(0x4fb)),![];var _0x38acd8=_0x35bff4[_0x26cff9(0x30c)]();(!_0x38acd8[_0x26cff9(0x79d)]||_0x38acd8['encodings'][_0x26cff9(0x3f2)]==0x0)&&(_0x38acd8[_0x26cff9(0x79d)]=[{}]);try{_0x38acd8[_0x26cff9(0x79d)][0x0][_0x26cff9(0x5f7)]=_0x26cff9(0x44e),_0x38acd8['encodings'][0x0][_0x26cff9(0x6e6)]=_0x26cff9(0x44e),_0x38acd8['encodings'][0x0][_0x26cff9(0x796)]=!![],_0x35bff4[_0x26cff9(0x345)](_0x38acd8)[_0x26cff9(0x9a7)](()=>{var _0x3b6d56=_0x26cff9;log(_0x3b6d56(0x766)),pokeIframeAPI(_0x3b6d56(0x5af),!![],_0x38a1f3);});}catch(_0x447f86){errorlog(_0x447f86);}},_0x2de54d[_0x139c85(0x90a)]=function(_0x1fbf6b,_0x256e49='maintain-framerate'){var _0x4da82e=_0x139c85,_0x5d3325=getSenders2(_0x1fbf6b)[_0x4da82e(0x45d)](function(_0x847e9e){var _0x2be95a=_0x4da82e;return _0x847e9e['track']&&_0x847e9e[_0x2be95a(0x683)][_0x2be95a(0x4e2)]==_0x2be95a(0x6fb);});if(!_0x5d3325)return log(_0x4da82e(0x89e)),![];var _0x37e70d=_0x5d3325['getParameters']();(!_0x37e70d[_0x4da82e(0x79d)]||_0x37e70d[_0x4da82e(0x79d)][_0x4da82e(0x3f2)]==0x0)&&(_0x37e70d[_0x4da82e(0x79d)]=[{}]);try{_0x256e49===!![]?(_0x37e70d[_0x4da82e(0x79d)][0x0][_0x4da82e(0x90a)]=_0x4da82e(0x5a3),log('done\x20setting\x20degrad\x20to\x20maintain-framerate')):(_0x37e70d['encodings'][0x0][_0x4da82e(0x90a)]=_0x256e49,log(_0x4da82e(0x702)+_0x256e49)),_0x5d3325[_0x4da82e(0x345)](_0x37e70d)[_0x4da82e(0x9a7)](()=>{var _0x31262f=_0x4da82e;log(_0x31262f(0x570));});}catch(_0x7c41b){errorlog(_0x7c41b);}},_0x2de54d[_0x139c85(0x698)]=function(_0x1c0fd3,_0x9c3de0,_0x4eba6e=![]){var _0xfa2575=_0x139c85;log(_0xfa2575(0xa3c)+_0x1c0fd3+',\x20mc?:\x20'+_0x4eba6e);if(_0x2de54d[_0xfa2575(0x7a9)]===![])return;_0x9c3de0[_0xfa2575(0x7a9)]=parseInt(_0x2de54d[_0xfa2575(0x7a9)]/0x64*_0x1c0fd3),_0x4eba6e?_0x2de54d[_0xfa2575(0x994)](null):(console[_0xfa2575(0xa21)](_0x9c3de0['UUID']),_0x2de54d[_0xfa2575(0x3ea)](_0x9c3de0[_0xfa2575(0x840)],null));},_0x2de54d[_0x139c85(0x453)]=function(_0x142d56,_0x5b1b78=0x7d00,_0xec809e=0x3e8){var _0x13203d=_0x139c85;log('encodering\x20being\x20kicked');var _0x3a9249=getSenders2(_0x142d56)[_0x13203d(0x45d)](function(_0xd30dfb){var _0x59cb83=_0x13203d;return _0xd30dfb['track']&&_0xd30dfb[_0x59cb83(0x683)]['kind']==_0x59cb83(0x20c);});if(!_0x3a9249)return log(_0x13203d(0x4fb)),![];var _0x1f109c=_0x3a9249[_0x13203d(0x30c)]();(!_0x1f109c[_0x13203d(0x79d)]||_0x1f109c[_0x13203d(0x79d)][_0x13203d(0x3f2)]==0x0)&&(_0x1f109c[_0x13203d(0x79d)]=[{}]),_0x1f109c[_0x13203d(0x79d)][0x0][_0x13203d(0x711)]=_0x5b1b78,_0x3a9249[_0x13203d(0x345)](_0x1f109c)[_0x13203d(0x9a7)](()=>{pokeIframeAPI('setAudioBitrate',_0x5b1b78,_0x142d56),_0xec809e>0x0&&setTimeout(function(){var _0x4de798=_0x706a;try{if(_0x142d56 in _0x2de54d[_0x4de798(0x5f8)])var _0xc71a9=getSenders2(_0x142d56)[_0x4de798(0x45d)](function(_0x5407c7){var _0x3a3e51=_0x4de798;return _0x5407c7[_0x3a3e51(0x683)]&&_0x5407c7[_0x3a3e51(0x683)][_0x3a3e51(0x4e2)]==_0x3a3e51(0x20c);});else return![];if(!_0xc71a9)return log(_0x4de798(0x4fb)),![];var _0x5f4a91=_0xc71a9[_0x4de798(0x30c)]();delete _0x5f4a91['encodings'][0x0]['maxBitrate'],_0xc71a9[_0x4de798(0x345)](_0x5f4a91)[_0x4de798(0x9a7)](()=>{var _0x55c6cf=_0x4de798;log(_0x55c6cf(0x766));});}catch(_0x58a5a8){errorlog(_0x58a5a8);}},_0xec809e,_0x142d56);});},_0x2de54d[_0x139c85(0x4d8)]=function(_0x4fcdd3,_0x4b1175,_0x44624b){var _0x28d4d3=_0x139c85;pokeIframeAPI(_0x28d4d3(0x4c7),_0x4fcdd3,_0x44624b);if(_0x2de54d['password'])return generateHash(_0x4fcdd3+_0x2de54d[_0x28d4d3(0x7c0)]+_0x2de54d[_0x28d4d3(0x500)],0x10)['then'](function(_0x2dade9){var _0x58baef=_0x28d4d3,_0x5ac143={};_0x4b1175[_0x58baef(0x2ce)]&&(_0x4b1175[_0x58baef(0x2bb)]=_0x2dade9);if(_0x2de54d[_0x58baef(0x473)]&&_0x2de54d[_0x58baef(0x4a6)])_0x5ac143[_0x58baef(0x828)]=_0x44624b,_0x5ac143[_0x58baef(0x7a0)]=_0x2dade9,_0x5ac143['transferSettings']=_0x4b1175,_0x2de54d[_0x58baef(0x4d6)](_0x5ac143,_0x2de54d[_0x58baef(0x4a6)]),log(_0x5ac143);else{if(_0x4b1175[_0x58baef(0x2ce)]){_0x5ac143['request']=_0x58baef(0x828),_0x5ac143[_0x58baef(0x6fd)]=_0x4b1175,log(_0x5ac143);if(_0x2de54d[_0x58baef(0x4d6)](_0x5ac143,_0x44624b)){var _0x5ac143={};_0x5ac143[_0x58baef(0x450)]=_0x58baef(0x828),_0x5ac143[_0x58baef(0x7a0)]=_0x2dade9,_0x5ac143[_0x58baef(0x2dc)]=_0x44624b,_0x2de54d[_0x58baef(0x7f9)](_0x5ac143);}log(_0x5ac143);}else{if(_0x58baef(0x69d)in _0x4b1175){_0x5ac143[_0x58baef(0x450)]='migrate',_0x5ac143[_0x58baef(0x6fd)]=_0x4b1175,delete _0x5ac143['transferSettings'][_0x58baef(0x7a0)],delete _0x5ac143[_0x58baef(0x6fd)]['roomenc'],log(_0x5ac143);if(_0x2de54d[_0x58baef(0x4d6)](_0x5ac143,_0x44624b)){var _0x5ac143={};_0x5ac143[_0x58baef(0x450)]=_0x58baef(0x828),_0x5ac143[_0x58baef(0x7a0)]=_0x2dade9,_0x5ac143[_0x58baef(0x2dc)]=_0x44624b,_0x2de54d['sendMsg'](_0x5ac143);}log(_0x5ac143);}else _0x5ac143[_0x58baef(0x450)]=_0x58baef(0x828),_0x5ac143[_0x58baef(0x7a0)]=_0x2dade9,_0x5ac143['target']=_0x44624b,_0x2de54d[_0x58baef(0x7f9)](_0x5ac143);}}})['catch'](errorlog);else{_0x4b1175[_0x28d4d3(0x2ce)]&&(_0x4b1175['roomenc']=_0x4fcdd3);var _0x2fa5aa={};if(_0x2de54d[_0x28d4d3(0x473)]&&_0x2de54d[_0x28d4d3(0x4a6)])_0x2fa5aa[_0x28d4d3(0x828)]=_0x44624b,_0x2fa5aa['roomid']=_0x4fcdd3,_0x2fa5aa[_0x28d4d3(0x6fd)]=_0x4b1175,_0x2de54d['sendRequest'](_0x2fa5aa,_0x2de54d[_0x28d4d3(0x4a6)]),log(_0x2fa5aa);else{if(_0x4b1175[_0x28d4d3(0x2ce)]){_0x2fa5aa[_0x28d4d3(0x450)]='migrate',_0x2fa5aa['transferSettings']=_0x4b1175;if(_0x2de54d[_0x28d4d3(0x4d6)](_0x2fa5aa,_0x44624b)){log(_0x2fa5aa);var _0x2fa5aa={};_0x2fa5aa['request']=_0x28d4d3(0x828),_0x2fa5aa[_0x28d4d3(0x7a0)]=_0x4fcdd3,_0x2fa5aa[_0x28d4d3(0x2dc)]=_0x44624b,_0x2de54d[_0x28d4d3(0x7f9)](_0x2fa5aa);}}else{if(_0x28d4d3(0x69d)in _0x4b1175){_0x2fa5aa[_0x28d4d3(0x450)]=_0x28d4d3(0x828),_0x2fa5aa['transferSettings']=_0x4b1175,delete _0x2fa5aa['transferSettings'][_0x28d4d3(0x7a0)],delete _0x2fa5aa['transferSettings'][_0x28d4d3(0x2bb)];if(_0x2de54d['sendRequest'](_0x2fa5aa,_0x44624b)){warnlog(_0x2fa5aa);var _0x2fa5aa={};_0x2fa5aa[_0x28d4d3(0x450)]=_0x28d4d3(0x828),_0x2fa5aa['roomid']=rid,_0x2fa5aa['target']=_0x44624b,_0x2de54d['sendMsg'](_0x2fa5aa);}}else _0x2fa5aa[_0x28d4d3(0x450)]='migrate',_0x2fa5aa[_0x28d4d3(0x7a0)]=_0x4fcdd3,_0x2fa5aa[_0x28d4d3(0x2dc)]=_0x44624b,_0x2de54d[_0x28d4d3(0x7f9)](_0x2fa5aa);}}}},_0x2de54d[_0x139c85(0xa31)]=async function(_0x4d7736,_0x26d2a6){var _0x3e672c=_0x139c85;_0x26d2a6=parseInt(_0x26d2a6);try{var _0x11e84d=getSenders2(_0x4d7736)[_0x3e672c(0x45d)](function(_0x5aac7b){var _0x4a13a6=_0x3e672c;return _0x5aac7b[_0x4a13a6(0x683)]&&_0x5aac7b[_0x4a13a6(0x683)][_0x4a13a6(0x4e2)]==_0x4a13a6(0x20c);});if(!_0x11e84d){warnlog(_0x3e672c(0x296));return;}var _0x379062=_0x11e84d[_0x3e672c(0x30c)]();(!_0x379062[_0x3e672c(0x79d)]||_0x379062[_0x3e672c(0x79d)][_0x3e672c(0x3f2)]==0x0)&&(_0x379062[_0x3e672c(0x79d)]=[{}]);if(_0x26d2a6<0x0){_0x379062[_0x3e672c(0x79d)][0x0]['active']==![]&&(_0x379062[_0x3e672c(0x79d)][0x0][_0x3e672c(0x3ab)]=!![]);if(SafariVersion&&SafariVersion<=0xd&&(iOS||iPad)){_0x26d2a6=0x20;if(_0x2de54d[_0x3e672c(0x5f8)][_0x4d7736][_0x3e672c(0x798)]!==![])_0x26d2a6=_0x2de54d['pcs'][_0x4d7736]['setAudioBitrate'];else _0x2de54d['audiobitrate']&&(_0x26d2a6=_0x2de54d[_0x3e672c(0x4bb)]);_0x379062['encodings'][0x0]['maxBitrate']=_0x26d2a6*0x400;}else _0x2de54d[_0x3e672c(0x5f8)][_0x4d7736][_0x3e672c(0x798)]!==![]?(_0x26d2a6=_0x2de54d[_0x3e672c(0x5f8)][_0x4d7736][_0x3e672c(0x798)],_0x379062[_0x3e672c(0x79d)][0x0][_0x3e672c(0x711)]=_0x26d2a6*0x400):delete _0x379062['encodings'][0x0]['maxBitrate'];}else _0x26d2a6===0x0?_0x379062[_0x3e672c(0x79d)][0x0][_0x3e672c(0x3ab)]=![]:(_0x379062[_0x3e672c(0x79d)][0x0][_0x3e672c(0x3ab)]==![]&&(_0x379062[_0x3e672c(0x79d)][0x0]['active']=!![]),_0x379062[_0x3e672c(0x79d)][0x0][_0x3e672c(0x711)]=_0x26d2a6*0x400);_0x11e84d[_0x3e672c(0x345)](_0x379062)[_0x3e672c(0x9a7)](()=>{var _0x3de084=_0x3e672c;pokeIframeAPI(_0x3de084(0x798),_0x26d2a6,_0x4d7736),log(_0x3de084(0x1f1));})['catch'](warnlog);}catch(_0x21b8d2){errorlog(_0x21b8d2),log(_0x4d7736),log(_0x2de54d[_0x3e672c(0x5f8)][_0x4d7736]);}},_0x2de54d[_0x139c85(0x4ec)]=function(_0x548e1b){var _0x17d7dd=_0x139c85;if(_0x2de54d[_0x17d7dd(0x46e)]&&_0x2de54d[_0x17d7dd(0x5f8)][_0x548e1b][_0x17d7dd(0x206)]===!![])_0x2de54d[_0x17d7dd(0x3ea)](_0x548e1b,0x0),_0x2de54d['pcs'][_0x548e1b][_0x17d7dd(0x354)]===0x0&&(_0x2de54d[_0x17d7dd(0x5f8)][_0x548e1b][_0x17d7dd(0x8d9)]===![]?_0x2de54d['limitAudioBitrate'](_0x548e1b,0x0):_0x2de54d[_0x17d7dd(0xa31)](_0x548e1b,-0x1));else{if(_0x2de54d[_0x17d7dd(0x5f8)][_0x548e1b]&&_0x2de54d['pcs'][_0x548e1b][_0x17d7dd(0x354)]!==![]){if(_0x2de54d[_0x17d7dd(0x5f8)][_0x548e1b][_0x17d7dd(0x8d9)]===![]){var _0x1afb91=_0x2de54d[_0x17d7dd(0x5f8)][_0x548e1b]['optimizedBitrate'];_0x2de54d['pcs'][_0x548e1b][_0x17d7dd(0x754)]&&_0x2de54d[_0x17d7dd(0x5f8)][_0x548e1b][_0x17d7dd(0x754)]>0x0&&(_0x2de54d['pcs'][_0x548e1b][_0x17d7dd(0x754)]<_0x2de54d['pcs'][_0x548e1b][_0x17d7dd(0x354)]&&(_0x1afb91=_0x2de54d['pcs'][_0x548e1b][_0x17d7dd(0x754)])),_0x2de54d[_0x17d7dd(0x3ea)](_0x548e1b,_0x1afb91),_0x2de54d[_0x17d7dd(0x5f8)][_0x548e1b][_0x17d7dd(0x354)]===0x0&&_0x2de54d['limitAudioBitrate'](_0x548e1b,0x0);}else _0x2de54d[_0x17d7dd(0x5f8)][_0x548e1b][_0x17d7dd(0x354)]===0x0&&(_0x2de54d[_0x17d7dd(0xa31)](_0x548e1b,-0x1),_0x2de54d[_0x17d7dd(0x7cc)](),_0x2de54d[_0x17d7dd(0x94d)]&&_0x2de54d[_0x17d7dd(0x3ea)](_0x548e1b,null));}else _0x2de54d['limitTotalBitrateGuests'](),_0x2de54d[_0x17d7dd(0x94d)]&&_0x2de54d['limitBitrate'](_0x548e1b,null);}},_0x2de54d['limitTotalBitrateGuests']=function(_0xcbd0a3=0x0,_0x5de90c=![]){var _0x5902dd=_0x139c85;if(!_0x2de54d['limitTotalBitrate'])return _0xcbd0a3;if(!_0x2de54d['roomid']||_0x2de54d[_0x5902dd(0x33e)]!==![])return _0xcbd0a3;if((iOS||iPad)&&SafariVersion&&SafariVersion<=0xd)return _0xcbd0a3;var _0xe536ca=_0xcbd0a3;if(_0x5de90c===![])_0xe536ca=0x0;else _0xe536ca<0x0&&(_0xe536ca=_0x2de54d[_0x5902dd(0x5f8)][_0x5de90c]['setBitrate']||_0x2de54d[_0x5902dd(0x440)]||_0x2de54d['pcs'][_0x5d22e3][_0x5902dd(0x7a9)]||0x9c4);var _0x55ff52=0x0;for(var _0x5d22e3 in _0x2de54d['pcs']){if(_0x5de90c===_0x5d22e3)continue;if(!_0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3]['guest'])continue;try{var _0x727918=getSenders2(_0x5d22e3)[_0x5902dd(0x45d)](function(_0x512c32){var _0x204b9c=_0x5902dd;return _0x512c32[_0x204b9c(0x683)]&&_0x512c32[_0x204b9c(0x683)][_0x204b9c(0x4e2)]==_0x204b9c(0x6fb);});if(!_0x727918)continue;var _0x52732a=_0x727918[_0x5902dd(0x30c)]();if(!_0x52732a['encodings']||_0x52732a[_0x5902dd(0x79d)][_0x5902dd(0x3f2)]==0x0){_0x2de54d['pcs'][_0x5d22e3]['setBitrate']<0x0?_0xe536ca+=_0x2de54d['outboundVideoBitrate']||_0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3][_0x5902dd(0x7a9)]||0x9c4:_0xe536ca+=_0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3][_0x5902dd(0x201)]||_0x2de54d[_0x5902dd(0x440)]||_0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3][_0x5902dd(0x7a9)]||0x9c4;warnlog(_0xe536ca),_0x55ff52+=0x1;continue;}if(_0x52732a['encodings'][0x0][_0x5902dd(0x3ab)]==![])continue;if(_0x52732a[_0x5902dd(0x79d)][0x0][_0x5902dd(0x711)])_0x5902dd(0x4e7)in _0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3]?_0xe536ca+=parseInt(_0x2de54d['pcs'][_0x5d22e3][_0x5902dd(0x4e7)]):_0xe536ca+=parseInt(_0x52732a['encodings'][0x0]['maxBitrate'])/0x400;else _0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3]['setBitrate']<0x0?_0xe536ca+=_0x2de54d[_0x5902dd(0x440)]||_0x2de54d['pcs'][_0x5d22e3][_0x5902dd(0x7a9)]||0x9c4:(_0xe536ca+=_0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3][_0x5902dd(0x201)]||_0x2de54d[_0x5902dd(0x440)]||_0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3][_0x5902dd(0x7a9)]||0x9c4,warnlog(_0xe536ca));_0x55ff52+=0x1;}catch(_0x504a42){errorlog(_0x504a42);}}if(!_0xe536ca)return _0xe536ca;warnlog(_0x5902dd(0x552)+_0xe536ca);var _0x3c3ea9=parseFloat(_0xe536ca/_0x2de54d['limitTotalBitrate']);_0x3c3ea9<0x1&&(_0x3c3ea9=0x1);for(var _0x5d22e3 in _0x2de54d[_0x5902dd(0x5f8)]){if(_0x5de90c===_0x5d22e3)continue;if(!_0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3][_0x5902dd(0x4fd)])continue;try{var _0x727918=getSenders2(_0x5d22e3)[_0x5902dd(0x45d)](function(_0x42b014){var _0x5b2fdc=_0x5902dd;return _0x42b014[_0x5b2fdc(0x683)]&&_0x42b014[_0x5b2fdc(0x683)][_0x5b2fdc(0x4e2)]==_0x5b2fdc(0x6fb);});if(!_0x727918)continue;var _0x52732a=_0x727918[_0x5902dd(0x30c)]();if(!_0x52732a[_0x5902dd(0x79d)]||_0x52732a[_0x5902dd(0x79d)][_0x5902dd(0x3f2)]==0x0){if(_0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3][_0x5902dd(0x201)]<0x0)var _0x40b92e=_0x2de54d[_0x5902dd(0x440)]||_0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3]['maxBandwidth']||0x9c4;else var _0x40b92e=_0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3][_0x5902dd(0x201)]||_0x2de54d[_0x5902dd(0x440)]||_0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3][_0x5902dd(0x7a9)]||0x9c4;var _0x1a14f9=parseInt(_0x40b92e/_0x3c3ea9);_0x2de54d[_0x5902dd(0x3ea)](_0x5d22e3,_0x1a14f9,!![]);continue;}if(_0x52732a['encodings'][0x0][_0x5902dd(0x3ab)]==![])continue;if(_0x52732a['encodings'][0x0]['maxBitrate']){if('preLimitedBitrate'in _0x2de54d['pcs'][_0x5d22e3])var _0x40b92e=parseInt(_0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3][_0x5902dd(0x4e7)]);else var _0x40b92e=parseInt(parseInt(_0x52732a['encodings'][0x0]['maxBitrate'])/0x400);var _0x1a14f9=parseInt(_0x40b92e/_0x3c3ea9);_0x2de54d['limitBitrate'](_0x5d22e3,_0x1a14f9,!![]);}else{if(_0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3][_0x5902dd(0x201)]<0x0)var _0x40b92e=_0x2de54d[_0x5902dd(0x440)]||_0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3][_0x5902dd(0x7a9)]||0x9c4;else var _0x40b92e=_0x2de54d[_0x5902dd(0x5f8)][_0x5d22e3][_0x5902dd(0x201)]||_0x2de54d[_0x5902dd(0x440)]||_0x2de54d['pcs'][_0x5d22e3][_0x5902dd(0x7a9)]||0x9c4;var _0x1a14f9=parseInt(_0x40b92e/_0x3c3ea9);_0x2de54d[_0x5902dd(0x3ea)](_0x5d22e3,_0x1a14f9,!![]);}}catch(_0x377c7d){errorlog(_0x377c7d);}}return parseInt(_0xcbd0a3/_0x3c3ea9);},_0x2de54d['limitTotalBitrateAll']=function(_0xee93e8=0x0,_0x4be60e=![]){var _0x22acd0=_0x139c85;if(!_0x2de54d['limitTotalBitrate'])return _0xee93e8;if((iOS||iPad)&&SafariVersion&&SafariVersion<=0xd)return _0xee93e8;var _0x5a53b0=_0xee93e8;if(_0x4be60e===![])_0x5a53b0=0x0;else _0x5a53b0<0x0&&(_0x5a53b0=_0x2de54d[_0x22acd0(0x5f8)][_0x4be60e][_0x22acd0(0x201)]||_0x2de54d['outboundVideoBitrate']||_0x2de54d['pcs'][_0x248f14]['maxBandwidth']||0x9c4);var _0x16f96f=0x0;for(var _0x248f14 in _0x2de54d[_0x22acd0(0x5f8)]){if(_0x4be60e===_0x248f14)continue;try{var _0x194e13=getSenders2(_0x248f14)[_0x22acd0(0x45d)](function(_0x102ef5){var _0xd3af6d=_0x22acd0;return _0x102ef5[_0xd3af6d(0x683)]&&_0x102ef5[_0xd3af6d(0x683)][_0xd3af6d(0x4e2)]==_0xd3af6d(0x6fb);});if(!_0x194e13)continue;var _0x523103=_0x194e13['getParameters']();if(!_0x523103[_0x22acd0(0x79d)]||_0x523103[_0x22acd0(0x79d)][_0x22acd0(0x3f2)]==0x0){_0x2de54d[_0x22acd0(0x5f8)][_0x248f14][_0x22acd0(0x201)]<0x0?_0x5a53b0+=_0x2de54d[_0x22acd0(0x440)]||_0x2de54d['pcs'][_0x248f14][_0x22acd0(0x7a9)]||0x9c4:_0x5a53b0+=_0x2de54d[_0x22acd0(0x5f8)][_0x248f14][_0x22acd0(0x201)]||_0x2de54d[_0x22acd0(0x440)]||_0x2de54d[_0x22acd0(0x5f8)][_0x248f14][_0x22acd0(0x7a9)]||0x9c4;warnlog(_0x5a53b0),_0x16f96f+=0x1;continue;}if(_0x523103[_0x22acd0(0x79d)][0x0][_0x22acd0(0x3ab)]==![])continue;if(_0x523103[_0x22acd0(0x79d)][0x0]['maxBitrate'])'preLimitedBitrate'in _0x2de54d[_0x22acd0(0x5f8)][_0x248f14]?_0x5a53b0+=parseInt(_0x2de54d[_0x22acd0(0x5f8)][_0x248f14][_0x22acd0(0x4e7)]):_0x5a53b0+=parseInt(_0x523103[_0x22acd0(0x79d)][0x0]['maxBitrate'])/0x400;else _0x2de54d['pcs'][_0x248f14]['setBitrate']<0x0?_0x5a53b0+=_0x2de54d['outboundVideoBitrate']||_0x2de54d['pcs'][_0x248f14][_0x22acd0(0x7a9)]||0x9c4:(_0x5a53b0+=_0x2de54d[_0x22acd0(0x5f8)][_0x248f14]['setBitrate']||_0x2de54d[_0x22acd0(0x440)]||_0x2de54d[_0x22acd0(0x5f8)][_0x248f14]['maxBandwidth']||0x9c4,warnlog(_0x5a53b0));_0x16f96f+=0x1;}catch(_0x2a7945){errorlog(_0x2a7945);}}if(!_0x5a53b0)return _0x5a53b0;warnlog('totalBitrate:\x20'+_0x5a53b0);var _0x353992=parseFloat(_0x5a53b0/_0x2de54d['limitTotalBitrate']);_0x353992<0x1&&(_0x353992=0x1);for(var _0x248f14 in _0x2de54d['pcs']){if(_0x4be60e===_0x248f14)continue;try{var _0x194e13=getSenders2(_0x248f14)[_0x22acd0(0x45d)](function(_0x670a86){var _0x121cca=_0x22acd0;return _0x670a86['track']&&_0x670a86['track'][_0x121cca(0x4e2)]==_0x121cca(0x6fb);});if(!_0x194e13)continue;var _0x523103=_0x194e13[_0x22acd0(0x30c)]();if(!_0x523103['encodings']||_0x523103['encodings'][_0x22acd0(0x3f2)]==0x0){if(_0x2de54d[_0x22acd0(0x5f8)][_0x248f14]['setBitrate']<0x0)var _0xec0333=_0x2de54d[_0x22acd0(0x440)]||_0x2de54d['pcs'][_0x248f14][_0x22acd0(0x7a9)]||0x9c4;else var _0xec0333=_0x2de54d[_0x22acd0(0x5f8)][_0x248f14][_0x22acd0(0x201)]||_0x2de54d[_0x22acd0(0x440)]||_0x2de54d[_0x22acd0(0x5f8)][_0x248f14][_0x22acd0(0x7a9)]||0x9c4;var _0x1118a0=parseInt(_0xec0333/_0x353992);_0x2de54d['limitBitrate'](_0x248f14,_0x1118a0,!![]);continue;}if(_0x523103[_0x22acd0(0x79d)][0x0]['active']==![])continue;if(_0x523103['encodings'][0x0][_0x22acd0(0x711)]){if(_0x22acd0(0x4e7)in _0x2de54d[_0x22acd0(0x5f8)][_0x248f14])var _0xec0333=parseInt(_0x2de54d[_0x22acd0(0x5f8)][_0x248f14]['preLimitedBitrate']);else var _0xec0333=parseInt(parseInt(_0x523103[_0x22acd0(0x79d)][0x0]['maxBitrate'])/0x400);var _0x1118a0=parseInt(_0xec0333/_0x353992);_0x2de54d['limitBitrate'](_0x248f14,_0x1118a0,!![]);}else{if(_0x2de54d['pcs'][_0x248f14][_0x22acd0(0x201)]<0x0)var _0xec0333=_0x2de54d[_0x22acd0(0x440)]||_0x2de54d['pcs'][_0x248f14]['maxBandwidth']||0x9c4;else var _0xec0333=_0x2de54d[_0x22acd0(0x5f8)][_0x248f14][_0x22acd0(0x201)]||_0x2de54d[_0x22acd0(0x440)]||_0x2de54d[_0x22acd0(0x5f8)][_0x248f14][_0x22acd0(0x7a9)]||0x9c4;var _0x1118a0=parseInt(_0xec0333/_0x353992);_0x2de54d['limitBitrate'](_0x248f14,_0x1118a0,!![]);}}catch(_0x3e48bb){errorlog(_0x3e48bb);}}return parseInt(_0xee93e8/_0x353992);},_0x2de54d[_0x139c85(0x3d1)]=function(_0x1bf81e,_0x40da92=![]){var _0x88b8c6=_0x139c85,_0x463ba5={};_0x463ba5[_0x88b8c6(0x362)]={},_0x463ba5['directorSettings'][_0x88b8c6(0x3d6)]=[_0x1bf81e],_0x2de54d[_0x88b8c6(0x203)](_0x463ba5,_0x40da92);},_0x2de54d[_0x139c85(0x994)]=function(_0x49098b=null){var _0x17c9b6=_0x139c85;if(!_0x2de54d['mc'])return;_0x2de54d['mc'][_0x17c9b6(0x445)]&&(clearInterval(_0x2de54d['mc']['bitrateTimeout']),_0x2de54d['mc'][_0x17c9b6(0x445)]=null);if(_0x49098b===null){if(_0x2de54d['mc'][_0x17c9b6(0x754)]===![])return;_0x49098b=_0x2de54d['mc'][_0x17c9b6(0x754)];}_0x49098b=parseInt(_0x49098b);if(_0x2de54d['mc'][_0x17c9b6(0x201)]&&_0x49098b>_0x2de54d['mc'][_0x17c9b6(0x201)])_0x49098b=_0x2de54d['mc']['setBitrate'];else _0x2de54d['mc'][_0x17c9b6(0x201)]===![]&&(_0x49098b<0x0&&(_0x2de54d[_0x17c9b6(0x440)]?_0x49098b=_0x2de54d['outboundVideoBitrate']:_0x49098b=0x9c4));_0x2de54d[_0x17c9b6(0x94d)]&&(_0x49098b>_0x2de54d[_0x17c9b6(0x94d)]&&(_0x49098b=_0x2de54d['maxvideobitrate']));_0x2de54d['mc'][_0x17c9b6(0x754)]=_0x49098b;_0x2de54d['mc'][_0x17c9b6(0x354)]!==![]&&(_0x2de54d['mc'][_0x17c9b6(0x8d9)]===![]&&(_0x49098b>_0x2de54d['mc']['optimizedBitrate']&&(_0x2de54d['mc']['savedBitrate']=_0x49098b,_0x49098b=parseInt(_0x2de54d['mc'][_0x17c9b6(0x354)])||0x0)));if(_0x2de54d['mc'][_0x17c9b6(0x7a9)]!==null){if(_0x2de54d['mc'][_0x17c9b6(0x7a9)]<_0x49098b)_0x49098b=_0x2de54d['mc'][_0x17c9b6(0x7a9)],_0x2de54d['mc']['stats'][_0x17c9b6(0x54a)]=_0x49098b,warnlog(_0x17c9b6(0x941)+_0x49098b+_0x17c9b6(0x4cb));else _0x2de54d['mc'][_0x17c9b6(0x653)]&&(_0x2de54d['mc'][_0x17c9b6(0x653)][_0x17c9b6(0x54a)]=![]);}else _0x17c9b6(0x54a)in _0x2de54d['mc'][_0x17c9b6(0x653)]&&(_0x2de54d['mc'][_0x17c9b6(0x653)][_0x17c9b6(0x54a)]=![]);if(_0x49098b===0x0){var _0x2dedd9=Date[_0x17c9b6(0x9d3)]()-_0x2de54d['mc'][_0x17c9b6(0x558)];_0x2dedd9<_0x2de54d[_0x17c9b6(0x38b)]&&(_0x49098b=_0x2de54d[_0x17c9b6(0x5bc)],log(_0x17c9b6(0x30d)+(Date['now']()-_0x2de54d['mc'][_0x17c9b6(0x558)])),_0x2de54d['mc'][_0x17c9b6(0x445)]=setTimeout(function(){var _0x4a0252=_0x17c9b6;try{warnlog(_0x4a0252(0x377)+(Date[_0x4a0252(0x9d3)]()-_0x2de54d['mc'][_0x4a0252(0x558)])),_0x2de54d[_0x4a0252(0x994)](null);}catch(_0x49960d){};},_0x2de54d['rampUpTime']-_0x2dedd9+0x5));}try{if((iOS||iPad)&&SafariVersion&&SafariVersion<=0xd){log(_0x17c9b6(0x899));var _0x285207=_0x2de54d['mc'][_0x17c9b6(0x2ec)]()[_0x17c9b6(0x45d)](function(_0x1ff80a){var _0x49ab24=_0x17c9b6;return _0x1ff80a[_0x49ab24(0x683)]&&_0x1ff80a['track'][_0x49ab24(0x4e2)]==_0x49ab24(0x6fb);});if(!_0x285207){warnlog('can\x27t\x20change\x20bitrate;\x20no\x20video\x20sender\x20found');return;}var _0x2cfc3e=_0x285207[_0x17c9b6(0x30c)]();(!_0x2cfc3e[_0x17c9b6(0x79d)]||_0x2cfc3e[_0x17c9b6(0x79d)][_0x17c9b6(0x3f2)]==0x0)&&(_0x2cfc3e[_0x17c9b6(0x79d)]=[{}]);if(_0x49098b<0x0)_0x2cfc3e[_0x17c9b6(0x79d)][0x0][_0x17c9b6(0x3ab)]==![]&&(_0x2cfc3e[_0x17c9b6(0x79d)][0x0][_0x17c9b6(0x3ab)]=!![]),_0x49098b=0x9c4,_0x2de54d[_0x17c9b6(0x2a6)]&&(_0x49098b=_0x2de54d[_0x17c9b6(0x2a6)]),_0x2de54d['maxvideobitrate']&&(_0x49098b>_0x2de54d[_0x17c9b6(0x94d)]&&(_0x49098b=_0x2de54d[_0x17c9b6(0x94d)])),_0x2cfc3e[_0x17c9b6(0x79d)][0x0][_0x17c9b6(0x711)]=_0x49098b*0x400;else _0x49098b===0x0?_0x2cfc3e[_0x17c9b6(0x79d)][0x0][_0x17c9b6(0x3ab)]=![]:(_0x2cfc3e[_0x17c9b6(0x79d)][0x0][_0x17c9b6(0x3ab)]==![]&&(_0x2cfc3e[_0x17c9b6(0x79d)][0x0][_0x17c9b6(0x3ab)]=!![]),_0x2cfc3e[_0x17c9b6(0x79d)][0x0]['maxBitrate']=_0x49098b*0x400);_0x285207[_0x17c9b6(0x345)](_0x2cfc3e)[_0x17c9b6(0x9a7)](()=>{var _0x2ffa42=_0x17c9b6;pokeIframeAPI(_0x2ffa42(0x9ec),_0x49098b),log('bandwidth\x20set\x20g!\x20'+_0x49098b);})[_0x17c9b6(0x5f2)](warnlog);return;}else{if(_0x17c9b6(0x858)in window&&_0x17c9b6(0x345)in window[_0x17c9b6(0x858)][_0x17c9b6(0xa4c)]){var _0x285207=_0x2de54d['mc'][_0x17c9b6(0x2ec)]()[_0x17c9b6(0x45d)](function(_0x418dce){var _0x15d191=_0x17c9b6;return _0x418dce['track']&&_0x418dce[_0x15d191(0x683)]['kind']==_0x15d191(0x6fb);});if(!_0x285207){warnlog(_0x17c9b6(0x959));return;}var _0x2cfc3e=_0x285207[_0x17c9b6(0x30c)]();(!_0x2cfc3e['encodings']||_0x2cfc3e[_0x17c9b6(0x79d)]['length']==0x0)&&(_0x2cfc3e[_0x17c9b6(0x79d)]=[{}]);if(_0x49098b<0x0)_0x2cfc3e[_0x17c9b6(0x79d)][0x0][_0x17c9b6(0x3ab)]==![]&&(_0x2cfc3e['encodings'][0x0]['active']=!![]),delete _0x2cfc3e['encodings'][0x0][_0x17c9b6(0x711)];else _0x49098b===0x0?(_0x2cfc3e[_0x17c9b6(0x79d)][0x0][_0x17c9b6(0x3ab)]=![],Firefox&&(_0x2cfc3e[_0x17c9b6(0x79d)][0x0][_0x17c9b6(0x711)]=0x1)):(_0x2cfc3e[_0x17c9b6(0x79d)][0x0][_0x17c9b6(0x3ab)]==![]&&(_0x2cfc3e['encodings'][0x0][_0x17c9b6(0x3ab)]=!![]),_0x2cfc3e['encodings'][0x0][_0x17c9b6(0x711)]=_0x49098b*0x400);iPad||iOS||Firefox?_0x2de54d['mc']['bitrateTimeoutFirefox']?(clearInterval(_0x2de54d['mc']['bitrateTimeoutFirefox']),_0x2de54d['mc'][_0x17c9b6(0x1c8)]=setTimeout(function(){var _0xbc3e83=_0x17c9b6;log(_0xbc3e83(0x95a)+_0x49098b),_0x2de54d['mc'][_0xbc3e83(0x1c8)]=![],_0x2de54d[_0xbc3e83(0x994)](null);},0x1f4)):(_0x2de54d['mc'][_0x17c9b6(0x1c8)]=setTimeout(function(){var _0x56f671=_0x17c9b6;_0x2de54d['mc'][_0x56f671(0x1c8)]=![];},0x1f4),_0x285207[_0x17c9b6(0x345)](_0x2cfc3e)[_0x17c9b6(0x9a7)](()=>{var _0x55874f=_0x17c9b6;log(_0x55874f(0x701)+_0x49098b),log(_0x2cfc3e),pokeIframeAPI(_0x55874f(0x9ec),_0x49098b);})[_0x17c9b6(0x5f2)](warnlog)):_0x285207['setParameters'](_0x2cfc3e)[_0x17c9b6(0x9a7)](()=>{log('bandwidth\x20set\x20i!\x20'+_0x49098b),pokeIframeAPI('setMeshcastVideoBitrate',_0x49098b);})[_0x17c9b6(0x5f2)](warnlog);return;}else warnlog(_0x17c9b6(0x819));}}catch(_0x38f831){errorlog(_0x38f831);}},_0x2de54d[_0x139c85(0x557)]=function(_0xa68e64,_0x30b988){var _0x225ea3=_0x139c85;_0x30b988===![]?(_0x2de54d['pcs'][_0xa68e64][_0x225ea3(0x201)]=![],_0x2de54d[_0x225ea3(0x3ea)](_0xa68e64,-0x1)):(_0x30b988=parseInt(_0x30b988)||-0x1,_0x30b988>=0x0&&(_0x2de54d[_0x225ea3(0x5f8)][_0xa68e64][_0x225ea3(0x201)]=_0x30b988,_0x2de54d[_0x225ea3(0x3ea)](_0xa68e64,_0x30b988)));},_0x2de54d['targetAudioBitrate']=function(_0x12214b,_0x7dd833){var _0x3212b0=_0x139c85;_0x7dd833===![]?(_0x2de54d[_0x3212b0(0x5f8)][_0x12214b]['setAudioBitrate']=![],_0x2de54d[_0x3212b0(0xa31)](_0x12214b,-0x1)):(_0x7dd833=parseInt(_0x7dd833)||-0x1,_0x7dd833>=0x0&&(_0x2de54d[_0x3212b0(0x5f8)][_0x12214b]['setAudioBitrate']=_0x7dd833,_0x2de54d[_0x3212b0(0xa31)](_0x12214b,_0x7dd833)));},_0x2de54d[_0x139c85(0x3ea)]=function(_0x41a094,_0x195bce=null,_0x2a8eea=![]){var _0x22080d=_0x139c85;if(!(_0x41a094 in _0x2de54d[_0x22080d(0x5f8)]))return;_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x445)]&&(clearInterval(_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x445)]),_0x2de54d[_0x22080d(0x5f8)][_0x41a094]['bitrateTimeout']=null);var _0x1c4db1=!![];if(_0x195bce===null){if(_0x2de54d['pcs'][_0x41a094]['savedBitrate']===![]){if(_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x7a9)]===null)return;else _0x195bce=_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x7a9)],_0x1c4db1=![];}else _0x195bce=_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x754)];}_0x195bce=parseInt(_0x195bce);if(_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x201)]&&_0x195bce>_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x201)])_0x195bce=_0x2de54d['pcs'][_0x41a094][_0x22080d(0x201)];else _0x195bce<0x0&&(_0x195bce=_0x2de54d['pcs'][_0x41a094][_0x22080d(0x201)]||_0x2de54d[_0x22080d(0x440)]||0x9c4);_0x2de54d[_0x22080d(0x94d)]&&(_0x195bce>_0x2de54d['maxvideobitrate']&&(_0x195bce=_0x2de54d['maxvideobitrate']));_0x1c4db1&&!_0x2a8eea&&(_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x754)]=_0x195bce);_0x2de54d['pcs'][_0x41a094][_0x22080d(0x354)]!==![]&&(_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x8d9)]===![]&&(_0x195bce>_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x354)]&&(_0x1c4db1&&(_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x754)]=_0x195bce),_0x195bce=parseInt(_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x354)])||0x0)));if(_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x7a9)]!==null){if(_0x2de54d[_0x22080d(0x5f8)][_0x41a094]['maxBandwidth']<_0x195bce)_0x195bce=_0x2de54d[_0x22080d(0x5f8)][_0x41a094]['maxBandwidth'],_0x2de54d['pcs'][_0x41a094]['stats']['max_bandwidth_capped_kbps']=_0x195bce,warnlog('Max\x20bandwidth\x20being\x20capped:\x20'+_0x195bce+'-kbps');else _0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x7a9)]===_0x195bce&&!_0x1c4db1?(_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x653)][_0x22080d(0x54a)]=_0x195bce,warnlog(_0x22080d(0x4b0)+_0x195bce+'-kbps')):(warnlog('Max\x20bandwidth\x20NOT\x20being\x20capped:\x20'+_0x195bce+_0x22080d(0x4cb)),_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x653)][_0x22080d(0x54a)]=![]);}else _0x22080d(0x54a)in _0x2de54d[_0x22080d(0x5f8)][_0x41a094]['stats']&&(_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x653)][_0x22080d(0x54a)]=![]);_0x2a8eea===![]&&(_0x2de54d[_0x22080d(0x8a4)]&&(_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x4e7)]=_0x195bce,_0x195bce=_0x2de54d['limitTotalBitrateGuests'](_0x195bce,_0x41a094)));if(_0x195bce===0x0){var _0x43df38=Date[_0x22080d(0x9d3)]()-_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x558)];_0x43df38<_0x2de54d[_0x22080d(0x38b)]&&(_0x195bce=_0x2de54d[_0x22080d(0x5bc)],log(_0x22080d(0x30d)+(Date['now']()-_0x2de54d['pcs'][_0x41a094]['startTime'])),_0x2de54d['pcs'][_0x41a094][_0x22080d(0x445)]=setTimeout(function(_0x5e964d){var _0x588631=_0x22080d;try{warnlog('stopping\x20some\x20preload\x20bitrate\x20'+(Date['now']()-_0x2de54d[_0x588631(0x5f8)][_0x5e964d]['startTime'])),_0x2de54d['limitBitrate'](_0x5e964d,null);}catch(_0x159da8){};},_0x2de54d[_0x22080d(0x38b)]-_0x43df38+0x5,_0x41a094));}try{if((iOS||iPad)&&SafariVersion&&SafariVersion<=0xd){log(_0x22080d(0x899));if(_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x4fd)]==!![]&&_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x606)]==![])return;var _0x597927=getSenders2(_0x41a094)[_0x22080d(0x45d)](function(_0x13cae1){var _0xaf9073=_0x22080d;return _0x13cae1[_0xaf9073(0x683)]&&_0x13cae1[_0xaf9073(0x683)][_0xaf9073(0x4e2)]=='video';});if(!_0x597927){warnlog(_0x22080d(0x959));return;}var _0x37484e=_0x597927[_0x22080d(0x30c)]();(!_0x37484e[_0x22080d(0x79d)]||_0x37484e[_0x22080d(0x79d)][_0x22080d(0x3f2)]==0x0)&&(_0x37484e['encodings']=[{}]);_0x195bce===0x0?_0x37484e[_0x22080d(0x79d)][0x0]['active']=![]:(_0x37484e[_0x22080d(0x79d)][0x0][_0x22080d(0x3ab)]==![]&&(_0x37484e[_0x22080d(0x79d)][0x0][_0x22080d(0x3ab)]=!![]),_0x37484e['encodings'][0x0][_0x22080d(0x711)]=_0x195bce*0x400);_0x597927[_0x22080d(0x345)](_0x37484e)[_0x22080d(0x9a7)](()=>{var _0x1b2dae=_0x22080d;pokeIframeAPI('setVideoBitrate',_0x195bce,_0x41a094),log(_0x1b2dae(0x978)+_0x195bce);})['catch'](warnlog);return;}else{if(_0x22080d(0x858)in window&&_0x22080d(0x345)in window[_0x22080d(0x858)]['prototype']){var _0x597927=getSenders2(_0x41a094)[_0x22080d(0x45d)](function(_0x53cea4){var _0x559440=_0x22080d;return _0x53cea4['track']&&_0x53cea4['track']['kind']==_0x559440(0x6fb);});if(!_0x597927){warnlog(_0x22080d(0x959));return;}var _0x37484e=_0x597927[_0x22080d(0x30c)]();(!_0x37484e[_0x22080d(0x79d)]||_0x37484e[_0x22080d(0x79d)][_0x22080d(0x3f2)]==0x0)&&(_0x37484e[_0x22080d(0x79d)]=[{}]);_0x195bce===0x0?(_0x37484e['encodings'][0x0][_0x22080d(0x3ab)]=![],Firefox&&(_0x37484e[_0x22080d(0x79d)][0x0]['maxBitrate']=0x1,_0x37484e[_0x22080d(0x79d)][0x0][_0x22080d(0x3f1)]=0x3e8)):(_0x37484e[_0x22080d(0x79d)][0x0]['active']==![]&&(_0x37484e[_0x22080d(0x79d)][0x0][_0x22080d(0x3ab)]=!![]),_0x37484e[_0x22080d(0x79d)][0x0][_0x22080d(0x711)]=_0x195bce*0x400);if(_0x195bce!==0x0){var _0x3930fe=_0x2de54d[_0x22080d(0x874)](_0x41a094,_0x195bce);if(_0x3930fe<=0x0||_0x3930fe==0x64){var _0x3f56a6=getChromeVersion();_0x3f56a6>0x50?'scaleResolutionDownBy'in _0x37484e[_0x22080d(0x79d)][0x0]?delete _0x37484e[_0x22080d(0x79d)][0x0]['scaleResolutionDownBy']:_0x37484e[_0x22080d(0x79d)][0x0]['scaleResolutionDownBy']=0x1:_0x37484e[_0x22080d(0x79d)][0x0][_0x22080d(0x3f1)]=0x1;}else _0x37484e['encodings'][0x0][_0x22080d(0x3f1)]=0x64/_0x3930fe;iPad||iOS||Firefox?_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x1c8)]?(clearInterval(_0x2de54d['pcs'][_0x41a094][_0x22080d(0x1c8)]),_0x2de54d[_0x22080d(0x5f8)][_0x41a094]['bitrateTimeoutFirefox']=setTimeout(function(_0x1be8a2,_0x24ac68){var _0x4e3bc5=_0x22080d;log(_0x4e3bc5(0x95a)+_0x195bce),_0x2de54d['pcs'][_0x1be8a2][_0x4e3bc5(0x1c8)]=![],_0x2de54d[_0x4e3bc5(0x3ea)](_0x1be8a2,null,_0x24ac68);},0x1f4,_0x41a094,_0x2a8eea)):(_0x2de54d[_0x22080d(0x5f8)][_0x41a094]['bitrateTimeoutFirefox']=setTimeout(function(_0x7a31e6){var _0xa44b6f=_0x22080d;_0x2de54d[_0xa44b6f(0x5f8)][_0x7a31e6][_0xa44b6f(0x1c8)]=![];},0x1f4,_0x41a094),_0x597927[_0x22080d(0x345)](_0x37484e)[_0x22080d(0x9a7)](()=>{var _0x4c26db=_0x22080d;log(_0x4c26db(0x680)+_0x195bce),log(_0x37484e),_0x2de54d['pcs'][_0x41a094]['stats'][_0x4c26db(0x484)]=parseInt(_0x3930fe)+'%',pokeIframeAPI(_0x4c26db(0x5c0),_0x195bce,_0x41a094),pokeIframeAPI(_0x4c26db(0x5dc),_0x3930fe,_0x41a094);})[_0x22080d(0x5f2)](warnlog)):_0x597927['setParameters'](_0x37484e)[_0x22080d(0x9a7)](()=>{var _0x5e6c74=_0x22080d;log(_0x5e6c74(0x815)+_0x195bce),_0x2de54d[_0x5e6c74(0x5f8)][_0x41a094][_0x5e6c74(0x653)]['scaleFactor']=parseInt(_0x3930fe)+'%',pokeIframeAPI('setVideoBitrate',_0x195bce,_0x41a094),pokeIframeAPI(_0x5e6c74(0x5dc),_0x3930fe,_0x41a094);})[_0x22080d(0x5f2)](warnlog);}else iPad||iOS||Firefox?_0x2de54d[_0x22080d(0x5f8)][_0x41a094]['bitrateTimeoutFirefox']?(clearInterval(_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x1c8)]),_0x2de54d['pcs'][_0x41a094][_0x22080d(0x1c8)]=setTimeout(function(_0x472307,_0x5d94d7){var _0x34d31e=_0x22080d;log('bitrate\x20timeout;\x20ios/firefox\x20specific:\x20'+_0x195bce),_0x2de54d[_0x34d31e(0x5f8)][_0x472307]['bitrateTimeoutFirefox']=![],_0x2de54d['limitBitrate'](_0x472307,null,_0x5d94d7);},0x1f4,_0x41a094,_0x2a8eea)):(_0x2de54d[_0x22080d(0x5f8)][_0x41a094][_0x22080d(0x1c8)]=setTimeout(function(_0x55981e){_0x2de54d['pcs'][_0x55981e]['bitrateTimeoutFirefox']=![];},0x1f4,_0x41a094),_0x597927['setParameters'](_0x37484e)[_0x22080d(0x9a7)](()=>{var _0x34c111=_0x22080d;log('bandwidth\x20set\x20d!\x20'+_0x195bce),log(_0x37484e),pokeIframeAPI(_0x34c111(0x5c0),_0x195bce,_0x41a094);})[_0x22080d(0x5f2)](warnlog)):_0x597927[_0x22080d(0x345)](_0x37484e)[_0x22080d(0x9a7)](()=>{var _0x20d5cd=_0x22080d;log(_0x20d5cd(0x551)+_0x195bce),pokeIframeAPI(_0x20d5cd(0x5c0),_0x195bce,_0x41a094);})['catch'](warnlog);}else warnlog(_0x22080d(0x819));}}catch(_0x2cac0e){errorlog(_0x2cac0e);}};function _0x41ce9a(_0x1c6b25,_0x1c39ce,_0x5a3a91){var _0x2dc128=_0x139c85;if(_0x2de54d[_0x2dc128(0x907)])return _0x1c39ce;warnlog(_0x2dc128(0x9c6)+_0x1c39ce+_0x2dc128(0x5a0)+_0x5a3a91);if(_0x5a3a91<0x0)_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64;else{if(_0x5a3a91>=0x259)_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25]['scaleDueToBitrate']=0x64;else{if(_0x2dc128(0x95f)in _0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25])_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64;else{if(_0x2de54d[_0x2dc128(0x34b)])_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25]['scaleDueToBitrate']=0x64;else{var _0x5e49db=getNativeOutputResolution();if(_0x5e49db)try{_0x5e49db=_0x5e49db[_0x2dc128(0x375)]*_0x5e49db['height'],_0x5e49db=Math[_0x2dc128(0x41c)](_0x5e49db,0.5);}catch(_0x9991ac){_0x5e49db=![];}warnlog('dimension:\x20'+_0x5e49db);if(_0x5a3a91>=0x15e){if(_0x5e49db&&_0x5e49db<=0x1e0)_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64;else{if(_0x2de54d['mobile']){if(_0x5e49db&&_0x5e49db>=0x5a0)_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25]['scaleDueToBitrate']=0x64/0x3;else _0x2de54d[_0x2dc128(0x993)]?_0x5e49db&&_0x5e49db>=0x3c0?_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/0x2:_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25]['scaleDueToBitrate']=0x64:_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/0x2;}else{if(_0x5e49db&&_0x5e49db>=0x5a0)_0x2de54d['pcs'][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/2.5;else _0x5e49db&&_0x5e49db>=0x3c0?_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/0x2:_0x2de54d['pcs'][_0x1c6b25][_0x2dc128(0x4b6)]=0x64;}}}else{if(_0x5a3a91>=0xc9){if(_0x5e49db&&_0x5e49db<0x1e0)_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64;else{if(_0x2de54d[_0x2dc128(0x9fd)]){if(_0x5e49db&&_0x5e49db>=0x5a0)_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/0x4;else _0x2de54d[_0x2dc128(0x993)]?_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/0x2:_0x2de54d['pcs'][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/2.5;}else _0x5e49db&&_0x5e49db>=0x5a0?_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/0x3:_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25]['scaleDueToBitrate']=0x64/0x2;}}else{if(_0x5e49db&&_0x5e49db<=0xf0)_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25]['scaleDueToBitrate']=0x64;else{if(_0x5a3a91>=0x51){if(_0x2de54d[_0x2dc128(0x9fd)]){if(_0x5e49db&&_0x5e49db>=0x5a0)_0x2de54d['pcs'][_0x1c6b25]['scaleDueToBitrate']=0x64/0x6;else _0x2de54d[_0x2dc128(0x993)]?_0x2de54d['pcs'][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/0x3:_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/0x4;}else _0x5e49db&&_0x5e49db>=0x5a0?_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/0x4:_0x2de54d['pcs'][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/0x3;}else{if(_0x2de54d[_0x2dc128(0x9fd)]){if(_0x5e49db&&_0x5e49db>=0x3c0)_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/0x6;else _0x2de54d[_0x2dc128(0x993)]?_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/0x4:_0x2de54d['pcs'][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/0x5;}else _0x5e49db&&_0x5e49db>=0x5a0?_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/0x5:_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]=0x64/0x4;}}}}}}}}return _0x2de54d['pcs'][_0x1c6b25][_0x2dc128(0x4b6)]<_0x1c39ce&&(_0x1c39ce=_0x2de54d[_0x2dc128(0x5f8)][_0x1c6b25][_0x2dc128(0x4b6)]),_0x1c39ce;}function _0x1ced34(_0x3945a0,_0x44d856=0x2710){var _0x1a1a45=_0x139c85;_0x44d856=parseInt(_0x44d856);if(_0x2de54d['audiobitrate'])_0x44d856+=_0x2de54d[_0x1a1a45(0x4bb)];else{if(_0x2de54d['director']&&_0x2de54d[_0x1a1a45(0x8c6)]==0x5)_0x44d856+=0x20;else _0x2de54d[_0x1a1a45(0x8c6)]&&_0x2de54d['stereo']!=0x3?_0x44d856+=0x100:_0x44d856+=0x20;}return log(_0x1a1a45(0x620)+_0x44d856),_0x44d856<0x1&&(_0x44d856=0x1),_0x3945a0=CodecsHandler[_0x1a1a45(0x216)](_0x3945a0,{'min':parseInt(_0x44d856/0xa)||0x1,'max':_0x44d856||0x1},_0x2de54d[_0x1a1a45(0x838)]),_0x3945a0;}_0x2de54d[_0x139c85(0x2cf)]=function(_0x4bac49,_0x39f23f){var _0x53c833=_0x139c85;log(_0x4bac49),_0x2de54d[_0x53c833(0x37d)]==={}&&log(_0x53c833(0x9dc)),window[_0x53c833(0x57a)][_0x53c833(0x732)][_0x53c833(0xa04)]({'name':_0x53c833(0x1fa)},_0x2de54d['mykey']['privateKey'],_0x2de54d['enc'][_0x53c833(0x8b4)](_0x4bac49))[_0x53c833(0x9a7)](function(_0x93c06){var _0x35408c=_0x53c833;_0x93c06=new Uint8Array(_0x93c06),_0x93c06=_0x93c06[_0x35408c(0xa52)]((_0x564640,_0x111160)=>_0x564640+_0x111160[_0x35408c(0x81a)](0x10)[_0x35408c(0x55e)](0x2,'0'),''),_0x39f23f(_0x4bac49,_0x93c06),log(JSON['stringify'](_0x93c06));})[_0x53c833(0x5f2)](errorlog);},_0x2de54d['verifyData']=function(_0x2a3159,_0x2bb8cc){var _0x26316b=_0x139c85;_0x2a3159['signature']=new Uint8Array(_0x2a3159[_0x26316b(0x5aa)]['match'](/.{1,2}/g)[_0x26316b(0x904)](_0x29cad1=>parseInt(_0x29cad1,0x10)));if(_0x2de54d[_0x26316b(0x4c2)][_0x2bb8cc]['publicKey'])return window[_0x26316b(0x57a)]['subtle'][_0x26316b(0x5c2)]({'name':_0x26316b(0x1fa)},_0x2de54d[_0x26316b(0x4c2)][_0x2bb8cc][_0x26316b(0x912)],_0x2a3159[_0x26316b(0x5aa)],_0x2de54d[_0x26316b(0x756)]['encode'](_0x2a3159[_0x26316b(0x3cd)]))[_0x26316b(0x9a7)](function(_0x374c55){return _0x374c55;})[_0x26316b(0x5f2)](function(_0x3568e8){return errorlog(_0x3568e8),![];});},_0x2de54d[_0x139c85(0x535)]=function(_0x43a018){var _0x4a17f4=_0x139c85;if(_0x2de54d[_0x4a17f4(0x7c0)])return _0x2de54d[_0x4a17f4(0x2b4)]!==![]?(_0x43a018=_0x43a018['slice'](0x0,-0x1*_0x2de54d[_0x4a17f4(0x2b4)][_0x4a17f4(0x3f2)]),_0x43a018):generateHash(_0x2de54d[_0x4a17f4(0x7c0)]+_0x2de54d['salt'],0x6)[_0x4a17f4(0x9a7)](function(_0x492a48){var _0x432a23=_0x4a17f4;return _0x2de54d['hash']=_0x492a48,_0x43a018=_0x43a018[_0x432a23(0x9b4)](0x0,-0x1*_0x2de54d[_0x432a23(0x2b4)][_0x432a23(0x3f2)]),_0x43a018;})[_0x4a17f4(0x5f2)](errorlog);return _0x43a018;},_0x2de54d['ping']=function(){var _0x5ab78d=_0x139c85;if(_0x2de54d['customWSS'])return;clearTimeout(_0x2de54d[_0x5ab78d(0x8dc)]);if(!_0x2de54d['ws']||_0x2de54d['ws'][_0x5ab78d(0xa4d)]!==0x1)return;_0x2de54d[_0x5ab78d(0x8dc)]=setTimeout(function(){var _0x21404b=_0x5ab78d;log(_0x21404b(0xa0f));var _0x43b0d3={};_0x43b0d3[_0x21404b(0x450)]=_0x21404b(0x65f),_0x2de54d[_0x21404b(0x7f9)](_0x43b0d3);},0xbb8);},_0x2de54d[_0x139c85(0x77e)]=async function(_0x1ae1a9){var _0x2b287f=_0x139c85;await _0x2de54d[_0x2b287f(0x538)]();if(_0x1ae1a9[_0x2b287f(0x3f2)]>0x0){if(_0x1ae1a9===_0x2de54d[_0x2b287f(0x6ba)]){warnlog(_0x2b287f(0x658));return;}var _0x2fcf2e={};_0x2fcf2e[_0x2b287f(0x450)]=_0x2b287f(0x7d5),_0x2fcf2e[_0x2b287f(0x6ba)]=_0x1ae1a9,_0x2de54d[_0x2b287f(0x7f9)](_0x2fcf2e),_0x2de54d[_0x2b287f(0x67d)][_0x1ae1a9]=!![],pokeIframeAPI(_0x2b287f(0x5d0),_0x1ae1a9);}else log(_0x2b287f(0x894));},_0x2de54d[_0x139c85(0x8c8)]=async function _0x1039dc(_0x5f2829){var _0x28d370=_0x139c85;await _0x2de54d['connect']();var _0x3f79a5={};return _0x3f79a5['request']='joinroom',_0x2de54d[_0x28d370(0x473)]&&!_0x2de54d[_0x28d370(0x768)]&&(_0x3f79a5['claim']=!![]),_0x2de54d[_0x28d370(0x441)]&&(_0x3f79a5['streamID']=_0x2de54d[_0x28d370(0x6ba)]),_0x2de54d[_0x28d370(0x1c7)]===![]&&(_0x2de54d['joiningRoom']=!![]),_0x2de54d[_0x28d370(0x7c0)]?_0x2de54d['hash']?generateHash(_0x5f2829+_0x2de54d[_0x28d370(0x7c0)]+_0x2de54d[_0x28d370(0x500)],0x10)[_0x28d370(0x9a7)](function(_0x48f2cc){var _0x3419f7=_0x28d370;return _0x2de54d['customWSS']&&(_0x2de54d[_0x3419f7(0x2bb)]=_0x48f2cc),_0x3f79a5[_0x3419f7(0x7a0)]=_0x48f2cc,_0x2de54d[_0x3419f7(0x7f9)](_0x3f79a5),_0x2de54d['listPromise']=_0xe7beec(),log(_0x3419f7(0x25a)),pokeIframeAPI(_0x3419f7(0x38f),_0x5f2829),_0x2de54d[_0x3419f7(0x8d0)];})[_0x28d370(0x5f2)](errorlog):generateHash(_0x2de54d['password']+_0x2de54d[_0x28d370(0x500)],0x6)[_0x28d370(0x9a7)](function(_0xf54ca8){var _0x4ce324=_0x28d370;return _0x2de54d['hash']=_0xf54ca8,log(_0x4ce324(0x2c6)+_0xf54ca8),log(_0x4ce324(0x505)),_0x2de54d[_0x4ce324(0x8c8)](_0x5f2829);})[_0x28d370(0x5f2)](errorlog):(_0x2de54d[_0x28d370(0x441)]&&(_0x2de54d[_0x28d370(0x2bb)]=_0x5f2829),_0x3f79a5[_0x28d370(0x7a0)]=_0x5f2829,_0x2de54d[_0x28d370(0x7f9)](_0x3f79a5),_0x2de54d[_0x28d370(0x8d0)]=_0xe7beec(),log(_0x28d370(0x215)),pokeIframeAPI('joining-room',_0x5f2829),_0x2de54d['listPromise']);},_0x2de54d[_0x139c85(0x7f9)]=function(_0x2df54f,_0x173021=![]){var _0x351835=_0x139c85;_0x173021&&(_0x2df54f[_0x351835(0x840)]=_0x173021);if(_0x2de54d[_0x351835(0x441)]){_0x2de54d[_0x351835(0x840)]?_0x2df54f[_0x351835(0x7b3)]=_0x2de54d['UUID']:(_0x2de54d['UUID']=_0x2de54d['generateStreamID'](0x14),_0x2df54f[_0x351835(0x7b3)]=_0x2de54d['UUID']);if(_0x2df54f['UUID']&&_0x2df54f[_0x351835(0x7b3)]===_0x2df54f['UUID'])return;_0x2de54d['director']&&(_0x2df54f[_0x351835(0x473)]=!![]),!(_0x351835(0x7a0)in _0x2df54f)&&(_0x2de54d[_0x351835(0x2bb)]&&(_0x2df54f['roomid']=_0x2de54d['roomenc']));}clearTimeout(_0x2de54d[_0x351835(0x8dc)]);try{if(_0x2de54d[_0x351835(0x7c0)]){if(_0x2df54f['streamID']){if(_0x2de54d[_0x351835(0x2b4)]!==![]){if(_0x2de54d['ws']===null||(typeof _0x2de54d['ws']!==_0x351835(0x2bf)||_0x2de54d['ws'][_0x351835(0xa4d)]!==0x1))log(_0x2df54f,_0x351835(0x566)),_0x2de54d[_0x351835(0x97f)][_0x351835(0x6dd)](_0x2df54f);else{_0x2df54f[_0x351835(0x6ba)]=_0x2df54f[_0x351835(0x6ba)][_0x351835(0x40a)](0x0,0x2c)+_0x2de54d[_0x351835(0x2b4)][_0x351835(0x40a)](0x0,0x6);var _0x409ecb=JSON[_0x351835(0x2c5)](_0x2df54f);if(_0x409ecb[_0x351835(0x3f2)]>0x3a98){errorlog(_0x351835(0x9ba)),errorlog(_0x2df54f),errorlog(_0x409ecb[_0x351835(0x3f2)]);return;}_0x2de54d['ws'][_0x351835(0x1cd)](_0x409ecb);}}else return generateHash(_0x2de54d[_0x351835(0x7c0)]+_0x2de54d['salt'],0x6)[_0x351835(0x9a7)](function(_0x2b6dae){var _0x1cbba6=_0x351835;_0x2de54d[_0x1cbba6(0x2b4)]=_0x2b6dae;if(typeof _0x2de54d['ws']!==_0x1cbba6(0x2bf)||_0x2de54d['ws'][_0x1cbba6(0xa4d)]!==0x1)log(_0x2df54f,'could\x20not\x20be\x20sent;\x20queuing\x20it'),_0x2de54d[_0x1cbba6(0x97f)]['push'](_0x2df54f);else{_0x2df54f[_0x1cbba6(0x6ba)]=_0x2df54f[_0x1cbba6(0x6ba)][_0x1cbba6(0x40a)](0x0,0x2c)+_0x2de54d[_0x1cbba6(0x2b4)][_0x1cbba6(0x40a)](0x0,0x6);var _0x1077d1=JSON[_0x1cbba6(0x2c5)](_0x2df54f);if(_0x1077d1[_0x1cbba6(0x3f2)]>0x3a98){errorlog(_0x1cbba6(0x9ba));return;}_0x2de54d['ws'][_0x1cbba6(0x1cd)](_0x1077d1);}})[_0x351835(0x5f2)](errorlog);}else{if(_0x2de54d['ws']===null||(typeof _0x2de54d['ws']!==_0x351835(0x2bf)||_0x2de54d['ws']['readyState']!==0x1))log(_0x2df54f,_0x351835(0x566)),_0x2de54d[_0x351835(0x97f)][_0x351835(0x6dd)](_0x2df54f);else{var _0x409ecb=JSON[_0x351835(0x2c5)](_0x2df54f);if(_0x409ecb[_0x351835(0x3f2)]>0x3a98){errorlog(_0x351835(0x9ba));return;}_0x2de54d['ws'][_0x351835(0x1cd)](_0x409ecb);}}}else{if(typeof _0x2de54d['ws']!==_0x351835(0x2bf)||_0x2de54d['ws'][_0x351835(0xa4d)]!==0x1)warnlog(_0x351835(0x527)),_0x2de54d[_0x351835(0x97f)][_0x351835(0x6dd)](_0x2df54f);else{var _0x409ecb=JSON[_0x351835(0x2c5)](_0x2df54f);if(_0x409ecb[_0x351835(0x3f2)]>0x3a98){errorlog(_0x351835(0x9ba));return;}_0x2de54d['ws']['send'](_0x409ecb);}}}catch(_0x126393){errorlog(_0x126393);}},_0x2de54d[_0x139c85(0x203)]=function(_0x5da272,_0x19cfa6=![]){var _0x1b2e36=_0x139c85,_0xf7db0f=[],_0x2ec344=JSON['stringify'](_0x5da272);for(var _0xfde2f8 in _0x2de54d['pcs']){if(_0x19cfa6&&_0x19cfa6!==_0xfde2f8)continue;try{_0x2de54d[_0x1b2e36(0x5f8)][_0xfde2f8]['sendChannel'][_0x1b2e36(0x1cd)](_0x2ec344),_0xf7db0f[_0x1b2e36(0x6dd)](_0xfde2f8);}catch(_0x47fb8e){warnlog('RTC\x20Connection\x20seems\x20to\x20be\x20dead\x20or\x20not\x20yet\x20open?\x201');}if(_0x19cfa6&&_0x19cfa6===_0xfde2f8)return _0xf7db0f[_0x1b2e36(0x3f2)];}for(var _0xfde2f8 in _0x2de54d[_0x1b2e36(0x1f2)]){if(_0x19cfa6&&_0x19cfa6!==_0xfde2f8)continue;if(_0xf7db0f[_0x1b2e36(0x9ad)](_0xfde2f8))continue;try{if(_0x1b2e36(0x95f)in _0x2de54d[_0x1b2e36(0x1f2)][_0xfde2f8]){var _0x2c1977=JSON['parse'](_0x5da272);_0x2c1977[_0x1b2e36(0xa29)]=!![],_0x2c1977=JSON['stringify'](_0x2c1977),_0x2de54d['rpcs'][_0x2de54d[_0x1b2e36(0x1f2)][_0xfde2f8]['realUUID']][_0x1b2e36(0x68d)][_0x1b2e36(0x1cd)](_0x2c1977);}else _0x2de54d['rpcs'][_0xfde2f8][_0x1b2e36(0x68d)][_0x1b2e36(0x1cd)](_0x2ec344);_0xf7db0f[_0x1b2e36(0x6dd)](_0xfde2f8);}catch(_0xc67a6b){warnlog(_0x1b2e36(0x351));}}return _0xf7db0f[_0x1b2e36(0x3f2)];},_0x2de54d['anysend']=function(_0xd24ac5,_0x128593=![]){var _0x2deb67=_0x139c85,_0x194a47=![];if('UUID'in _0xd24ac5)_0x194a47=_0x2de54d[_0x2deb67(0x2ba)](_0xd24ac5,_0xd24ac5[_0x2deb67(0x840)]),_0x194a47?(log(_0xd24ac5),log(_0x2deb67(0x9f1))):(log(_0x2deb67(0x49a)),_0x2de54d[_0x2deb67(0x7f9)](_0xd24ac5));else _0x128593?(_0x194a47=_0x2de54d[_0x2deb67(0x2ba)](_0xd24ac5),_0x194a47?(log(_0xd24ac5),log(_0x2deb67(0x5f0))):(log(_0x2deb67(0x281)),_0x2de54d[_0x2deb67(0x7f9)](_0xd24ac5))):(_0x2de54d[_0x2deb67(0x7f9)](_0xd24ac5),warnlog(_0x2deb67(0x6b5)),warnlog(_0xd24ac5));},_0x2de54d['anyrequest']=function(_0x10cb82,_0x4c0068=![]){var _0x108b9c=_0x139c85,_0x4ce8cb=![];if(_0x108b9c(0x840)in _0x10cb82)_0x4ce8cb=_0x2de54d[_0x108b9c(0x4d6)](_0x10cb82,_0x10cb82[_0x108b9c(0x840)]),_0x4ce8cb?log('successfully\x20sent\x20message\x20vis\x20WebRTC\x20instead\x20of\x20WSS'):(log(_0x108b9c(0x49a)),_0x2de54d[_0x108b9c(0x7f9)](_0x10cb82));else _0x4c0068?(_0x4ce8cb=_0x2de54d[_0x108b9c(0x4d6)](_0x10cb82),_0x4ce8cb?log(_0x108b9c(0x5f0)):(log(_0x108b9c(0x281)),_0x2de54d[_0x108b9c(0x7f9)](_0x10cb82))):(_0x2de54d[_0x108b9c(0x7f9)](_0x10cb82),warnlog(_0x108b9c(0x5b3)),warnlog(_0x10cb82));},_0x2de54d['directorActions']=function(_0x54bdb0){var _0x408492=_0x139c85;log(_0x54bdb0);if(_0x408492(0x21f)in _0x54bdb0){if(_0x408492(0x2dc)in _0x54bdb0){if(_0x408492(0x33e)in _0x54bdb0){if(_0x2de54d[_0x408492(0x33e)]!==![]){var _0x59d321=![],_0x482344=0x0;for(var _0x1efe60 in _0x2de54d[_0x408492(0x1f2)]){_0x482344+=0x1;if(_0x2de54d['rpcs'][_0x1efe60]['streamID']===_0x54bdb0[_0x408492(0x2dc)]){if('value'in _0x54bdb0){if(_0x54bdb0[_0x408492(0x21f)]=='mute')_0x54bdb0[_0x408492(0x9d6)]==0x1?(log(_0x408492(0x869)),_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x689)]=!![],applyMuteState(_0x1efe60)):(log('Unmute\x20video'),_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x689)]=![],applyMuteState(_0x1efe60)),_0x2de54d[_0x408492(0x68b)](_0x1efe60);else{if(_0x54bdb0[_0x408492(0x21f)]==_0x408492(0x80a)){if(_0x2de54d['view'])return;;if(_0x2de54d[_0x408492(0x33e)]===_0x54bdb0[_0x408492(0x33e)]){if(_0x2de54d[_0x408492(0x619)]==0x2){if(_0x54bdb0[_0x408492(0x9d6)]==0x0){_0x2de54d['rpcs'][_0x1efe60][_0x408492(0x98d)]=!![],applyMuteState(_0x1efe60);_0x2de54d['rpcs'][_0x1efe60]['videoElement']&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x92c)]['display']&&_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x92c)][_0x408492(0x80a)]!=='none'&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)]['style'][_0x408492(0x80a)]=_0x408492(0x95e),_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['videoElement'][_0x408492(0x679)]=![],_0x59d321=!![]));_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['iframeEle']&&_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x9fc)][_0x408492(0x92c)][_0x408492(0x80a)]&&_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x9fc)][_0x408492(0x92c)][_0x408492(0x80a)]!==_0x408492(0x95e)&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['iframeEle'][_0x408492(0x92c)][_0x408492(0x80a)]=_0x408492(0x95e),_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x9fc)][_0x408492(0x679)]=![],_0x59d321=!![]);var _0x10f2bf=0x0,_0x1e1e70=![];for(var _0x6ef56a in _0x2de54d[_0x408492(0x1f2)]){_0x6ef56a!==_0x1efe60&&(_0x2de54d[_0x408492(0x1f2)][_0x6ef56a][_0x408492(0x6b9)]&&_0x2de54d['rpcs'][_0x6ef56a][_0x408492(0x6b9)][_0x408492(0x679)]&&(_0x2de54d['rpcs'][_0x6ef56a][_0x408492(0x6b9)][_0x408492(0x679)]>_0x10f2bf&&(_0x10f2bf=_0x2de54d['rpcs'][_0x6ef56a][_0x408492(0x6b9)][_0x408492(0x679)],_0x1e1e70=_0x6ef56a)),_0x2de54d[_0x408492(0x1f2)][_0x6ef56a]['iframeEle']&&_0x2de54d[_0x408492(0x1f2)][_0x6ef56a][_0x408492(0x9fc)][_0x408492(0x679)]&&(_0x2de54d[_0x408492(0x1f2)][_0x6ef56a][_0x408492(0x9fc)][_0x408492(0x679)]>_0x10f2bf&&(_0x10f2bf=_0x2de54d[_0x408492(0x1f2)][_0x6ef56a][_0x408492(0x9fc)][_0x408492(0x679)],_0x1e1e70=_0x6ef56a)));}_0x1e1e70&&(_0x2de54d[_0x408492(0x1f2)][_0x1e1e70][_0x408492(0x98d)]=![],applyMuteState(_0x1e1e70),_0x2de54d[_0x408492(0x1f2)][_0x1e1e70][_0x408492(0x6b9)]&&(_0x2de54d[_0x408492(0x1f2)][_0x1e1e70][_0x408492(0x6b9)][_0x408492(0x92c)][_0x408492(0x80a)]&&_0x2de54d[_0x408492(0x1f2)][_0x1e1e70][_0x408492(0x6b9)]['style'][_0x408492(0x80a)]!==_0x408492(0x600)&&(_0x2de54d[_0x408492(0x1f2)][_0x1e1e70][_0x408492(0x6b9)][_0x408492(0x92c)]['display']=_0x408492(0x600),_0x2de54d[_0x408492(0x1f2)][_0x1e1e70]['videoElement'][_0x408492(0x679)]=Date['now'](),_0x59d321=!![]),_0x2de54d[_0x408492(0x1f2)][_0x1e1e70]['videoElement'][_0x408492(0x469)]&&clearInterval(_0x2de54d[_0x408492(0x1f2)][_0x1e1e70][_0x408492(0x6b9)][_0x408492(0x469)]),_0x2de54d[_0x408492(0x1f2)][_0x1e1e70][_0x408492(0x6b9)]['controls']=![],_0x2de54d[_0x408492(0x1f2)][_0x1e1e70][_0x408492(0x6b9)][_0x408492(0x469)]=setTimeout(showControlBar['bind'](null,_0x2de54d[_0x408492(0x1f2)][_0x1e1e70][_0x408492(0x6b9)]),0xbb8)),_0x2de54d[_0x408492(0x1f2)][_0x1e1e70][_0x408492(0x9fc)]&&_0x2de54d[_0x408492(0x1f2)][_0x1e1e70]['iframeEle'][_0x408492(0x92c)][_0x408492(0x80a)]&&_0x2de54d['rpcs'][_0x1e1e70][_0x408492(0x9fc)]['style'][_0x408492(0x80a)]!==_0x408492(0x600)&&(_0x2de54d[_0x408492(0x1f2)][_0x1e1e70]['iframeEle'][_0x408492(0x92c)]['display']='block',_0x2de54d[_0x408492(0x1f2)][_0x1e1e70]['iframeEle'][_0x408492(0x679)]=Date['now'](),_0x59d321=!![]));}else{for(var _0x6ef56a in _0x2de54d[_0x408492(0x1f2)]){_0x6ef56a!==_0x1efe60&&(_0x2de54d[_0x408492(0x1f2)][_0x6ef56a][_0x408492(0x98d)]=!![],applyMuteState(_0x6ef56a),_0x2de54d[_0x408492(0x1f2)][_0x6ef56a][_0x408492(0x6b9)]&&(_0x2de54d['rpcs'][_0x6ef56a][_0x408492(0x6b9)][_0x408492(0x92c)][_0x408492(0x80a)]&&_0x2de54d[_0x408492(0x1f2)][_0x6ef56a][_0x408492(0x6b9)][_0x408492(0x92c)][_0x408492(0x80a)]!==_0x408492(0x95e)&&(_0x2de54d['rpcs'][_0x6ef56a]['videoElement']['style']['display']=_0x408492(0x95e),_0x59d321=!![])),_0x2de54d[_0x408492(0x1f2)][_0x6ef56a][_0x408492(0x9fc)]&&_0x2de54d[_0x408492(0x1f2)][_0x6ef56a][_0x408492(0x9fc)][_0x408492(0x92c)][_0x408492(0x80a)]&&_0x2de54d[_0x408492(0x1f2)][_0x6ef56a][_0x408492(0x9fc)][_0x408492(0x92c)][_0x408492(0x80a)]!==_0x408492(0x95e)&&(_0x2de54d[_0x408492(0x1f2)][_0x6ef56a]['iframeEle']['style']['display']=_0x408492(0x95e),_0x59d321=!![]));}_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x98d)]=![],applyMuteState(_0x1efe60),_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['videoElement']&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x92c)][_0x408492(0x80a)]&&_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x92c)][_0x408492(0x80a)]!==_0x408492(0x600)&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['videoElement'][_0x408492(0x92c)]['display']=_0x408492(0x600),_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x679)]=Date['now'](),_0x59d321=!![]),_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x469)]&&clearInterval(_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['videoElement'][_0x408492(0x469)]),_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)]['controls']=![],_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)]['controlTimer']=setTimeout(showControlBar['bind'](null,_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)]),0xbb8)),_0x2de54d['rpcs'][_0x1efe60]['iframeEle']&&_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x9fc)]['style'][_0x408492(0x80a)]&&_0x2de54d['rpcs'][_0x1efe60][_0x408492(0x9fc)][_0x408492(0x92c)][_0x408492(0x80a)]!=='block'&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x9fc)][_0x408492(0x92c)][_0x408492(0x80a)]='block',_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x9fc)][_0x408492(0x679)]=Date[_0x408492(0x9d3)](),_0x59d321=!![]);}}else{if(_0x2de54d[_0x408492(0x619)]==0x1){if(_0x54bdb0[_0x408492(0x9d6)]==0x0)_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['videoElement']&&(_0x2de54d['rpcs'][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x92c)]['display']&&_0x2de54d['rpcs'][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x92c)][_0x408492(0x80a)]!==_0x408492(0x95e)&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x92c)][_0x408492(0x80a)]=_0x408492(0x95e),_0x59d321=!![])),_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['iframeEle']&&_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x9fc)][_0x408492(0x92c)]['display']&&_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x9fc)][_0x408492(0x92c)][_0x408492(0x80a)]!==_0x408492(0x95e)&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x9fc)][_0x408492(0x92c)][_0x408492(0x80a)]=_0x408492(0x95e),_0x59d321=!![]);else{for(var _0x6ef56a in _0x2de54d[_0x408492(0x1f2)]){_0x6ef56a!==_0x1efe60&&(_0x2de54d[_0x408492(0x1f2)][_0x6ef56a][_0x408492(0x6b9)]&&(_0x2de54d['rpcs'][_0x6ef56a][_0x408492(0x6b9)][_0x408492(0x92c)][_0x408492(0x80a)]&&_0x2de54d[_0x408492(0x1f2)][_0x6ef56a][_0x408492(0x6b9)][_0x408492(0x92c)][_0x408492(0x80a)]!==_0x408492(0x95e)&&(_0x2de54d[_0x408492(0x1f2)][_0x6ef56a]['videoElement']['style']['display']=_0x408492(0x95e),_0x59d321=!![])),_0x2de54d[_0x408492(0x1f2)][_0x6ef56a][_0x408492(0x9fc)]&&_0x2de54d['rpcs'][_0x6ef56a]['iframeEle'][_0x408492(0x92c)][_0x408492(0x80a)]&&_0x2de54d[_0x408492(0x1f2)][_0x6ef56a]['iframeEle'][_0x408492(0x92c)][_0x408492(0x80a)]!==_0x408492(0x95e)&&(_0x2de54d[_0x408492(0x1f2)][_0x6ef56a][_0x408492(0x9fc)][_0x408492(0x92c)][_0x408492(0x80a)]=_0x408492(0x95e),_0x59d321=!![]));}_0x2de54d['rpcs'][_0x1efe60]['videoElement']&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)]['style'][_0x408492(0x80a)]&&_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x92c)]['display']!=='block'&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)]['style'][_0x408492(0x80a)]=_0x408492(0x600),_0x59d321=!![]),_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x469)]&&clearInterval(_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['videoElement'][_0x408492(0x469)]),_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['videoElement']['controls']=![],_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x469)]=setTimeout(showControlBar['bind'](null,_0x2de54d['rpcs'][_0x1efe60][_0x408492(0x6b9)]),0xbb8)),_0x2de54d['rpcs'][_0x1efe60][_0x408492(0x9fc)]&&_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x9fc)][_0x408492(0x92c)]['display']&&_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['iframeEle']['style'][_0x408492(0x80a)]!=='block'&&(_0x2de54d['rpcs'][_0x1efe60]['iframeEle']['style']['display']=_0x408492(0x600),_0x59d321=!![]);}}else _0x54bdb0[_0x408492(0x9d6)]==0x0?(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x98d)]=!![],applyMuteState(_0x1efe60),_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['videoElement']&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x92c)][_0x408492(0x80a)]&&_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['videoElement'][_0x408492(0x92c)]['display']!==_0x408492(0x95e)&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x92c)]['display']=_0x408492(0x95e),_0x59d321=!![])),_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x9fc)]&&_0x2de54d['rpcs'][_0x1efe60][_0x408492(0x9fc)][_0x408492(0x92c)][_0x408492(0x80a)]&&_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['iframeEle'][_0x408492(0x92c)][_0x408492(0x80a)]!=='none'&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['iframeEle']['style']['display']=_0x408492(0x95e),_0x59d321=!![])):(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x98d)]=![],applyMuteState(_0x1efe60),_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)]&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x92c)][_0x408492(0x80a)]&&_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x92c)][_0x408492(0x80a)]!==_0x408492(0x600)&&(_0x2de54d['rpcs'][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x92c)]['display']='block',_0x59d321=!![]),_0x2de54d['rpcs'][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x469)]&&clearInterval(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x469)]),_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x91e)]=![],_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x469)]=setTimeout(showControlBar[_0x408492(0x581)](null,_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)]),0xbb8)),_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['iframeEle']&&_0x2de54d[_0x408492(0x1f2)][_0x1efe60]['iframeEle'][_0x408492(0x92c)][_0x408492(0x80a)]&&_0x2de54d['rpcs'][_0x1efe60][_0x408492(0x9fc)][_0x408492(0x92c)][_0x408492(0x80a)]!=='block'&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x9fc)]['style']['display']=_0x408492(0x600),_0x59d321=!![]));}}_0x2de54d[_0x408492(0x68b)](_0x1efe60);}else _0x54bdb0[_0x408492(0x21f)]=='volume'&&(log(parseInt(_0x54bdb0[_0x408492(0x9d6)])/0x64),_0x2de54d['rpcs'][_0x1efe60][_0x408492(0x6b9)]&&(_0x2de54d[_0x408492(0x1f2)][_0x1efe60][_0x408492(0x6b9)][_0x408492(0x267)]=parseInt(_0x54bdb0['value'])/0x64,log('UN-MUTED')));}}}}_0x59d321&&updateMixer();}}else{if(_0x54bdb0[_0x408492(0x21f)]==_0x408492(0x828)){}else{if(_0x54bdb0['action']=='hangup'){}}}}else _0x54bdb0[_0x408492(0x21f)]===_0x408492(0x2d5)&&(warnlog('custom\x20layout\x20being\x20applied'),log(_0x54bdb0),_0x2de54d[_0x408492(0x2d5)]=_0x54bdb0[_0x408492(0x9d6)],pokeIframeAPI(_0x408492(0x8d2),_0x2de54d[_0x408492(0x2d5)]),updateMixer());}},_0x2de54d[_0x139c85(0x734)]=function(){var _0x352664=_0x139c85;_0x2de54d[_0x352664(0x4a6)]in _0x2de54d['pcs']&&(_0x2de54d[_0x352664(0x5f8)][_0x2de54d[_0x352664(0x4a6)]][_0x352664(0x653)][_0x352664(0xa22)]&&(_0x2de54d['pcs'][_0x2de54d[_0x352664(0x4a6)]][_0x352664(0x653)][_0x352664(0xa22)][_0x352664(0x473)]=!![])),_0x2de54d['directorUUID']in _0x2de54d['rpcs']&&(_0x2de54d['rpcs'][_0x2de54d[_0x352664(0x4a6)]][_0x352664(0x653)][_0x352664(0xa22)]&&(_0x2de54d[_0x352664(0x1f2)][_0x2de54d[_0x352664(0x4a6)]]['stats'][_0x352664(0xa22)][_0x352664(0x473)]=!![]),_0x2de54d[_0x352664(0x473)]&&(getById(_0x352664(0x437)+_0x2de54d[_0x352664(0x4a6)])[_0x352664(0x571)][_0x352664(0x6bd)](_0x352664(0x997)),_0x2de54d[_0x352664(0x1f2)][_0x2de54d[_0x352664(0x4a6)]][_0x352664(0x3df)]===![]&&(getById(_0x352664(0x43c)+_0x2de54d['directorUUID'])[_0x352664(0x794)]=miscTranslations['main-director']))),_0x2de54d[_0x352664(0x46a)](),updateUserList();},_0x2de54d[_0x139c85(0x538)]=async function _0xfb2f37(_0x5da58d=![]){var _0x388423=_0x139c85;if(_0x2de54d['taintedSession']===!![]){log(_0x388423(0x8d6));return;}if(_0x2de54d['ws']!==null){log('already\x20connected');return;}_0x2de54d[_0x388423(0xa39)]==![]&&(_0x2de54d[_0x388423(0x4cd)]!==![]?_0x2de54d[_0x388423(0xa39)]='wss://proxywss.rtc.ninja:443':_0x2de54d[_0x388423(0xa39)]=_0x388423(0x36b));if(!RTCPeerConnection){console[_0x388423(0x509)](miscTranslations[_0x388423(0x9f9)]);!_0x2de54d[_0x388423(0x602)]&&warnUser(miscTranslations[_0x388423(0x9f9)],![],![]);return;}_0x2de54d['ws']===null&&(_0x2de54d['ws']=![],await chooseBestTURN());if(_0x2de54d[_0x388423(0x441)]===![]){_0x2de54d[_0x388423(0x9a1)]=_0x2de54d[_0x388423(0x8b3)](0xc);for(var _0x209d5c in _0x2de54d[_0x388423(0x1f2)]){warnlog(_0x388423(0x29d)),_0x2de54d[_0x388423(0x1f2)][_0x209d5c][_0x388423(0x8b9)]==='failed'&&(_0x2de54d['closeRPC'](_0x209d5c),warnlog(_0x388423(0x4d2)));}}_0x2de54d[_0x388423(0x654)]?(_0x2de54d['ws']={},_0x2de54d['ws'][_0x388423(0xa4d)]=0x1,_0x2de54d['ws'][_0x388423(0x1cd)]=function(_0x334fca){var _0x3089cb=_0x388423;parent[_0x3089cb(0x460)]({'bypass':_0x334fca},_0x2de54d[_0x3089cb(0x5e2)]);},setTimeout(function(){var _0x15a357=_0x388423;_0x2de54d['ws'][_0x15a357(0x9d1)]();},0xa)):_0x2de54d['ws']=new WebSocket(_0x2de54d[_0x388423(0xa39)]),_0x5da58d==![]&&(_0x2de54d[_0x388423(0x71d)]===!![]&&(_0x2de54d['showTime']=null,toggleClock()),_0x2de54d[_0x388423(0x9f2)]=setTimeout(function(){var _0x29c5eb=_0x388423;pokeIframeAPI(_0x29c5eb(0x87e),_0x29c5eb(0x9f2)),errorlog(_0x29c5eb(0x44b)),!_0x2de54d['cleanOutput']&&(!_0x2de54d['studioSoftware']&&setTimeout(function(){warnUser(miscTranslations['site-not-responsive'],![],![]);},0x1));},0x7530)),_0x2de54d['ws'][_0x388423(0x9d1)]=function _0x917b90(){var _0x546581=_0x388423;clearTimeout(_0x2de54d[_0x546581(0x8dc)]),clearInterval(_0x2de54d['timeout']),log('connected\x20to\x20video\x20server'),checkConnection();if(_0x2de54d[_0x546581(0x507)]){errorlog(_0x546581(0x839));for(_0x568048 in _0x2de54d[_0x546581(0x1f2)]){try{_0x2de54d['rpcs'][_0x568048][_0x546581(0x2e4)]();}catch(_0xfb31a4){}}for(_0x568048 in _0x2de54d[_0x546581(0x5f8)]){try{_0x2de54d[_0x546581(0x5f8)][_0x568048]['close']();}catch(_0x2ea878){}}_0x2de54d[_0x546581(0x507)]=![],_0x2de54d[_0x546581(0x71b)]=![];}if(_0x2de54d[_0x546581(0x97f)]!==[])try{var _0x234c4d=_0x2de54d[_0x546581(0x97f)][_0x546581(0x9b4)](-0x1e);_0x2de54d[_0x546581(0x97f)]=[];for(var _0x5ac7a8 in _0x234c4d){log(_0x546581(0x799)),_0x2de54d[_0x546581(0x7f9)](_0x234c4d[_0x5ac7a8]);}}catch(_0x5cef41){errorlog(_0x5cef41);}if(_0x5da58d==!![]){pokeIframeAPI(_0x546581(0x87e),_0x546581(0x44f));_0x2de54d[_0x546581(0x8a6)]&&_0x2de54d[_0x546581(0x3bd)]();if(_0x2de54d[_0x546581(0x7a0)]!==![]){if(_0x2de54d[_0x546581(0x7a0)]===''&&(!_0x2de54d[_0x546581(0x91a)]||_0x2de54d['view']==='')){}else log(_0x546581(0x5df)),log(_0x546581(0x259)),joinRoom(_0x2de54d['roomid']);if(_0x2de54d[_0x546581(0x3d2)][_0x546581(0x3f2)]){var _0x1cf206=Object[_0x546581(0x4c2)](_0x2de54d[_0x546581(0x67d)]);for(var _0x568048 in _0x1cf206){_0x2de54d[_0x546581(0x3d2)][_0x546581(0x9ad)](_0x1cf206[_0x568048])&&(log(_0x546581(0x645)+_0x1cf206[_0x568048]),_0x2de54d['watchStream'](_0x1cf206[_0x568048]));}}}else{var _0x1cf206=Object[_0x546581(0x4c2)](_0x2de54d['waitingWatchList']);for(var _0x568048 in _0x1cf206){log(_0x546581(0x645)+_0x1cf206[_0x568048]),_0x2de54d[_0x546581(0x77e)](_0x1cf206[_0x568048]);}}}else pokeIframeAPI(_0x546581(0x87e),'connected');},_0x2de54d[_0x388423(0x6a6)]=function(_0x131041){var _0x1af5fa=_0x388423;for(var _0x3cf2ee in _0x2de54d['rpcs']){if(_0x2de54d[_0x1af5fa(0x1f2)][_0x3cf2ee][_0x1af5fa(0x6ba)]===_0x131041)return log('already\x20watching\x20stream'),![];}if(_0x2de54d[_0x1af5fa(0x67d)][_0x131041])return log('already\x20waiting\x20for\x20stream'),![];return _0x2de54d[_0x1af5fa(0x77e)](_0x131041),log(_0x1af5fa(0x682)),!![];},_0x2de54d['ws']['onmessage']=async function(_0x3c891a){var _0x457149=_0x388423;clearTimeout(_0x2de54d['pingTimeout']);try{var _0x3d7b8b=JSON[_0x457149(0x981)](_0x3c891a[_0x457149(0x3cd)]);}catch(_0x4f90eb){try{var _0x3d7b8b=JSON[_0x457149(0x981)](_0x3c891a['data']['toString']());}catch(_0x4a4ead){errorlog(_0x4a4ead);return;}}_0x457149(0x6ba)in _0x3d7b8b&&(_0x3d7b8b[_0x457149(0x6ba)]=_0x2de54d[_0x457149(0x535)](_0x3d7b8b[_0x457149(0x6ba)]));if('remote'in _0x3d7b8b){_0x3d7b8b=await _0x2de54d[_0x457149(0x579)](_0x3d7b8b);if(!_0x3d7b8b)return;}if(_0x2de54d[_0x457149(0x441)]){if(_0x457149(0x7b3)in _0x3d7b8b&&_0x2de54d[_0x457149(0x840)]&&_0x3d7b8b['from']===_0x2de54d['UUID'])return;else log(_0x3d7b8b);if(_0x457149(0x840)in _0x3d7b8b){if(_0x2de54d[_0x457149(0x840)]){if(_0x3d7b8b[_0x457149(0x840)]!==_0x2de54d[_0x457149(0x840)])return;}else return;delete _0x3d7b8b[_0x457149(0x840)];}if(_0x457149(0x7a0)in _0x3d7b8b){if(!_0x2de54d[_0x457149(0x2bb)])return;if(_0x457149(0x450)in _0x3d7b8b){if(_0x3d7b8b[_0x457149(0x450)]==='migrate'){if(_0x457149(0x7a0)in _0x3d7b8b){if('target'in _0x3d7b8b){if(_0x3d7b8b[_0x457149(0x2dc)]==_0x2de54d[_0x457149(0x840)]){_0x3d7b8b[_0x457149(0x450)]=_0x457149(0x507),_0x2de54d[_0x457149(0x2bb)]=_0x3d7b8b[_0x457149(0x7a0)];var _0xa63699={};_0xa63699[_0x457149(0x450)]=_0x457149(0x9aa),_0xa63699[_0x457149(0x7a0)]=_0x2de54d['roomenc'],_0xa63699[_0x457149(0x6ba)]=_0x2de54d['streamID'],_0x2de54d['sendMsg'](_0xa63699);}else return;}else return;}else return;}else{if(_0x3d7b8b['roomid']!==_0x2de54d[_0x457149(0x2bb)])return;}}else{if(_0x3d7b8b[_0x457149(0x7a0)]!==_0x2de54d[_0x457149(0x2bb)])return;}delete _0x3d7b8b[_0x457149(0x7a0)];}'director'in _0x3d7b8b&&(_0x3d7b8b[_0x457149(0x7b3)]&&(_0x2de54d[_0x457149(0x4a6)]=_0x3d7b8b[_0x457149(0x7b3)],_0x2de54d[_0x457149(0x9c0)]=[],_0x2de54d[_0x457149(0x9c0)][_0x457149(0x6dd)](_0x2de54d['directorUUID']),_0x2de54d[_0x457149(0x734)]()),delete _0x3d7b8b[_0x457149(0x473)]);_0x457149(0x7b3)in _0x3d7b8b&&(_0x3d7b8b[_0x457149(0x840)]=_0x3d7b8b[_0x457149(0x7b3)],delete _0x3d7b8b[_0x457149(0x7b3)]);if(_0x457149(0x450)in _0x3d7b8b){if(_0x3d7b8b[_0x457149(0x450)]===_0x457149(0x7d5)){if(_0x457149(0x6ba)in _0x3d7b8b){if(_0x3d7b8b['streamID']===_0x2de54d['streamID'])_0x3d7b8b['request']='offerSDP';else return;}}else{if(_0x3d7b8b[_0x457149(0x450)]==='seed'){if(_0x2de54d[_0x457149(0x92d)]){if(_0x2de54d[_0x457149(0x92d)][_0x457149(0x9ad)](_0x3d7b8b['streamID'])){play(_0x3d7b8b[_0x457149(0x6ba)]);return;}else return;}}else{if(_0x3d7b8b[_0x457149(0x450)]===_0x457149(0x9aa)){if(_0x457149(0x6ba)in _0x3d7b8b){if(_0x2de54d[_0x457149(0x92d)]){if(_0x2de54d['view_set']['includes'](_0x3d7b8b[_0x457149(0x6ba)]))play(_0x3d7b8b[_0x457149(0x6ba)]);else{}}else play(_0x3d7b8b[_0x457149(0x6ba)]);}_0x3d7b8b['request']=_0x457149(0x759);}}}}else{if('streamID'in _0x3d7b8b){if(_0x2de54d['view_set']){if(_0x2de54d[_0x457149(0x92d)][_0x457149(0x9ad)](_0x3d7b8b[_0x457149(0x6ba)])){}else return;}else{if(_0x2de54d['view']){if(_0x2de54d[_0x457149(0x91a)]!==_0x3d7b8b[_0x457149(0x6ba)])return;else{}}}}}}if(_0x3d7b8b[_0x457149(0x450)]){if(_0x3d7b8b[_0x457149(0x450)]=='offerSDP'){if(_0x2de54d['queue']){if(_0x2de54d['directorList'][_0x457149(0x300)](_0x3d7b8b[_0x457149(0x840)])>=0x0)_0x2de54d[_0x457149(0x759)](_0x3d7b8b[_0x457149(0x840)]);else _0x2de54d[_0x457149(0x473)]&&(_0x3d7b8b[_0x457149(0x840)]in _0x2de54d[_0x457149(0x1f2)]&&_0x2de54d[_0x457149(0x759)](_0x3d7b8b['UUID']));}else _0x2de54d['offerSDP'](_0x3d7b8b['UUID']);}else{if(_0x3d7b8b[_0x457149(0x450)]==_0x457149(0x71f))log(_0x3d7b8b),_0x457149(0x473)in _0x3d7b8b?(_0x2de54d['directorUUID']=_0x3d7b8b[_0x457149(0x473)],_0x2de54d['directorList']=[],_0x2de54d[_0x457149(0x9c0)][_0x457149(0x6dd)](_0x2de54d['directorUUID']),_0x2de54d['newMainDirectorSetup']()):(_0x2de54d[_0x457149(0x4a6)]=![],_0x2de54d[_0x457149(0x9c0)]=[]),_0x457149(0x3d3)in _0x3d7b8b&&(_0x3d7b8b[_0x457149(0x3d3)]==![]?(!_0x2de54d[_0x457149(0x602)]&&(getById(_0x457149(0x2f9))[_0x457149(0xa58)]=miscTranslations[_0x457149(0x3af)],_0x2de54d[_0x457149(0x73c)]?_0x2de54d['directorState']===null&&warnUser(miscTranslations[_0x457149(0x561)],![],![]):setTimeout(function(){warnUser(miscTranslations['room-is-claimed'],![],![]);},0x1)),_0x2de54d[_0x457149(0x327)]=![],pokeAPI(_0x457149(0x473),![]),pokeIframeAPI(_0x457149(0x473),![])):(_0x2de54d[_0x457149(0x327)]=!![],pokeAPI(_0x457149(0x473),!![]),pokeIframeAPI(_0x457149(0x473),!![]))),_0x2de54d[_0x457149(0x8d0)][_0x457149(0xa49)](_0x3d7b8b[_0x457149(0x8d4)]);else{if(_0x3d7b8b[_0x457149(0x450)]==_0x457149(0x507)){_0x2de54d[_0x457149(0x2ab)]=[],_0x2de54d['transferred']=!![],_0x2de54d[_0x457149(0x71b)]=![],log(_0x457149(0x423)),pokeIframeAPI(_0x457149(0x507));!_0x2de54d['director']&&(_0x2de54d[_0x457149(0x995)]=![]);log(_0x3d7b8b[_0x457149(0x8d4)]);_0x457149(0x473)in _0x3d7b8b?(_0x2de54d[_0x457149(0x4a6)]=_0x3d7b8b[_0x457149(0x473)],_0x2de54d[_0x457149(0x9c0)]=[],_0x2de54d[_0x457149(0x9c0)][_0x457149(0x6dd)](_0x2de54d[_0x457149(0x4a6)]),_0x2de54d[_0x457149(0x734)]()):(_0x2de54d[_0x457149(0x4a6)]=![],_0x2de54d['directorList']=[]);for(_0x3cabaf in _0x2de54d[_0x457149(0x1f2)]){try{!_0x2de54d['include'][_0x457149(0x9ad)](_0x2de54d[_0x457149(0x1f2)][_0x3cabaf][_0x457149(0x6ba)])&&_0x2de54d[_0x457149(0x31e)](_0x3cabaf);}catch(_0x279741){}}for(_0x3cabaf in _0x2de54d[_0x457149(0x5f8)]){try{log(_0x457149(0x3c9)),_0x2de54d['closePC'](_0x3cabaf);}catch(_0x16bde9){}}youveBeenTransferred(),_0x2de54d[_0x457149(0x691)]=_0x2de54d[_0x457149(0x428)],updateMixer(),log(_0x457149(0x8d1)),log(_0x3d7b8b[_0x457149(0x8d4)]);for(var _0x3cabaf in _0x3d7b8b['list']){if(_0x457149(0x840)in _0x3d7b8b[_0x457149(0x8d4)][_0x3cabaf]){if('streamID'in _0x3d7b8b[_0x457149(0x8d4)][_0x3cabaf]){if(_0x3d7b8b[_0x457149(0x8d4)][_0x3cabaf]['UUID']in _0x2de54d[_0x457149(0x1f2)])log(_0x457149(0x479));else{var _0x231d80=_0x2de54d[_0x457149(0x535)](_0x3d7b8b[_0x457149(0x8d4)][_0x3cabaf][_0x457149(0x6ba)]);log(_0x457149(0x57c)+_0x231d80);if(_0x2de54d[_0x457149(0x995)]){if(_0x2de54d[_0x457149(0x9c0)]['indexOf'](_0x3d7b8b['list'][_0x3cabaf][_0x457149(0x840)])>=0x0)play(_0x231d80,_0x3d7b8b['list'][_0x3cabaf]['UUID']);else{if(_0x2de54d['view_set']&&_0x2de54d[_0x457149(0x92d)][_0x457149(0x9ad)](_0x231d80))play(_0x231d80,_0x3d7b8b[_0x457149(0x8d4)][_0x3cabaf][_0x457149(0x840)]);else _0x2de54d[_0x457149(0x2ab)][_0x457149(0x3f2)]<0x1388&&(!(_0x231d80 in _0x2de54d[_0x457149(0x343)])&&!_0x2de54d['queueList'][_0x457149(0x9ad)](_0x231d80)&&_0x2de54d[_0x457149(0x2ab)][_0x457149(0x6dd)](_0x231d80));}}else play(_0x231d80,_0x3d7b8b[_0x457149(0x8d4)][_0x3cabaf][_0x457149(0x840)]);}}}}updateQueue();}else{if(_0x3d7b8b[_0x457149(0x450)]==_0x457149(0x4d1))log(_0x3d7b8b),_0x457149(0x473)in _0x3d7b8b?(_0x2de54d[_0x457149(0x4a6)]=_0x3d7b8b[_0x457149(0x473)],_0x2de54d['directorList']=[],_0x2de54d[_0x457149(0x9c0)][_0x457149(0x6dd)](_0x2de54d[_0x457149(0x4a6)]),_0x2de54d[_0x457149(0x734)]()):(_0x2de54d[_0x457149(0x4a6)]=![],_0x2de54d['directorList']=[],errorlog(_0x457149(0x9bb))),updateUserList();else{if(_0x3d7b8b['request']=='sendroom'){log(_0x457149(0x3ce)),log(_0x3d7b8b);try{_0x457149(0x473)in _0x3d7b8b&&(_0x3d7b8b['director']==!![]&&_0x2de54d[_0x457149(0x789)](_0x3d7b8b));}catch(_0x37066d){errorlog(_0x37066d);}}else{if(_0x3d7b8b[_0x457149(0x450)]==_0x457149(0x233)){_0x3d7b8b[_0x457149(0x473)]&&(_0x2de54d[_0x457149(0x4a6)]=_0x3d7b8b[_0x457149(0x840)],_0x2de54d[_0x457149(0x9c0)]=[],_0x2de54d['directorList'][_0x457149(0x6dd)](_0x2de54d['directorUUID']),_0x2de54d['newMainDirectorSetup']());if(_0x457149(0x6ba)in _0x3d7b8b){log(_0x457149(0x365));if(_0x2de54d['queue']){if(_0x2de54d[_0x457149(0x9c0)][_0x457149(0x300)](_0x3d7b8b[_0x457149(0x840)])>=0x0)play(_0x231d80,_0x3d7b8b[_0x457149(0x840)]);else{if(_0x2de54d[_0x457149(0x92d)]&&_0x2de54d[_0x457149(0x92d)][_0x457149(0x9ad)](_0x231d80))play(_0x231d80,_0x3d7b8b[_0x457149(0x840)]);else _0x2de54d['queueList'][_0x457149(0x3f2)]<0x1388&&(!(_0x3d7b8b['streamID']in _0x2de54d[_0x457149(0x343)])&&!_0x2de54d[_0x457149(0x2ab)][_0x457149(0x9ad)](_0x3d7b8b[_0x457149(0x6ba)])&&(_0x2de54d[_0x457149(0x2ab)][_0x457149(0x6dd)](_0x3d7b8b[_0x457149(0x6ba)]),updateQueue(!![])));}}else play(_0x3d7b8b[_0x457149(0x6ba)]);}else log(_0x457149(0x368));}else{if(_0x3d7b8b[_0x457149(0x450)]==_0x457149(0x320)){log(_0x457149(0xa25)),log(_0x3d7b8b);if(_0x2de54d[_0x457149(0x995)]){if(_0x2de54d['directorList']['indexOf'](_0x3d7b8b[_0x457149(0x840)])>=0x0)play(_0x231d80,_0x3d7b8b['UUID']);else{if(_0x2de54d['view_set']&&_0x2de54d[_0x457149(0x92d)][_0x457149(0x9ad)](_0x231d80))play(_0x231d80,_0x3d7b8b[_0x457149(0x840)]);else _0x2de54d[_0x457149(0x2ab)][_0x457149(0x3f2)]<0x1388&&(!(_0x3d7b8b[_0x457149(0x6ba)]in _0x2de54d[_0x457149(0x343)])&&!_0x2de54d[_0x457149(0x2ab)][_0x457149(0x9ad)](_0x3d7b8b[_0x457149(0x6ba)])&&(_0x2de54d[_0x457149(0x2ab)][_0x457149(0x6dd)](_0x3d7b8b['streamID']),updateQueue(!![])));}}else play(_0x3d7b8b[_0x457149(0x6ba)]);}else{if(_0x3d7b8b[_0x457149(0x450)]==_0x457149(0x762)){errorlog(_0x3d7b8b),pokeIframeAPI(_0x457149(0x762),_0x3d7b8b[_0x457149(0x93c)]);if(_0x2de54d[_0x457149(0x33e)]===![]){if(_0x457149(0x93c)in _0x3d7b8b){if(_0x3d7b8b[_0x457149(0x93c)]===_0x457149(0x232))_0x2de54d['seedAttempts']<0x2?(_0x2de54d[_0x457149(0x81c)]=parseInt(_0x2de54d['seedAttempts'])+0x1,setTimeout(function(){var _0x22711f=_0x457149;_0x2de54d[_0x22711f(0x3bd)]();},0x1388)):(hangup(),!_0x2de54d[_0x457149(0x602)]&&setTimeout(function(){var _0x4d0278=_0x457149;warnUser(miscTranslations[_0x4d0278(0x2b1)],![],![]);},0x1));else _0x3d7b8b['message']===_0x457149(0x518)?(!_0x2de54d[_0x457149(0x602)]&&(getById('head4')[_0x457149(0xa58)]=miscTranslations[_0x457149(0x3af)],_0x2de54d[_0x457149(0x73c)]?_0x2de54d[_0x457149(0x327)]===null&&warnUser(miscTranslations['room-is-claimed-codirector'],![],![]):setTimeout(function(){warnUser(miscTranslations['room-is-claimed'],![],![]);},0x1)),_0x2de54d['directorState']=![],pokeAPI(_0x457149(0x473),![]),pokeIframeAPI(_0x457149(0x473),![])):!_0x2de54d[_0x457149(0x602)]&&setTimeout(function(){warnUser(_0x3d7b8b['message']);},0x1);}}}else _0x3d7b8b[_0x457149(0x450)]==_0x457149(0xa21)?_0x457149(0x93c)in _0x3d7b8b&&warnlog(_0x3d7b8b['message']):log(_0x3d7b8b);}}}}}}}}else{if(_0x3d7b8b[_0x457149(0x4b8)])'streamID'in _0x3d7b8b&&(_0x3d7b8b[_0x457149(0x6ba)]in _0x2de54d['watchTimeoutList']&&(clearTimeout(_0x2de54d[_0x457149(0x343)][_0x3d7b8b[_0x457149(0x6ba)]]),delete _0x2de54d[_0x457149(0x343)][_0x3d7b8b[_0x457149(0x6ba)]])),_0x2de54d[_0x457149(0x517)](_0x3d7b8b);else{if(_0x3d7b8b[_0x457149(0x9bf)])log(_0x457149(0x7b5)),_0x2de54d[_0x457149(0x61b)](_0x3d7b8b);else{if(_0x3d7b8b['candidates'])log(_0x457149(0x2bd)),_0x2de54d['processIceBundle'](_0x3d7b8b);else _0x3d7b8b[_0x457149(0x450)]==_0x457149(0x521)?(warnlog('Clean\x20up'),_0x3d7b8b[_0x457149(0x840)]in _0x2de54d['pcs']&&(warnlog('problem'),log(_0x457149(0x3c9)),_0x2de54d[_0x457149(0x79a)](_0x3d7b8b[_0x457149(0x840)])),_0x3d7b8b['UUID']in _0x2de54d[_0x457149(0x1f2)]&&(warnlog(_0x457149(0x718)),_0x2de54d[_0x457149(0x31e)](_0x3d7b8b[_0x457149(0x840)]))):log(_0x457149(0x1dd));}}}},_0x2de54d['ws'][_0x388423(0x25c)]=async function(_0xe4070){var _0x1bc31b=_0x388423;clearTimeout(_0x2de54d['pingTimeout']),pokeIframeAPI(_0x1bc31b(0x87e),'closed');try{_0x1bc31b(0x1fc)in _0xe4070&&(_0xe4070[_0x1bc31b(0x1fc)]==0x1f7&&(_0x5da58d==![]&&(clearInterval(_0x2de54d[_0x1bc31b(0x9f2)]),!_0x2de54d[_0x1bc31b(0x602)]&&warnUser('Failed\x20to\x20connect\x20to\x20service:\x20Error\x20503Possibly\x20too\x20many\x20connections\x20from\x20the\x20same\x20address\x20tried\x20to\x20connect.Visit\x20https://discord.vdo.ninja\x20for\x20support.',0x7530,![]))));}catch(_0x19b1d2){errorlog(_0x19b1d2);}warnlog('Connection\x20to\x20Control\x20Server\x20lost.\x0a\x0aAuto-reconnect\x20is\x20partially\x20implemented');if(_0x2de54d[_0x1bc31b(0x265)]==![])try{_0x2de54d['ws'][_0x1bc31b(0xa4d)]===WebSocket[_0x1bc31b(0x353)]&&(_0x2de54d['ws']=null,setTimeout(()=>{var _0x395e70=_0x1bc31b;try{_0x2de54d[_0x395e70(0x538)](!![]);}catch(_0x9f5a58){};},0x7d0));}catch(_0x2b69c2){errorlog(_0x2b69c2);}};},_0x2de54d[_0x139c85(0x2ba)]=function(_0x546e8f,_0x7444d5=null){var _0x558a8c=_0x139c85;log(_0x558a8c(0x32c)),warnlog(_0x546e8f),_0x546e8f=JSON['stringify'](_0x546e8f);if(_0x7444d5==null){for(var _0x4820d4 in _0x2de54d[_0x558a8c(0x5f8)]){try{_0x2de54d['pcs'][_0x4820d4][_0x558a8c(0x254)][_0x558a8c(0x1cd)](_0x546e8f);}catch(_0xc987c3){warnlog(_0x558a8c(0x85d));}}return!![];}else try{return _0x2de54d[_0x558a8c(0x5f8)][_0x7444d5][_0x558a8c(0x254)][_0x558a8c(0x1cd)](_0x546e8f),!![];}catch(_0x31a96d){return warnlog(_0x558a8c(0x987)),warnlog(_0x546e8f),![];}return![];},_0x2de54d[_0x139c85(0x4d6)]=function(_0x4b45fb,_0x7dc4a9=null){var _0x398b5f=_0x139c85,_0x38bec2=JSON['stringify'](_0x4b45fb);if(_0x7dc4a9==null){var _0xcb8e34=[];for(var _0x288744 in _0x2de54d[_0x398b5f(0x1f2)]){try{if(_0x398b5f(0x95f)in _0x2de54d[_0x398b5f(0x1f2)][_0x288744]){var _0x568b56=_0x4b45fb;_0x568b56[_0x398b5f(0xa29)]=!![],_0x568b56=JSON[_0x398b5f(0x2c5)](_0x568b56),_0x2de54d['rpcs'][_0x2de54d[_0x398b5f(0x1f2)][_0x288744][_0x398b5f(0x95f)]][_0x398b5f(0x68d)][_0x398b5f(0x1cd)](_0x568b56);}else _0x2de54d[_0x398b5f(0x1f2)][_0x288744]['receiveChannel']['send'](_0x38bec2);_0xcb8e34[_0x398b5f(0x6dd)](_0x288744);}catch(_0x1a1c8f){log(_0x398b5f(0x3e0));}}return _0xcb8e34['length'];}else try{if('realUUID'in _0x2de54d[_0x398b5f(0x1f2)][_0x7dc4a9]){var _0x568b56=_0x4b45fb;_0x568b56[_0x398b5f(0xa29)]=!![],_0x568b56=JSON[_0x398b5f(0x2c5)](_0x568b56),_0x2de54d[_0x398b5f(0x1f2)][_0x2de54d['rpcs'][_0x7dc4a9]['realUUID']][_0x398b5f(0x68d)][_0x398b5f(0x1cd)](_0x568b56);}else _0x2de54d[_0x398b5f(0x1f2)][_0x7dc4a9]['receiveChannel'][_0x398b5f(0x1cd)](_0x38bec2);return!![];}catch(_0xa0be0e){return log(_0x398b5f(0x3e0)),![];}},_0x2de54d[_0x139c85(0x816)]=function(_0x313c6a=![],_0x56ebfa=![]){var _0x5eb93e=_0x139c85;_0x56ebfa&&recordLocalVideo(_0x5eb93e(0x8b5));_0x2de54d[_0x5eb93e(0x593)]=!![],warnlog(_0x5eb93e(0x4ed));try{recordLocalVideo(_0x5eb93e(0x8c9));}catch(_0x48a182){}try{var _0x165f21={};_0x165f21['videoMuted']=!![],_0x165f21['bye']=!![],_0x2de54d[_0x5eb93e(0x2ba)](_0x165f21);}catch(_0x2d0301){}try{_0x2de54d['ws'][_0x5eb93e(0x2e4)]();}catch(_0x573fe5){}try{transferList[_0x5eb93e(0x374)](_0x435edb=>{var _0x5136f9=_0x5eb93e;_0x435edb[_0x5136f9(0x830)]&&_0x435edb[_0x5136f9(0x830)][_0x5136f9(0x2e4)](),_0x435edb[_0x5136f9(0x5a8)]&&_0x435edb['stopWriter'];});}catch(_0x779349){errorlog(_0x779349);}try{_0x2de54d[_0x5eb93e(0x626)]&&_0x2de54d[_0x5eb93e(0x626)][_0x5eb93e(0x66c)]&&_0x2de54d[_0x5eb93e(0x626)][_0x5eb93e(0x66c)][_0x5eb93e(0x385)]()[_0x5eb93e(0x374)](function(_0xb8dd52){var _0x26ca21=_0x5eb93e;_0xb8dd52[_0x26ca21(0x8c9)](),_0x2de54d[_0x26ca21(0x6b9)][_0x26ca21(0x66c)][_0x26ca21(0x251)](_0xb8dd52),log(_0x26ca21(0x622));}),_0x2de54d[_0x5eb93e(0x6b9)]&&_0x2de54d['videoElement']['srcObject']&&_0x2de54d[_0x5eb93e(0x6b9)][_0x5eb93e(0x66c)][_0x5eb93e(0x385)]()[_0x5eb93e(0x374)](function(_0x5d12e1){var _0x32ee61=_0x5eb93e;_0x5d12e1[_0x32ee61(0x8c9)](),_0x2de54d['videoElement'][_0x32ee61(0x66c)][_0x32ee61(0x251)](_0x5d12e1),log(_0x32ee61(0x622));}),_0x2de54d['streamSrc']&&_0x2de54d[_0x5eb93e(0x6a3)][_0x5eb93e(0x385)]()[_0x5eb93e(0x374)](function(_0x26595c){var _0x441684=_0x5eb93e;_0x26595c[_0x441684(0x8c9)](),_0x2de54d['videoElement']['srcObject'][_0x441684(0x251)](_0x26595c),log('stopping\x20old\x20track');}),_0x2de54d[_0x5eb93e(0x947)]&&_0x2de54d[_0x5eb93e(0x947)]['getTracks']()['forEach'](function(_0x383da7){var _0x261b49=_0x5eb93e;_0x383da7[_0x261b49(0x8c9)](),_0x2de54d['screenStream'][_0x261b49(0x251)](_0x383da7),log('stopping\x20old\x20track');});}catch(_0x4868a8){errorlog(_0x4868a8);}try{for(i in _0x2de54d[_0x5eb93e(0x1f2)]){try{_0x2de54d[_0x5eb93e(0x1f2)][i]['videoElement']&&(_0x2de54d[_0x5eb93e(0x1f2)][i][_0x5eb93e(0x6b9)][_0x5eb93e(0x7c7)]&&recordLocalVideo('stop',null,_0x2de54d['rpcs'][i][_0x5eb93e(0x6b9)]));}catch(_0x5d3a7b){}_0x2de54d[_0x5eb93e(0x31e)](i,!![]);}for(i in _0x2de54d[_0x5eb93e(0x5f8)]){log('closing\x205'),_0x2de54d[_0x5eb93e(0x79a)](i);}}catch(_0x4d3e8a){errorlog(_0x4d3e8a);}for(var _0x2eb404 in _0x2de54d['watchTimeoutList']){clearTimeout(_0x2de54d[_0x5eb93e(0x343)][_0x2eb404]);}if(_0x313c6a){reloadRequested(),warnlog('Reloading?\x20uh\x20oh.\x20Why\x20didn\x27t\x20it?');return;}else setTimeout(function(){for(i in _0x2de54d){try{delete _0x2de54d[i];}catch(_0xcd395d){}}delete _0x2de54d;},0x4b0),hangupComplete(),log(_0x5eb93e(0x6fa));},_0x2de54d[_0x139c85(0x2cb)]=function(){var _0x385d95=_0x139c85;_0x2de54d[_0x385d95(0x593)]=!![],_0x2de54d['screenShareState']=![],notifyOfScreenShare(),warnlog(_0x385d95(0x4ed)),pokeIframeAPI(_0x385d95(0x955),![]),pokeIframeAPI(_0x385d95(0x8a6),![]),pokeAPI(_0x385d95(0x8a6),![]);try{_0x2de54d['videoElement']&&_0x2de54d[_0x385d95(0x6b9)][_0x385d95(0x66c)]&&_0x2de54d[_0x385d95(0x6b9)][_0x385d95(0x66c)][_0x385d95(0x385)]()[_0x385d95(0x374)](function(_0x220826){var _0x51d13e=_0x385d95;_0x220826[_0x51d13e(0x8c9)](),_0x2de54d[_0x51d13e(0x6b9)]['srcObject'][_0x51d13e(0x251)](_0x220826),log('stopping\x20old\x20track');});_0x2de54d[_0x385d95(0x6a3)]&&_0x2de54d[_0x385d95(0x6a3)][_0x385d95(0x385)]()[_0x385d95(0x374)](function(_0x46d895){var _0x113320=_0x385d95;_0x46d895[_0x113320(0x8c9)](),_0x2de54d[_0x113320(0x6a3)][_0x113320(0x251)](_0x46d895),log(_0x113320(0x622));});for(UUID in _0x2de54d[_0x385d95(0x5f8)]){var _0x3f5729=getSenders2(UUID);_0x3f5729['forEach'](_0x59deaa=>{var _0x4c837a=_0x385d95;_0x59deaa[_0x4c837a(0x683)]&&(_0x59deaa[_0x4c837a(0x683)][_0x4c837a(0x9ce)]=![]);});}var _0x1036be={};_0x1036be[_0x385d95(0x556)]=!![],_0x1036be[_0x385d95(0x6f2)]=!![],_0x2de54d[_0x385d95(0x2ba)](_0x1036be),getById('videosource')[_0x385d95(0x949)]();}catch(_0xdfdbf3){errorlog(_0x385d95(0x2d1));}log(_0x385d95(0x4eb));},_0x2de54d['createOffer']=function(_0x1991c7,_0x1c8d87=![]){var _0x5d34e4=_0x139c85;_0x2de54d[_0x5d34e4(0x5f8)][_0x1991c7][_0x5d34e4(0x8f4)]({'iceRestart':_0x1c8d87})[_0x5d34e4(0x9a7)](_0x493fa7=>{var _0x447ae1=_0x5d34e4;log(_0x447ae1(0x6c0));if(SafariVersion&&SafariVersion<=0xd&&(iOS||iPad)){}else{if(_0x2de54d[_0x447ae1(0x8c6)]==0x3||_0x2de54d[_0x447ae1(0x8c6)]==0x5||_0x2de54d[_0x447ae1(0x8c6)]==0x1)_0x493fa7[_0x447ae1(0x334)]=CodecsHandler[_0x447ae1(0x73a)](_0x493fa7['sdp'],{'stereo':0x1}),log(_0x447ae1(0x3c7));else{if(iOS||iPad){}else _0x2de54d['stereo']==0x4&&(_0x493fa7['sdp']=CodecsHandler['setOpusAttributes'](_0x493fa7[_0x447ae1(0x334)],{'stereo':0x2}),log(_0x447ae1(0x3c7)));}}if(_0x2de54d['pcs'][_0x1991c7]['preferVideoCodec'])try{_0x493fa7['sdp']=CodecsHandler['preferCodec'](_0x493fa7['sdp'],_0x2de54d[_0x447ae1(0x5f8)][_0x1991c7]['preferVideoCodec']),log(_0x447ae1(0x1f8)+_0x2de54d['pcs'][_0x1991c7][_0x447ae1(0x8a0)]+'\x20as\x20preferred\x20video\x20codec\x20by\x20viewer\x20via\x20API\x20(offer)');}catch(_0x498266){errorlog(_0x498266),warnlog(_0x447ae1(0x610));}if(_0x2de54d[_0x447ae1(0x5f8)][_0x1991c7][_0x447ae1(0x3b9)])try{_0x493fa7[_0x447ae1(0x334)]=CodecsHandler[_0x447ae1(0x3b9)](_0x493fa7['sdp'],_0x2de54d[_0x447ae1(0x5f8)][_0x1991c7]['preferAudioCodec']),log(_0x447ae1(0x1f8)+_0x2de54d[_0x447ae1(0x5f8)][_0x1991c7][_0x447ae1(0x3b9)]+_0x447ae1(0x20e));}catch(_0x387035){errorlog(_0x387035),warnlog(_0x447ae1(0x486));}Android&&_0x2de54d[_0x447ae1(0x4ad)]!==![]&&_0x2de54d['AndroidFix']&&(_0x493fa7[_0x447ae1(0x334)]=_0x493fa7[_0x447ae1(0x334)]['replace'](/42e01f/gi,'42001f')),_0x2de54d[_0x447ae1(0x5f8)][_0x1991c7]['setLocalDescription'](_0x493fa7)['then'](function(){var _0x424f8f=_0x447ae1;log(_0x424f8f(0x6d6)+_0x1991c7);var _0x288a54={};_0x288a54['UUID']=_0x1991c7,_0x288a54[_0x424f8f(0x6ba)]=_0x2de54d[_0x424f8f(0x6ba)],_0x288a54[_0x424f8f(0x4b8)]=_0x2de54d['pcs'][_0x1991c7][_0x424f8f(0x34a)],_0x288a54[_0x424f8f(0x372)]=_0x2de54d[_0x424f8f(0x5f8)][_0x1991c7][_0x424f8f(0x372)];_0x2de54d['customWSS']&&(_0x288a54[_0x424f8f(0x97e)]=_0x2de54d['scene']);if(_0x2de54d['screenStream']!==![]){var _0x1d4ce2=_0x2de54d[_0x424f8f(0x947)][_0x424f8f(0x385)](),_0x2018da=_0x2de54d[_0x424f8f(0x5f8)][_0x1991c7]['getSenders'](),_0x287af9=[];for(var _0x201c90=0x0;_0x201c90<_0x2018da[_0x424f8f(0x3f2)];_0x201c90++){for(var _0x408a51=0x0;_0x408a51<_0x1d4ce2[_0x424f8f(0x3f2)];_0x408a51++){_0x2018da[_0x201c90][_0x424f8f(0x683)]&&_0x2018da[_0x201c90][_0x424f8f(0x683)]['id']==_0x1d4ce2[_0x408a51]['id']&&_0x287af9[_0x424f8f(0x6dd)](_0x201c90);}}_0x287af9[_0x424f8f(0x3f2)]&&(_0x288a54[_0x424f8f(0x725)]=_0x287af9);}_0x2de54d[_0x424f8f(0x7c0)]?_0x2de54d[_0x424f8f(0x5fd)](JSON['stringify'](_0x288a54[_0x424f8f(0x4b8)]))[_0x424f8f(0x9a7)](function(_0x4c7701){var _0xe9af8=_0x424f8f;_0x288a54['description']=_0x4c7701[0x0],_0x288a54[_0xe9af8(0x881)]=_0x4c7701[0x1],_0x2de54d[_0xe9af8(0x8f7)](_0x288a54);})[_0x424f8f(0x5f2)](errorlog):_0x2de54d['anysend'](_0x288a54);})[_0x447ae1(0x5f2)](errorlog);})[_0x5d34e4(0x5f2)](errorlog);},_0x2de54d[_0x139c85(0x4e5)]=function(){var _0x26ccc5=_0x139c85;for(var _0x794391 in _0x2de54d[_0x26ccc5(0x5f8)]){_0x2de54d[_0x26ccc5(0x5f8)][_0x794391][_0x26ccc5(0x33e)]!==![]?(_0x2de54d['forcePLI'](_0x794391),log(_0x26ccc5(0x394))):log(_0x26ccc5(0x737));}},_0x2de54d[_0x139c85(0x79a)]=function(_0x17f2c9,_0x5ce51e=!![]){var _0x5e23ff=_0x139c85;log(_0x5e23ff(0x79a));if(!(_0x17f2c9 in _0x2de54d[_0x5e23ff(0x5f8)]))return;clearTimeout(_0x2de54d[_0x5e23ff(0x5f8)][_0x17f2c9][_0x5e23ff(0x37c)]),clearTimeout(_0x2de54d[_0x5e23ff(0x5f8)][_0x17f2c9]['closeTimeout']),clearInterval(_0x2de54d['pcs'][_0x17f2c9][_0x5e23ff(0x795)]),pokeIframeAPI(_0x5e23ff(0x8b8),![],_0x17f2c9);if(_0x5e23ff(0x95f)in _0x2de54d['pcs'][_0x17f2c9]){delete _0x2de54d[_0x5e23ff(0x5f8)][_0x17f2c9],applySceneState();return;}_0x17f2c9+_0x5e23ff(0x6d7)in _0x2de54d[_0x5e23ff(0x5f8)]&&_0x2de54d[_0x5e23ff(0x5f8)][_0x17f2c9+_0x5e23ff(0x6d7)][_0x5e23ff(0x95f)]&&_0x2de54d[_0x5e23ff(0x5f8)][_0x17f2c9+_0x5e23ff(0x6d7)]['realUUID']===_0x17f2c9&&(clearTimeout(_0x2de54d['pcs'][_0x17f2c9+_0x5e23ff(0x6d7)][_0x5e23ff(0x37c)]),clearTimeout(_0x2de54d[_0x5e23ff(0x5f8)][_0x17f2c9+_0x5e23ff(0x6d7)]['closeTimeout']),clearInterval(_0x2de54d[_0x5e23ff(0x5f8)][_0x17f2c9+'_screen'][_0x5e23ff(0x795)]),_0x2de54d[_0x5e23ff(0x5f8)][_0x17f2c9+'_screen']=null,delete _0x2de54d[_0x5e23ff(0x5f8)][_0x17f2c9+_0x5e23ff(0x6d7)]);try{_0x2de54d['sendMessage']({'bye':!![]},_0x17f2c9);}catch(_0x3facca){}try{_0x2de54d[_0x5e23ff(0x5f8)][_0x17f2c9][_0x5e23ff(0x2e4)]();}catch(_0x2a5b0f){}_0x2de54d['pcs'][_0x17f2c9][_0x5e23ff(0x4fd)]&&(_0x2de54d[_0x5e23ff(0x241)]&&(_0x5ce51e&&(warnlog('WHY\x20ARE\x20YOU\x20GOD\x20DAMN\x20BEEPING'),playtone(![],_0x5e23ff(0x54f))))),_0x2de54d[_0x5e23ff(0x5f8)][_0x17f2c9]=null,_0x2de54d[_0x5e23ff(0x265)]&&(!_0x2de54d[_0x5e23ff(0x602)]&&setTimeout(function _0x54aee9(){warnUser('Remote\x20peer\x20disconnected.\x20Due\x20to\x20enhanced\x20security,\x20please\x20refresh\x20to\x20create\x20a\x20new\x20connection.');},0x1)),delete _0x2de54d[_0x5e23ff(0x5f8)][_0x17f2c9],_0x2de54d[_0x5e23ff(0x8a7)](),applySceneState();},_0x2de54d[_0x139c85(0x31e)]=function(_0x3acb4b,_0xed7aaf=![]){var _0x47c7a5=_0x139c85;log('closeRPC');if(!(_0x3acb4b in _0x2de54d[_0x47c7a5(0x1f2)])){log('UUID\x20not\x20found;\x20cant\x27\x20close');return;}clearInterval(_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b][_0x47c7a5(0x2f1)]);try{_0x2de54d[_0x47c7a5(0x4d6)]({'bye':!![]},_0x3acb4b),warnlog('SEND\x20BYE');}catch(_0x4d477b){}try{var _0x419df0=_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b][_0x47c7a5(0x6ba)];}catch(_0x350790){}try{_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b][_0x47c7a5(0x2e4)]();}catch(_0x5c679a){warnlog('already\x20closed\x20PCS');}try{_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b][_0x47c7a5(0x6a3)]&&_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b][_0x47c7a5(0x6a3)][_0x47c7a5(0x385)]()[_0x47c7a5(0x374)](function(_0x524ed4){var _0x3da39f=_0x47c7a5;_0x524ed4[_0x3da39f(0x8c9)](),log('Track\x20stopped');});}catch(_0x2088e1){}if(_0x2de54d['director'])try{_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b][_0x47c7a5(0x6b9)]&&_0x47c7a5(0x3d7)in _0x2de54d['rpcs'][_0x3acb4b]['videoElement']&&_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b][_0x47c7a5(0x6b9)]['recorder']['stop']();}catch(_0x5544ea){warnlog(_0x5544ea);}else!_0x2de54d[_0x47c7a5(0x7a0)]&&(_0x2de54d[_0x47c7a5(0x241)]&&playtone(![],_0x47c7a5(0x54f)));try{document[_0x47c7a5(0x314)](_0x47c7a5(0x437)+_0x3acb4b)&&(!_0x2de54d[_0x47c7a5(0x712)]&&(_0x2de54d['syncState']={}),_0x419df0&&(_0x2de54d[_0x47c7a5(0x712)][_0x419df0]=getDetailedState(_0x419df0)),getById('container_'+_0x3acb4b)[_0x47c7a5(0x4d4)][_0x47c7a5(0x396)](getById(_0x47c7a5(0x437)+_0x3acb4b)),updateLockedElements());}catch(_0x3b74e2){warnlog(_0x3b74e2);}try{_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b][_0x47c7a5(0x6b9)]&&_0x2de54d['rpcs'][_0x3acb4b]['videoElement'][_0x47c7a5(0x949)]();}catch(_0x1984c9){}try{if(_0x2de54d['broadcast']!==![]){if(_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b][_0x47c7a5(0x9fc)]){try{_0x2de54d['rpcs'][_0x3acb4b][_0x47c7a5(0x9fc)][_0x47c7a5(0x949)]();}catch(_0x5f0e06){errorlog(_0x5f0e06);}_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b][_0x47c7a5(0x9fc)][_0x47c7a5(0x949)]();}}}catch(_0x3cdbd0){}try{_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b]['canvas']&&_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b][_0x47c7a5(0x225)][_0x47c7a5(0x949)]();}catch(_0x3904e5){}try{_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b][_0x47c7a5(0x9df)]&&_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b]['imageElement'][_0x47c7a5(0x949)]();}catch(_0x23e150){}_0x47c7a5(0x672)in _0x2de54d['rpcs'][_0x3acb4b]&&clearInterval(_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b][_0x47c7a5(0x672)]);pokeIframeAPI('view-connection',![],_0x3acb4b),pokeAPI(_0x47c7a5(0x245),_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b][_0x47c7a5(0x6ba)]);try{_0x2de54d[_0x47c7a5(0x1f2)][_0x3acb4b]=null,delete _0x2de54d['rpcs'][_0x3acb4b];}catch(_0x1e3105){}_0x2de54d['closeRPC'](_0x3acb4b+_0x47c7a5(0x6d7));(!_0x2de54d[_0x47c7a5(0x473)]||_0x2de54d[_0x47c7a5(0x70a)])&&setTimeout(function(){updateMixer();},0x1);if(typeof _0x419df0=='undefined')return;try{warnlog(_0x47c7a5(0x465)),_0x419df0 in _0x2de54d[_0x47c7a5(0x343)]&&(log(_0x47c7a5(0x336)+_0x419df0),clearTimeout(_0x2de54d['watchTimeoutList'][_0x419df0]),delete _0x2de54d[_0x47c7a5(0x343)][_0x419df0]),_0x2de54d[_0x47c7a5(0x343)][_0x419df0]=setTimeout(function(_0xb9a23a){var _0xc95008=_0x47c7a5;try{delete _0x2de54d['watchTimeoutList'][_0xb9a23a];}catch(_0x1d8f3a){warnlog(_0xc95008(0x64b));return;}log(_0xc95008(0x834)+_0xb9a23a);try{for(var _0x32dbf4 in _0x2de54d[_0xc95008(0x1f2)]){if(_0x2de54d[_0xc95008(0x1f2)][_0x32dbf4][_0xc95008(0x6ba)]===_0xb9a23a){if(_0x2de54d[_0xc95008(0x1f2)][_0x32dbf4][_0xc95008(0x8b9)]===_0xc95008(0x5e4)){warnlog('\x20---\x20we\x20will\x20not\x20ask\x20again;\x20we\x27re\x20already\x20connected');return;}}}}catch(_0x67f75d){errorlog(_0x67f75d);}warnlog(_0xc95008(0x996)),_0x2de54d[_0xc95008(0x77e)](_0xb9a23a);},_0x2de54d[_0x47c7a5(0x85b)],_0x419df0);}catch(_0x250ef8){errorlog(_0x250ef8);}pokeIframeAPI('new-view-connection',![],_0x3acb4b),_0x419df0!==null?pokeIframeAPI('end-view-connection',_0x419df0,_0x3acb4b):pokeIframeAPI('end-view-connection',!![],_0x3acb4b),updateUserList();},_0x2de54d['forceRetryTimeout']=null,_0x2de54d[_0x139c85(0x3f6)]=function(){var _0x2c1e10=_0x139c85;if(_0x2de54d[_0x2c1e10(0x91a)]){if(_0x2de54d['ws']===null||(typeof _0x2de54d['ws']!==_0x2c1e10(0x2bf)||_0x2de54d['ws'][_0x2c1e10(0xa4d)]!==0x1)){}else{var _0x542576=_0x2de54d[_0x2c1e10(0x91a)][_0x2c1e10(0x534)](',');for(var _0x4b273c in _0x542576){if(_0x542576[_0x4b273c]){var _0x1a4382=![];for(var _0x36235c in _0x2de54d[_0x2c1e10(0x1f2)]){if(_0x2de54d[_0x2c1e10(0x1f2)][_0x36235c]['streamID']&&_0x2de54d[_0x2c1e10(0x1f2)][_0x36235c][_0x2c1e10(0x6ba)]===_0x542576[_0x4b273c]){_0x1a4382=!![];break;}}_0x542576[_0x4b273c]in _0x2de54d[_0x2c1e10(0x343)]&&(_0x1a4382=!![]);if(_0x1a4382)continue;_0x2de54d['watchStream'](_0x542576[_0x4b273c]);}}}_0x2de54d[_0x2c1e10(0x335)]&&_0x2de54d[_0x2c1e10(0x335)]<0xa&&(_0x2de54d[_0x2c1e10(0x335)]=0xa),_0x2de54d[_0x2c1e10(0x335)]&&(clearTimeout(_0x2de54d[_0x2c1e10(0x8bf)]),_0x2de54d[_0x2c1e10(0x8bf)]=setTimeout(function(){var _0x20ff64=_0x2c1e10;log('retrying\x20at\x20an\x20interval'),_0x2de54d[_0x20ff64(0x3f6)]();},_0x2de54d[_0x2c1e10(0x335)]*0x3e8));}},_0x2de54d[_0x139c85(0x759)]=async function(_0x5ac9a8){var _0x3a38fc=_0x139c85;if(_0x5ac9a8 in _0x2de54d[_0x3a38fc(0x5f8)]){if(_0x2de54d['pcs'][_0x5ac9a8][_0x3a38fc(0x8b9)]===_0x3a38fc(0x63d)||_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x8b9)]==='closed')log('closing\x206'),_0x2de54d[_0x3a38fc(0x79a)](_0x5ac9a8),warnlog(_0x3a38fc(0x4d2));else{if(iPad||iOS)log(_0x3a38fc(0xa0c)),_0x2de54d[_0x3a38fc(0x79a)](_0x5ac9a8),warnlog(_0x3a38fc(0x9f3));else{warnlog('The\x20other\x20end\x20is\x20just\x20being\x20a\x20keener.\x20Ignore\x20it:\x20'+_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x8b9)]);return;}}}else log(_0x3a38fc(0x84a));if(_0x2de54d[_0x3a38fc(0x4d0)]!==![]){if(Object[_0x3a38fc(0x4c2)](_0x2de54d[_0x3a38fc(0x5f8)])['length']>_0x2de54d[_0x3a38fc(0x4d0)]){log('closing\x201'),log(_0x3a38fc(0x985)),_0x2de54d[_0x3a38fc(0x79a)](_0x5ac9a8);return;}}else{if(_0x2de54d[_0x3a38fc(0x94b)]!==![]){if(Object[_0x3a38fc(0x4c2)](_0x2de54d[_0x3a38fc(0x1f2)])[_0x3a38fc(0x3f2)]+Object[_0x3a38fc(0x4c2)](_0x2de54d[_0x3a38fc(0x5f8)])['length']>_0x2de54d['maxconnections']){log('closing\x202'),log('closing\x209'),_0x2de54d[_0x3a38fc(0x79a)](_0x5ac9a8);return;}}}!_0x2de54d['configuration']&&await chooseBestTURN();try{_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8]=new RTCPeerConnection(_0x2de54d[_0x3a38fc(0x890)]);}catch(_0x528489){!_0x2de54d[_0x3a38fc(0x602)]&&warnUser(_0x3a38fc(0x9cf));errorlog(_0x528489);return;}if(_0x2de54d[_0x3a38fc(0x265)]){if(Object['keys'](_0x2de54d[_0x3a38fc(0x5f8)])[_0x3a38fc(0x3f2)]>0x1){log(_0x3a38fc(0x2aa)),log('closing\x2010'),_0x2de54d[_0x3a38fc(0x79a)](_0x5ac9a8);return;}}_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x653)]={},_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x372)]=_0x2de54d[_0x3a38fc(0x5a2)]+_0x2de54d[_0x3a38fc(0x8b3)](0x5),_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0xa14)]=null,_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0xa12)]=null,_0x2de54d['pcs'][_0x5ac9a8][_0x3a38fc(0x3ad)]={},_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x3ad)][_0x3a38fc(0x954)]=null,_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x3ad)][_0x3a38fc(0x26b)]=null,_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x3ad)][_0x3a38fc(0x4e4)]=null,_0x2de54d['pcs'][_0x5ac9a8]['obsState'][_0x3a38fc(0x7c7)]=null,_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x3ad)][_0x3a38fc(0x6aa)]=null,_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x354)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x754)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x573)]=null,_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x2d5)]=null,_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x445)]=null,_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x7a9)]=null,_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x1c8)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x494)]=![],_0x2de54d['pcs'][_0x5ac9a8][_0x3a38fc(0x201)]=![],_0x2de54d['pcs'][_0x5ac9a8]['setAudioBitrate']=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x4fd)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x946)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8]['enhanceAudio']=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8]['degradationPreference']=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8]['encoder']=null,_0x2de54d['pcs'][_0x5ac9a8][_0x3a38fc(0x606)]=![],_0x2de54d['pcs'][_0x5ac9a8][_0x3a38fc(0x323)]=![],_0x2de54d['pcs'][_0x5ac9a8][_0x3a38fc(0x416)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x206)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x598)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8]['allowDownloads']=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x3dc)]=![],_0x2de54d['pcs'][_0x5ac9a8]['allowBroadcast']=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x50a)]=![],_0x2de54d['pcs'][_0x5ac9a8][_0x3a38fc(0x2d4)]=null,_0x2de54d['pcs'][_0x5ac9a8][_0x3a38fc(0x840)]=_0x5ac9a8,_0x2de54d['pcs'][_0x5ac9a8]['scale']=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x4b6)]=![],_0x2de54d['pcs'][_0x5ac9a8][_0x3a38fc(0x773)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0xa35)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x9b6)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x4c5)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x6c4)]=null,_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x33e)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x5ff)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8]['keyframeTimeout']=null,_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x3df)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x53c)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x8a0)]=![],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x3b9)]=![],_0x2de54d['pcs'][_0x5ac9a8][_0x3a38fc(0x2f1)]=null,_0x2de54d['pcs'][_0x5ac9a8][_0x3a38fc(0x9a1)]=_0x2de54d['wssid'],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x558)]=Date[_0x3a38fc(0x9d3)]();function _0x194bcb(_0xa84a3f=![]){var _0x2faa10=_0x3a38fc;if(_0xa84a3f)return;_0x2de54d[_0x2faa10(0x5f8)][_0x5ac9a8][_0x2faa10(0x254)]=_0x2de54d[_0x2faa10(0x5f8)][_0x5ac9a8][_0x2faa10(0x755)](_0x2faa10(0x254)),_0x2de54d[_0x2faa10(0x5f8)][_0x5ac9a8][_0x2faa10(0x254)]['UUID']=_0x5ac9a8,_0x2de54d[_0x2faa10(0x5f8)][_0x5ac9a8]['sendChannel'][_0x2faa10(0x9d1)]=()=>{var _0xa3e69b=_0x2faa10;if(_0xa84a3f)return;log(_0xa3e69b(0x7a5)),msg={},msg[_0xa3e69b(0xa22)]={},msg[_0xa3e69b(0xa22)]['label']=_0x2de54d[_0xa3e69b(0x3df)],msg[_0xa3e69b(0xa22)]['order']=_0x2de54d[_0xa3e69b(0x53c)],msg[_0xa3e69b(0xa22)][_0xa3e69b(0x381)]=_0x2de54d[_0xa3e69b(0x381)];try{(_0x2de54d[_0xa3e69b(0x586)][_0xa3e69b(0x3f2)]||_0x2de54d[_0xa3e69b(0x2b8)])&&(msg[_0xa3e69b(0xa22)][_0xa3e69b(0x92b)]=_0x2de54d['group'][_0xa3e69b(0x326)](','));}catch(_0x30d17c){}msg[_0xa3e69b(0xa22)][_0xa3e69b(0x63b)]=_0x2de54d[_0xa3e69b(0x63b)],msg[_0xa3e69b(0xa22)][_0xa3e69b(0x8c4)]=_0x2de54d[_0xa3e69b(0x8c4)],msg[_0xa3e69b(0xa22)][_0xa3e69b(0x87b)]=_0x2de54d['directorVideoMuted'],msg['info'][_0xa3e69b(0x80d)]=_0x2de54d[_0xa3e69b(0x556)];_0x2de54d[_0xa3e69b(0x7a0)]?msg[_0xa3e69b(0xa22)][_0xa3e69b(0x43e)]=!![]:msg[_0xa3e69b(0xa22)]['room_init']=![];if(_0x2de54d[_0xa3e69b(0x473)]){if(_0x2de54d[_0xa3e69b(0x4a6)]&&_0x2de54d['directorUUID']===_0x5ac9a8)_0x2de54d[_0xa3e69b(0x734)]();else{msg[_0xa3e69b(0x362)]={},msg[_0xa3e69b(0x362)][_0xa3e69b(0x691)]=_0x2de54d[_0xa3e69b(0x691)];_0x2de54d[_0xa3e69b(0x9e7)][_0xa3e69b(0x3f2)]&&!_0x2de54d[_0xa3e69b(0x9e7)][_0xa3e69b(0x9ad)](_0x5ac9a8)&&(msg[_0xa3e69b(0xa22)]['muted']=!![]);var _0x5f1ef2=[];for(var _0xf18b2c in _0x2de54d['pcs']){_0x2de54d['pcs'][_0xf18b2c]['coDirector']===!![]&&_0x5f1ef2[_0xa3e69b(0x6dd)](_0xf18b2c);}_0x2de54d[_0xa3e69b(0x928)]&&(msg[_0xa3e69b(0x362)][_0xa3e69b(0x9f7)]=!![]),_0x5f1ef2[_0xa3e69b(0x3f2)]&&(msg['directorSettings'][_0xa3e69b(0x3d6)]=_0x5f1ef2);}_0x2de54d[_0xa3e69b(0x6a4)]&&(msg[_0xa3e69b(0xa22)][_0xa3e69b(0x83c)]=_0x2de54d[_0xa3e69b(0x6a4)]);}_0x2de54d[_0xa3e69b(0x69d)]!==![]?msg[_0xa3e69b(0xa22)][_0xa3e69b(0x958)]=!![]:msg[_0xa3e69b(0xa22)]['broadcast_mode']=![];_0x2de54d[_0xa3e69b(0x7eb)]?msg['info'][_0xa3e69b(0x7eb)]=!![]:msg[_0xa3e69b(0xa22)][_0xa3e69b(0x7eb)]=![];if(_0x2de54d[_0xa3e69b(0x1f5)])msg[_0xa3e69b(0xa22)][_0xa3e69b(0x5b8)]=_0x2de54d[_0xa3e69b(0x1f5)];else{if(_0x2de54d[_0xa3e69b(0x1f5)]===![])msg[_0xa3e69b(0xa22)][_0xa3e69b(0x5b8)]=![];else _0x2de54d[_0xa3e69b(0x7a0)]&&!_0x2de54d[_0xa3e69b(0x473)]?msg[_0xa3e69b(0xa22)][_0xa3e69b(0x5b8)]=![]:msg['info'][_0xa3e69b(0x5b8)]=null;}_0x2de54d[_0xa3e69b(0x489)]&&(msg[_0xa3e69b(0xa22)][_0xa3e69b(0x489)]=!![]);msg[_0xa3e69b(0xa22)][_0xa3e69b(0x83b)]=_0x2de54d[_0xa3e69b(0x79b)];_0x2de54d['notifyScreenShare']?msg['screenShareState']=_0x2de54d[_0xa3e69b(0x34b)]:msg['screenShareState']=![];msg[_0xa3e69b(0xa22)][_0xa3e69b(0x493)]=_0x2de54d[_0xa3e69b(0x375)],msg[_0xa3e69b(0xa22)][_0xa3e69b(0x34c)]=_0x2de54d['height'],msg['info'][_0xa3e69b(0x7dd)]=_0x2de54d[_0xa3e69b(0x8d8)],msg[_0xa3e69b(0xa22)]['maxvb_url']=_0x2de54d[_0xa3e69b(0x94d)],msg[_0xa3e69b(0xa22)][_0xa3e69b(0x5b9)]=_0x2de54d[_0xa3e69b(0x4d0)],msg[_0xa3e69b(0xa22)]['stereo_url']=_0x2de54d[_0xa3e69b(0x8c6)],msg['info']['aec_url']=_0x2de54d['echoCancellation'],msg[_0xa3e69b(0xa22)]['agc_url']=_0x2de54d['autoGainControl'],msg['info']['denoise_url']=_0x2de54d['noiseSuppression'],msg[_0xa3e69b(0xa22)]['version']=_0x2de54d[_0xa3e69b(0x84e)],msg[_0xa3e69b(0xa22)][_0xa3e69b(0x8f2)]=_0x2de54d[_0xa3e69b(0x988)],msg[_0xa3e69b(0xa22)][_0xa3e69b(0x6c8)]=_0x2de54d['compressor'],msg[_0xa3e69b(0xa22)]['recording_audio_mic_delay']=_0x2de54d['micDelay'],msg[_0xa3e69b(0xa22)]['recording_audio_ctx_latency']=_0x2de54d['audioLatency'],msg[_0xa3e69b(0xa22)][_0xa3e69b(0x55a)]=!_0x2de54d[_0xa3e69b(0x903)],msg[_0xa3e69b(0xa22)][_0xa3e69b(0x7f6)]=_0x2de54d[_0xa3e69b(0x8f9)],msg[_0xa3e69b(0xa22)][_0xa3e69b(0x4de)]=_0x2de54d[_0xa3e69b(0x5c6)],msg['info']['playback_audio_volume_meter']=_0x2de54d[_0xa3e69b(0x7af)];_0x2de54d[_0xa3e69b(0x653)][_0xa3e69b(0x31c)]&&(msg[_0xa3e69b(0xa22)]['conn_type']=_0x2de54d['stats'][_0xa3e69b(0x31c)]);_0x2de54d['forceRotate']!==![]?_0x2de54d[_0xa3e69b(0x21b)]?msg[_0xa3e69b(0xa22)][_0xa3e69b(0x54e)]=_0x2de54d[_0xa3e69b(0x292)]+parseInt(_0x2de54d[_0xa3e69b(0x21b)]):msg[_0xa3e69b(0xa22)][_0xa3e69b(0x54e)]=_0x2de54d['forceRotate']:msg[_0xa3e69b(0xa22)][_0xa3e69b(0x54e)]=_0x2de54d['rotate'];msg[_0xa3e69b(0xa22)]['rotate_video']&&msg['info'][_0xa3e69b(0x54e)]>=0x168&&(msg['info'][_0xa3e69b(0x54e)]-=0x168);try{navigator&&navigator[_0xa3e69b(0x962)]&&(msg['info'][_0xa3e69b(0x8e5)]=navigator[_0xa3e69b(0x962)]);navigator&&navigator[_0xa3e69b(0x90f)]&&(msg[_0xa3e69b(0xa22)][_0xa3e69b(0x90f)]=navigator[_0xa3e69b(0x90f)]);msg[_0xa3e69b(0xa22)][_0xa3e69b(0x640)]=gpgpuSupport;if(SafariVersion)msg[_0xa3e69b(0xa22)][_0xa3e69b(0x3b2)]=_0xa3e69b(0x811);else{if(getChromeVersion()>0x3c)msg[_0xa3e69b(0xa22)][_0xa3e69b(0x3b2)]=_0xa3e69b(0x438)+getChromeVersion();else{if(userAgent['indexOf'](_0xa3e69b(0x401))>=0x0)msg[_0xa3e69b(0xa22)]['Browser']=_0xa3e69b(0x401);else userAgent[_0xa3e69b(0x300)](_0xa3e69b(0x91c))>=0x0?msg[_0xa3e69b(0xa22)]['Browser']='Chrome\x20for\x20iOS':msg['info'][_0xa3e69b(0x3b2)]=_0xa3e69b(0x29b);}}}catch(_0x4a6161){};_0x2de54d['batteryState']&&('level'in _0x2de54d['batteryState']&&(typeof _0x2de54d['batteryState'][_0xa3e69b(0x5f6)]=='number'?msg['info']['power_level']=parseInt(_0x2de54d[_0xa3e69b(0x9a2)][_0xa3e69b(0x5f6)]*0x64):msg['info'][_0xa3e69b(0x310)]=_0x2de54d[_0xa3e69b(0x9a2)][_0xa3e69b(0x5f6)]),_0xa3e69b(0x524)in _0x2de54d[_0xa3e69b(0x9a2)]&&(msg[_0xa3e69b(0xa22)][_0xa3e69b(0x352)]=_0x2de54d[_0xa3e69b(0x9a2)][_0xa3e69b(0x524)]));_0x2de54d[_0xa3e69b(0x3b1)]&&(msg[_0xa3e69b(0xa22)][_0xa3e69b(0x3b1)]=_0x2de54d['cpuLimited']);try{_0x2de54d[_0xa3e69b(0xa22)][_0xa3e69b(0x892)]&&(msg[_0xa3e69b(0x59f)]={},msg['miniInfo'][_0xa3e69b(0x892)]={},msg['miniInfo'][_0xa3e69b(0x892)]['c']=_0x2de54d['info'][_0xa3e69b(0x892)]['c']);}catch(_0x1be1aa){}_0x2de54d[_0xa3e69b(0x2ba)](msg,_0x5ac9a8),pokeIframeAPI(_0xa3e69b(0x373),!![],_0x5ac9a8),pokeIframeAPI(_0xa3e69b(0x8b8),!![],_0x5ac9a8),updateUserList();},_0x2de54d['pcs'][_0x5ac9a8][_0x2faa10(0x254)][_0x2faa10(0x25c)]=()=>{var _0x1e37f1=_0x2faa10;pokeIframeAPI(_0x1e37f1(0x373),![],_0x5ac9a8),_0x2de54d[_0x1e37f1(0x65f)](),warnlog(_0x1e37f1(0x847));return;},_0x2de54d[_0x2faa10(0x5f8)][_0x5ac9a8][_0x2faa10(0x254)]['onmessage']=async function(_0x3288af){var _0x25d231=_0x2faa10;log(_0x25d231(0x743));try{var _0x27d530=JSON[_0x25d231(0x981)](_0x3288af[_0x25d231(0x3cd)]);}catch(_0x51dcb2){warnlog(_0x25d231(0x4f8)),log(_0x3288af[_0x25d231(0x3cd)]);try{var _0x1f94e1=new TextDecoder()[_0x25d231(0x6b6)](_0x3288af[_0x25d231(0x3cd)]),_0x27d530=JSON[_0x25d231(0x981)](_0x1f94e1);}catch(_0x2177de){try{var _0x27d530=await new Response(_0x3288af[_0x25d231(0x3cd)])[_0x25d231(0x8e7)]();_0x27d530=JSON[_0x25d231(0x981)](_0x27d530);}catch(_0x5090af){return;}}}log(_0x27d530);if(_0x25d231(0x7eb)in _0x27d530)try{_0x27d530=await _0x2de54d[_0x25d231(0x579)](_0x27d530);if(!_0x27d530)return;}catch(_0x2a7970){errorlor(_0x2a7970);}_0x25d231(0xa29)in _0x27d530?await _0x2de54d[_0x25d231(0x9c5)](_0x27d530,_0x5ac9a8+'_screen'):await _0x2de54d[_0x25d231(0x9c5)](_0x27d530,_0x5ac9a8);};}_0x194bcb(![]),_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8]['ondatachannel']=function(_0x2d68ae){var _0x51bf68=_0x3a38fc;warnlog(_0x51bf68(0x62a)),warnlog(_0x2d68ae);if(_0x2d68ae[_0x51bf68(0x54c)][_0x51bf68(0x3df)]&&_0x2d68ae[_0x51bf68(0x54c)][_0x51bf68(0x3df)]!==_0x51bf68(0x254)){_0x2de54d['recieveFile'](_0x2de54d[_0x51bf68(0x1f2)],_0x5ac9a8,_0x2d68ae[_0x51bf68(0x54c)]);return;}},_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8]['onnegotiationneeded']=function(_0x249c27){var _0x5fd2ac=_0x3a38fc;log(_0x5fd2ac(0x89c)),_0x2de54d[_0x5fd2ac(0x8f4)](_0x5ac9a8);},_0x2de54d['pcs'][_0x5ac9a8]['ontrack']=_0x2e5134=>{var _0x44a0ca=_0x3a38fc;errorlog(_0x44a0ca(0x9af));},_0x2de54d['pcs'][_0x5ac9a8][_0x3a38fc(0x37c)]=null,_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x9b0)]=[],_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8]['onicecandidate']=function(_0x554590){var _0x317510=_0x3a38fc;if(_0x554590[_0x317510(0x9bf)]==null){log(_0x317510(0x677));return;}log(_0x554590);try{if(_0x2de54d[_0x317510(0x43b)]){if(_0x554590[_0x317510(0x9bf)][_0x317510(0x9bf)][_0x317510(0x300)](_0x2de54d[_0x317510(0x43b)])===-0x1){log(_0x317510(0x526));return;}else log(_0x554590[_0x317510(0x9bf)]);}}catch(_0x2fb8f1){errorlog(_0x2fb8f1);}if(_0x2de54d[_0x317510(0x5f8)][_0x5ac9a8]['iceTimer']!==null){_0x2de54d[_0x317510(0x5f8)][_0x5ac9a8][_0x317510(0x9b0)][_0x317510(0x6dd)](_0x554590[_0x317510(0x9bf)]);return;}_0x2de54d[_0x317510(0x5f8)][_0x5ac9a8][_0x317510(0x9b0)][_0x317510(0x6dd)](_0x554590[_0x317510(0x9bf)]),_0x2de54d[_0x317510(0x5f8)][_0x5ac9a8][_0x317510(0x37c)]=setTimeout(function(_0x110639){var _0xe86d25=_0x317510;try{_0x2de54d[_0xe86d25(0x5f8)][_0x110639][_0xe86d25(0x37c)]=null;}catch(_0x325cc0){warnlog('ice\x20timer\x20no\x20longer\x20exists');return;}var _0x20a40c={};_0x20a40c[_0xe86d25(0x840)]=_0x110639,_0x20a40c[_0xe86d25(0x870)]=_0xe86d25(0x474),_0x20a40c[_0xe86d25(0x492)]=_0x2de54d[_0xe86d25(0x5f8)][_0x110639][_0xe86d25(0x9b0)],_0x20a40c[_0xe86d25(0x372)]=_0x2de54d[_0xe86d25(0x5f8)][_0x110639][_0xe86d25(0x372)],_0x2de54d['pcs'][_0x110639]['iceBundle']=[],_0x2de54d['password']?_0x2de54d[_0xe86d25(0x5fd)](JSON[_0xe86d25(0x2c5)](_0x20a40c[_0xe86d25(0x492)]))[_0xe86d25(0x9a7)](function(_0x14fbc5){var _0x3d0817=_0xe86d25;_0x20a40c[_0x3d0817(0x492)]=_0x14fbc5[0x0],_0x20a40c['vector']=_0x14fbc5[0x1],_0x2de54d['anysend'](_0x20a40c);})[_0xe86d25(0x5f2)](errorlog):_0x2de54d[_0xe86d25(0x8f7)](_0x20a40c);},0xc8,_0x5ac9a8);},_0x2de54d[_0x3a38fc(0x9c5)]=async function(_0x51a594,_0x34daf5){var _0x50a95e=_0x3a38fc;_0x51a594[_0x50a95e(0x840)]=_0x34daf5;if(_0x51a594[_0x50a95e(0x4b8)]){_0x2de54d['processDescription'](_0x51a594);return;}else{if(_0x51a594[_0x50a95e(0x9bf)]){log('GOT\x20ICE!!'),_0x2de54d[_0x50a95e(0x61b)](_0x51a594);return;}else{if(_0x51a594[_0x50a95e(0x492)]){log(_0x50a95e(0x43d)),_0x2de54d[_0x50a95e(0xa28)](_0x51a594);return;}else{if('ping'in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x64f)]=_0x51a594[_0x50a95e(0x65f)],_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5),warnlog(_0x50a95e(0x4c0));return;}else{if(_0x50a95e(0x64f)in _0x51a594){warnlog(_0x50a95e(0x301));return;}else{if(_0x50a95e(0x452)in _0x51a594){warnlog(_0x50a95e(0xa4e)),log('closing\x2012'),_0x2de54d[_0x50a95e(0x79a)](_0x34daf5);return;}}}}}}if(_0x2de54d[_0x50a95e(0x473)]){if('requestCoDirector'in _0x51a594&&_0x50a95e(0x881)in _0x51a594){if(_0x2de54d[_0x50a95e(0x73c)])_0x2de54d[_0x50a95e(0x957)]?_0x2de54d['decryptMessage'](_0x51a594['requestCoDirector'],_0x51a594[_0x50a95e(0x881)],_0x2de54d[_0x50a95e(0x957)])[_0x50a95e(0x9a7)](function(_0x6dd9c3){var _0x7ca05e=_0x50a95e;if(_0x6dd9c3===_0x2de54d[_0x7ca05e(0x957)]){_0x2de54d[_0x7ca05e(0x5f8)][_0x34daf5][_0x7ca05e(0x494)]=!![],getById(_0x7ca05e(0x437)+_0x34daf5)[_0x7ca05e(0x571)][_0x7ca05e(0x6bd)](_0x7ca05e(0xa0a)),_0x2de54d['announceCoDirector'](_0x34daf5);var _0x4b6252={};_0x4b6252[_0x7ca05e(0x849)]='requestCoDirector',_0x2de54d[_0x7ca05e(0x2ba)](_0x4b6252,_0x34daf5);}else{warnlog('codirector\x20request\x20hash\x20failed');var _0x4b6252={};_0x4b6252[_0x7ca05e(0x376)]=_0x7ca05e(0x46a),_0x2de54d[_0x7ca05e(0x2ba)](_0x4b6252,_0x34daf5);}})[_0x50a95e(0x5f2)](function(){var _0x34d007=_0x50a95e;warnlog(_0x34d007(0x6fe));var _0x4d4246={};_0x4d4246['rejected']=_0x34d007(0x46a),_0x2de54d[_0x34d007(0x2ba)](_0x4d4246,_0x34daf5);}):generateHash(_0x2de54d[_0x50a95e(0x73c)]+_0x2de54d[_0x50a95e(0x500)]+'abc123',0xc)[_0x50a95e(0x9a7)](function(_0x3373de){var _0x4e7a82=_0x50a95e;_0x2de54d[_0x4e7a82(0x957)]=_0x3373de,_0x2de54d[_0x4e7a82(0x5dd)](_0x51a594[_0x4e7a82(0x46a)],_0x51a594[_0x4e7a82(0x881)],_0x2de54d[_0x4e7a82(0x957)])[_0x4e7a82(0x9a7)](function(_0x5c908c){var _0x1d0665=_0x4e7a82;if(_0x5c908c===_0x2de54d['directorHash']){_0x2de54d['pcs'][_0x34daf5][_0x1d0665(0x494)]=!![],getById(_0x1d0665(0x437)+_0x34daf5)[_0x1d0665(0x571)][_0x1d0665(0x6bd)](_0x1d0665(0xa0a)),_0x2de54d['announceCoDirector'](_0x34daf5);var _0x20c7c1={};_0x20c7c1[_0x1d0665(0x849)]=_0x1d0665(0x46a),_0x2de54d[_0x1d0665(0x4d6)](_0x20c7c1,_0x34daf5);}else{warnlog(_0x1d0665(0x73d));var _0x20c7c1={};_0x20c7c1[_0x1d0665(0x376)]=_0x1d0665(0x46a),_0x2de54d[_0x1d0665(0x4d6)](_0x20c7c1,_0x34daf5);}})[_0x4e7a82(0x5f2)](function(){var _0x1e2961=_0x4e7a82;warnlog(_0x1e2961(0x6fe));var _0x141287={};_0x141287['rejected']=_0x1e2961(0x46a),_0x2de54d[_0x1e2961(0x4d6)](_0x141287,_0x34daf5);});return;})[_0x50a95e(0x5f2)](errorlog);else{warnlog(_0x50a95e(0x1ec));var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]='requestCoDirector',_0x2de54d['sendRequest'](_0x3fc093,_0x34daf5);}}if('migrate'in _0x51a594&&_0x50a95e(0x7a0)in _0x51a594){log(_0x50a95e(0x587));if(_0x2de54d[_0x50a95e(0x76c)]){if(_0x34daf5 in _0x2de54d[_0x50a95e(0x5f8)]&&_0x2de54d['pcs'][_0x34daf5]['coDirector']===!![]){log(_0x50a95e(0x9a3));var _0x3fc093={};if(_0x51a594[_0x50a95e(0x6fd)]&&_0x51a594['transferSettings'][_0x50a95e(0x2ce)]){_0x3fc093['request']='migrate',_0x3fc093[_0x50a95e(0x6fd)]=_0x51a594['transferSettings'],log(_0x3fc093);if(_0x2de54d[_0x50a95e(0x4d6)](_0x3fc093,_0x51a594[_0x50a95e(0x828)]['toString']())){var _0x3fc093={};_0x3fc093[_0x50a95e(0x450)]=_0x50a95e(0x828),_0x3fc093[_0x50a95e(0x7a0)]=_0x51a594['roomid'],_0x3fc093[_0x50a95e(0x2dc)]=_0x51a594[_0x50a95e(0x828)]['toString'](),_0x2de54d[_0x50a95e(0x7f9)](_0x3fc093);}log(_0x3fc093);}else{if(_0x51a594[_0x50a95e(0x6fd)]&&'broadcast'in _0x51a594[_0x50a95e(0x6fd)]){_0x3fc093[_0x50a95e(0x450)]=_0x50a95e(0x828),_0x3fc093[_0x50a95e(0x6fd)]=_0x51a594[_0x50a95e(0x6fd)],delete _0x3fc093[_0x50a95e(0x6fd)]['roomid'],delete _0x3fc093[_0x50a95e(0x6fd)]['roomenc'],log(_0x3fc093);if(_0x2de54d[_0x50a95e(0x4d6)](_0x3fc093,_0x51a594[_0x50a95e(0x828)][_0x50a95e(0x81a)]())){var _0x3fc093={};_0x3fc093[_0x50a95e(0x450)]=_0x50a95e(0x828),_0x3fc093['roomid']=_0x51a594[_0x50a95e(0x7a0)],_0x3fc093['target']=_0x51a594['migrate']['toString'](),_0x2de54d['sendMsg'](_0x3fc093);}log(_0x3fc093);}else _0x3fc093['request']=_0x50a95e(0x828),_0x3fc093[_0x50a95e(0x7a0)]=_0x51a594[_0x50a95e(0x7a0)],_0x3fc093['target']=_0x51a594['migrate'][_0x50a95e(0x81a)](),_0x2de54d['sendMsg'](_0x3fc093);}pokeIframeAPI('transfer',_0x51a594['roomid'],_0x51a594[_0x50a95e(0x828)][_0x50a95e(0x81a)]());}}else{var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x8f6),_0x2de54d[_0x50a95e(0x4d6)](_0x3fc093,_0x34daf5);}}}if(_0x50a95e(0x972)in _0x51a594){if(!_0x51a594[_0x50a95e(0x840)]){log(_0x50a95e(0x4be));return;}var _0x35aab6=_0x51a594['requestAs'];if(!_0x2de54d[_0x50a95e(0x5f8)][_0x35aab6]){log(_0x50a95e(0x6f3));return;}if(_0x2de54d[_0x50a95e(0x9c0)][_0x50a95e(0x300)](_0x35aab6)>=0x0){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x972),_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x51a594[_0x50a95e(0x840)]),warnlog(_0x50a95e(0x523));return;}if(_0x2de54d[_0x50a95e(0x7eb)]){if(_0x50a95e(0x7eb)in _0x51a594&&_0x51a594[_0x50a95e(0x7eb)]===_0x2de54d[_0x50a95e(0x7eb)]&&_0x2de54d[_0x50a95e(0x7eb)]){}else{if(_0x2de54d[_0x50a95e(0x7eb)]===!![]){}}}else{if(_0x2de54d[_0x50a95e(0x9c0)][_0x50a95e(0x300)](_0x51a594[_0x50a95e(0x840)])>=0x0){}else return;}_0x50a95e(0x557)in _0x51a594&&_0x2de54d[_0x50a95e(0x557)](_0x35aab6,_0x51a594['targetBitrate']);_0x50a95e(0x424)in _0x51a594&&_0x2de54d[_0x50a95e(0x424)](_0x35aab6,_0x51a594[_0x50a95e(0x424)]);if(_0x50a95e(0x7f5)in _0x51a594)try{_0x51a594[_0x50a95e(0x7f5)]['s']?_0x2de54d['setResolution'](_0x35aab6,_0x51a594[_0x50a95e(0x7f5)]['w'],_0x51a594[_0x50a95e(0x7f5)]['h'],!![]):_0x2de54d['setResolution'](_0x35aab6,_0x51a594['requestResolution']['w'],_0x51a594[_0x50a95e(0x7f5)]['h'],![]);}catch(_0x3348ff){errorlog(_0x3348ff);}return;}try{if('info'in _0x51a594){_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x653)][_0x50a95e(0xa22)]=_0x51a594[_0x50a95e(0xa22)];_0x50a95e(0x3df)in _0x51a594[_0x50a95e(0xa22)]&&(typeof _0x51a594['info']['label']==_0x50a95e(0x33f)?_0x2de54d['pcs'][_0x34daf5][_0x50a95e(0x3df)]=sanitizeLabel(_0x51a594[_0x50a95e(0xa22)]['label']):_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x3df)]=![]);if(_0x34daf5===_0x2de54d[_0x50a95e(0x4a6)])try{_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5]['stats'][_0x50a95e(0xa22)][_0x50a95e(0x473)]=!![];}catch(_0x38bca4){}else{if(_0x2de54d[_0x50a95e(0x9c0)][_0x50a95e(0x300)](_0x34daf5)>=0x0)try{_0x2de54d['pcs'][_0x34daf5][_0x50a95e(0x653)][_0x50a95e(0xa22)][_0x50a95e(0x494)]=!![];}catch(_0x287bef){}}if(Firefox)try{_0x50a95e(0x290)in _0x51a594[_0x50a95e(0xa22)]&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5]['savedBitrate']===![]&&(_0x51a594['info'][_0x50a95e(0x290)]&&parseInt(_0x51a594[_0x50a95e(0xa22)][_0x50a95e(0x290)])>0x0&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x754)]=parseInt(_0x51a594['info'][_0x50a95e(0x290)]),_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x445)]&&clearTimeout(_0x2de54d['pcs'][_0x34daf5][_0x50a95e(0x445)]),_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5]['bitrateTimeout']=setTimeout(function(_0x5ec6c2){_0x2de54d['limitBitrate'](_0x5ec6c2,null);},0x3e8,_0x34daf5))));}catch(_0x447515){errorlog(_0x447515);}pokeIframeAPI(_0x50a95e(0x9e4),_0x51a594[_0x50a95e(0xa22)],_0x34daf5);}if('ifs'in _0x51a594){if(_0x2de54d[_0x50a95e(0x46e)])try{_0x2de54d[_0x50a95e(0x46e)][_0x50a95e(0x471)](_0x50a95e(0x3ec))&&processIframeSyncFeedback(_0x51a594[_0x50a95e(0x944)],_0x34daf5);}catch(_0x6d1e1d){errorlog(_0x6d1e1d);}}'pipe'in _0x51a594&&_0x2de54d[_0x50a95e(0x3fd)](_0x51a594[_0x50a95e(0x97a)],_0x34daf5);_0x50a95e(0x83c)in _0x51a594&&(_0x2de54d[_0x50a95e(0x6a4)]=_0x51a594[_0x50a95e(0x83c)],_0x2de54d['autoSyncCallback'](_0x34daf5));_0x50a95e(0x354)in _0x51a594&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x354)]=parseInt(_0x51a594[_0x50a95e(0x354)]));_0x50a95e(0x3a6)in _0x51a594&&_0x2de54d[_0x50a95e(0xa31)](_0x34daf5,_0x51a594['audioBitrate']);_0x50a95e(0x2a6)in _0x51a594&&_0x2de54d[_0x50a95e(0x3ea)](_0x34daf5,_0x51a594[_0x50a95e(0x2a6)]);_0x50a95e(0x557)in _0x51a594&&_0x2de54d['targetBitrate'](_0x34daf5,_0x51a594[_0x50a95e(0x557)]);'targetAudioBitrate'in _0x51a594&&_0x2de54d[_0x50a95e(0x424)](_0x34daf5,_0x51a594[_0x50a95e(0x424)]);if('hangup'in _0x51a594){if(_0x50a95e(0x7eb)in _0x51a594){if(_0x51a594['remote']===_0x2de54d[_0x50a95e(0x7eb)]&&_0x2de54d[_0x50a95e(0x7eb)]||_0x2de54d[_0x50a95e(0x7eb)]===!![]){_0x2de54d[_0x50a95e(0x816)]();return;}}}if(_0x50a95e(0x447)in _0x51a594){if(_0x50a95e(0x7eb)in _0x51a594){if(_0x51a594[_0x50a95e(0x7eb)]===_0x2de54d[_0x50a95e(0x7eb)]&&_0x2de54d['remote']||_0x2de54d[_0x50a95e(0x7eb)]===!![]){_0x2de54d[_0x50a95e(0x816)](!![]);return;}}}if(_0x50a95e(0x831)in _0x51a594){if(_0x2de54d['directorList'][_0x50a95e(0x300)](_0x34daf5)>=0x0){var _0x44e6a4={};if(_0x2de54d['mc'][_0x50a95e(0x653)])_0x44e6a4[_0x50a95e(0x2d4)]=_0x2de54d['mc'][_0x50a95e(0x653)];else for(var _0x5efc2a in _0x2de54d[_0x50a95e(0x5f8)]){if(_0x5efc2a===_0x34daf5)continue;_0x44e6a4[_0x5efc2a]=_0x2de54d['pcs'][_0x5efc2a][_0x50a95e(0x653)];}var _0x3fc093={};_0x3fc093[_0x50a95e(0x687)]=_0x44e6a4,_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if('remote'in _0x51a594){if(_0x51a594[_0x50a95e(0x7eb)]===_0x2de54d[_0x50a95e(0x7eb)]&&_0x2de54d[_0x50a95e(0x7eb)]||_0x2de54d[_0x50a95e(0x7eb)]===!![]){var _0x44e6a4={};if(_0x2de54d['mc']['stats'])_0x44e6a4[_0x50a95e(0x2d4)]=_0x2de54d['mc']['stats'];else for(var _0x5efc2a in _0x2de54d[_0x50a95e(0x5f8)]){if(_0x5efc2a===_0x34daf5)continue;_0x44e6a4[_0x5efc2a]=_0x2de54d['pcs'][_0x5efc2a]['stats'];}var _0x3fc093={};_0x3fc093['remoteStats']=_0x44e6a4,_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}}else{var _0x44e6a4={};if(_0x2de54d['mc']['stats'])_0x44e6a4[_0x50a95e(0x2d4)]=_0x2de54d['mc'][_0x50a95e(0x653)];else for(var _0x5efc2a in _0x2de54d[_0x50a95e(0x5f8)]){if(_0x5efc2a===_0x34daf5)continue;if(!_0x2de54d['pcs'][_0x5efc2a][_0x50a95e(0x653)])continue;if(_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x4fd)])continue;if(_0x2de54d['roomid']){if('scene'in _0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)]){if(_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)][_0x50a95e(0x33e)]===![])continue;}else continue;}_0x44e6a4[_0x5efc2a]={},_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)][_0x50a95e(0x56b)]&&(_0x44e6a4[_0x5efc2a][_0x50a95e(0x56b)]=_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)][_0x50a95e(0x56b)]),_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)][_0x50a95e(0x5e6)]&&(_0x44e6a4[_0x5efc2a][_0x50a95e(0x5e6)]=_0x2de54d['pcs'][_0x5efc2a][_0x50a95e(0x653)][_0x50a95e(0x5e6)]),_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a]['stats'][_0x50a95e(0x55f)]&&(_0x44e6a4[_0x5efc2a][_0x50a95e(0x55f)]=_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a]['stats'][_0x50a95e(0x55f)]),_0x2de54d['pcs'][_0x5efc2a][_0x50a95e(0x653)][_0x50a95e(0x33e)]&&(_0x44e6a4[_0x5efc2a][_0x50a95e(0x33e)]=_0x2de54d['pcs'][_0x5efc2a]['stats']['scene']),_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a]['label']&&(_0x44e6a4[_0x5efc2a][_0x50a95e(0x3df)]=_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x3df)]),_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)]['resolution']&&(_0x44e6a4[_0x5efc2a][_0x50a95e(0x5a5)]=_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)][_0x50a95e(0x5a5)]),_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a]['stats'][_0x50a95e(0x1da)]&&(_0x44e6a4[_0x5efc2a][_0x50a95e(0x1da)]=_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a]['stats'][_0x50a95e(0x1da)]);}var _0x3fc093={};_0x3fc093[_0x50a95e(0x687)]=_0x44e6a4,_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}}}if(_0x50a95e(0x923)in _0x51a594){clearInterval(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x795)]);if(_0x2de54d['directorList']['indexOf'](_0x34daf5)>=0x0){if(_0x51a594[_0x50a95e(0x923)]){_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x795)]=setInterval(function(_0x2fb9f1){var _0x45ee48=_0x50a95e,_0x42d834={};if(_0x2de54d['mc'][_0x45ee48(0x653)])_0x42d834[_0x45ee48(0x2d4)]=_0x2de54d['mc'][_0x45ee48(0x653)];else for(var _0x5da042 in _0x2de54d[_0x45ee48(0x5f8)]){if(_0x5da042===_0x2fb9f1)continue;if(!_0x2de54d[_0x45ee48(0x5f8)][_0x5da042][_0x45ee48(0x653)])continue;if(_0x2de54d[_0x45ee48(0x5f8)][_0x5da042]['guest'])continue;_0x42d834[_0x5da042]=_0x2de54d[_0x45ee48(0x5f8)][_0x5da042][_0x45ee48(0x653)];}var _0x2270b6={};_0x2270b6[_0x45ee48(0x687)]=_0x42d834,_0x2de54d[_0x45ee48(0x2ba)](_0x2270b6,_0x2fb9f1);},0xbb8,_0x34daf5);var _0x44e6a4={};if(_0x2de54d['mc'][_0x50a95e(0x653)])_0x44e6a4['meshcast']=_0x2de54d['mc'][_0x50a95e(0x653)];else for(var _0x5efc2a in _0x2de54d['pcs']){if(_0x5efc2a===_0x34daf5)continue;if(!_0x2de54d['pcs'][_0x5efc2a][_0x50a95e(0x653)])continue;if(_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x4fd)])continue;_0x44e6a4[_0x5efc2a]=_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)];}var _0x3fc093={};_0x3fc093['remoteStats']=_0x44e6a4,_0x2de54d['sendMessage'](_0x3fc093,_0x34daf5);}}else{if(_0x50a95e(0x7eb)in _0x51a594){if(_0x51a594['remote']===_0x2de54d[_0x50a95e(0x7eb)]&&_0x2de54d[_0x50a95e(0x7eb)]||_0x2de54d[_0x50a95e(0x7eb)]===!![]){if(_0x51a594[_0x50a95e(0x923)]){_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x795)]=setInterval(function(_0x56998a){var _0x31bb0f=_0x50a95e,_0x3c7b43={};if(_0x2de54d['mc'][_0x31bb0f(0x653)])_0x3c7b43[_0x31bb0f(0x2d4)]=_0x2de54d['mc'][_0x31bb0f(0x653)];else for(var _0x1c340d in _0x2de54d['pcs']){if(_0x1c340d===_0x56998a)continue;if(!_0x2de54d[_0x31bb0f(0x5f8)][_0x1c340d][_0x31bb0f(0x653)])continue;if(_0x2de54d[_0x31bb0f(0x5f8)][_0x1c340d][_0x31bb0f(0x4fd)])continue;_0x3c7b43[_0x1c340d]=_0x2de54d[_0x31bb0f(0x5f8)][_0x1c340d][_0x31bb0f(0x653)];}var _0x175991={};_0x175991[_0x31bb0f(0x687)]=_0x3c7b43,_0x2de54d[_0x31bb0f(0x2ba)](_0x175991,_0x56998a);},0xbb8,_0x34daf5);var _0x44e6a4={};if(_0x2de54d['mc'][_0x50a95e(0x653)])_0x44e6a4[_0x50a95e(0x2d4)]=_0x2de54d['mc'][_0x50a95e(0x653)];else for(var _0x5efc2a in _0x2de54d[_0x50a95e(0x5f8)]){if(_0x5efc2a===_0x34daf5)continue;if(!_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)])continue;if(_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x4fd)])continue;_0x44e6a4[_0x5efc2a]=_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)];}var _0x3fc093={};_0x3fc093['remoteStats']=_0x44e6a4,_0x2de54d['sendMessage'](_0x3fc093,_0x34daf5);}}}else{if(_0x51a594[_0x50a95e(0x923)]){_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x795)]=setInterval(function(_0x255672){var _0x3883ea=_0x50a95e,_0x3bf047={};if(_0x2de54d['mc']['stats'])_0x3bf047[_0x3883ea(0x2d4)]=_0x2de54d['mc'][_0x3883ea(0x653)];else for(var _0x39661f in _0x2de54d[_0x3883ea(0x5f8)]){if(_0x39661f===_0x255672)continue;if(!_0x2de54d[_0x3883ea(0x5f8)][_0x39661f][_0x3883ea(0x653)])continue;if(_0x2de54d[_0x3883ea(0x5f8)][_0x39661f][_0x3883ea(0x4fd)])continue;if(_0x2de54d[_0x3883ea(0x7a0)]){if(_0x3883ea(0x33e)in _0x2de54d[_0x3883ea(0x5f8)][_0x39661f][_0x3883ea(0x653)]){if(_0x2de54d[_0x3883ea(0x5f8)][_0x39661f][_0x3883ea(0x653)][_0x3883ea(0x33e)]===![])continue;}else continue;}_0x3bf047[_0x39661f]={},_0x2de54d[_0x3883ea(0x5f8)][_0x39661f][_0x3883ea(0x653)][_0x3883ea(0x56b)]&&(_0x3bf047[_0x39661f][_0x3883ea(0x56b)]=_0x2de54d[_0x3883ea(0x5f8)][_0x39661f][_0x3883ea(0x653)][_0x3883ea(0x56b)]),_0x2de54d[_0x3883ea(0x5f8)][_0x39661f][_0x3883ea(0x653)]['nacks_per_second']&&(_0x3bf047[_0x39661f][_0x3883ea(0x5e6)]=_0x2de54d['pcs'][_0x39661f][_0x3883ea(0x653)][_0x3883ea(0x5e6)]),_0x2de54d[_0x3883ea(0x5f8)][_0x39661f][_0x3883ea(0x653)]['available_outgoing_bitrate_kbps']&&(_0x3bf047[_0x39661f][_0x3883ea(0x55f)]=_0x2de54d[_0x3883ea(0x5f8)][_0x39661f][_0x3883ea(0x653)]['available_outgoing_bitrate_kbps']),_0x2de54d[_0x3883ea(0x5f8)][_0x39661f]['stats'][_0x3883ea(0x33e)]&&(_0x3bf047[_0x39661f]['scene']=_0x2de54d['pcs'][_0x39661f][_0x3883ea(0x653)]['scene']),_0x2de54d[_0x3883ea(0x5f8)][_0x39661f][_0x3883ea(0x3df)]&&(_0x3bf047[_0x39661f]['label']=_0x2de54d[_0x3883ea(0x5f8)][_0x39661f]['label']),_0x2de54d[_0x3883ea(0x5f8)][_0x39661f][_0x3883ea(0x653)][_0x3883ea(0x5a5)]&&(_0x3bf047[_0x39661f][_0x3883ea(0x5a5)]=_0x2de54d[_0x3883ea(0x5f8)][_0x39661f][_0x3883ea(0x653)][_0x3883ea(0x5a5)]),_0x2de54d[_0x3883ea(0x5f8)][_0x39661f][_0x3883ea(0x653)][_0x3883ea(0x1da)]&&(_0x3bf047[_0x39661f][_0x3883ea(0x1da)]=_0x2de54d['pcs'][_0x39661f][_0x3883ea(0x653)][_0x3883ea(0x1da)]);}var _0x1b8eaf={};_0x1b8eaf['remoteStats']=_0x3bf047,_0x2de54d['sendMessage'](_0x1b8eaf,_0x255672);},0xbb8,_0x34daf5);var _0x44e6a4={};if(_0x2de54d['mc']['stats'])_0x44e6a4['meshcast']=_0x2de54d['mc'][_0x50a95e(0x653)];else for(var _0x5efc2a in _0x2de54d[_0x50a95e(0x5f8)]){if(_0x5efc2a===_0x34daf5)continue;if(!_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)])continue;if(_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x4fd)])continue;if(_0x2de54d['roomid']){if(_0x50a95e(0x33e)in _0x2de54d['pcs'][_0x5efc2a][_0x50a95e(0x653)]){if(_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)][_0x50a95e(0x33e)]===![])continue;}else continue;}_0x44e6a4[_0x5efc2a]={},_0x2de54d['pcs'][_0x5efc2a][_0x50a95e(0x653)]['video_bitrate_kbps']&&(_0x44e6a4[_0x5efc2a][_0x50a95e(0x56b)]=_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)][_0x50a95e(0x56b)]),_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)][_0x50a95e(0x5e6)]&&(_0x44e6a4[_0x5efc2a][_0x50a95e(0x5e6)]=_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a]['stats'][_0x50a95e(0x5e6)]),_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)][_0x50a95e(0x55f)]&&(_0x44e6a4[_0x5efc2a][_0x50a95e(0x55f)]=_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a]['stats'][_0x50a95e(0x55f)]),_0x2de54d['pcs'][_0x5efc2a][_0x50a95e(0x653)][_0x50a95e(0x33e)]&&(_0x44e6a4[_0x5efc2a][_0x50a95e(0x33e)]=_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a]['stats'][_0x50a95e(0x33e)]),_0x2de54d['pcs'][_0x5efc2a][_0x50a95e(0x3df)]&&(_0x44e6a4[_0x5efc2a]['label']=_0x2de54d['pcs'][_0x5efc2a][_0x50a95e(0x3df)]),_0x2de54d['pcs'][_0x5efc2a]['stats'][_0x50a95e(0x5a5)]&&(_0x44e6a4[_0x5efc2a][_0x50a95e(0x5a5)]=_0x2de54d['pcs'][_0x5efc2a]['stats'][_0x50a95e(0x5a5)]),_0x2de54d['pcs'][_0x5efc2a][_0x50a95e(0x653)][_0x50a95e(0x1da)]&&(_0x44e6a4[_0x5efc2a][_0x50a95e(0x1da)]=_0x2de54d[_0x50a95e(0x5f8)][_0x5efc2a][_0x50a95e(0x653)][_0x50a95e(0x1da)]);}var _0x3fc093={};_0x3fc093['remoteStats']=_0x44e6a4,_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}}}}if('requestResolution'in _0x51a594)try{_0x51a594[_0x50a95e(0x7f5)]['s']?_0x2de54d[_0x50a95e(0x6da)](_0x51a594[_0x50a95e(0x840)],_0x51a594['requestResolution']['w'],_0x51a594[_0x50a95e(0x7f5)]['h'],!![]):_0x2de54d[_0x50a95e(0x6da)](_0x51a594['UUID'],_0x51a594['requestResolution']['w'],_0x51a594['requestResolution']['h'],![]);}catch(_0x14772f){errorlog(_0x14772f);}'keyframe'in _0x51a594&&(_0x51a594[_0x50a95e(0x33e)]?_0x2de54d['directorList'][_0x50a95e(0x300)](_0x34daf5)>=0x0?_0x2de54d[_0x50a95e(0x4e5)]():errorlog('Not\x20director'):_0x2de54d[_0x50a95e(0x5bf)](_0x34daf5));if(_0x50a95e(0x905)in _0x51a594){var _0xbc1ed2=![],_0x2bf64b=![];_0x2de54d[_0x50a95e(0x9c0)][_0x50a95e(0x300)](_0x34daf5)>=0x0&&(_0xbc1ed2=!![],_0x50a95e(0x8fd)in _0x51a594&&(_0x51a594[_0x50a95e(0x8fd)]==!![]&&(_0x2bf64b=!![]))),log(_0x50a95e(0x2ee)+_0xbc1ed2),getChatMessage(_0x51a594[_0x50a95e(0x905)],_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x3df)],_0xbc1ed2,_0x2bf64b);}if(_0x50a95e(0x53c)in _0x51a594){_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x53c)]=parseInt(_0x51a594[_0x50a95e(0x53c)])||0x0;_0x34daf5 in _0x2de54d[_0x50a95e(0x1f2)]&&(_0x2de54d[_0x50a95e(0x1f2)][_0x34daf5][_0x50a95e(0x53c)]=_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x53c)]);if(_0x2de54d[_0x50a95e(0x473)]){var _0x1acad2=document[_0x50a95e(0x880)](_0x50a95e(0x435)+_0x34daf5+'\x22]');log(_0x1acad2),_0x1acad2[0x0]&&(_0x1acad2[0x0][_0x50a95e(0x794)]=parseInt(_0x51a594[_0x50a95e(0x53c)])||0x0);}updateMixer();}_0x50a95e(0x96c)in _0x51a594&&_0x2de54d[_0x50a95e(0x8ff)](_0x34daf5,parseFloat(_0x51a594[_0x50a95e(0x96c)])||0x0);if(_0x2de54d[_0x50a95e(0x473)]&&_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x494)]&&_0x50a95e(0x327)in _0x51a594){log(_0x51a594),_0x2de54d[_0x50a95e(0x712)]=_0x51a594[_0x50a95e(0x327)];for(var _0x17dbc7 in _0x2de54d[_0x50a95e(0x712)]){syncSceneState(_0x17dbc7),syncOtherState(_0x17dbc7);}}if(_0x2de54d[_0x50a95e(0x9c0)][_0x50a95e(0x300)](_0x34daf5)==-0x1){if(_0x50a95e(0x615)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x615),_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x26c)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]='requestVideoRecord',_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x264)in _0x51a594){var _0x3fc093={};_0x3fc093['rejected']='changeOrder',_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x3f0)in _0x51a594){var _0x3fc093={};_0x3fc093['rejected']=_0x50a95e(0x3f0),_0x2de54d['sendMessage'](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x70c)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x70c),_0x2de54d['sendMessage'](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x405)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]='requestChangeEQ',_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x211)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x211),_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x96d)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x96d),_0x2de54d['sendMessage'](_0x3fc093,_0x34daf5);}else{if('requestChangeSubGain'in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]='requestChangeSubGain',_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x60e)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]='requestChangeMicDelay',_0x2de54d['sendMessage'](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x53e)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x53e),_0x2de54d['sendMessage'](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x816)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]='hangup',_0x2de54d['sendMessage'](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x6b0)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]='displayMute',_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x277)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x277),_0x2de54d['sendMessage'](_0x3fc093,_0x34daf5);}else{if('volume'in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x267),_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x568)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x568),_0x2de54d['sendMessage'](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x757)in _0x51a594){var _0x3fc093={};_0x3fc093['rejected']=_0x50a95e(0x757),_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0xa1e)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]='stopClock',_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if('resumeClock'in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x284),_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if('setClock'in _0x51a594){var _0x3fc093={};_0x3fc093['rejected']=_0x50a95e(0x706),_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x244)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x244),_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if('showClock'in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]='showClock',_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x2b5)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x2b5),_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if('pauseClock'in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x4a8),_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x71d)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x71d),_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}else{if(_0x50a95e(0x586)in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x376)]=_0x50a95e(0x586),_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x34daf5);}}}}}}}}}}}}}}}}}}}}}}}}}}}else{if(_0x50a95e(0x615)in _0x51a594){var _0x47ff25=_0x2de54d['streamSrc']['getAudioTracks']();_0x47ff25[_0x50a95e(0x3f2)]&&('deviceId'in _0x51a594?applyAudioHack(_0x51a594['keyname'],_0x51a594[_0x50a95e(0x9d6)],_0x51a594[_0x50a95e(0x9f4)]):applyAudioHack(_0x51a594[_0x50a95e(0x7ed)],_0x51a594['value']));}if(_0x50a95e(0x26c)in _0x51a594){if(_0x51a594['requestVideoRecord']){if(_0x2de54d[_0x50a95e(0x6b9)]){var _0x3194cb=0x1770;_0x51a594['value']&&(_0x3194cb=parseInt(_0x51a594[_0x50a95e(0x9d6)])),recordLocalVideo(_0x50a95e(0x409),_0x3194cb);}}else _0x2de54d['videoElement']&&recordLocalVideo(_0x50a95e(0x8c9));}if('changeOrder'in _0x51a594){_0x2de54d[_0x50a95e(0x53c)]==![]&&(_0x2de54d['order']=0x0);_0x2de54d[_0x50a95e(0x53c)]+=parseInt(_0x51a594['changeOrder'])||0x0;var _0x3fc093={};_0x3fc093={},_0x3fc093['order']=_0x2de54d[_0x50a95e(0x53c)],_0x2de54d[_0x50a95e(0x203)](_0x3fc093),updateMixer();}'changeURL'in _0x51a594&&changeURL(_0x51a594[_0x50a95e(0x3f0)]);'stopClock'in _0x51a594&&stopClock();_0x50a95e(0x284)in _0x51a594&&resumeClock();_0x50a95e(0x706)in _0x51a594&&setClock(_0x51a594['setClock']);_0x50a95e(0x244)in _0x51a594&&hideClock();_0x50a95e(0x60c)in _0x51a594&&showClock();_0x50a95e(0x2b5)in _0x51a594&&startClock();_0x50a95e(0x4a8)in _0x51a594&&pauseClock();if(_0x50a95e(0x71d)in _0x51a594){if(_0x2de54d[_0x50a95e(0x71d)]!==![]){if(_0x51a594[_0x50a95e(0x71d)]&&!_0x2de54d[_0x50a95e(0x71d)])toggleClock();else!_0x51a594[_0x50a95e(0x71d)]&&_0x2de54d[_0x50a95e(0x71d)]&&toggleClock();}}_0x50a95e(0x757)in _0x51a594&&toggleFileshare(_0x34daf5);if(_0x50a95e(0x586)in _0x51a594)try{_0x2de54d['sendMessage']({'group':_0x51a594[_0x50a95e(0x586)]}),_0x51a594[_0x50a95e(0x586)]?_0x2de54d['group']=_0x51a594[_0x50a95e(0x586)][_0x50a95e(0x534)](','):_0x2de54d[_0x50a95e(0x586)]=[],updateMixer(),pokeIframeAPI(_0x50a95e(0x340),_0x2de54d[_0x50a95e(0x586)]);}catch(_0xfad7f4){}if(_0x50a95e(0x70c)in _0x51a594){if(_0x50a95e(0x9d6)in _0x51a594){if(typeof _0x51a594[_0x50a95e(0x9d6)]=='string'){_0x2de54d['label']=sanitizeLabel(_0x51a594[_0x50a95e(0x9d6)]),log(_0x50a95e(0x91f)+_0x2de54d['label']);if(_0x2de54d[_0x50a95e(0x473)]){var _0x1acad2=getById(_0x50a95e(0x43c)+_0x34daf5);if(_0x2de54d[_0x50a95e(0x3df)])_0x1acad2[_0x50a95e(0x794)]=_0x2de54d[_0x50a95e(0x3df)],_0x1acad2[_0x50a95e(0x571)]['remove'](_0x50a95e(0x202));else _0x2de54d[_0x50a95e(0x4a6)]===_0x34daf5?(_0x1acad2[_0x50a95e(0x794)]=miscTranslations[_0x50a95e(0x6c9)],_0x1acad2[_0x50a95e(0x571)][_0x50a95e(0x949)](_0x50a95e(0x202))):(_0x1acad2[_0x50a95e(0x794)]=miscTranslations[_0x50a95e(0x39a)],_0x1acad2[_0x50a95e(0x571)]['add'](_0x50a95e(0x202)));}else _0x2de54d[_0x50a95e(0x5f9)]&&updateMixer();!_0x2de54d[_0x50a95e(0x473)]&&(_0x2de54d['label']?document[_0x50a95e(0x693)]=_0x2de54d[_0x50a95e(0x3df)]:document[_0x50a95e(0x693)]=location[_0x50a95e(0x457)]);var _0x2b2835=encodeURIComponent(_0x2de54d[_0x50a95e(0x3df)]);urlParams[_0x50a95e(0x2f2)]('l')?updateURL('l='+_0x2b2835,!![],![]):updateURL(_0x50a95e(0x960)+_0x2b2835,!![],![]);var _0x3fc093={};_0x3fc093[_0x50a95e(0x70c)]=!![],_0x3fc093[_0x50a95e(0x9d6)]=_0x2de54d['label'],_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093);}else{_0x2de54d[_0x50a95e(0x3df)]=![];var _0x3fc093={};_0x3fc093[_0x50a95e(0x70c)]=!![],_0x3fc093[_0x50a95e(0x9d6)]=_0x2de54d[_0x50a95e(0x3df)],_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093);if(_0x2de54d['director']){var _0x1acad2=getById(_0x50a95e(0x43c)+_0x34daf5);_0x2de54d[_0x50a95e(0x4a6)]===_0x34daf5?(_0x1acad2[_0x50a95e(0x794)]=miscTranslations['main-director'],_0x1acad2[_0x50a95e(0x571)][_0x50a95e(0x949)](_0x50a95e(0x202))):(_0x1acad2[_0x50a95e(0x794)]=miscTranslations['add-a-label'],_0x1acad2['classList']['add'](_0x50a95e(0x202)));}else _0x2de54d[_0x50a95e(0x5f9)]?(document[_0x50a95e(0x693)]=location[_0x50a95e(0x457)],updateMixer()):document[_0x50a95e(0x693)]=location[_0x50a95e(0x457)];}}}if(_0x50a95e(0x405)in _0x51a594){if(_0x51a594[_0x50a95e(0x7ed)]==_0x50a95e(0x7e2))changeLowEQ(parseFloat(_0x51a594[_0x50a95e(0x9d6)]),_0x51a594['track']);else{if(_0x51a594[_0x50a95e(0x7ed)]==_0x50a95e(0x2f8))changeMidEQ(parseFloat(_0x51a594[_0x50a95e(0x9d6)]),_0x51a594[_0x50a95e(0x683)]);else _0x51a594[_0x50a95e(0x7ed)]=='high'&&changeHighEQ(parseFloat(_0x51a594[_0x50a95e(0x9d6)]),_0x51a594['track']);}}if('requestChangeGating'in _0x51a594){var _0x822084=_0x2de54d[_0x50a95e(0x887)];if(_0x51a594[_0x50a95e(0x9d6)]===_0x50a95e(0x59d))_0x2de54d[_0x50a95e(0x887)]=![],log(_0x50a95e(0x2ad));else _0x51a594['value']===_0x50a95e(0x603)?(_0x2de54d[_0x50a95e(0x887)]=!![],log(_0x50a95e(0x986))):_0x2de54d[_0x50a95e(0x887)]=_0x51a594['value'];_0x2de54d['noisegate']!==_0x822084&&senderAudioUpdate();}if(_0x50a95e(0x96d)in _0x51a594){var _0x822084=_0x2de54d[_0x50a95e(0x2c1)];if(_0x51a594[_0x50a95e(0x9d6)]==='false')_0x2de54d[_0x50a95e(0x2c1)]=![],log(_0x50a95e(0x2ad));else{if(_0x51a594['value']==='1')_0x2de54d[_0x50a95e(0x2c1)]=0x1,log(_0x50a95e(0x986));else _0x51a594[_0x50a95e(0x9d6)]==='2'?(_0x2de54d[_0x50a95e(0x2c1)]=0x2,log('noise\x20gate\x20on')):_0x2de54d[_0x50a95e(0x2c1)]=parseInt(_0x51a594[_0x50a95e(0x9d6)])||![];}_0x2de54d['compressor']!==_0x822084&&senderAudioUpdate();}_0x50a95e(0x60e)in _0x51a594&&(_0x2de54d[_0x50a95e(0x940)]===![]?(_0x2de54d['micDelay']=parseInt(_0x51a594['value'])||0x0,senderAudioUpdate()):(_0x2de54d[_0x50a95e(0x940)]=parseInt(_0x51a594['value'])||0x0,changeMicDelay(_0x2de54d['micDelay'],_0x51a594[_0x50a95e(0x9f4)])));_0x50a95e(0xa13)in _0x51a594&&changeSubGain(parseFloat(_0x51a594[_0x50a95e(0x9d6)]),_0x51a594[_0x50a95e(0x9f4)]);_0x50a95e(0x53e)in _0x51a594&&(_0x2de54d[_0x50a95e(0x7a3)]&&lowerhand());if('getAudioSettings'in _0x51a594){var _0x3fc093={};_0x3fc093[_0x50a95e(0x840)]=_0x34daf5,_0x3fc093[_0x50a95e(0x9ae)]=listAudioSettingsPrep(),sendMediaDevices(_0x3fc093[_0x50a95e(0x840)]),_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x3fc093[_0x50a95e(0x840)]);}if(_0x50a95e(0x8f5)in _0x51a594){var _0x3fc093={};_0x3fc093['UUID']=_0x34daf5,_0x3fc093[_0x50a95e(0x800)]=listVideoSettingsPrep(),sendMediaDevices(_0x3fc093[_0x50a95e(0x840)]),_0x2de54d[_0x50a95e(0x2ba)](_0x3fc093,_0x3fc093['UUID']);}'changeSpeaker'in _0x51a594&&changeAudioOutputDeviceById(_0x51a594[_0x50a95e(0xa48)],_0x34daf5);_0x50a95e(0x39c)in _0x51a594&&changeAudioDeviceById(_0x51a594['changeMicrophone'],_0x34daf5);_0x50a95e(0x7e1)in _0x51a594&&changeVideoDeviceById(_0x51a594['changeCamera'],_0x34daf5);'requestVideoHack'in _0x51a594&&(_0x50a95e(0x893)in _0x51a594&&_0x51a594[_0x50a95e(0x893)]?updateCameraConstraints(_0x51a594['keyname'],_0x51a594[_0x50a95e(0x9d6)],!![],_0x34daf5):updateCameraConstraints(_0x51a594[_0x50a95e(0x7ed)],_0x51a594[_0x50a95e(0x9d6)],![],![]));_0x50a95e(0xa5b)in _0x51a594&&changeLowCut(parseFloat(_0x51a594[_0x50a95e(0x9d6)]),_0x51a594[_0x50a95e(0x683)]);_0x50a95e(0xa5b)in _0x51a594&&changeLowCut(parseFloat(_0x51a594[_0x50a95e(0x9d6)]),_0x51a594[_0x50a95e(0x683)]);'hangup'in _0x51a594&&(_0x2de54d[_0x50a95e(0x4a6)]&&_0x2de54d[_0x50a95e(0x816)]());if('mute'in _0x51a594){}if(_0x50a95e(0x267)in _0x51a594){var _0x378d49=parseInt(_0x51a594[_0x50a95e(0x267)])/0x64||0x0;_0x2de54d[_0x50a95e(0x988)]=parseInt(_0x51a594[_0x50a95e(0x267)])||0x0;try{for(var _0x2eea6d in _0x2de54d['webAudios']){log(_0x50a95e(0x237)),_0x2de54d[_0x50a95e(0x92e)][_0x2eea6d][_0x50a95e(0x3bf)][_0x50a95e(0x9e1)]['setValueAtTime'](_0x378d49,_0x2de54d[_0x50a95e(0x92e)][_0x2eea6d][_0x50a95e(0x1cb)]['currentTime']);}}catch(_0x509426){}updateVolume(!![]);}if(_0x50a95e(0x543)in _0x51a594){if(_0x51a594[_0x50a95e(0x543)])_0x2de54d['directorList']['indexOf'](_0x34daf5)>=0x0&&(_0x2de54d[_0x50a95e(0x568)][_0x50a95e(0x6dd)](_0x34daf5),_0x2de54d[_0x50a95e(0x7d8)]());else{var _0xf0d64c=_0x2de54d[_0x50a95e(0x568)][_0x50a95e(0x300)](_0x34daf5);_0xf0d64c>-0x1&&(_0x2de54d[_0x50a95e(0x568)][_0x50a95e(0x60a)](_0xf0d64c,0x1),_0x2de54d['applyIsolatedChat']());}}if(_0x50a95e(0x74f)in _0x51a594){if(_0x51a594[_0x50a95e(0x74f)])_0x2de54d['directorList'][_0x50a95e(0x300)](_0x34daf5)>=0x0&&(_0x2de54d[_0x50a95e(0x74f)][_0x50a95e(0x6dd)](_0x34daf5),_0x2de54d[_0x50a95e(0x5d7)]());else{var _0xf0d64c=_0x2de54d[_0x50a95e(0x74f)]['indexOf'](_0x34daf5);_0xf0d64c>-0x1&&(_0x2de54d['lowerVolume'][_0x50a95e(0x60a)](_0xf0d64c,0x1),_0x2de54d[_0x50a95e(0x5d7)]());}}'speakerMute'in _0x51a594&&(_0x51a594[_0x50a95e(0x277)]?(_0x2de54d[_0x50a95e(0x63b)]=!![],_0x2de54d[_0x50a95e(0x463)]()):(_0x2de54d[_0x50a95e(0x63b)]=![],_0x2de54d[_0x50a95e(0x463)]())),'displayMute'in _0x51a594&&(_0x51a594[_0x50a95e(0x6b0)]?(_0x2de54d[_0x50a95e(0x8c4)]=!![],_0x2de54d['directorDisplayMute']()):(_0x2de54d[_0x50a95e(0x8c4)]=![],_0x2de54d[_0x50a95e(0x4db)]())),_0x50a95e(0x3be)in _0x51a594&&applyNewParams(_0x51a594['changeParams']);}if(_0x2de54d['directorUUID']===_0x34daf5){_0x51a594['request']==='migrate'&&(warnlog(_0x50a95e(0x860)),_0x50a95e(0x6fd)in _0x51a594&&('roomenc'in _0x51a594[_0x50a95e(0x6fd)]&&(_0x2de54d['roomenc']=_0x51a594[_0x50a95e(0x2bb)]),_0x50a95e(0x69d)in _0x51a594[_0x50a95e(0x6fd)]&&(_0x51a594[_0x50a95e(0x6fd)][_0x50a95e(0x69d)]===!![]||_0x51a594[_0x50a95e(0x6fd)][_0x50a95e(0x69d)]===null?(_0x2de54d['broadcast']=null,_0x2de54d[_0x50a95e(0xa3f)]===![]&&(_0x2de54d[_0x50a95e(0xa3f)]=0x2),_0x2de54d[_0x50a95e(0x92c)]===![]&&(_0x2de54d['style']=0x1),_0x2de54d['showList']===null&&(_0x2de54d[_0x50a95e(0x1e4)]=!![])):_0x2de54d[_0x50a95e(0x69d)]=_0x51a594['transferSettings'][_0x50a95e(0x69d)],_0x51a594[_0x50a95e(0x6fd)][_0x50a95e(0x2ce)]&&(_0x2de54d[_0x50a95e(0x69d)]!==![]?updateURL(_0x50a95e(0x69d),!![]):updateURL(_0x50a95e(0x3e5),!![]))),_0x50a95e(0x7a0)in _0x51a594[_0x50a95e(0x6fd)]&&(_0x2de54d['roomid']=_0x51a594[_0x50a95e(0x6fd)][_0x50a95e(0x7a0)],_0x51a594['transferSettings']['updateurl']&&updateURL('room='+_0x2de54d[_0x50a95e(0x7a0)],!![]))));try{if(_0x50a95e(0x362)in _0x51a594&&_0x50a95e(0x3d6)in _0x51a594[_0x50a95e(0x362)])for(var _0x131612=0x0;_0x131612<_0x51a594[_0x50a95e(0x362)][_0x50a95e(0x3d6)]['length'];_0x131612++){if(!_0x2de54d[_0x50a95e(0x9c0)][_0x50a95e(0x9ad)](_0x51a594[_0x50a95e(0x362)][_0x50a95e(0x3d6)][_0x131612]['toString'])){_0x2de54d[_0x50a95e(0x9c0)][_0x50a95e(0x6dd)](_0x51a594[_0x50a95e(0x362)][_0x50a95e(0x3d6)][_0x131612]['toString']());var _0x300cd5=getById('container_'+_0x51a594[_0x50a95e(0x362)][_0x50a95e(0x3d6)][_0x131612][_0x50a95e(0x81a)]());_0x300cd5&&_0x300cd5['classList']['add'](_0x50a95e(0xa0a));}}}catch(_0x393782){errorlog(_0x393782);}}if(_0x50a95e(0x979)in _0x51a594){if(_0x2de54d['remote']){if(_0x50a95e(0x7eb)in _0x51a594&&_0x51a594[_0x50a95e(0x7eb)]===_0x2de54d['remote']&&_0x2de54d['remote'])_0x2de54d[_0x50a95e(0x675)](parseFloat(_0x51a594[_0x50a95e(0x979)]));else _0x2de54d['remote']===!![]&&_0x2de54d[_0x50a95e(0x675)](parseFloat(_0x51a594['zoom']));}else{if(_0x2de54d['directorList'][_0x50a95e(0x300)](_0x34daf5)>=0x0)_0x2de54d[_0x50a95e(0x675)](parseFloat(_0x51a594['zoom']));else return;}}if('focus'in _0x51a594){if(_0x2de54d[_0x50a95e(0x7eb)]){if(_0x50a95e(0x7eb)in _0x51a594&&_0x51a594[_0x50a95e(0x7eb)]===_0x2de54d['remote']&&_0x2de54d[_0x50a95e(0x7eb)])_0x2de54d[_0x50a95e(0x255)](parseFloat(_0x51a594[_0x50a95e(0x6d4)]));else _0x2de54d[_0x50a95e(0x7eb)]===!![]&&_0x2de54d['remoteFocus'](parseFloat(_0x51a594['focus']));}else{if(_0x2de54d['directorList'][_0x50a95e(0x300)](_0x34daf5)>=0x0)_0x2de54d[_0x50a95e(0x255)](parseFloat(_0x51a594[_0x50a95e(0x6d4)]));else return;}}if(_0x50a95e(0x6b8)in _0x51a594){log(_0x50a95e(0x6b8));try{_0x2de54d[_0x50a95e(0x641)](_0x34daf5,_0x51a594[_0x50a95e(0x6b8)]);}catch(_0x57edcd){errorlog(_0x57edcd);}}_0x50a95e(0x9d8)in _0x51a594&&playbackMIDI(_0x51a594[_0x50a95e(0x9d8)],!![]);}catch(_0x42fb85){errorlog(_0x42fb85);}manageSceneState(_0x51a594,_0x34daf5);if(_0x50a95e(0x376)in _0x51a594){if(_0x51a594['rejected']==_0x50a95e(0x644)){if(_0x2de54d['remote'])warnUser(_0x50a95e(0xa18),0xbb8);else document['querySelector']('#obsRemotePassword>input')&&document[_0x50a95e(0x715)](_0x50a95e(0x991))[_0x50a95e(0x9d6)]?warnUser('Invalid\x20remote\x20control\x20code.\x0a\x0aThe\x20remote\x20OBS\x20system\x20needs\x20a\x20matching\x20passcode\x20set\x20using\x20&remote.\x0a\x0aSee\x20the\x20documentation\x20for\x20help..',0x1b58):warnUser(_0x50a95e(0x6d5),0x2710);getById('obsRemotePassword')[_0x50a95e(0x571)]['remove'](_0x50a95e(0x548));}else{if(_0x2de54d[_0x50a95e(0x473)])!_0x2de54d[_0x50a95e(0x602)]&&warnUser('The\x20request\x20('+_0x51a594[_0x50a95e(0x376)]+_0x50a95e(0x243),0x1388);else!_0x2de54d[_0x50a95e(0x602)]&&(_0x2de54d[_0x50a95e(0x7eb)]?warnUser(_0x50a95e(0x3c6),0x1388):warnUser('The\x20remote\x20control\x20request\x20failed.',0x1388));}errorlog(_0x50a95e(0x7a4)+_0x51a594[_0x50a95e(0x376)]+',\x20isDirector:\x20'+_0x2de54d[_0x50a95e(0x473)]);}if(_0x50a95e(0x20c)in _0x51a594||_0x50a95e(0x6fb)in _0x51a594){log(_0x50a95e(0x80c));_0x51a594[_0x50a95e(0x20c)]&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5]['allowAudio']=!![]);if(_0x2de54d['webp']&&_0x50a95e(0x279)in _0x51a594&&_0x51a594[_0x50a95e(0x279)]!==![])_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x598)]=_0x51a594[_0x50a95e(0x279)],_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5]['allowVideo']=![],setTimeout(function(){makeImages(!![]);},0x3e8);else _0x51a594[_0x50a95e(0x6fb)]&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5]['allowVideo']=!![]);_0x50a95e(0x69d)in _0x51a594&&_0x51a594[_0x50a95e(0x69d)]!==![]&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x780)]=_0x51a594[_0x50a95e(0x69d)]);_0x50a95e(0x239)in _0x51a594&&_0x51a594['iframe']!==![]&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x206)]=_0x51a594['iframe']);_0x50a95e(0xa3e)in _0x51a594&&_0x51a594[_0x50a95e(0xa3e)]!==![]&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x3dc)]=_0x51a594[_0x50a95e(0xa3e)]);'downloads'in _0x51a594&&_0x51a594[_0x50a95e(0x5ad)]!==![]&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0xa37)]=_0x51a594[_0x50a95e(0x5ad)]);'allowscreen'in _0x51a594&&_0x51a594['allowscreen']!==![]&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x50a)]=!![]);_0x50a95e(0x8a0)in _0x51a594&&_0x51a594['preferVideoCodec']!==![]&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x8a0)]=_0x51a594[_0x50a95e(0x8a0)][_0x50a95e(0x788)]());_0x50a95e(0x3b9)in _0x51a594&&_0x51a594[_0x50a95e(0x3b9)]!==![]&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x3b9)]=_0x51a594['preferAudioCodec'][_0x50a95e(0x788)]());if(_0x2de54d[_0x50a95e(0x2d4)]){if(_0x2de54d[_0x50a95e(0x2d4)]==_0x50a95e(0x6fb))_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x323)]=![];else{if(_0x2de54d[_0x50a95e(0x2d4)]==_0x50a95e(0x20c))_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5]['allowAudio']=![];else _0x2de54d['pcs'][_0x34daf5][_0x50a95e(0x323)]==![]?_0x2de54d['pcs'][_0x34daf5]['meshcast']=![]:(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x416)]=![],_0x2de54d['pcs'][_0x34daf5][_0x50a95e(0x323)]=![]);}}if(_0x2de54d[_0x50a95e(0x8e9)]){playtone(),window['focus']();var _0x5b9b9d=![];_0x34daf5 in _0x2de54d[_0x50a95e(0x1f2)]&&_0x2de54d[_0x50a95e(0x1f2)][_0x34daf5][_0x50a95e(0x3df)]&&(_0x5b9b9d=_0x2de54d[_0x50a95e(0x1f2)][_0x34daf5]['label']||_0x2de54d[_0x50a95e(0x1f2)][_0x34daf5]['streamID']||![]);_0x5b9b9d=_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5]['label']||_0x5b9b9d||_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x6ba)]||_0x34daf5||_0x50a95e(0x6b7);var _0x3b6663=await confirmAlt(_0x5b9b9d+miscTranslations['prompt-access-request'],!![]);if(!_0x3b6663){try{log(_0x50a95e(0x38e)),_0x2de54d[_0x50a95e(0x79a)](_0x34daf5);}catch(_0x10586d){}return;}}'guest'in _0x51a594&&(_0x51a594[_0x50a95e(0x4fd)]==!![]&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x4fd)]=!![],_0x2de54d[_0x50a95e(0x241)]&&(playtone(![],_0x50a95e(0x3fe)),showNotification(_0x50a95e(0x25b),'')),pokeIframeAPI('guest-connected',_0x51a594['director'],_0x34daf5)));_0x50a95e(0x473)in _0x51a594&&(_0x51a594[_0x50a95e(0x473)]==!![]&&((iOS||iPad)&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x606)]==!![]&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x4fd)]=!![])),_0x2de54d[_0x50a95e(0x241)]&&(playtone(![],_0x50a95e(0x3fe)),showNotification(_0x50a95e(0x3b7),_0x50a95e(0x220))),pokeIframeAPI(_0x50a95e(0x5b0),_0x51a594['director'],_0x34daf5)));_0x50a95e(0x606)in _0x51a594&&(_0x51a594[_0x50a95e(0x606)]===!![]&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x606)]=!![]));_0x50a95e(0x668)in _0x51a594&&(_0x51a594['limitaudio']==!![]&&(_0x2de54d['pcs'][_0x34daf5][_0x50a95e(0x946)]=!![]));'enhanceaudio'in _0x51a594&&(_0x51a594[_0x50a95e(0x684)]==!![]&&(_0x2de54d['pcs'][_0x34daf5][_0x50a95e(0x24e)]=!![]));_0x51a594[_0x50a95e(0x2cc)]&&(_0x2de54d['pcs'][_0x34daf5][_0x50a95e(0x90a)]=_0x51a594[_0x50a95e(0x2cc)]);if(_0x50a95e(0x5ff)in _0x51a594)try{_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x5ff)]=_0x51a594['keyframeRate'],_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x5ff)]&&setTimeout(function(){var _0xda2caf=_0x50a95e;_0x2de54d[_0xda2caf(0x5bf)](_0x34daf5);},0x1388);}catch(_0x38947c){warnlog(_0x38947c);}_0x50a95e(0x573)in _0x51a594&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x573)]=_0x51a594[_0x50a95e(0x573)]);_0x50a95e(0x2d5)in _0x51a594&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x2d5)]=_0x51a594[_0x50a95e(0x2d5)],pokeIframeAPI(_0x50a95e(0xa3a),_0x51a594[_0x50a95e(0x2d5)],_0x34daf5));if(_0x50a95e(0x33e)in _0x51a594){if(_0x51a594['scene']!==![]){try{typeof _0x51a594[_0x50a95e(0x33e)]===_0x50a95e(0x33f)?_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5]['scene']=_0x51a594[_0x50a95e(0x33e)][_0x50a95e(0x42c)](/[\W]+/g,'_'):_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x33e)]=(parseInt(_0x51a594['scene'])||0x0)+'',_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5]['stats'][_0x50a95e(0x33e)]=_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x33e)],updateSceneList(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x33e)]);}catch(_0x57ee3d){errorlog(_0x57ee3d);}_0x50a95e(0x6c4)in _0x51a594&&(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x6c4)]=_0x51a594[_0x50a95e(0x6c4)]);if(_0x50a95e(0x6c4)in _0x51a594&&_0x51a594['showDirector'])_0x51a594['showDirector']==0x2&&(_0x2de54d['pcs'][_0x34daf5]['allowAudio']=![]);else{if(_0x2de54d[_0x50a95e(0x473)]&&_0x2de54d['showDirector']==![])_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x416)]=![],_0x2de54d['pcs'][_0x34daf5][_0x50a95e(0x323)]=![],_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x206)]=![],_0x2de54d['pcs'][_0x34daf5][_0x50a95e(0x2d4)]=![],_0x2de54d['pcs'][_0x34daf5]['allowWebp']=![];else _0x2de54d[_0x50a95e(0x473)]&&(_0x2de54d['showDirector']==0x2&&(_0x2de54d['pcs'][_0x34daf5][_0x50a95e(0x416)]=![]),_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5][_0x50a95e(0x206)]=![]);}_0x2de54d['pcs'][_0x34daf5]['solo']?pokeIframeAPI(_0x50a95e(0x8df),_0x51a594[_0x50a95e(0x33e)],_0x34daf5):pokeIframeAPI(_0x50a95e(0x6cd),_0x51a594[_0x50a95e(0x33e)],_0x34daf5);}}if(_0x2de54d[_0x50a95e(0x473)]==!![]){var _0x3fc093={};_0x3fc093[_0x50a95e(0x362)]=getDirectorSettings(_0x2de54d[_0x50a95e(0x5f8)][_0x34daf5]['scene']),_0x50a95e(0x473)in _0x51a594&&(_0x51a594['director']==!![]&&(_0x3fc093[_0x50a95e(0x327)]=getDetailedState())),_0x2de54d['sendMessage'](_0x3fc093,_0x34daf5);}_0x2de54d[_0x50a95e(0x4c6)](_0x34daf5);}},_0x2de54d['initialPublish']=function(_0x83730){var _0x2c60ac=_0x3a38fc;log(_0x2c60ac(0x27b)+_0x83730);if(_0x83730 in _0x2de54d[_0x2c60ac(0x5f8)]){}else{errorlog('UUID\x20not\x20found\x20in\x20pcs');return;}getSenders2(_0x83730)[_0x2c60ac(0x3f2)]&&errorlog(_0x2c60ac(0x810)+getSenders2(_0x83730)['length']);if(_0x2de54d[_0x2c60ac(0x5f8)][_0x83730][_0x2c60ac(0x206)]===!![]){if(_0x2de54d['iframeSrc']){var _0x438e45={};_0x438e45[_0x2c60ac(0x46e)]=_0x2de54d['iframeSrc'],_0x2de54d['iframeEle']&&_0x2de54d[_0x2c60ac(0x9fc)][_0x2c60ac(0x261)]&&(_0x2de54d[_0x2c60ac(0x46e)][_0x2c60ac(0x471)](_0x2c60ac(0x3ec))&&(_0x438e45[_0x2c60ac(0x46e)]+='&start='+parseInt(Math[_0x2c60ac(0x5b5)](_0x2de54d['iframeEle'][_0x2c60ac(0x261)][_0x2c60ac(0x944)]['t']))+'')),_0x2de54d[_0x2c60ac(0x2ba)](_0x438e45,_0x83730);}}_0x2de54d[_0x2c60ac(0x5f8)][_0x83730]['allowDownloads']===!![]&&_0x2de54d[_0x2c60ac(0x974)](_0x83730);if(_0x2de54d['chunked']){_0x2de54d[_0x2c60ac(0x6ce)](_0x83730);return;}var _0x29da0f=_0x2de54d['getLocalStream']();log(_0x2c60ac(0x80f)),log(_0x29da0f[_0x2c60ac(0x385)]());if(_0x2de54d[_0x2c60ac(0x4cf)]&&_0x2de54d[_0x2c60ac(0x5f8)][_0x83730][_0x2c60ac(0x2d4)]===null){_0x2de54d[_0x2c60ac(0x5f8)][_0x83730][_0x2c60ac(0x2d4)]=!![];var _0x438e45={};_0x438e45[_0x2c60ac(0x2d4)]=_0x2de54d[_0x2c60ac(0x4cf)],_0x2de54d[_0x2c60ac(0x2ba)](_0x438e45,_0x83730),warnlog(_0x438e45);}_0x2de54d[_0x2c60ac(0x5f8)][_0x83730][_0x2c60ac(0x50a)]&&createSecondStream2(_0x83730);var _0x2cc921=![];_0x29da0f[_0x2c60ac(0x24a)]()[_0x2c60ac(0x374)](_0x38304c=>{var _0x34fec8=_0x2c60ac;try{_0x2de54d[_0x34fec8(0x5f8)][_0x83730][_0x34fec8(0x323)]===!![]&&(_0x38304c[_0x34fec8(0x4e2)]==_0x34fec8(0x6fb)&&(_0x2de54d[_0x34fec8(0x5f8)][_0x83730]['guest']===!![]&&_0x2de54d[_0x34fec8(0x6df)]===0x0?log(_0x34fec8(0x832)):(_0x2de54d[_0x34fec8(0x5f8)][_0x83730][_0x34fec8(0x62e)](_0x38304c,_0x29da0f),warnlog(_0x34fec8(0x271)),_0x2cc921=!![],setTimeout(function(_0x406e65){var _0x2d0bad=_0x34fec8;try{_0x2de54d[_0x2d0bad(0x4ec)](_0x406e65);}catch(_0xc82602){warnlog(_0xc82602);}},_0x2de54d[_0x34fec8(0x38b)],_0x83730))));}catch(_0x2d1767){errorlog(_0x2d1767);}});_0x2de54d[_0x2c60ac(0x9de)]&&(_0x29da0f=mixMinusAudio(_0x83730));_0x29da0f['getAudioTracks']()[_0x2c60ac(0x374)](_0x304b59=>{var _0x152007=_0x2c60ac;try{_0x2de54d['pcs'][_0x83730][_0x152007(0x416)]===!![]&&(_0x304b59[_0x152007(0x4e2)]==_0x152007(0x20c)&&(_0x2de54d[_0x152007(0x5f8)][_0x83730][_0x152007(0x62e)](_0x304b59,_0x29da0f),warnlog('added\x20audio\x20track')));}catch(_0x3c9855){errorlog(_0x3c9855);}}),log('does\x20any\x20audio\x20exist?');_0x29da0f[_0x2c60ac(0x9b2)]()[_0x2c60ac(0x3f2)]&&(_0x2de54d[_0x2c60ac(0x8a7)](),log(_0x2c60ac(0x611)),_0x2de54d[_0x2c60ac(0x5f8)][_0x83730][_0x2c60ac(0x946)]===!![]&&(warnlog(_0x2c60ac(0x8ed)),setTimeout(_0x2de54d[_0x2c60ac(0x453)],0x3e8,_0x83730,0x7d00,0x0)),_0x2de54d[_0x2c60ac(0x5f8)][_0x83730][_0x2c60ac(0x24e)]===!![]&&setTimeout(_0x2de54d['enhanceAudioEncoder'],0x3e8,_0x83730));if(_0x2de54d[_0x2c60ac(0x5f8)][_0x83730]['degradationPreference'])setTimeout(_0x2de54d[_0x2c60ac(0x90a)],0x3e8,_0x83730,_0x2de54d['pcs'][_0x83730][_0x2c60ac(0x90a)]);else{if(_0x2de54d[_0x2c60ac(0x26f)]&&SafariVersion){if(_0x2de54d[_0x2c60ac(0x26f)]=='detail')setTimeout(_0x2de54d[_0x2c60ac(0x90a)],0x3e8,_0x83730,_0x2c60ac(0x34f));else _0x2de54d[_0x2c60ac(0x26f)]=='motion'&&setTimeout(_0x2de54d[_0x2c60ac(0x90a)],0x3e8,_0x83730,_0x2c60ac(0x5a3));}}if(iOS||iPad){if(SafariVersion&&SafariVersion<=0xd){}else _0x2cc921&&(setTimeout(function(_0x1d34b1){_0x2de54d['setScale'](_0x1d34b1,null);},0x7d0,_0x83730),setTimeout(function(_0x1c3ac0){var _0x2c433b=_0x2c60ac,_0x1bdfb9=0x64;_0x2de54d[_0x2c433b(0x5f8)][_0x1c3ac0][_0x2c433b(0x96c)]&&(_0x1bdfb9=_0x2de54d[_0x2c433b(0x5f8)][_0x1c3ac0]['scale']),_0x2de54d[_0x2c433b(0x8ff)](_0x1c3ac0,_0x1bdfb9);},0x1388,_0x83730));}};function _0xb4526f(_0x48c806,_0x470439,_0x449a43){var _0x1b1cd6=_0x3a38fc,_0x4df4c5=new Blob([_0x48c806],{'type':_0x1b1cd6(0x2a9)}),_0x4889b9=new FileReader();_0x4889b9[_0x1b1cd6(0x257)]=function(_0x4f5615){var _0x380b9b=_0x1b1cd6;_0x449a43(_0x4f5615[_0x380b9b(0x2dc)][_0x380b9b(0x2d9)]);},_0x4889b9[_0x1b1cd6(0x7a7)](_0x4df4c5,_0x470439);}_0x2de54d[_0x3a38fc(0x974)]=function(_0x3f4d23){var _0x37e14e=_0x3a38fc;log('session.provideFileList');if(!_0x2de54d[_0x37e14e(0x1e2)]||!_0x2de54d[_0x37e14e(0x1e2)][_0x37e14e(0x3f2)])return;var _0x4de8cc={},_0x52e3cf=[];for(var _0x5f3ad7=0x0;_0x5f3ad7<_0x2de54d['hostedFiles'][_0x37e14e(0x3f2)];_0x5f3ad7++){(_0x2de54d['hostedFiles'][_0x5f3ad7]['restricted']===![]||_0x2de54d[_0x37e14e(0x1e2)][_0x5f3ad7]['restricted']===_0x3f4d23)&&_0x52e3cf[_0x37e14e(0x6dd)]({'id':_0x2de54d['hostedFiles'][_0x5f3ad7]['id'],'name':_0x2de54d[_0x37e14e(0x1e2)][_0x5f3ad7][_0x37e14e(0x248)],'size':_0x2de54d[_0x37e14e(0x1e2)][_0x5f3ad7][_0x37e14e(0x99d)]});}_0x4de8cc[_0x37e14e(0x9c9)]=_0x52e3cf;if(_0x3f4d23 in _0x2de54d['pcs'])_0x2de54d[_0x37e14e(0x2ba)](_0x4de8cc,_0x3f4d23);else _0x3f4d23 in _0x2de54d[_0x37e14e(0x1f2)]&&_0x2de54d['sendRequest'](_0x4de8cc,_0x3f4d23);log(_0x4de8cc);},_0x2de54d['pcs'][_0x5ac9a8][_0x3a38fc(0x312)]=function(_0x2644e9){var _0x440c01=_0x3a38fc;if(!(_0x5ac9a8 in _0x2de54d['pcs']))return;try{if(this[_0x440c01(0x2c8)]==='closed')log(_0x440c01(0x40e));else{if(this['iceConnectionState']===_0x440c01(0x6a8))log(_0x440c01(0x30b));else{if(this['iceConnectionState']===_0x440c01(0x63d))log(_0x440c01(0x2a3)),_0x2de54d[_0x440c01(0x5f8)][_0x5ac9a8][_0x440c01(0xa3d)]?_0x2de54d['pcs'][_0x5ac9a8][_0x440c01(0xa3d)]():_0x2de54d['createOffer'](_0x5ac9a8,!![]);else{if(this['iceConnectionState']===_0x440c01(0x5e4)){log(_0x440c01(0xa02));var _0xd35ca9=getSenders2(_0x5ac9a8);_0xd35ca9[_0x440c01(0x374)](_0x4207ca=>{var _0x246654=_0x440c01;if(!_0x4207ca[_0x246654(0x683)])return;if(_0x4207ca[_0x246654(0x683)][_0x246654(0x4e2)]===_0x246654(0x6fb)){_0x2de54d['pcs'][_0x5ac9a8][_0x246654(0x208)]=_0x4207ca[_0x246654(0x30c)]()[_0x246654(0x749)],log(_0x2de54d['pcs'][_0x5ac9a8][_0x246654(0x208)]);return;}else{if(_0x4207ca['track']['kind']==='audio'){_0x2de54d[_0x246654(0x5f8)][_0x5ac9a8][_0x246654(0x8aa)]=_0x4207ca[_0x246654(0x30c)]()[_0x246654(0x749)],log(_0x2de54d[_0x246654(0x5f8)][_0x5ac9a8][_0x246654(0x8aa)]);return;}}});}else log(this[_0x440c01(0x2c8)]);}}}}catch(_0x1882e8){errorlog(_0x1882e8);}},_0x2de54d['pcs'][_0x5ac9a8][_0x3a38fc(0x7bf)]=function(_0x24bcea){var _0x141f8c=_0x3a38fc;switch(_0x2de54d[_0x141f8c(0x5f8)][_0x5ac9a8][_0x141f8c(0x8b9)]){case _0x141f8c(0x5e4):log(_0x141f8c(0x875)),clearTimeout(_0x2de54d[_0x141f8c(0x5f8)][_0x5ac9a8][_0x141f8c(0x2f1)]);if(_0x2de54d[_0x141f8c(0x265)]){if(_0x2de54d['ws'][_0x141f8c(0xa4d)]!==0x1){_0x2de54d['ws']['close']();break;}_0x2de54d['ws'][_0x141f8c(0x2e4)](),setTimeout(function(){var _0x39772b=_0x141f8c;_0x2de54d[_0x39772b(0x602)]!=!![]&&warnUser(_0x39772b(0x80b));},0x1);}break;case _0x141f8c(0x6a8):log(_0x141f8c(0x4d3)),clearTimeout(_0x2de54d[_0x141f8c(0x5f8)][_0x5ac9a8][_0x141f8c(0x2f1)]),_0x2de54d[_0x141f8c(0x5f8)][_0x5ac9a8][_0x141f8c(0x2f1)]=setTimeout(function(_0x306749){var _0x205af5=_0x141f8c;_0x306749 in _0x2de54d[_0x205af5(0x5f8)]?(warnlog(_0x205af5(0x68a)),log('closing\x2014'),_0x2de54d[_0x205af5(0x79a)](_0x306749)):errorlog(_0x205af5(0x975));},0x2710,_0x5ac9a8);break;case _0x141f8c(0x63d):warnlog(_0x141f8c(0x864)),clearTimeout(_0x2de54d[_0x141f8c(0x5f8)][_0x5ac9a8][_0x141f8c(0x2f1)]),_0x2de54d['pcs'][_0x5ac9a8]['closeTimeout']=setTimeout(function(_0x3a8cae){var _0x25bc9b=_0x141f8c;_0x3a8cae in _0x2de54d[_0x25bc9b(0x5f8)]?(warnlog(_0x25bc9b(0x68a)),log(_0x25bc9b(0x470)),_0x2de54d[_0x25bc9b(0x79a)](_0x3a8cae)):errorlog('\x20---\x20PC\x20TIMED\x20OUT\x20and\x20already\x20deleted.\x20shouldn\x27t\x20happen');},0xbb8,_0x5ac9a8);break;case _0x141f8c(0x33c):warnlog(_0x141f8c(0x4f5)),log(_0x141f8c(0x96b)),_0x2de54d[_0x141f8c(0x79a)](_0x5ac9a8);break;default:log('rtc\x20state:\x20'+_0x2de54d['pcs'][_0x5ac9a8][_0x141f8c(0x8b9)]),clearTimeout(_0x2de54d[_0x141f8c(0x5f8)][_0x5ac9a8][_0x141f8c(0x2f1)]);break;}},_0x2de54d['pcs'][_0x5ac9a8][_0x3a38fc(0x25c)]=function(_0x28f304){var _0x537311=_0x3a38fc;warnlog(_0x537311(0x564)),log(_0x537311(0x9d4)),_0x2de54d[_0x537311(0x79a)](_0x5ac9a8);},_0x2de54d[_0x3a38fc(0x5f8)][_0x5ac9a8][_0x3a38fc(0x9d1)]=function _0x2f9999(){var _0x373dee=_0x3a38fc;log(_0x373dee(0x25d));};},_0x2de54d[_0x139c85(0x932)]=function(_0x3c803f){var _0x477788=_0x139c85;if(_0x3c803f['description'][_0x477788(0x870)]=='offer')_0x2de54d[_0x477788(0x5ca)](_0x3c803f),_0x2de54d[_0x477788(0x3b3)](_0x3c803f);else try{if(!(_0x3c803f[_0x477788(0x840)]in _0x2de54d['pcs']))return;var _0x5ef4a0=_0x2de54d[_0x477788(0x94d)];if(_0x2de54d[_0x477788(0x9fd)]&&_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x4fd)]==!![]&&_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x606)]==![]){if(_0x5ef4a0===![]||_0x5ef4a0>_0x2de54d[_0x477788(0x963)]){var _0x28a4bd=Object[_0x477788(0x4c2)](_0x2de54d[_0x477788(0x5f8)])['length'];if(_0x2de54d[_0x477788(0x993)])_0x5ef4a0=_0x2de54d['maxMobileBitrate'];else{if(_0x28a4bd>0x4)_0x5ef4a0=_0x2de54d['lowMobileBitrate'];else(iOS||iPad)&&SafariVersion&&SafariVersion<=0xd?_0x5ef4a0=_0x2de54d['lowMobileBitrate']:_0x5ef4a0=_0x2de54d[_0x477788(0x963)];}}(iOS||iPad)&&(_0x2de54d[_0x477788(0x5f8)][_0x3c803f['UUID']][_0x477788(0x201)]=_0x5ef4a0,_0x3c803f[_0x477788(0x4b8)]['sdp']=CodecsHandler[_0x477788(0x4ab)](_0x3c803f['description'][_0x477788(0x334)],_0x477788(0x51c)),_0x3c803f[_0x477788(0x4b8)]['sdp']=CodecsHandler['setVideoBitrates'](_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)],{'min':parseInt(_0x5ef4a0/0xa)||0x1,'max':_0x5ef4a0}),_0x5ef4a0=![]);}else{if(_0x2de54d[_0x477788(0x5f8)][_0x3c803f['UUID']][_0x477788(0x4fd)]==!![])_0x5ef4a0!==![]?_0x2de54d[_0x477788(0x6df)]!==![]&&(_0x2de54d[_0x477788(0x6df)]<_0x5ef4a0&&(_0x5ef4a0=_0x2de54d[_0x477788(0x6df)])):_0x5ef4a0=_0x2de54d[_0x477788(0x6df)],(iOS||iPad)&&_0x2de54d[_0x477788(0x5f8)][_0x3c803f['UUID']][_0x477788(0x606)]&&(_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]]['encoder']=!![]);else{if(iOS||iPad){var _0x5a54c4=0x0;for(var _0x4a73ac in _0x2de54d['pcs']){_0x3c803f[_0x477788(0x840)]!==_0x4a73ac&&(_0x2de54d['pcs'][_0x4a73ac]['encoder']===!![]&&(_0x5a54c4+=0x1));}if(_0x5a54c4>=0x3){if(_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x606)])_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x4d9)]=!![],_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x8a0)]&&_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x8a0)]===_0x477788(0x8da)&&(_0x3c803f[_0x477788(0x4b8)]['sdp']=CodecsHandler[_0x477788(0x4ab)](_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)],_0x477788(0x8da)),log(_0x477788(0x1f8)+_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x8a0)]+_0x477788(0x7f1)));else _0x2de54d['pcs'][_0x3c803f['UUID']][_0x477788(0x8a0)]&&_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]]['preferVideoCodec']===_0x477788(0x25f)?(_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)]=CodecsHandler[_0x477788(0x4ab)](_0x3c803f['description'][_0x477788(0x334)],_0x477788(0x25f)),log(_0x477788(0x1f8)+_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]]['preferVideoCodec']+_0x477788(0x7f1)),_0x2de54d['pcs'][_0x3c803f[_0x477788(0x840)]][_0x477788(0x4d9)]=![]):(_0x3c803f['description'][_0x477788(0x334)]=CodecsHandler[_0x477788(0x4ab)](_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)],'vp8'),log(_0x477788(0x848)),_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x4d9)]=![]);}else _0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]]['preferVideoCodec']&&_0x2de54d['pcs'][_0x3c803f[_0x477788(0x840)]][_0x477788(0x8a0)]!==_0x477788(0x8da)?_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x8a0)]===_0x477788(0x25f)||_0x2de54d[_0x477788(0x5f8)][_0x3c803f['UUID']][_0x477788(0x8a0)]===_0x477788(0x51c)?(_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)]=CodecsHandler['preferCodec'](_0x3c803f[_0x477788(0x4b8)]['sdp'],_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x8a0)]),log(_0x477788(0x1f8)+_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x8a0)]+_0x477788(0x7f1)),_0x2de54d['pcs'][_0x3c803f[_0x477788(0x840)]][_0x477788(0x4d9)]=![]):_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x4d9)]=!![]:(_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x4d9)]=!![],_0x2de54d[_0x477788(0x5f8)][_0x3c803f['UUID']][_0x477788(0x8a0)]&&_0x2de54d[_0x477788(0x5f8)][_0x3c803f['UUID']][_0x477788(0x8a0)]===_0x477788(0x8da)&&(_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)]=CodecsHandler[_0x477788(0x4ab)](_0x3c803f['description'][_0x477788(0x334)],_0x477788(0x8da)),log(_0x477788(0x1f8)+_0x2de54d['pcs'][_0x3c803f[_0x477788(0x840)]]['preferVideoCodec']+_0x477788(0x7f1))));}else _0x2de54d['pcs'][_0x3c803f[_0x477788(0x840)]][_0x477788(0x8a0)]&&(_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)]=CodecsHandler[_0x477788(0x4ab)](_0x3c803f['description'][_0x477788(0x334)],_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x8a0)]),log(_0x477788(0x1f8)+_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x8a0)]+_0x477788(0x7f1)));}}if(_0x5ef4a0){var _0x2be143=CodecsHandler[_0x477788(0x771)](_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)]);log('BITRATE\x201:\x20'+_0x2be143);if(_0x2be143!==![]&&_0x2be143>_0x5ef4a0){var _0x1aa335=CodecsHandler['getOpusBitrate'](_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)])||0x0;_0x3c803f['description']['sdp']=CodecsHandler[_0x477788(0x216)](_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)],{'min':parseInt(_0x5ef4a0/0xa)||0x1,'max':parseInt(_0x5ef4a0+_0x1aa335/0x400)}),_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x201)]=_0x5ef4a0;}else{if(_0x2be143===![]){var _0x1aa335=CodecsHandler['getOpusBitrate'](_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)])||0x0;_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)]=CodecsHandler[_0x477788(0x216)](_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)],{'min':parseInt(_0x5ef4a0/0xa)||0x1,'max':parseInt(_0x5ef4a0+_0x1aa335/0x400)});if(_0x2de54d[_0x477788(0x440)]&&_0x2de54d[_0x477788(0x440)]>_0x5ef4a0)_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]]['setBitrate']=_0x5ef4a0;else _0x2de54d[_0x477788(0x440)]?_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x201)]=_0x2de54d[_0x477788(0x440)]:_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x754)]=0x9c4;}else _0x2de54d['pcs'][_0x3c803f['UUID']]['setBitrate']=_0x2be143;}}else{if(_0x2de54d[_0x477788(0x440)]!==![]){var _0x2be143=CodecsHandler[_0x477788(0x771)](_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)]);log('BITRATE\x202:\x20'+_0x2be143);if(_0x2be143===![]){var _0x1aa335=CodecsHandler[_0x477788(0x7e7)](_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)])||0x0;_0x3c803f[_0x477788(0x4b8)]['sdp']=CodecsHandler[_0x477788(0x216)](_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)],{'min':parseInt(_0x2de54d['outboundVideoBitrate']/0xa)||0x1,'max':parseInt(_0x2de54d[_0x477788(0x440)]+_0x1aa335/0x400)});}else _0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x201)]===![]&&(_0x2de54d[_0x477788(0x5f8)][_0x3c803f['UUID']][_0x477788(0x201)]=_0x2be143);}else _0x2de54d['pcs'][_0x3c803f['UUID']][_0x477788(0x201)]===![]&&(_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x201)]=CodecsHandler[_0x477788(0x771)](_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)]),log(_0x477788(0x57b)+_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]]['setBitrate']));}_0x2de54d[_0x477788(0x4f7)]&&(_0x3c803f[_0x477788(0x4b8)]['sdp']=CodecsHandler[_0x477788(0x73a)](_0x3c803f[_0x477788(0x4b8)]['sdp'],{'maxaveragebitrate':_0x2de54d[_0x477788(0x4f7)]*0x400,'cbr':_0x2de54d['cbr']}));if(_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]]['preferAudioCodec'])try{_0x3c803f['description'][_0x477788(0x334)]=CodecsHandler[_0x477788(0x3b9)](_0x3c803f[_0x477788(0x4b8)][_0x477788(0x334)],_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]]['preferAudioCodec']);}catch(_0x14039b){errorlog(_0x14039b),warnlog(_0x477788(0x9b8));}if('session'in _0x3c803f&&_0x3c803f[_0x477788(0x372)]!=_0x2de54d['pcs'][_0x3c803f[_0x477788(0x840)]][_0x477788(0x372)]){errorlog('Answer\x20SDP\x20does\x20not\x20have\x20a\x20matching\x20session\x20ID');return;}_0x2de54d[_0x477788(0x5f8)][_0x3c803f[_0x477788(0x840)]][_0x477788(0x2c2)](_0x3c803f['description'])[_0x477788(0x9a7)]()[_0x477788(0x5f2)](errorlog);}catch(_0x8cd35b){errorlog(_0x8cd35b);}},_0x2de54d[_0x139c85(0x517)]=function(_0x115324){var _0x1ff839=_0x139c85;_0x2de54d[_0x1ff839(0x7c0)]&&_0x1ff839(0x881)in _0x115324?_0x2de54d[_0x1ff839(0x5dd)](_0x115324[_0x1ff839(0x4b8)],_0x115324[_0x1ff839(0x881)])[_0x1ff839(0x9a7)](function(_0x3b74cd){var _0x459a92=_0x1ff839;_0x115324[_0x459a92(0x4b8)]=JSON[_0x459a92(0x981)](_0x3b74cd),_0x2de54d[_0x459a92(0x932)](_0x115324);}):_0x2de54d[_0x1ff839(0x932)](_0x115324);},_0x2de54d['processIce']=function(_0x38ccf5){var _0x358f06=_0x139c85;_0x2de54d[_0x358f06(0x7c0)]&&_0x358f06(0x881)in _0x38ccf5?_0x2de54d[_0x358f06(0x5dd)](_0x38ccf5[_0x358f06(0x9bf)],_0x38ccf5[_0x358f06(0x881)])[_0x358f06(0x9a7)](function(_0x5690db){var _0xa423fb=_0x358f06;_0x38ccf5[_0xa423fb(0x9bf)]=JSON[_0xa423fb(0x981)](_0x5690db),_0x2de54d['processIce2'](_0x38ccf5);}):_0x2de54d['processIce2'](_0x38ccf5);},_0x2de54d[_0x139c85(0x3f3)]=function(_0x45ce6d){var _0x341675=_0x139c85;try{if(_0x2de54d[_0x341675(0x43b)]){if(_0x45ce6d['candidate'][_0x341675(0x9bf)][_0x341675(0x300)](_0x2de54d['icefilter'])===-0x1){log('dropped\x20candidate\x20due\x20to\x20filter'),log(_0x45ce6d['candidate']);return;}else log('PASSED'),log(_0x45ce6d[_0x341675(0x9bf)]);}}catch(_0x4965a6){errorlog(_0x4965a6);}if(_0x45ce6d[_0x341675(0x9bf)]&&_0x341675(0x9bf)in _0x45ce6d['candidate']&&_0x45ce6d[_0x341675(0x9bf)][_0x341675(0x9bf)]=='')return;if(_0x45ce6d['UUID']in _0x2de54d['pcs']&&_0x45ce6d[_0x341675(0x870)]=='remote'){log(_0x341675(0x71c));if(_0x341675(0x372)in _0x45ce6d&&_0x2de54d[_0x341675(0x5f8)][_0x45ce6d[_0x341675(0x840)]]['session']!=_0x45ce6d[_0x341675(0x372)]){errorlog(_0x341675(0x7e3));return;}_0x2de54d[_0x341675(0x5f8)][_0x45ce6d[_0x341675(0x840)]]['addIceCandidate'](_0x45ce6d[_0x341675(0x9bf)])[_0x341675(0x9a7)]()[_0x341675(0x5f2)](function(_0x4deee2){errorlog(_0x4deee2),errorlog(_0x45ce6d);});}else{if(_0x45ce6d[_0x341675(0x840)]in _0x2de54d[_0x341675(0x1f2)]&&_0x45ce6d[_0x341675(0x870)]==_0x341675(0x474)){log('RPCS\x20WINS\x20ICE');if(_0x341675(0x372)in _0x45ce6d&&_0x2de54d[_0x341675(0x1f2)][_0x45ce6d[_0x341675(0x840)]]['session']!=_0x45ce6d[_0x341675(0x372)]){errorlog(_0x341675(0x7e3));return;}if(_0x2de54d['rpcs'][_0x45ce6d[_0x341675(0x840)]]===null)return;_0x2de54d['rpcs'][_0x45ce6d[_0x341675(0x840)]][_0x341675(0x5c7)](_0x45ce6d[_0x341675(0x9bf)])['then']()[_0x341675(0x5f2)](function(_0x38f272){errorlog(_0x38f272),errorlog(_0x45ce6d);});}else warnlog(_0x45ce6d),warnlog(_0x341675(0x46d));}},_0x2de54d[_0x139c85(0xa28)]=function(_0x46769e){var _0x3f7cb5=_0x139c85;if(_0x2de54d['password']&&'vector'in _0x46769e)_0x2de54d[_0x3f7cb5(0x5dd)](_0x46769e[_0x3f7cb5(0x492)],_0x46769e[_0x3f7cb5(0x881)])[_0x3f7cb5(0x9a7)](function(_0x341ae3){var _0x23ec43=_0x3f7cb5;_0x46769e['candidates']=JSON[_0x23ec43(0x981)](_0x341ae3);var _0xc309df={};_0xc309df[_0x23ec43(0x840)]=_0x46769e['UUID'],_0xc309df[_0x23ec43(0x870)]=_0x46769e[_0x23ec43(0x870)];for(var _0xafb0d1=0x0;_0xafb0d1<_0x46769e[_0x23ec43(0x492)][_0x23ec43(0x3f2)];_0xafb0d1++){_0xc309df[_0x23ec43(0x9bf)]=_0x46769e['candidates'][_0xafb0d1],_0x2de54d['processIce2'](_0xc309df);}});else{var _0x597ad7={};_0x597ad7['UUID']=_0x46769e[_0x3f7cb5(0x840)],_0x597ad7[_0x3f7cb5(0x870)]=_0x46769e[_0x3f7cb5(0x870)];for(var _0x53368a=0x0;_0x53368a<_0x46769e[_0x3f7cb5(0x492)][_0x3f7cb5(0x3f2)];_0x53368a++){_0x597ad7[_0x3f7cb5(0x9bf)]=_0x46769e[_0x3f7cb5(0x492)][_0x53368a],_0x2de54d[_0x3f7cb5(0x3f3)](_0x597ad7);}}},_0x2de54d[_0x139c85(0x3b3)]=function(_0x314b07){var _0x31defe=_0x139c85;_0x31defe(0x725)in _0x314b07&&(_0x2de54d[_0x31defe(0x1f2)][_0x314b07[_0x31defe(0x840)]][_0x31defe(0x5bb)]=_0x314b07[_0x31defe(0x725)],log('SCREENS'),log(_0x314b07[_0x31defe(0x725)])),_0x2de54d['rpcs'][_0x314b07[_0x31defe(0x840)]]['setRemoteDescription'](_0x314b07[_0x31defe(0x4b8)])[_0x31defe(0x9a7)](function(){var _0x2f2f6f=_0x31defe;if(_0x2de54d[_0x2f2f6f(0x1f2)][_0x314b07[_0x2f2f6f(0x840)]][_0x2f2f6f(0x49e)][_0x2f2f6f(0x870)]===_0x2f2f6f(0x999))_0x2de54d[_0x2f2f6f(0x1f2)][_0x314b07[_0x2f2f6f(0x840)]]['createAnswer']()[_0x2f2f6f(0x9a7)](function(_0x492993){var _0x49c4f3=_0x2f2f6f;log('creating\x20answer');if(!_0x2de54d[_0x49c4f3(0x473)]&&_0x2de54d[_0x49c4f3(0x8c6)]==0x5)_0x492993[_0x49c4f3(0x334)]=CodecsHandler[_0x49c4f3(0x73a)](_0x492993[_0x49c4f3(0x334)],{'stereo':0x1,'maxaveragebitrate':(_0x2de54d['audiobitrate']||0x100)*0x400,'cbr':_0x2de54d[_0x49c4f3(0x3a0)],'useinbandfec':_0x2de54d[_0x49c4f3(0x62b)]?0x0:0x1,'maxptime':_0x2de54d[_0x49c4f3(0x8c0)],'minptime':_0x2de54d[_0x49c4f3(0x252)],'ptime':_0x2de54d['ptime'],'dtx':_0x2de54d[_0x49c4f3(0x86f)]}),log('stereo\x20inbound\x20enabled');else{if(_0x2de54d[_0x49c4f3(0x30e)]&&Firefox)_0x2de54d[_0x49c4f3(0x4bb)]?_0x492993['sdp']=CodecsHandler[_0x49c4f3(0x73a)](_0x492993[_0x49c4f3(0x334)],{'stereo':0x0,'maxaveragebitrate':_0x2de54d[_0x49c4f3(0x4bb)]*0x400,'cbr':_0x2de54d[_0x49c4f3(0x3a0)],'useinbandfec':_0x2de54d[_0x49c4f3(0x62b)]?0x0:0x1,'maxptime':_0x2de54d['maxptime'],'minptime':_0x2de54d[_0x49c4f3(0x252)],'ptime':_0x2de54d[_0x49c4f3(0x389)],'dtx':_0x2de54d[_0x49c4f3(0x86f)]}):_0x492993[_0x49c4f3(0x334)]=CodecsHandler[_0x49c4f3(0x73a)](_0x492993[_0x49c4f3(0x334)],{'stereo':0x0,'useinbandfec':_0x2de54d[_0x49c4f3(0x62b)]?0x0:0x1,'maxptime':_0x2de54d['maxptime'],'minptime':_0x2de54d[_0x49c4f3(0x252)],'ptime':_0x2de54d[_0x49c4f3(0x389)],'dtx':_0x2de54d['dtx']});else{if(_0x2de54d[_0x49c4f3(0x8c6)]==0x1||_0x2de54d[_0x49c4f3(0x8c6)]==0x2||_0x2de54d[_0x49c4f3(0x8c6)]==0x5)_0x492993[_0x49c4f3(0x334)]=CodecsHandler[_0x49c4f3(0x73a)](_0x492993[_0x49c4f3(0x334)],{'stereo':0x1,'maxaveragebitrate':(_0x2de54d['audiobitrate']||0x100)*0x400,'cbr':_0x2de54d[_0x49c4f3(0x3a0)],'useinbandfec':_0x2de54d[_0x49c4f3(0x62b)]?0x0:0x1,'maxptime':_0x2de54d[_0x49c4f3(0x8c0)],'minptime':_0x2de54d[_0x49c4f3(0x252)],'ptime':_0x2de54d[_0x49c4f3(0x389)],'dtx':_0x2de54d['dtx']}),log(_0x49c4f3(0x784));else{if(_0x2de54d[_0x49c4f3(0x8c6)]==0x4)_0x492993[_0x49c4f3(0x334)]=CodecsHandler['setOpusAttributes'](_0x492993['sdp'],{'stereo':0x2,'maxaveragebitrate':(_0x2de54d[_0x49c4f3(0x4bb)]||0x100)*0x400,'cbr':_0x2de54d[_0x49c4f3(0x3a0)],'useinbandfec':_0x2de54d['noFEC']?0x0:0x1,'maxptime':_0x2de54d[_0x49c4f3(0x8c0)],'minptime':_0x2de54d[_0x49c4f3(0x252)],'ptime':_0x2de54d[_0x49c4f3(0x389)],'dtx':_0x2de54d[_0x49c4f3(0x86f)]});else{if(_0x2de54d['audiobitrate'])_0x492993[_0x49c4f3(0x334)]=CodecsHandler[_0x49c4f3(0x73a)](_0x492993[_0x49c4f3(0x334)],{'maxaveragebitrate':_0x2de54d[_0x49c4f3(0x4bb)]*0x400,'cbr':_0x2de54d[_0x49c4f3(0x3a0)],'useinbandfec':_0x2de54d[_0x49c4f3(0x62b)]?0x0:0x1,'maxptime':_0x2de54d[_0x49c4f3(0x8c0)],'minptime':_0x2de54d[_0x49c4f3(0x252)],'ptime':_0x2de54d['ptime'],'dtx':_0x2de54d['dtx']});else{if(_0x2de54d[_0x49c4f3(0x62b)])_0x492993[_0x49c4f3(0x334)]=CodecsHandler['setOpusAttributes'](_0x492993[_0x49c4f3(0x334)],{'useinbandfec':0x0,'maxptime':_0x2de54d[_0x49c4f3(0x8c0)],'minptime':_0x2de54d['minptime'],'ptime':_0x2de54d[_0x49c4f3(0x389)],'dtx':_0x2de54d[_0x49c4f3(0x86f)]});else _0x2de54d['dtx']&&(_0x492993[_0x49c4f3(0x334)]=CodecsHandler[_0x49c4f3(0x73a)](_0x492993[_0x49c4f3(0x334)],{'maxptime':_0x2de54d[_0x49c4f3(0x8c0)],'minptime':_0x2de54d[_0x49c4f3(0x252)],'ptime':_0x2de54d[_0x49c4f3(0x389)],'dtx':_0x2de54d['dtx']}));}}}}}if(_0x2de54d['audioCodec'])try{_0x492993['sdp']=CodecsHandler['preferAudioCodec'](_0x492993[_0x49c4f3(0x334)],_0x2de54d[_0x49c4f3(0x3ae)]);}catch(_0x12eaab){errorlog(_0x12eaab);}_0x2de54d['codec']&&(_0x492993['sdp']=CodecsHandler[_0x49c4f3(0x4ab)](_0x492993[_0x49c4f3(0x334)],_0x2de54d[_0x49c4f3(0x838)]));_0x2de54d[_0x49c4f3(0x4ad)]&&(_0x492993[_0x49c4f3(0x334)]=_0x492993['sdp'][_0x49c4f3(0x42c)](/42e01f/gi,_0x2de54d['h264profile']),_0x492993[_0x49c4f3(0x334)]=_0x492993['sdp'][_0x49c4f3(0x42c)](/42001f/gi,_0x2de54d[_0x49c4f3(0x4ad)]),_0x492993['sdp']=_0x492993[_0x49c4f3(0x334)]['replace'](/420029/gi,_0x2de54d[_0x49c4f3(0x4ad)]),_0x492993['sdp']=_0x492993['sdp'][_0x49c4f3(0x42c)](/42a01e/gi,_0x2de54d[_0x49c4f3(0x4ad)]),_0x492993[_0x49c4f3(0x334)]=_0x492993[_0x49c4f3(0x334)]['replace'](/42a014/gi,_0x2de54d[_0x49c4f3(0x4ad)]),_0x492993['sdp']=_0x492993[_0x49c4f3(0x334)][_0x49c4f3(0x42c)](/42a00b/gi,_0x2de54d[_0x49c4f3(0x4ad)]),_0x492993[_0x49c4f3(0x334)]=_0x492993[_0x49c4f3(0x334)][_0x49c4f3(0x42c)](/640c1f/gi,_0x2de54d[_0x49c4f3(0x4ad)]));_0x2de54d[_0x49c4f3(0x89b)]&&(log(_0x492993[_0x49c4f3(0x334)]),_0x492993[_0x49c4f3(0x334)]=CodecsHandler[_0x49c4f3(0x7b2)](_0x492993[_0x49c4f3(0x334)]));_0x2de54d[_0x49c4f3(0x24b)]&&(_0x492993[_0x49c4f3(0x334)]=CodecsHandler['disablePLI'](_0x492993[_0x49c4f3(0x334)]));_0x2de54d[_0x49c4f3(0x1e3)]&&(_0x492993['sdp']=CodecsHandler['disableREMB'](_0x492993['sdp']));if(_0x2de54d[_0x49c4f3(0x1f2)][_0x314b07[_0x49c4f3(0x840)]]['manualBandwidth'])log('bit\x20rate\x20being\x20munged'),_0x492993[_0x49c4f3(0x334)]=_0x1ced34(_0x492993[_0x49c4f3(0x334)],_0x2de54d[_0x49c4f3(0x1f2)][_0x314b07['UUID']][_0x49c4f3(0x857)]);else _0x2de54d[_0x49c4f3(0x2a6)]&&(log('bit\x20rate\x20being\x20munged'),_0x492993['sdp']=_0x1ced34(_0x492993[_0x49c4f3(0x334)],_0x2de54d[_0x49c4f3(0x2a6)]));return _0x2de54d[_0x49c4f3(0x1f2)][_0x314b07[_0x49c4f3(0x840)]]['setLocalDescription'](_0x492993);})[_0x2f2f6f(0x9a7)](function _0x582488(){var _0x1fbb52=_0x2f2f6f;log(_0x1fbb52(0x2e9));var _0x3be0f7={};_0x3be0f7['UUID']=_0x314b07[_0x1fbb52(0x840)],_0x3be0f7[_0x1fbb52(0x4b8)]=_0x2de54d[_0x1fbb52(0x1f2)][_0x314b07[_0x1fbb52(0x840)]][_0x1fbb52(0x34a)],_0x3be0f7[_0x1fbb52(0x372)]=_0x2de54d['rpcs'][_0x314b07[_0x1fbb52(0x840)]][_0x1fbb52(0x372)],_0x2de54d[_0x1fbb52(0x7c0)]?_0x2de54d[_0x1fbb52(0x5fd)](JSON[_0x1fbb52(0x2c5)](_0x3be0f7[_0x1fbb52(0x4b8)]))[_0x1fbb52(0x9a7)](function(_0x238eff){var _0x277cb7=_0x1fbb52;_0x3be0f7[_0x277cb7(0x4b8)]=_0x238eff[0x0],_0x3be0f7['vector']=_0x238eff[0x1],_0x2de54d[_0x277cb7(0x94a)](_0x3be0f7);})['catch'](errorlog):_0x2de54d[_0x1fbb52(0x94a)](_0x3be0f7);})[_0x2f2f6f(0x5f2)](errorlog);else _0x2de54d['rpcs'][_0x314b07[_0x2f2f6f(0x840)]][_0x2f2f6f(0x49e)]['type']===_0x2f2f6f(0x525)&&errorlog(_0x2f2f6f(0x6e8));})[_0x31defe(0x5f2)](errorlog);},_0x2de54d[_0x139c85(0x597)]=function(){var _0x465f9e=_0x139c85;if(_0x2de54d[_0x465f9e(0x6b9)][_0x465f9e(0x66c)])return _0x2de54d[_0x465f9e(0x6b9)][_0x465f9e(0x66c)];else return _0x2de54d['videoElement'][_0x465f9e(0x89a)]&&_0x2de54d[_0x465f9e(0x6a3)]?_0x2de54d[_0x465f9e(0x6a3)]:(log(_0x465f9e(0x29e)),checkBasicStreamsExist(),_0x2de54d[_0x465f9e(0x6b9)][_0x465f9e(0x66c)]);};var _0x1bd095={},_0x5909dd=![],_0x147c36=[];_0x2de54d[_0x139c85(0x641)]=function(_0x106e79,_0x2d5a07){var _0x498172=_0x139c85;log('SENDING\x20FILE:\x20'+_0x2d5a07+'\x20'+_0x106e79);var _0x5bf662=new FileReader(),_0x1d02ed=![];for(var _0x4856a3=0x0;_0x4856a3<_0x2de54d[_0x498172(0x1e2)][_0x498172(0x3f2)];_0x4856a3++){if(_0x2de54d[_0x498172(0x1e2)][_0x4856a3]['id']===_0x2d5a07){_0x1d02ed=_0x4856a3;break;}}if(_0x1d02ed===![]){warnlog(_0x498172(0x514));return;}else{if(_0x2de54d[_0x498172(0x1e2)][_0x1d02ed][_0x498172(0x61a)]==0x0){warnlog('requested\x20file\x20has\x20been\x20removed.');return;}else{if(!(_0x2de54d['hostedFiles'][_0x1d02ed][_0x498172(0xa43)]===![]||_0x2de54d[_0x498172(0x1e2)][_0x1d02ed][_0x498172(0xa43)]===_0x106e79)){warnlog(_0x498172(0x4a0));return;}}}var _0x5353c7=0x4000,_0x39047f=0x0,_0xbd31=_0x1d02ed;_0xbd31===_0x498172(0x254)&&(_0xbd31='sendChannel_'+_0x2de54d['generateStreamID'](0x5));if(_0x106e79 in _0x2de54d[_0x498172(0x5f8)])var _0xdd96c7=_0x2de54d[_0x498172(0x5f8)][_0x106e79][_0x498172(0x755)](_0xbd31);else{if(_0x106e79 in _0x2de54d[_0x498172(0x1f2)])var _0xdd96c7=_0x2de54d[_0x498172(0x1f2)][_0x106e79][_0x498172(0x755)](_0xbd31);else{warnlog('UUID\x20does\x20not\x20exist');return;}}_0xdd96c7[_0x498172(0x71e)]=_0x498172(0xa34);var _0x994ad3=_0x2de54d[_0x498172(0x1e2)][_0x1d02ed][_0x498172(0x9b4)](0x0,_0x5353c7);_0xdd96c7[_0x498172(0x9d1)]=()=>{var _0x3c3ba7=_0x498172;_0xdd96c7[_0x3c3ba7(0x1cd)](JSON[_0x3c3ba7(0x2c5)]({'type':_0x3c3ba7(0x657),'size':_0x2de54d['hostedFiles'][_0x1d02ed]['size'],'filename':_0x2de54d[_0x3c3ba7(0x1e2)][_0x1d02ed]['name'],'id':_0x2de54d[_0x3c3ba7(0x1e2)][_0x1d02ed]['id']})),_0x5bf662[_0x3c3ba7(0x506)](_0x994ad3);},_0xdd96c7[_0x498172(0x25c)]=()=>{var _0x3fce2c=_0x498172;try{var _0x436cd8=_0x2de54d[_0x3fce2c(0x444)][_0x3fce2c(0x300)](_0xdd96c7);_0x436cd8>-0x1&&_0x2de54d[_0x3fce2c(0x444)][_0x3fce2c(0x60a)](_0x436cd8,0x1);}catch(_0x38a7af){errorlog(_0x38a7af);}log(_0x3fce2c(0x821)),_0xdd96c7=null;},_0xdd96c7['onmessage']=_0x568b89=>{},_0x2de54d[_0x498172(0x444)][_0x498172(0x6dd)](_0xdd96c7),_0x5bf662[_0x498172(0x257)]=function(){var _0x188cd4=_0x498172;if(_0x2de54d[_0x188cd4(0x1e2)][_0x1d02ed][_0x188cd4(0x61a)]==0x0)return;var _0x1148ab=_0x5bf662[_0x188cd4(0x2d9)];log(_0x1148ab);try{_0xdd96c7['send'](_0x1148ab);}catch(_0x324175){try{_0xdd96c7[_0x188cd4(0x2e4)]();}catch(_0x51e2f0){}warnlog(_0x324175);return;}_0x39047f+=0x1;if(_0x39047f*_0x5353c7<_0x2de54d[_0x188cd4(0x1e2)][_0x1d02ed][_0x188cd4(0x99d)])try{log(_0x188cd4(0x56e)+_0x39047f),_0x994ad3=_0x2de54d[_0x188cd4(0x1e2)][_0x1d02ed]['slice'](_0x39047f*_0x5353c7,(_0x39047f+0x1)*_0x5353c7),_0x5bf662[_0x188cd4(0x506)](_0x994ad3);}catch(_0x417afe){errorlog(_0x417afe);}else _0xdd96c7[_0x188cd4(0x1cd)](_0x188cd4(0x8b1)),_0xdd96c7[_0x188cd4(0x2e4)]();};},_0x2de54d[_0x139c85(0x911)]=null,_0x2de54d['chunkedAudioEnabled']=null,_0x2de54d[_0x139c85(0x508)]=async function(_0x1a73e9=null){var _0x3445c0=_0x139c85;if(_0x2de54d[_0x3445c0(0x911)]!==null)return;else _0x2de54d[_0x3445c0(0x911)]=![];!_0x1a73e9&&_0x2de54d[_0x3445c0(0x653)][_0x3445c0(0x671)]&&(_0x1a73e9=_0x2de54d[_0x3445c0(0x653)][_0x3445c0(0x671)]);let _0x28be1c=0x0;var _0x216cb0=_0x2de54d[_0x3445c0(0x6a3)]['getVideoTracks']()[0x0];if(!_0x216cb0){_0x2de54d[_0x3445c0(0x911)]=null;return;}var _0x49372b=new MediaStreamTrackProcessor(_0x216cb0),_0x2a6904=_0x49372b[_0x3445c0(0x5d9)];const _0x2c6361=_0x2a6904[_0x3445c0(0x4b9)]();var _0x339009=![],_0xdfc0b5=-0x1;const _0x165e95={'output':_0x5d8f27=>{var _0x4632d5=_0x3445c0;if(_0x5d8f27[_0x4632d5(0x360)][_0x4632d5(0x248)]==_0x4632d5(0x20f)){let _0x53739e=new Uint8Array(_0x5d8f27['byteLength']);_0x5d8f27['copyTo'](_0x53739e),_0x147c36[_0x4632d5(0x6dd)]([_0x5d8f27['timestamp']-_0x54c8f1,_0x5d8f27[_0x4632d5(0x870)]]),_0x147c36['push'](_0x53739e),_0x5909dd[_0x4632d5(0xa5e)]();}},'error':_0x5b7410=>{errorlog(_0x5b7410);}};let _0x3d4ddd=new VideoEncoder(_0x165e95);_0x3d4ddd[_0x3445c0(0x1ff)](_0x1a73e9),_0x2de54d[_0x3445c0(0x653)]['Chunked_video']=_0x1a73e9,_0x2de54d['chunkedVideoEnabled']=!![];var _0x54c8f1=-0x1;_0x2c6361[_0x3445c0(0x1fe)]()['then'](function _0xda0fc6({done:_0xd3d169,value:_0x3f4d28}){var _0x152204=_0x3445c0;if(_0xd3d169||_0x339009){_0x3d4ddd['close']();_0x3f4d28&&_0x3f4d28[_0x152204(0x2e4)]();_0x2de54d[_0x152204(0x911)]=null;return;}_0x54c8f1==-0x1&&(_0x54c8f1=_0x3f4d28[_0x152204(0x9da)]);_0xdfc0b5==_0x3f4d28['timestamp']&&(_0x3f4d28[_0x152204(0x9da)]+=0x1,warnlog(_0x152204(0x965)));if(!_0x339009){_0xdfc0b5=_0x3f4d28[_0x152204(0x9da)],_0x28be1c++;if(_0x5909dd[_0x152204(0x2d8)]){const _0xcbfb0d=_0x28be1c>=0x3c;_0xcbfb0d&&(_0x28be1c=0x0,_0x5909dd[_0x152204(0x2d8)]=![],warnlog(_0x152204(0x812))),_0x3d4ddd[_0x152204(0x8b4)](_0x3f4d28,{'keyFrame':_0xcbfb0d});}else _0x3d4ddd[_0x152204(0x8b4)](_0x3f4d28,{'keyFrame':![]});}_0x3f4d28[_0x152204(0x2e4)](),_0x2c6361[_0x152204(0x1fe)]()[_0x152204(0x9a7)](_0xda0fc6);});},_0x2de54d[_0x139c85(0x1d1)]=async function(_0x4dcf83){var _0x437f67=_0x139c85;if(_0x2de54d[_0x437f67(0x638)]!==null)return;else _0x2de54d[_0x437f67(0x638)]=![];!_0x4dcf83&&_0x2de54d[_0x437f67(0x653)][_0x437f67(0x4fe)]&&(_0x4dcf83=_0x2de54d[_0x437f67(0x653)][_0x437f67(0x4fe)]);var _0x15f715=_0x2de54d['videoElement'][_0x437f67(0x66c)][_0x437f67(0x9b2)]()[0x0];if(!_0x15f715){_0x2de54d[_0x437f67(0x638)]=null;return;}var _0x38dba3=new MediaStreamTrackProcessor(_0x15f715),_0x85310d=_0x38dba3[_0x437f67(0x5d9)];const _0x3bf592=_0x85310d[_0x437f67(0x4b9)]();var _0x2e1a50=![],_0x30285d=-0x1,_0x5ab519=-0x1;const _0xbd7cbe={'output':_0x97f715=>{var _0x25a959=_0x437f67;if(_0x97f715['constructor'][_0x25a959(0x248)]==_0x25a959(0x4b7)){let _0x54d94c=new Uint8Array(_0x97f715[_0x25a959(0x36d)]);_0x97f715[_0x25a959(0x9d7)](_0x54d94c),_0x147c36[_0x25a959(0x6dd)]([_0x97f715[_0x25a959(0x9da)]-_0x5ab519,_0x25a959(0x20c)]),_0x147c36[_0x25a959(0x6dd)](_0x54d94c),_0x5909dd['sendChunks']();}},'error':_0x30e629=>{errorlog(_0x30e629);}};let _0x3c1306=new AudioEncoder(_0xbd7cbe);_0x3c1306['configure'](_0x4dcf83),_0x2de54d[_0x437f67(0x653)][_0x437f67(0x4fe)]={},_0x2de54d[_0x437f67(0x653)][_0x437f67(0x4fe)][_0x437f67(0x838)]=_0x4dcf83['codec'],_0x2de54d[_0x437f67(0x653)][_0x437f67(0x4fe)]['numberOfChannels']=_0x4dcf83[_0x437f67(0x350)],_0x2de54d['stats'][_0x437f67(0x4fe)]['sampleRate']=_0x4dcf83[_0x437f67(0x5c6)],_0x2de54d['stats']['Chunked_audio'][_0x437f67(0x2a6)]=_0x4dcf83['tuning'][_0x437f67(0x2a6)],_0x2de54d[_0x437f67(0x638)]=!![],_0x3bf592[_0x437f67(0x1fe)]()['then'](function _0x55353c({done:_0x583065,value:_0x500485}){var _0x194f66=_0x437f67;if(_0x583065||_0x2e1a50){_0x3c1306[_0x194f66(0x2e4)]();_0x500485&&_0x500485[_0x194f66(0x2e4)]();_0x2de54d[_0x194f66(0x638)]=null;return;}_0x5ab519==-0x1&&(_0x5ab519=_0x500485[_0x194f66(0x9da)]),_0x30285d==_0x500485[_0x194f66(0x9da)]&&(_0x500485[_0x194f66(0x9da)]+=0x1),!_0x2e1a50&&(_0x30285d=_0x500485['timestamp'],_0x3c1306[_0x194f66(0x8b4)](_0x500485)),_0x500485['close'](),_0x3bf592[_0x194f66(0x1fe)]()[_0x194f66(0x9a7)](_0x55353c);});},_0x2de54d['getPCM']=function(_0x40478b){var _0x4d6ac8=_0x139c85;warnlog('PCM\x20STARTED');const _0x14af28=window[_0x4d6ac8(0x2da)]||window[_0x4d6ac8(0x42a)],_0x2eb177=new _0x14af28(),_0x18a310=_0x2eb177[_0x4d6ac8(0x6a7)](_0x40478b),_0x481ca3=0x800,_0x3469f4=(_0x2eb177[_0x4d6ac8(0x574)]||_0x2eb177[_0x4d6ac8(0x651)])[_0x4d6ac8(0x443)](_0x2eb177,_0x481ca3,0x1,0x1);return _0x3469f4[_0x4d6ac8(0x49f)]=function(_0x44f1f3){var _0x4b78f1=_0x4d6ac8,_0x5a000b=new Uint8Array(_0x44f1f3[_0x4b78f1(0x8db)]['getChannelData'](0x0)[_0x4b78f1(0x28e)]);_0x147c36[_0x4b78f1(0x6dd)]([0x0,_0x4b78f1(0x989)]),_0x147c36[_0x4b78f1(0x6dd)](_0x5a000b),_0x5909dd['sendChunks']();},_0x18a310[_0x4d6ac8(0x538)](_0x3469f4),_0x3469f4[_0x4d6ac8(0x538)](_0x2eb177['destination']),_0x3469f4;},_0x2de54d[_0x139c85(0x6ce)]=function(_0x23b7fb){var _0x5055be=_0x139c85;log('SENDING\x20CHUNKS\x20TO:\x20'+_0x23b7fb);!_0x2de54d['chunkedVideoEnabled']&&_0x2de54d[_0x5055be(0x653)][_0x5055be(0x671)]&&(config=_0x2de54d['stats'][_0x5055be(0x671)],_0x2de54d[_0x5055be(0x508)](config));!_0x2de54d[_0x5055be(0x638)]&&_0x2de54d[_0x5055be(0x653)][_0x5055be(0x4fe)]&&(config=_0x2de54d[_0x5055be(0x653)][_0x5055be(0x4fe)],_0x2de54d[_0x5055be(0x1d1)](config));if(_0x23b7fb in _0x1bd095)return;if(!_0x5909dd){var _0x1e2383=_0x2de54d[_0x5055be(0x597)](),_0x50cd2f=_0x2de54d['chunked'],_0x2141a3=null;_0x2de54d[_0x5055be(0x94d)]&&_0x2de54d[_0x5055be(0x94d)]<_0x50cd2f&&(_0x50cd2f=_0x2de54d['maxvideobitrate']);var _0x196e32={'codec':_0x5055be(0x85f),'width':0x780,'height':0x438,'bitrate':parseInt(_0x50cd2f*0x3e8),'frameRate':0x1e},_0x163e39=_0x1e2383['getVideoTracks']();if(_0x163e39[_0x5055be(0x3f2)]){var _0x25b97e=_0x163e39[0x0][_0x5055be(0x4bf)]();_0x25b97e[_0x5055be(0x375)]&&(_0x196e32[_0x5055be(0x375)]=_0x25b97e['width']),_0x25b97e[_0x5055be(0x659)]&&(_0x196e32[_0x5055be(0x659)]=_0x25b97e['height']),_0x25b97e['frameRate']&&(_0x196e32[_0x5055be(0x3f9)]=_0x25b97e[_0x5055be(0x3f9)]);}else _0x196e32=![];if(_0x50cd2f<0x259){var _0x5b19cc=_0x196e32['width']*_0x196e32[_0x5055be(0x659)]/(0x280*0x168);if(_0x5b19cc>=0x2)_0x196e32[_0x5055be(0x375)]=parseInt(_0x196e32[_0x5055be(0x375)]/0x2),_0x196e32[_0x5055be(0x659)]=parseInt(_0x196e32[_0x5055be(0x659)]/0x2);else _0x5b19cc>=1.5&&(_0x196e32[_0x5055be(0x375)]=parseInt(_0x196e32[_0x5055be(0x375)]/1.5),_0x196e32['height']=parseInt(_0x196e32[_0x5055be(0x659)]/1.5));}var _0x578cd2={'codec':_0x5055be(0x973),'numberOfChannels':0x2,'sampleRate':0xbb80,'tuning':{'bitrate':0xfa00}};if(_0x50cd2f>0xbb8)var _0x578cd2={'codec':'opus','numberOfChannels':0x2,'sampleRate':0xbb80,'tuning':{'bitrate':0x1f400}};else{if(_0x50cd2f<0x259)var _0x578cd2={'codec':_0x5055be(0x973),'numberOfChannels':0x1,'sampleRate':0xbb80,'tuning':{'bitrate':0x7d00}};}var _0x163e39=_0x1e2383[_0x5055be(0x9b2)]();if(_0x163e39[_0x5055be(0x3f2)]){var _0x25b97e=_0x163e39[0x0][_0x5055be(0x4bf)]();_0x578cd2[_0x5055be(0x350)]>_0x25b97e[_0x5055be(0x95b)]&&(_0x578cd2[_0x5055be(0x350)]=_0x25b97e[_0x5055be(0x95b)]),_0x578cd2[_0x5055be(0x5c6)]>_0x25b97e[_0x5055be(0x5c6)]&&(_0x578cd2[_0x5055be(0x5c6)]=_0x25b97e[_0x5055be(0x5c6)]);}else _0x578cd2=![];if(!_0x578cd2&&!_0x196e32)return;_0x5909dd={},_0x5909dd[_0x5055be(0x2d8)]=!![],_0x5909dd[_0x5055be(0x741)]=_0x196e32||![],_0x5909dd['configAudio']=_0x578cd2||![],_0x5909dd['configVideo']&&_0x2de54d[_0x5055be(0x508)](_0x5909dd['configVideo']),_0x5909dd['configAudio']&&(_0x5909dd[_0x5055be(0x363)][_0x5055be(0x838)]==_0x5055be(0x989)?_0x2de54d[_0x5055be(0x413)](_0x1e2383):_0x2de54d['webCodecAudio'](_0x5909dd[_0x5055be(0x363)])),_0x5909dd[_0x5055be(0xa5e)]=function(){var _0x151a8b=_0x5055be;if(_0x2141a3)return;_0x2141a3=!![];while(_0x147c36[_0x151a8b(0x3f2)]){if(!Object['keys'](_0x1bd095)[_0x151a8b(0x3f2)]){_0x147c36=[],_0x2141a3=null;return;}var _0x316262=_0x147c36[_0x151a8b(0x513)]();if(_0x316262['length']===0x2){_0x316262[_0x151a8b(0x6dd)](_0x147c36[_0x151a8b(0x3f2)]);var _0x262402=JSON[_0x151a8b(0x2c5)](_0x316262);for(var _0x4d6cf0 in _0x1bd095){try{_0x1bd095[_0x4d6cf0][_0x151a8b(0xa4d)]===_0x151a8b(0x61d)&&_0x1bd095[_0x4d6cf0][_0x151a8b(0x1cd)](_0x262402);}catch(_0x69c2c4){}}}else{if(_0x316262[_0x151a8b(0x36d)]>0x40000){for(var _0x4d6cf0 in _0x1bd095){try{_0x1bd095[_0x4d6cf0][_0x151a8b(0xa4d)]==='open'&&_0x1bd095[_0x4d6cf0][_0x151a8b(0x1cd)](_0x316262['slice'](0x0,0x40000));}catch(_0x47a1d7){}}_0x147c36[_0x151a8b(0x472)](_0x316262[_0x151a8b(0x9b4)](0x40000));}else for(var _0x4d6cf0 in _0x1bd095){try{_0x1bd095[_0x4d6cf0][_0x151a8b(0xa4d)]===_0x151a8b(0x61d)&&_0x1bd095[_0x4d6cf0][_0x151a8b(0x1cd)](_0x316262);}catch(_0x9af019){}}}_0x2de54d['stats'][_0x151a8b(0x588)]=_0x1bd095[_0x4d6cf0][_0x151a8b(0x925)];}_0x2141a3=null;},_0x1e2383[_0x5055be(0x634)]=function(_0x186194){};}var _0x5463ec=_0x5055be(0x2c4);if(_0x23b7fb in _0x2de54d[_0x5055be(0x5f8)])_0x1bd095[_0x23b7fb]=_0x2de54d['pcs'][_0x23b7fb][_0x5055be(0x755)](_0x5463ec);else{if(_0x23b7fb in _0x2de54d[_0x5055be(0x1f2)])_0x1bd095[_0x23b7fb]=_0x2de54d[_0x5055be(0x1f2)][_0x23b7fb][_0x5055be(0x755)](_0x5463ec);else{warnlog(_0x5055be(0x6ab));return;}}_0x1bd095[_0x23b7fb][_0x5055be(0x221)]=_0x5055be(0x7d1),_0x1bd095[_0x23b7fb][_0x5055be(0x71e)]=_0x5055be(0xa34),_0x1bd095[_0x23b7fb][_0x5055be(0x8b2)]=![],_0x1bd095[_0x23b7fb]['onopen']=()=>{var _0x3e56bc=_0x5055be;log('chunkedtransfer\x20OPEN'),_0x1bd095[_0x23b7fb]['send'](JSON[_0x3e56bc(0x2c5)]({'type':'chunkedtransfer','size':0x5af3107a3fff,'configVideo':_0x5909dd[_0x3e56bc(0x741)],'configAudio':_0x5909dd[_0x3e56bc(0x363)],'recordType':_0x2de54d[_0x3e56bc(0x2c4)],'filename':_0x5463ec+_0x3e56bc(0x35d),'id':_0x5463ec}));},_0x1bd095[_0x23b7fb][_0x5055be(0x25c)]=()=>{var _0x47ead2=_0x5055be;try{var _0xa29fac=_0x2de54d[_0x47ead2(0x444)][_0x47ead2(0x300)](_0x1bd095[_0x23b7fb]);_0xa29fac>-0x1&&_0x2de54d[_0x47ead2(0x444)][_0x47ead2(0x60a)](_0xa29fac,0x1);}catch(_0x4f1132){errorlog(_0x4f1132);}log(_0x47ead2(0x821)),_0x1bd095[_0x23b7fb]=null,delete _0x1bd095[_0x23b7fb];var _0x4db803=![];for(var _0x6133a=0x0;_0x6133a<_0x2de54d[_0x47ead2(0x444)]['length'];_0x6133a++){if('contentType'in _0x2de54d['hostedTransfers'][_0x6133a]&&_0x2de54d[_0x47ead2(0x444)][_0x6133a][_0x47ead2(0x221)]==_0x47ead2(0x7d1)){_0x4db803=!![];break;}}if(_0x4db803)try{_0x5909dd['stop']();}catch(_0x154248){}},_0x1bd095[_0x23b7fb][_0x5055be(0x709)]=_0x15fbe9=>{var _0x3a7cf0=_0x5055be;if(_0x15fbe9['data'])try{var _0x4d95cf=JSON[_0x3a7cf0(0x981)](_0x15fbe9[_0x3a7cf0(0x3cd)]);_0x4d95cf['kf']&&(log(_0x3a7cf0(0x6b4)),_0x5909dd[_0x3a7cf0(0x2d8)]=!![]);}catch(_0xae3212){}},_0x2de54d['hostedTransfers'][_0x5055be(0x6dd)](_0x1bd095[_0x23b7fb]);},_0x2de54d[_0x139c85(0x9e0)]=async function(_0x3a71f3,_0x5e2f05,_0x3e78e4){var _0x20a477=_0x139c85;log(_0x20a477(0x4ca));var _0x369b2d=_0x3e78e4;_0x369b2d[_0x20a477(0x71e)]=_0x20a477(0xa34);var _0x36d5a2='',_0x5ebace=0x0,_0xaaefb5=![],_0x39ae15=![],_0x37e8f7=0x0,_0x28c21c={};_0x369b2d[_0x20a477(0x9d1)]=_0x3cc4de=>{var _0x4851a4=_0x20a477;log(_0x4851a4(0x299));},_0x369b2d[_0x20a477(0x709)]=_0x297393=>{var _0x3d028b=_0x20a477;if(!_0xaaefb5)try{_0xaaefb5=JSON['parse'](_0x297393[_0x3d028b(0x3cd)]);if(_0xaaefb5[_0x3d028b(0x870)]==_0x3d028b(0x657)){var {readable:_0x4680bd,writable:_0x1a29d6}=new TransformStream({'transform':(_0x457a1e,_0x53040a)=>_0x457a1e['arrayBuffer']()[_0x3d028b(0x9a7)](_0x25ebe7=>_0x53040a['enqueue'](new Uint8Array(_0x25ebe7)))});_0x28c21c['writer']=_0x1a29d6[_0x3d028b(0x213)]();;_0x4680bd[_0x3d028b(0x580)](streamSaver[_0x3d028b(0x80e)](_0xaaefb5[_0x3d028b(0x4f3)]));for(var _0x75a783=0x0;_0x75a783{var _0x5e6af4=_0x20a477;_0x37e8f7<=0x0&&(_0x28c21c[_0x5e6af4(0x830)]&&setTimeout(function(_0x56699c,_0x4fb1f0){var _0x584f5f=_0x5e6af4;_0x4fb1f0<=0x0?(_0x56699c[_0x584f5f(0x2e4)](),_0x56699c=null):setTimeout(function(_0xe6ea5e,_0x4a12d3){_0xe6ea5e['close'](),_0xe6ea5e=null;},0x1388,_0x56699c);},0x3e8,_0x28c21c[_0x5e6af4(0x830)],_0x37e8f7));_0x369b2d=null;return;};return;};async function _0x543a09(_0xb3a97d,_0x4eea64=![]){var _0x2e3500=_0x139c85;_0xb3a97d[_0x2e3500(0x8e1)]['decode'](_0xb3a97d['queue'][_0x2e3500(0x513)]());if(_0xb3a97d[_0x2e3500(0x8a8)]===null&&!_0x4eea64)return;_0xb3a97d[_0x2e3500(0x8a8)]=setTimeout(function(_0x289f83){_0x543a09(_0x289f83);},0x21,_0xb3a97d);}return _0x2de54d[_0x139c85(0x9c7)]=async function(_0x2bd8cd,_0x55f6d8,_0x236139){var _0x5230e4=_0x139c85;log(_0x5230e4(0x4ca));var _0x1924b4=_0x236139;_0x1924b4[_0x5230e4(0x71e)]=_0x5230e4(0xa34);var _0x561ef4='',_0x224a8a=0x0,_0xfae4dd=![],_0x1548e3=![],_0x54c368={};_0x1924b4[_0x5230e4(0x9d1)]=_0x2b2dfc=>{var _0x13f3a6=_0x5230e4;log(_0x13f3a6(0x299)),_0x2de54d[_0x13f3a6(0x1f2)][_0x55f6d8][_0x13f3a6(0x653)][_0x13f3a6(0x72d)]={};},_0x1924b4[_0x5230e4(0x25c)]=async function(_0x45e317){var _0x2ecf37=_0x5230e4;if(_0x54c368[_0x2ecf37(0x5a8)]){if(_0x54c368[_0x2ecf37(0x6b9)][_0x2ecf37(0x950)]){await delay(0x3e8);try{await _0x54c368['videoElement'][_0x2ecf37(0x950)]();}catch(_0x72264a){}}}_0x1924b4=null;_0x2de54d[_0x2ecf37(0x1f2)][_0x55f6d8]&&(_0x2de54d[_0x2ecf37(0x1f2)][_0x55f6d8][_0x2ecf37(0x653)][_0x2ecf37(0x72d)]=_0x2ecf37(0x347));return;};async function _0x539a48(){var _0x1e38fb=_0x5230e4,_0x524e53=await window[_0x1e38fb(0x81e)]({'startIn':_0x1e38fb(0x5b7),'suggestedName':_0x1e38fb(0x630),'types':[{'description':_0x1e38fb(0x1d9),'accept':{'video/webm':['.webm']}}]}),_0x3219fc=await _0x524e53[_0x1e38fb(0x2ac)]();return _0x54c368['writer_config'][_0x1e38fb(0x3a8)]=_0x3219fc,_0x54c368[_0x1e38fb(0x5a8)]=new WebMWriter(_0x54c368[_0x1e38fb(0x6b2)]),_0x54c368[_0x1e38fb(0x6b9)][_0x1e38fb(0x950)]=async function(){var _0x1ed82d=_0x1e38fb;_0x54c368[_0x1ed82d(0x6b9)][_0x1ed82d(0x950)]=![],clearInterval(_0x54c368[_0x1ed82d(0x6e7)]),await _0x54c368['videoWriter'][_0x1ed82d(0xa4f)](),_0x54c368['writer_config']['fileWriter'][_0x1ed82d(0x2e4)]();},_0x54c368[_0x1e38fb(0x5a8)];}_0x1924b4[_0x5230e4(0x709)]=async function(_0x48f385){var _0x1525be=_0x5230e4;if(!_0xfae4dd)try{_0xfae4dd=JSON[_0x1525be(0x981)](_0x48f385[_0x1525be(0x3cd)]);if(_0xfae4dd['type']==_0x1525be(0x9a8)){log(_0x1525be(0x2ea)),log(_0xfae4dd),_0x54c368[_0x1525be(0x840)]=_0x55f6d8,_0x54c368['completed']=0x0,_0x54c368[_0x1525be(0x4e8)]=0x2,_0x54c368[_0x1525be(0x942)]=Date['now'](),_0x54c368['dc']=_0x1924b4,_0x54c368['id']=_0xfae4dd['id'],_0x54c368[_0x1525be(0x6b2)]={},_0x54c368['writer_config'][_0x1525be(0x6fb)]=![],_0x54c368[_0x1525be(0x6b2)][_0x1525be(0x20c)]=![],_0x54c368[_0x1525be(0x48d)]=![],_0x54c368[_0x1525be(0x44d)]=![];_0xfae4dd[_0x1525be(0x741)]&&(_0x54c368[_0x1525be(0x48d)]={},_0x54c368[_0x1525be(0x48d)][_0x1525be(0x375)]=_0xfae4dd[_0x1525be(0x741)][_0x1525be(0x375)]+''||_0x1525be(0x943),_0x54c368[_0x1525be(0x48d)][_0x1525be(0x659)]=_0xfae4dd[_0x1525be(0x741)][_0x1525be(0x659)]+''||_0x1525be(0x760),_0x54c368['stream_configVideo'][_0x1525be(0x838)]=_0xfae4dd[_0x1525be(0x741)]['codec']||_0x1525be(0x85f),_0x54c368[_0x1525be(0x6b2)]['video']=!![],_0x54c368[_0x1525be(0x6b2)][_0x1525be(0x375)]=parseInt(_0x54c368[_0x1525be(0x48d)][_0x1525be(0x375)]),_0x54c368[_0x1525be(0x6b2)]['height']=parseInt(_0x54c368[_0x1525be(0x48d)][_0x1525be(0x659)]),_0xfae4dd[_0x1525be(0x741)][_0x1525be(0x838)]==_0x1525be(0x85f)?_0x54c368[_0x1525be(0x6b2)]['codec']=_0x1525be(0x855):_0x54c368[_0x1525be(0x6b2)][_0x1525be(0x838)]=_0x1525be(0x855),_0x2de54d['rpcs'][_0x55f6d8][_0x1525be(0x653)]['chunked_mode_video']=_0xfae4dd[_0x1525be(0x741)]);_0xfae4dd[_0x1525be(0x363)]&&(_0x54c368[_0x1525be(0x44d)]=_0xfae4dd['configAudio'],_0x54c368[_0x1525be(0x6b2)][_0x1525be(0x20c)]=!![],_0x54c368[_0x1525be(0x6b2)][_0x1525be(0x6f0)]=_0xfae4dd[_0x1525be(0x363)]['sampleRate']||0xbb80,_0x54c368[_0x1525be(0x6b2)][_0x1525be(0x45e)]=_0xfae4dd[_0x1525be(0x363)][_0x1525be(0x350)]||0x1,_0x2de54d['rpcs'][_0x55f6d8][_0x1525be(0x653)]['chunked_mode_audio']=_0xfae4dd[_0x1525be(0x363)]);_0x54c368[_0x1525be(0x28e)]=![],_0x54c368[_0x1525be(0x6b9)]=createVideoElement(),_0x54c368[_0x1525be(0x6b9)][_0x1525be(0x809)]=!![],_0x54c368[_0x1525be(0x6b9)][_0x1525be(0x381)]=![],_0x54c368[_0x1525be(0x6b9)][_0x1525be(0x8d7)](_0x1525be(0x495),''),_0x54c368[_0x1525be(0x6b9)][_0x1525be(0x608)][_0x1525be(0x840)]=_0x55f6d8,_0x54c368['videoElement'][_0x1525be(0x9a8)]=!![],_0x54c368[_0x1525be(0x6b9)][_0x1525be(0x66c)]=new MediaStream(),_0x54c368[_0x1525be(0x5a8)]=![],_0x54c368[_0x1525be(0x7bd)]=![],_0x54c368[_0x1525be(0x4df)]=![],_0x54c368['init_audio']=![],_0x54c368[_0x1525be(0x6fb)]=![],_0x54c368['audio']=![];_0x54c368[_0x1525be(0x48d)]&&(_0x54c368[_0x1525be(0x4df)]={'output':_0x365377=>{var _0x4cbd7e=_0x1525be;_0x54c368['video'][_0x4cbd7e(0x64c)][_0x4cbd7e(0x282)](_0x365377);},'error':_0x1c47d2=>{var _0x377bd4=_0x1525be;_0x54c368[_0x377bd4(0x6fb)]['decoder'][_0x377bd4(0x61a)]=='closed'?warnlog(_0x377bd4(0x353)):errorlog(_0x1c47d2[_0x377bd4(0x93c)]);}},_0x54c368['video']={},_0x54c368[_0x1525be(0x6fb)][_0x1525be(0x6bf)]=new MediaStreamTrackGenerator({'kind':'video'}),_0x54c368[_0x1525be(0x6fb)]['stream']=new MediaStream([_0x54c368[_0x1525be(0x6fb)][_0x1525be(0x6bf)]]),_0x54c368[_0x1525be(0x6fb)]['frameWriter']=_0x54c368[_0x1525be(0x6fb)][_0x1525be(0x6bf)][_0x1525be(0x50b)][_0x1525be(0x213)](),_0x54c368[_0x1525be(0x6fb)]['decoder']=new VideoDecoder(_0x54c368[_0x1525be(0x4df)]),_0x54c368[_0x1525be(0x6fb)][_0x1525be(0x8e1)][_0x1525be(0x1ff)](_0x54c368[_0x1525be(0x48d)]),_0x54c368[_0x1525be(0x6fb)]['queue']=[],_0x54c368[_0x1525be(0x6fb)][_0x1525be(0x8a8)]=null,_0x54c368[_0x1525be(0x6b9)][_0x1525be(0x66c)][_0x1525be(0x62e)](_0x54c368[_0x1525be(0x6fb)][_0x1525be(0x30f)][_0x1525be(0x24a)]()[0x0]));_0x54c368[_0x1525be(0x44d)]&&(_0x54c368[_0x1525be(0x7f8)]={'output':_0x534bc3=>{var _0x55c688=_0x1525be;_0x54c368[_0x55c688(0x20c)]['frameWriter'][_0x55c688(0x282)](_0x534bc3);},'error':_0x1dd114=>{var _0x2f222e=_0x1525be;_0x54c368[_0x2f222e(0x20c)][_0x2f222e(0x8e1)][_0x2f222e(0x61a)]==_0x2f222e(0x33c)?warnlog('CLOSED'):errorlog(_0x1dd114[_0x2f222e(0x93c)]);}},_0x54c368[_0x1525be(0x20c)]={},_0x54c368[_0x1525be(0x20c)][_0x1525be(0x6bf)]=new MediaStreamTrackGenerator({'kind':_0x1525be(0x20c)}),_0x54c368[_0x1525be(0x20c)][_0x1525be(0x30f)]=new MediaStream([_0x54c368[_0x1525be(0x20c)]['generator']]),_0x54c368[_0x1525be(0x20c)][_0x1525be(0x64c)]=_0x54c368[_0x1525be(0x20c)][_0x1525be(0x6bf)][_0x1525be(0x50b)][_0x1525be(0x213)](),_0x54c368[_0x1525be(0x20c)]['decoder']=new AudioDecoder(_0x54c368[_0x1525be(0x7f8)]),_0x54c368[_0x1525be(0x20c)]['decoder'][_0x1525be(0x1ff)](_0x54c368['stream_configAudio']),_0x54c368[_0x1525be(0x20c)][_0x1525be(0x995)]=[],_0x54c368['audio'][_0x1525be(0x8a8)]=null,_0x54c368[_0x1525be(0x20c)][_0x1525be(0x30f)]['getAudioTracks']()[_0x1525be(0x374)](_0x5348da=>{var _0x10d3df=_0x1525be;_0x54c368['videoElement']['srcObject'][_0x10d3df(0x62e)](_0x5348da);}));log(_0x54c368),_0x54c368['playbackheader']=![],_0x54c368[_0x1525be(0x8b2)]=![],_0x54c368[_0x1525be(0x710)]=0x0,_0x54c368[_0x1525be(0x6b9)][_0x1525be(0x78b)](_0x1525be(0x509),function(_0x4535f5){errorlog(_0x4535f5);}),_0x54c368[_0x1525be(0x6b9)][_0x1525be(0x86e)]=_0x539a48,_0x54c368[_0x1525be(0x6b9)][_0x1525be(0x852)]=function(){updateMixer();},_0x54c368[_0x1525be(0x8c2)]=0x2;_0xfae4dd['chunkTime']&&(_0x54c368[_0x1525be(0x8c2)]=parseFloat(_0xfae4dd[_0x1525be(0x8c2)])||0x2);_0x2de54d[_0x1525be(0x1f2)][_0x55f6d8][_0x1525be(0x6a3)]=_0x54c368[_0x1525be(0x6b9)]['srcObject'],_0x2de54d['rpcs'][_0x55f6d8]['videoElement']=_0x54c368['videoElement'],setupIncomingVideoTracking(_0x2de54d['rpcs'][_0x55f6d8][_0x1525be(0x6b9)],_0x55f6d8);if(_0x54c368[_0x1525be(0x20c)]&&_0x54c368['video'])updateIncomingVideoElement(_0x55f6d8);else{if(_0x54c368[_0x1525be(0x6fb)])updateIncomingVideoElement(_0x55f6d8,!![],![]);else _0x54c368[_0x1525be(0x20c)]&&updateIncomingVideoElement(_0x55f6d8,![],!![]);}_0x54c368['processFrame']=async function(_0x12959e){var _0x3da602=_0x1525be;_0x2de54d[_0x3da602(0x1f2)][_0x55f6d8][_0x3da602(0x653)][_0x3da602(0x72d)]['my_time']=_0x12959e[_0x3da602(0x9da)]/0xf4240;if(_0x12959e[_0x3da602(0x870)]==_0x3da602(0x20c)){await _0x54c368['processFrameAudio'](_0x12959e);return;}try{_0x12959e=new EncodedVideoChunk(_0x12959e);}catch(_0x24f7b1){errorlog(_0x24f7b1),errorlog(_0x12959e);return;}if(_0x54c368['videoWriter']&&_0x54c368[_0x3da602(0x6b9)][_0x3da602(0x950)]){if(!_0x54c368[_0x3da602(0x8b2)]&&_0x12959e[_0x3da602(0x870)]!==_0x3da602(0x663))log('waiting\x20for\x20keyframe'),log(_0x12959e),!_0x54c368['requestKeyframe']&&(_0x1924b4[_0x3da602(0x1cd)](JSON[_0x3da602(0x2c5)]({'kf':!![]})),_0x54c368['requestKeyframe']=setTimeout(function(){var _0x2968e8=_0x3da602;clearTimeout(_0x54c368[_0x2968e8(0x98b)]),_0x54c368[_0x2968e8(0x98b)]=null;},0x3e8));else!_0x54c368[_0x3da602(0x8b2)]?(_0x54c368[_0x3da602(0x8b2)]=Date[_0x3da602(0x9d3)](),_0x54c368[_0x3da602(0x5a8)][_0x3da602(0x559)](_0x12959e),log(_0x3da602(0xa2f)),_0x2de54d[_0x3da602(0x473)]&&(_0x54c368[_0x3da602(0x6e7)]=setInterval(function(_0x2e8eef){var _0x1b58ab=_0x3da602,_0x211333=(Date[_0x1b58ab(0x9d3)]()-_0x54c368[_0x1b58ab(0x8b2)])/0x3e8,_0x1ae890=Math[_0x1b58ab(0x53f)](_0x211333/0x3c),_0x42bfaa=Math[_0x1b58ab(0x53f)](_0x211333-_0x1ae890*0x3c);try{document[_0x1b58ab(0x715)](_0x1b58ab(0x317)+_0x2e8eef+'\x27]')[_0x1b58ab(0xa58)]=_0x1b58ab(0x4aa)+_0x1ae890+_0x1b58ab(0xa3b)+zpadTime(_0x42bfaa)+'s';}catch(_0x278c2f){log(_0x1b58ab(0x529));}},0x3e8,_0x55f6d8))):_0x54c368[_0x3da602(0x5a8)]['addFrame'](_0x12959e);}_0x54c368['playbackheader']&&_0x54c368[_0x3da602(0x6fb)]&&_0x54c368[_0x3da602(0x6fb)]['decoder'][_0x3da602(0x61a)]===_0x3da602(0x33c)&&(warnlog(_0x3da602(0x6ad)),_0x54c368[_0x3da602(0x303)]=![],_0x54c368[_0x3da602(0x6fb)][_0x3da602(0x8e1)]=new VideoDecoder(_0x54c368[_0x3da602(0x4df)]),await _0x54c368[_0x3da602(0x6fb)]['decoder'][_0x3da602(0x1ff)](_0x54c368[_0x3da602(0x48d)]),_0x54c368['playbackheader']=![]);if(_0x54c368[_0x3da602(0x303)]||_0x12959e[_0x3da602(0x870)]==='key'){_0x54c368[_0x3da602(0x303)]=!![];_0x12959e['type']===_0x3da602(0x663)?_0x54c368['delta']=0x0:_0x54c368[_0x3da602(0x710)]+=0x1;try{_0x2de54d[_0x3da602(0x28e)]||_0x2de54d['sync']?(clearTimeout(_0x54c368[_0x3da602(0x6fb)][_0x3da602(0x8a8)]),_0x54c368[_0x3da602(0x6fb)][_0x3da602(0x995)]['length']?_0x12959e[_0x3da602(0x9da)]-_0x54c368[_0x3da602(0x6fb)]['queue'][0x0][_0x3da602(0x9da)]>0x3e8*((_0x2de54d['buffer']||0x0)+(_0x2de54d['sync']||0x0))?(_0x543a09(_0x54c368['video'],!![]),_0x54c368[_0x3da602(0x6fb)][_0x3da602(0x995)][_0x3da602(0x6dd)](_0x12959e)):_0x54c368[_0x3da602(0x6fb)]['queue'][_0x3da602(0x6dd)](_0x12959e):_0x54c368[_0x3da602(0x6fb)]['queue'][_0x3da602(0x6dd)](_0x12959e)):_0x54c368[_0x3da602(0x6fb)][_0x3da602(0x8e1)][_0x3da602(0x6b6)](_0x12959e);}catch(_0xcfb4a5){errorlog(_0xcfb4a5),_0x54c368['playbackheader']=![];}}!_0x54c368[_0x3da602(0x303)]&&(!_0x54c368[_0x3da602(0x98b)]&&(_0x1924b4[_0x3da602(0x1cd)](JSON[_0x3da602(0x2c5)]({'kf':!![]})),_0x54c368[_0x3da602(0x98b)]=setTimeout(function(){var _0x5d37ef=_0x3da602;clearTimeout(_0x54c368[_0x5d37ef(0x98b)]),_0x54c368[_0x5d37ef(0x98b)]=null;},0x3e8)));},_0x54c368[_0x1525be(0x7c4)]=async function(_0x378019){var _0x3e438e=_0x1525be;if(!_0x54c368[_0x3e438e(0x20c)]){errorlog(_0x3e438e(0x7f0));return;}try{_0x378019['type']=_0x3e438e(0x663),_0x378019=new EncodedAudioChunk(_0x378019);}catch(_0xfd709d){return;}_0x54c368[_0x3e438e(0x5a8)]&&_0x54c368[_0x3e438e(0x8b2)]&&_0x54c368[_0x3e438e(0x6b9)][_0x3e438e(0x950)]&&_0x54c368['videoWriter'][_0x3e438e(0x559)](_0x378019),_0x54c368[_0x3e438e(0x20c)]['decoder'][_0x3e438e(0x61a)]==='closed'&&(_0x54c368[_0x3e438e(0x20c)]['decoder']=new AudioDecoder(_0x54c368[_0x3e438e(0x7f8)]),_0x54c368[_0x3e438e(0x20c)][_0x3e438e(0x8e1)][_0x3e438e(0x1ff)](_0x54c368[_0x3e438e(0x44d)])),_0x2de54d[_0x3e438e(0x28e)]||_0x2de54d[_0x3e438e(0x32a)]?(clearTimeout(_0x54c368[_0x3e438e(0x20c)][_0x3e438e(0x8a8)]),_0x54c368['audio'][_0x3e438e(0x995)]['length']?_0x378019[_0x3e438e(0x9da)]-_0x54c368[_0x3e438e(0x20c)][_0x3e438e(0x995)][0x0]['timestamp']>(_0x2de54d[_0x3e438e(0x28e)]||0x0)+(_0x2de54d['sync']||0x0)?(_0x543a09(_0x54c368[_0x3e438e(0x20c)]),_0x54c368['audio'][_0x3e438e(0x995)][_0x3e438e(0x6dd)](_0x378019)):_0x54c368[_0x3e438e(0x20c)][_0x3e438e(0x995)][_0x3e438e(0x6dd)](_0x378019):_0x54c368[_0x3e438e(0x20c)][_0x3e438e(0x995)][_0x3e438e(0x6dd)](_0x378019)):_0x54c368['audio'][_0x3e438e(0x8e1)][_0x3e438e(0x6b6)](_0x378019);},transferList[_0x1525be(0x6dd)](_0x54c368),_0x1548e3=transferList[_0x1525be(0x3f2)]-0x1,updateDownloadLink(_0x1548e3);}else errorlog(_0xfae4dd);return;}catch(_0x29ae23){errorlog(_0x29ae23);}try{var _0x2cc455=_0x48f385[_0x1525be(0x3cd)];if(typeof _0x2cc455=='string'){if(_0x54c368[_0x1525be(0x28e)]){var _0xc90bd0=new Int8Array(_0x2cc455['buffer']);_0x54c368[_0x1525be(0x28e)]=![],await _0x54c368[_0x1525be(0x56c)]({'data':_0xc90bd0,'timestamp':_0x54c368[_0x1525be(0x7bd)][0x0],'type':_0x54c368[_0x1525be(0x7bd)][0x1]});}_0x54c368[_0x1525be(0x7bd)]=JSON['parse'](_0x2cc455);}else{try{if(_0x2cc455['byteLength']>=0x40000){if(_0x54c368[_0x1525be(0x28e)]){_0x2cc455=new Int8Array(_0x2cc455);var _0xc90bd0=new Int8Array(_0x54c368[_0x1525be(0x28e)]['length']+_0x2cc455[_0x1525be(0x3f2)]);_0xc90bd0[_0x1525be(0x57f)](_0x54c368['buffer']),_0xc90bd0[_0x1525be(0x57f)](_0x2cc455,_0x54c368[_0x1525be(0x28e)][_0x1525be(0x3f2)]),_0x54c368[_0x1525be(0x28e)]=_0xc90bd0;}else _0x54c368[_0x1525be(0x28e)]=new Int8Array(_0x2cc455);return;}else{if(_0x54c368[_0x1525be(0x28e)]){_0x2cc455=new Int8Array(_0x2cc455);var _0xc90bd0=new Int8Array(_0x54c368[_0x1525be(0x28e)][_0x1525be(0x3f2)]+_0x2cc455[_0x1525be(0x3f2)]);_0xc90bd0[_0x1525be(0x57f)](_0x54c368[_0x1525be(0x28e)]),_0xc90bd0[_0x1525be(0x57f)](_0x2cc455,_0x54c368['buffer'][_0x1525be(0x3f2)]),_0x54c368[_0x1525be(0x28e)]=![],await _0x54c368[_0x1525be(0x56c)]({'data':_0xc90bd0,'timestamp':_0x54c368[_0x1525be(0x7bd)][0x0],'type':_0x54c368[_0x1525be(0x7bd)][0x1]});}else await _0x54c368[_0x1525be(0x56c)]({'data':new Uint8Array(_0x2cc455),'timestamp':_0x54c368[_0x1525be(0x7bd)][0x0],'type':_0x54c368['frameMeta'][0x1]});}}catch(_0x6875cf){errorlog(_0x6875cf);}return;}}catch(_0x17611c){errorlog(_0x17611c);}};return;},_0x2de54d['setupIncoming']=async function(_0x1cd0b0){var _0x214858=_0x139c85;log(_0x214858(0x23c));var _0x494795=_0x1cd0b0['UUID'];if(_0x494795 in _0x2de54d[_0x214858(0x1f2)]){if(_0x214858(0x372)in _0x1cd0b0){if(_0x2de54d['rpcs'][_0x494795][_0x214858(0x372)]==_0x1cd0b0[_0x214858(0x372)]){log(_0x214858(0x96f));return;}_0x2de54d[_0x214858(0x31e)](_0x494795);}}else log(_0x214858(0x7ee));try{for(var _0x14e10c in _0x2de54d['rpcs']){_0x2de54d[_0x214858(0x1f2)][_0x14e10c][_0x214858(0x6ba)]==_0x1cd0b0[_0x214858(0x6ba)]&&(_0x2de54d['rpcs'][_0x14e10c][_0x214858(0x6b9)]&&(_0x2de54d['rpcs'][_0x14e10c][_0x214858(0x6b9)]['style'][_0x214858(0x80a)]=_0x214858(0x95e)),_0x2de54d[_0x214858(0x31e)](_0x14e10c),_0x14e10c!==_0x494795&&(_0x14e10c in _0x2de54d[_0x214858(0x5f8)]&&(_0x1cd0b0[_0x214858(0x372)]&&_0x1cd0b0['session']['substring'](0x0,0x6)!==_0x2de54d[_0x214858(0x5a2)]?(warnlog(_0x214858(0x25e)),log(_0x214858(0x1c5)),_0x2de54d[_0x214858(0x79a)](_0x14e10c,![])):warnlog(_0x214858(0x9d5)))));}document[_0x214858(0x314)](_0x214858(0x342))&&document[_0x214858(0x314)]('mainmenu')[_0x214858(0x4d4)][_0x214858(0x396)](document[_0x214858(0x314)]('mainmenu'));}catch(_0x137d32){errorlog(_0x137d32);}if(_0x2de54d[_0x214858(0x74c)]!==![]){if(Object['keys'](_0x2de54d[_0x214858(0x1f2)])['length']>=_0x2de54d[_0x214858(0x74c)]){warnlog(_0x214858(0x50f));return;}}else{if(_0x2de54d[_0x214858(0x94b)]!==![]){if(Object['keys'](_0x2de54d[_0x214858(0x1f2)])[_0x214858(0x3f2)]+Object[_0x214858(0x4c2)](_0x2de54d[_0x214858(0x5f8)])['length']>=_0x2de54d[_0x214858(0x94b)]){warnlog(_0x214858(0x50f));return;}}}if(_0x2de54d[_0x214858(0x995)]){if(_0x2de54d[_0x214858(0x473)])!(_0x494795 in _0x2de54d[_0x214858(0x5f8)])&&_0x2de54d[_0x214858(0x759)](_0x494795);else{if(_0x2de54d[_0x214858(0x9c0)]['indexOf'](_0x494795)==-0x1)return;}}!_0x2de54d[_0x214858(0x890)]&&await chooseBestTURN();try{_0x2de54d['rpcs'][_0x494795]=new RTCPeerConnection(_0x2de54d[_0x214858(0x890)]);}catch(_0x42fcaa){!_0x2de54d[_0x214858(0x602)]&&warnUser(_0x214858(0x9cf));errorlog(_0x42fcaa);return;}if(_0x2de54d[_0x214858(0x265)]){if(Object['keys'](_0x2de54d[_0x214858(0x1f2)])[_0x214858(0x3f2)]>0x1){warnlog(_0x214858(0x321)),log(_0x2de54d[_0x214858(0x1f2)]),delete _0x2de54d[_0x214858(0x1f2)][_0x494795],updateUserList();return;}else warnlog('CONNECTED\x20TO\x20FIRST\x20PEER');}_0x1cd0b0[_0x214858(0x6ba)]in _0x2de54d[_0x214858(0x67d)]&&delete _0x2de54d[_0x214858(0x67d)][_0x1cd0b0[_0x214858(0x6ba)]];try{_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x6ba)]=_0x1cd0b0[_0x214858(0x6ba)];}catch(_0x476448){errorlog(_0x476448);return;}_0x1cd0b0[_0x214858(0x372)]?_0x2de54d['rpcs'][_0x494795]['session']=_0x1cd0b0[_0x214858(0x372)]:_0x2de54d['rpcs'][_0x494795][_0x214858(0x372)]=null;_0x2de54d['rpcs'][_0x494795][_0x214858(0x338)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x9a4)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x3dc)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795]['allowGraphs']=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x653)]={},_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x7fd)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x653)]['Audio_Loudness']=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x6c4)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x820)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x1f9)]=null,_0x2de54d['rpcs'][_0x494795][_0x214858(0x490)]=-0x1,_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x728)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795]['channelOffset']=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x918)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x330)]=-0x1,_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x857)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795]['videoElement']=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x9df)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x7bc)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795]['group']=[],_0x2de54d['rpcs'][_0x494795][_0x214858(0x556)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x59b)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x805)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x2be)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x6f2)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x439)]=![],_0x2de54d['rpcs'][_0x494795]['remoteMuteElement']=![],_0x2de54d['rpcs'][_0x494795][_0x214858(0x2f1)]=null,_0x2de54d['rpcs'][_0x494795][_0x214858(0x689)]=null,_0x2de54d[_0x214858(0x1f2)][_0x494795]['mutedStateMixer']=null,_0x2de54d[_0x214858(0x1f2)][_0x494795]['mutedStateScene']=null,_0x2de54d['rpcs'][_0x494795][_0x214858(0x21b)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795]['savedVolume']=![],_0x2de54d['rpcs'][_0x494795]['scaleHeight']=![],_0x2de54d['rpcs'][_0x494795]['scaleWidth']=![],_0x2de54d[_0x214858(0x1f2)][_0x494795]['scaleSnap']=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x5c8)]=![],_0x2de54d['rpcs'][_0x494795][_0x214858(0x231)]=![],_0x2de54d['rpcs'][_0x494795][_0x214858(0x6a3)]=null,_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x5bb)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x34b)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795]['director']=null,_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x87b)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x8e0)]=0x64,_0x2de54d[_0x214858(0x1f2)][_0x494795]['directorMutedState']=0x0,_0x2de54d[_0x214858(0x1f2)][_0x494795]['nackCount']=0x0,_0x2de54d['rpcs'][_0x494795][_0x214858(0x952)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x8fc)]='1',_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x62d)]='1',_0x2de54d[_0x214858(0x1f2)][_0x494795]['obsControl']=![],_0x2de54d['rpcs'][_0x494795][_0x214858(0x843)]=0x0,_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x3df)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795]['order']=![],_0x2de54d['rpcs'][_0x494795][_0x214858(0x26d)]=null,_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x225)]=null,_0x2de54d['rpcs'][_0x494795][_0x214858(0x260)]={},_0x2de54d['rpcs'][_0x494795][_0x214858(0x46e)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x9fc)]=![],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x558)]=Date[_0x214858(0x9d3)](),_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x9a1)]=_0x2de54d['wssid'];(_0x2de54d[_0x214858(0x82d)]==0x2||_0x2de54d['activeSpeaker']==0x4)&&(_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x9a4)]=!![]);if(_0x2de54d[_0x214858(0x5e3)]){var _0x23220d=createRichVideoElement(_0x494795);_0x23220d[_0x214858(0x92c)]['display']=_0x214858(0x600);}if(_0x2de54d['director']){if(_0x2de54d[_0x214858(0x441)]&&'isScene'in _0x1cd0b0&&_0x1cd0b0[_0x214858(0x97e)]!==![]){}else{var _0x2d4359=soloLinkGenerator(_0x2de54d['rpcs'][_0x494795][_0x214858(0x6ba)]);createControlBox(_0x494795,_0x2d4359,_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x6ba)]);}}_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x840)]=_0x494795;if(_0x214858(0x6ba)in _0x1cd0b0){_0x2de54d['rpcs'][_0x494795][_0x214858(0x6ba)]=_0x1cd0b0[_0x214858(0x6ba)];try{if(_0x2de54d[_0x214858(0x92d)]){if(_0x2de54d[_0x214858(0x92d)]['includes'](_0x2de54d[_0x214858(0x1f2)][_0x494795]['streamID'])){if(_0x2de54d[_0x214858(0x390)]!==![]){let _0x369f59=_0x2de54d[_0x214858(0x92d)][_0x214858(0x300)](_0x2de54d[_0x214858(0x1f2)][_0x494795]['streamID']);_0x2de54d['bitrate_set'][_0x214858(0x3f2)]>_0x369f59&&(_0x2de54d['rpcs'][_0x494795]['manualBandwidth']=parseInt(_0x2de54d['bitrate_set'][_0x369f59]),_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x857)]<=0x0&&(_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x857)]=![]));}}}}catch(_0xff2510){errorlog(_0xff2510);}}_0x2de54d['rpcs'][_0x494795][_0x214858(0x25c)]=function(_0x28ec6d){var _0x287348=_0x214858;_0x2de54d[_0x287348(0x31e)](_0x494795);},_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x37c)]=null,_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x9b0)]=[],_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x3b0)]=function(_0xb706c0){var _0x1e287a=_0x214858;if(_0xb706c0[_0x1e287a(0x9bf)]==null){log('null\x20ice\x20rpcs');return;}try{if(_0x2de54d[_0x1e287a(0x43b)]){if(_0xb706c0[_0x1e287a(0x9bf)][_0x1e287a(0x9bf)][_0x1e287a(0x300)](_0x2de54d[_0x1e287a(0x43b)])===-0x1){log(_0x1e287a(0x526));return;}else log(_0xb706c0[_0x1e287a(0x9bf)]);}}catch(_0xb1ef18){errorlog(_0xb1ef18);}if(_0x2de54d['rpcs'][_0x494795][_0x1e287a(0x37c)]!==null){_0x2de54d[_0x1e287a(0x1f2)][_0x494795][_0x1e287a(0x9b0)]['push'](_0xb706c0['candidate']);return;}_0x2de54d[_0x1e287a(0x1f2)][_0x494795][_0x1e287a(0x9b0)][_0x1e287a(0x6dd)](_0xb706c0[_0x1e287a(0x9bf)]),_0x2de54d[_0x1e287a(0x1f2)][_0x494795]['iceTimer']=setTimeout(function(){var _0x4dfd71=_0x1e287a;if(!(_0x494795 in _0x2de54d[_0x4dfd71(0x1f2)]))return;_0x2de54d['rpcs'][_0x494795][_0x4dfd71(0x37c)]=null;if(_0x2de54d[_0x4dfd71(0x1f2)][_0x494795][_0x4dfd71(0x9b0)]==[])return;var _0x1723d8={};_0x1723d8[_0x4dfd71(0x840)]=_0x494795,_0x1723d8[_0x4dfd71(0x870)]='remote',_0x1723d8[_0x4dfd71(0x492)]=_0x2de54d[_0x4dfd71(0x1f2)][_0x494795][_0x4dfd71(0x9b0)],_0x1723d8[_0x4dfd71(0x372)]=_0x2de54d[_0x4dfd71(0x1f2)][_0x494795]['session'],_0x2de54d[_0x4dfd71(0x1f2)][_0x494795][_0x4dfd71(0x9b0)]=[],_0x2de54d[_0x4dfd71(0x7c0)]?_0x2de54d[_0x4dfd71(0x5fd)](JSON[_0x4dfd71(0x2c5)](_0x1723d8[_0x4dfd71(0x492)]))['then'](function(_0x28a5fe){var _0xe8efab=_0x4dfd71;_0x1723d8['candidates']=_0x28a5fe[0x0],_0x1723d8[_0xe8efab(0x881)]=_0x28a5fe[0x1],_0x2de54d['anyrequest'](_0x1723d8);})[_0x4dfd71(0x5f2)](errorlog):_0x2de54d[_0x4dfd71(0x94a)](_0x1723d8);},0x190);},_0x2de54d[_0x214858(0x1f2)][_0x494795][_0x214858(0x7bf)]=function(_0x4628a9){var _0x4fe946=_0x214858;switch(this[_0x4fe946(0x8b9)]){case'new':log(_0x4fe946(0x5fa)),log(_0x4fe946(0x844)),clearInterval(_0x2de54d[_0x4fe946(0x1f2)][this[_0x4fe946(0x840)]][_0x4fe946(0x2f1)]);case _0x4fe946(0x562):log(_0x4fe946(0x562)),log(_0x4fe946(0x391)),clearInterval(_0x2de54d[_0x4fe946(0x1f2)][this[_0x4fe946(0x840)]][_0x4fe946(0x2f1)]);case _0x4fe946(0x5e4):log(_0x4fe946(0x662)),log(_0x4fe946(0x222)),clearInterval(_0x2de54d[_0x4fe946(0x1f2)][this[_0x4fe946(0x840)]][_0x4fe946(0x2f1)]);if(_0x2de54d['security']){if(_0x2de54d['ws'][_0x4fe946(0xa4d)]!==0x1){_0x2de54d['ws'][_0x4fe946(0x2e4)]();break;}_0x2de54d['ws'][_0x4fe946(0x2e4)](),setTimeout(function(){var _0x4f6b13=_0x4fe946;_0x2de54d[_0x4f6b13(0x602)]!=!![]&&warnUser(_0x4f6b13(0x80b));},0x1);}break;case'disconnected':log(_0x4fe946(0x295)),warnlog(_0x4fe946(0x48b)),clearInterval(_0x2de54d[_0x4fe946(0x1f2)][this['UUID']][_0x4fe946(0x2f1)]);this['UUID']in _0x2de54d['rpcs']?_0x2de54d[_0x4fe946(0x1f2)][this[_0x4fe946(0x840)]][_0x4fe946(0x2f1)]=setTimeout(function(_0x15295b){var _0x5dcdd7=_0x4fe946;_0x2de54d[_0x5dcdd7(0x31e)](_0x15295b);},0x1388,this['UUID']):log(_0x4fe946(0x948));break;case _0x4fe946(0x63d):warnlog(_0x4fe946(0x953)),log(_0x4fe946(0x72e)),clearInterval(_0x2de54d[_0x4fe946(0x1f2)][this[_0x4fe946(0x840)]][_0x4fe946(0x2f1)]);this[_0x4fe946(0x840)]in _0x2de54d[_0x4fe946(0x1f2)]?_0x2de54d[_0x4fe946(0x1f2)][this[_0x4fe946(0x840)]][_0x4fe946(0x2f1)]=setTimeout(function(_0x29b345){var _0x362ab0=_0x4fe946;_0x2de54d[_0x362ab0(0x31e)](_0x29b345);},0xbb8,this[_0x4fe946(0x840)]):log(_0x4fe946(0x948));break;case _0x4fe946(0x33c):warnlog(_0x4fe946(0x35b)),_0x2de54d['closeRPC'](this[_0x4fe946(0x840)]);break;default:log(_0x4fe946(0x5d5)),clearInterval(_0x2de54d['rpcs'][this[_0x4fe946(0x840)]][_0x4fe946(0x2f1)]);break;}},_0x2de54d['rpcs'][_0x494795][_0x214858(0x312)]=function(){var _0x5edefe=_0x214858;try{if(this[_0x5edefe(0x2c8)]==_0x5edefe(0x33c))errorlog(_0x5edefe(0x353));else{if(this[_0x5edefe(0x2c8)]==_0x5edefe(0x6a8))warnlog(_0x5edefe(0x42f)),_0x2de54d['rpcs'][_0x494795]['opacityDisconnect']='0',_0x2de54d[_0x5edefe(0x1f2)][_0x494795][_0x5edefe(0x6b9)][_0x5edefe(0x92c)][_0x5edefe(0x8a5)]='0',_0x2de54d['rpcs'][_0x494795][_0x5edefe(0x763)]=setTimeout(function(_0x53fac3){updateMixer();},0x1f4,_0x494795);else this[_0x5edefe(0x2c8)]==_0x5edefe(0x63d)?errorlog(_0x5edefe(0x696)):(log(_0x5edefe(0x4f0)+this[_0x5edefe(0x2c8)]),_0x2de54d[_0x5edefe(0x1f2)][_0x494795][_0x5edefe(0x763)]&&clearTimeout(_0x2de54d[_0x5edefe(0x1f2)][_0x494795]['disconnectedTimeout']),_0x2de54d[_0x5edefe(0x1f2)][_0x494795][_0x5edefe(0x6b9)]&&_0x5edefe(0x8a5)in _0x2de54d['rpcs'][_0x494795][_0x5edefe(0x6b9)][_0x5edefe(0x92c)]?_0x2de54d[_0x5edefe(0x1f2)][_0x494795][_0x5edefe(0x8fc)]=='0'&&_0x2de54d['rpcs'][_0x494795][_0x5edefe(0x62d)]=='1'?(_0x2de54d[_0x5edefe(0x1f2)][_0x494795]['videoElement'][_0x5edefe(0x92c)][_0x5edefe(0x8a5)]='1',_0x2de54d[_0x5edefe(0x1f2)][_0x494795][_0x5edefe(0x8fc)]='1',updateMixer()):_0x2de54d[_0x5edefe(0x1f2)][_0x494795]['opacityDisconnect']='1':_0x2de54d[_0x5edefe(0x1f2)][_0x494795][_0x5edefe(0x8fc)]='1');}}catch(_0x11a97f){}},_0x2de54d['rpcs'][_0x494795][_0x214858(0x727)]=function(_0x5c9b7a){var _0x363a17=_0x214858;log(_0x5c9b7a);if(_0x5c9b7a['channel'][_0x363a17(0x3df)]&&_0x5c9b7a['channel'][_0x363a17(0x3df)]!==_0x363a17(0x254)){if(_0x2de54d[_0x363a17(0x2f5)][_0x363a17(0x9ad)](_0x2de54d['rpcs'][_0x494795][_0x363a17(0x6ba)]))return;_0x5c9b7a[_0x363a17(0x54c)]['label']===_0x363a17(0x2c4)?_0x2de54d[_0x363a17(0x9c7)](_0x2de54d[_0x363a17(0x1f2)],_0x494795,_0x5c9b7a['channel']):_0x2de54d[_0x363a17(0x9e0)](_0x2de54d[_0x363a17(0x1f2)],_0x494795,_0x5c9b7a['channel']);return;}_0x2de54d[_0x363a17(0x1f2)][_0x494795][_0x363a17(0x68d)]=_0x5c9b7a['channel'],_0x2de54d['rpcs'][_0x494795][_0x363a17(0x68d)][_0x363a17(0x840)]=_0x494795,_0x2de54d['rpcs'][_0x494795][_0x363a17(0x68d)]['onopen']=_0x437d98=>{var _0x46291a=_0x363a17,_0x129b09={};_0x129b09[_0x46291a(0x5ad)]=![],_0x129b09['allowmidi']=![],_0x129b09[_0x46291a(0x239)]=![],_0x129b09['audio']=![],_0x129b09[_0x46291a(0x6fb)]=![],_0x129b09[_0x46291a(0x69d)]=![],_0x129b09[_0x46291a(0x279)]=![],_0x129b09['allowscreen']=![];_0x2de54d[_0x46291a(0x3ae)]&&_0x2de54d[_0x46291a(0x3ae)]===_0x46291a(0x7ba)&&(_0x129b09[_0x46291a(0x3b9)]=_0x2de54d[_0x46291a(0x3ae)]);try{if(_0x2de54d[_0x46291a(0x288)]!==![])_0x2de54d[_0x46291a(0x288)][_0x46291a(0x9ad)](_0x2de54d[_0x46291a(0x1f2)][_0x494795][_0x46291a(0x6ba)])?_0x129b09[_0x46291a(0x6fb)]=!![]:_0x129b09['video']=![];else{if(_0x2de54d[_0x46291a(0x69d)]!==![]){if(_0x2de54d[_0x46291a(0x69d)]!==null)_0x2de54d['rpcs'][_0x494795]['streamID']===_0x2de54d['broadcast']?(_0x129b09[_0x46291a(0x69d)]=!![],_0x129b09[_0x46291a(0x6fb)]=!![]):_0x129b09[_0x46291a(0x6fb)]=![];else _0x2de54d[_0x46291a(0x4a6)]&&(_0x494795==_0x2de54d[_0x46291a(0x4a6)]?(_0x129b09[_0x46291a(0x69d)]=!![],_0x129b09['video']=!![]):_0x129b09[_0x46291a(0x6fb)]=![]);}else _0x2de54d[_0x46291a(0x885)]!==![]?_0x2de54d[_0x46291a(0x885)][_0x46291a(0x9ad)](_0x2de54d[_0x46291a(0x1f2)][_0x494795][_0x46291a(0x6ba)])?_0x129b09[_0x46291a(0x6fb)]=![]:_0x129b09[_0x46291a(0x6fb)]=!![]:_0x129b09[_0x46291a(0x6fb)]=!![];}_0x2de54d[_0x46291a(0x665)]!==![]?_0x2de54d[_0x46291a(0x665)][_0x46291a(0x9ad)](_0x2de54d['rpcs'][_0x494795]['streamID'])?_0x129b09[_0x46291a(0x20c)]=!![]:_0x129b09[_0x46291a(0x20c)]=![]:_0x129b09[_0x46291a(0x20c)]=!![];_0x2de54d[_0x46291a(0x442)]!==![]?_0x2de54d['noiframe'][_0x46291a(0x9ad)](_0x2de54d[_0x46291a(0x1f2)][_0x494795][_0x46291a(0x6ba)])?_0x129b09['iframe']=!![]:_0x129b09[_0x46291a(0x239)]=![]:_0x129b09[_0x46291a(0x239)]=!![];if(_0x2de54d[_0x46291a(0x50a)]!==![]){if(_0x2de54d[_0x46291a(0x50a)]===!![])_0x129b09[_0x46291a(0xa07)]=!![];else _0x2de54d[_0x46291a(0x50a)][_0x46291a(0x9ad)](_0x2de54d[_0x46291a(0x1f2)][_0x494795]['streamID'])?_0x129b09[_0x46291a(0xa07)]=!![]:_0x129b09['allowscreen']=![];}else _0x129b09[_0x46291a(0xa07)]=!![];_0x2de54d[_0x46291a(0x82b)]!==![]&&(!_0x2de54d['allowVideos'][_0x46291a(0x9ad)](_0x2de54d[_0x46291a(0x1f2)][_0x494795][_0x46291a(0x6ba)])&&(_0x129b09[_0x46291a(0x6fb)]=![],_0x129b09[_0x46291a(0x20c)]=![]));(_0x2de54d[_0x46291a(0x772)]||_0x2de54d['midiRemote'])&&(_0x129b09[_0x46291a(0xa3e)]=_0x2de54d['midiIn']||_0x2de54d[_0x46291a(0x9eb)]);_0x129b09[_0x46291a(0x5ad)]=!![];_0x2de54d[_0x46291a(0x7fc)]&&(_0x129b09[_0x46291a(0x5ad)]=![]);_0x2de54d['codec']&&(_0x2de54d[_0x46291a(0x838)]==_0x46291a(0x8dd)||_0x2de54d[_0x46291a(0x838)]==_0x46291a(0x786)||_0x2de54d[_0x46291a(0x838)]=='jpeg')&&(_0x129b09[_0x46291a(0x279)]=!![]);_0x2de54d[_0x46291a(0x2d5)]&&(_0x129b09['layout']=!![]);if(_0x2de54d[_0x46291a(0x2f5)]['includes'](_0x2de54d['rpcs'][_0x494795][_0x46291a(0x6ba)])){warnlog(_0x46291a(0x2fa)),_0x129b09['downloads']=![],_0x129b09['allowmidi']=![],_0x129b09['iframe']=![],_0x129b09['audio']=![],_0x129b09[_0x46291a(0x6fb)]=![],_0x129b09[_0x46291a(0x69d)]=![],_0x129b09[_0x46291a(0x279)]=![];;}}catch(_0x516156){errorlog(_0x516156);}try{_0x129b09[_0x46291a(0xa22)]={},_0x129b09[_0x46291a(0xa22)][_0x46291a(0x3df)]=_0x2de54d[_0x46291a(0x3df)],_0x129b09[_0x46291a(0xa22)]['order']=_0x2de54d[_0x46291a(0x53c)],_0x129b09[_0x46291a(0xa22)]['stereo_url']=_0x2de54d[_0x46291a(0x8c6)],_0x129b09['info'][_0x46291a(0x290)]=_0x2de54d[_0x46291a(0x2a6)],_0x129b09[_0x46291a(0xa22)][_0x46291a(0x63c)]=_0x2de54d[_0x46291a(0x4bb)],_0x129b09['info']['codec_url']=_0x2de54d['codec'];_0x2de54d[_0x46291a(0x3ae)]&&(_0x129b09[_0x46291a(0xa22)][_0x46291a(0x652)]=_0x2de54d[_0x46291a(0x3ae)]);_0x129b09[_0x46291a(0xa22)][_0x46291a(0x84e)]=_0x2de54d['version'],_0x129b09[_0x46291a(0xa22)][_0x46291a(0x606)]=_0x2de54d[_0x46291a(0x606)],_0x129b09['info'][_0x46291a(0x9fb)]=_0x2de54d[_0x46291a(0x5fc)],_0x129b09[_0x46291a(0xa22)]['ptime']=_0x2de54d[_0x46291a(0x389)],_0x129b09[_0x46291a(0xa22)][_0x46291a(0x252)]=_0x2de54d[_0x46291a(0x252)],_0x129b09[_0x46291a(0xa22)][_0x46291a(0x8c0)]=_0x2de54d[_0x46291a(0x8c0)];navigator&&navigator[_0x46291a(0x962)]&&(_0x129b09['info'][_0x46291a(0x8e5)]=navigator[_0x46291a(0x962)]);navigator&&navigator[_0x46291a(0x90f)]&&(_0x129b09[_0x46291a(0xa22)]['platform']=navigator['platform']);if(_0x2de54d[_0x46291a(0x5d6)]===![]){if(window['obsstudio']){_0x129b09[_0x46291a(0xa22)][_0x46291a(0x7f2)]=window['obsstudio'][_0x46291a(0x88f)];try{_0x129b09=_0x2de54d['getOBSOptimization'](_0x129b09,_0x494795);}catch(_0x3e662f){errorlog(_0x3e662f),warnUser(_0x3e662f['message']);}}else _0x129b09['info'][_0x46291a(0x7f2)]=![];}else _0x129b09[_0x46291a(0xa22)][_0x46291a(0x7f2)]=![];}catch(_0x1c02cc){};_0x129b09[_0x46291a(0x4fd)]=![],_0x129b09[_0x46291a(0x33e)]=![],_0x129b09['director']=![],_0x129b09['limitaudio']=![],_0x129b09[_0x46291a(0x606)]=![];_0x2de54d[_0x46291a(0x5fc)]&&(_0x129b09[_0x46291a(0x684)]=!![]);_0x2de54d[_0x46291a(0x2cc)]&&(_0x129b09[_0x46291a(0x2cc)]=_0x2de54d[_0x46291a(0x2cc)]);_0x2de54d[_0x46291a(0x573)]&&(_0x129b09[_0x46291a(0x573)]=_0x2de54d['solo']);_0x2de54d[_0x46291a(0x5ff)]!==![]&&(_0x129b09[_0x46291a(0x5ff)]=_0x2de54d[_0x46291a(0x5ff)]);if(_0x2de54d[_0x46291a(0x473)]){_0x129b09[_0x46291a(0x473)]=!![],_0x129b09[_0x46291a(0x606)]=_0x2de54d[_0x46291a(0x606)];if(_0x2de54d[_0x46291a(0x4a6)]&&_0x2de54d['directorUUID']===_0x494795)_0x2de54d[_0x46291a(0x734)]();else{var _0x98405d={};_0x98405d[_0x46291a(0x3d6)]=[];for(var _0x4b2a94 in _0x2de54d[_0x46291a(0x5f8)]){_0x2de54d[_0x46291a(0x5f8)][_0x4b2a94][_0x46291a(0x494)]===!![]&&_0x98405d[_0x46291a(0x3d6)]['push'](_0x4b2a94);}_0x98405d[_0x46291a(0x3d6)][_0x46291a(0x3f2)]&&(_0x129b09['directorSettings']=_0x98405d);}if(_0x2de54d['roomTimer']&&_0x2de54d['roomTimer']>0x0)_0x129b09['setClock']=_0x2de54d[_0x46291a(0x747)]-Date[_0x46291a(0x9d3)]()/0x3e8,_0x129b09['showClock']=!![],_0x129b09[_0x46291a(0x2b5)]=!![];else _0x2de54d['roomTimer']&&_0x2de54d[_0x46291a(0x747)]<0x0&&(_0x129b09[_0x46291a(0x706)]=_0x2de54d[_0x46291a(0x747)]*-0x1,_0x129b09['showClock']=!![],_0x129b09['startClock']=!![],_0x129b09['pauseClock']=!![]);_0x2de54d[_0x46291a(0x3de)]&&(_0x129b09[_0x46291a(0x71d)]=!![]);}else{if(_0x2de54d[_0x46291a(0x33e)]!==![])_0x129b09['scene']=_0x2de54d[_0x46291a(0x33e)],_0x2de54d[_0x46291a(0x6c4)]&&(_0x129b09['showDirector']=_0x2de54d[_0x46291a(0x6c4)]);else _0x2de54d[_0x46291a(0x7a0)]!==![]&&_0x2de54d['roomid']!==''&&(_0x129b09[_0x46291a(0x606)]=_0x2de54d[_0x46291a(0x606)],_0x129b09[_0x46291a(0x4fd)]=!![]);}!_0x2de54d[_0x46291a(0x7a0)]&&(_0x2de54d[_0x46291a(0x241)]&&(playtone(![],_0x46291a(0x3fe)),showNotification(_0x46291a(0x980)))),_0x2de54d[_0x46291a(0x1f2)][_0x494795][_0x46291a(0x952)]=_0x129b09,_0x2de54d[_0x46291a(0x4d6)](_0x129b09,_0x494795)?log(_0x46291a(0x6d8)):errorlog(_0x46291a(0x249)),pokeIframeAPI('new-view-connection',!![],_0x494795),pokeIframeAPI(_0x46291a(0x36c),!![],_0x494795),pokeAPI('newViewConnection',_0x2de54d['rpcs'][_0x494795]['streamID']);},_0x2de54d[_0x363a17(0x1f2)][_0x494795][_0x363a17(0x68d)][_0x363a17(0x709)]=async _0xdf1fca=>{var _0x37b6f1=_0x363a17;if(typeof _0xdf1fca[_0x37b6f1(0x3cd)]=='object'){if(!_0x2de54d['rpcs'][_0x494795][_0x37b6f1(0x9df)]){_0x2de54d['rpcs'][_0x494795][_0x37b6f1(0x9df)]=document[_0x37b6f1(0x41e)](_0x37b6f1(0x803)),_0x2de54d[_0x37b6f1(0x1f2)][_0x494795][_0x37b6f1(0x9df)][_0x37b6f1(0x375)]=0x10,_0x2de54d[_0x37b6f1(0x1f2)][_0x494795][_0x37b6f1(0x9df)][_0x37b6f1(0x659)]=0x9,_0x2de54d[_0x37b6f1(0x1f2)][_0x494795][_0x37b6f1(0x9df)][_0x37b6f1(0x92c)][_0x37b6f1(0x78a)]=_0x37b6f1(0x7d7),_0x2de54d[_0x37b6f1(0x1f2)][_0x494795][_0x37b6f1(0x9df)][_0x37b6f1(0x608)][_0x37b6f1(0x840)]=_0x494795;try{_0x2de54d['rpcs'][_0x494795][_0x37b6f1(0x9df)][_0x37b6f1(0x608)]['sid']=_0x2de54d[_0x37b6f1(0x1f2)][_0x494795][_0x37b6f1(0x6ba)];}catch(_0xb50455){}_0x2de54d[_0x37b6f1(0x1f2)][_0x494795]['imageElement'][_0x37b6f1(0x548)]=![],_0x2de54d[_0x37b6f1(0x1f2)][_0x494795][_0x37b6f1(0x9df)][_0x37b6f1(0x78b)]('click',function(_0x3edc75){var _0x212c60=_0x37b6f1;log(_0x212c60(0x8f0));try{if(_0x3edc75[_0x212c60(0x318)]||_0x3edc75[_0x212c60(0x520)]){_0x3edc75[_0x212c60(0x554)]();var _0xc30772=_0x3edc75[_0x212c60(0x9ca)][_0x212c60(0x608)][_0x212c60(0x840)];if(_0x212c60(0x653)in _0x2de54d[_0x212c60(0x1f2)][_0xc30772]){var [_0x11ea1f,_0x2899ff]=statsMenuCreator();printViewStats(_0x2899ff,_0xc30772),_0x11ea1f[_0x212c60(0x829)]=setInterval(printViewStats,_0x2de54d['statsInterval'],_0x2899ff,_0xc30772);}return _0x3edc75[_0x212c60(0x53b)](),![];}}catch(_0x21d8e4){errorlog(_0x21d8e4);}}),updateMixer();}else _0x2de54d[_0x37b6f1(0x1f2)][_0x494795][_0x37b6f1(0x9df)]['hidden']&&(_0x2de54d[_0x37b6f1(0x1f2)][_0x494795][_0x37b6f1(0x9df)]['hidden']=![],_0x2de54d[_0x37b6f1(0x1f2)][_0x494795][_0x37b6f1(0x9df)][_0x37b6f1(0x92c)][_0x37b6f1(0x954)]=_0x37b6f1(0x4f6));_0x2de54d[_0x37b6f1(0x1f2)][_0x494795][_0x37b6f1(0x9df)][_0x37b6f1(0x89a)]=window[_0x37b6f1(0x475)][_0x37b6f1(0x4e0)](new Blob([new Uint8Array(_0xdf1fca[_0x37b6f1(0x3cd)])],{'type':_0x37b6f1(0xa27)}));return;}try{var _0x242774=JSON['parse'](_0xdf1fca[_0x37b6f1(0x3cd)]);}catch(_0x171b31){_0x242774=_0x171b31[_0x37b6f1(0x3cd)];}_0x242774[_0x37b6f1(0x840)]=_0x494795,_0x37b6f1(0xa29)in _0x242774?await _0x2de54d[_0x37b6f1(0x7a6)](_0x242774,_0x494795+_0x37b6f1(0x6d7)):await _0x2de54d[_0x37b6f1(0x7a6)](_0x242774,_0x494795);},_0x2de54d[_0x363a17(0x7a6)]=async function(_0x153bbb,_0x2d2a8b){var _0x940ce1=_0x363a17;if(_0x940ce1(0x452)in _0x153bbb){warnlog(_0x940ce1(0x302)),_0x2de54d[_0x940ce1(0x31e)](_0x2d2a8b,!![]);return;}else{if(_0x940ce1(0x65f)in _0x153bbb){var _0x946e84={};_0x946e84[_0x940ce1(0x64f)]=_0x153bbb['ping'],_0x2de54d[_0x940ce1(0x4d6)](_0x946e84,_0x2d2a8b),warnlog(_0x940ce1(0x4c0));return;}else{if(_0x940ce1(0x64f)in _0x153bbb){warnlog(_0x940ce1(0x301));return;}}}var _0x4b25bf=![],_0x4ea231=![];if('rejected'in _0x153bbb){if(_0x2de54d[_0x940ce1(0x473)])!_0x2de54d[_0x940ce1(0x602)]&&warnUser('The\x20request\x20('+_0x153bbb[_0x940ce1(0x376)]+_0x940ce1(0x243),0x1388);else!_0x2de54d['cleanOutput']&&(_0x2de54d['remote']?warnUser(_0x940ce1(0x3c6),0x1388):warnUser(_0x940ce1(0x3ca),0x1388));errorlog('ACTION\x20REJECTED:\x20'+_0x153bbb[_0x940ce1(0x376)]+_0x940ce1(0x7e5)+_0x2de54d[_0x940ce1(0x473)]);}if(_0x940ce1(0x4b8)in _0x153bbb)_0x2de54d[_0x940ce1(0x517)](_0x153bbb);else{if(_0x940ce1(0x9bf)in _0x153bbb)_0x153bbb['UUID']=_0x2d2a8b,log(_0x940ce1(0x7b5)),_0x2de54d[_0x940ce1(0x61b)](_0x153bbb);else _0x940ce1(0x492)in _0x153bbb&&(_0x153bbb[_0x940ce1(0x840)]=_0x2d2a8b,log(_0x940ce1(0x2bd)),_0x2de54d[_0x940ce1(0xa28)](_0x153bbb));}if(_0x940ce1(0x46e)in _0x153bbb)try{_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['iframeSrc']=_0x153bbb['iframeSrc']||![];if(_0x2de54d[_0x940ce1(0x473)]){if(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x46e)]){var _0x15d2f7=document[_0x940ce1(0x41e)]('div');_0x15d2f7['innerText']=_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x46e)],_0x15d2f7['innerText']=_0x15d2f7[_0x940ce1(0xa58)],_0x15d2f7=_0x15d2f7[_0x940ce1(0x777)]||_0x15d2f7['innerText']||'',getById('iframeDetails_'+_0x2d2a8b)['innerHTML']='Shared\x20website:\x20'+_0x15d2f7+_0x940ce1(0x6af),getById(_0x940ce1(0x23b)+_0x2d2a8b)['classList']['remove']('hidden');}else getById('iframeDetails_'+_0x2d2a8b)['classList'][_0x940ce1(0x6bd)](_0x940ce1(0x548)),getById('iframeDetails_'+_0x2d2a8b)[_0x940ce1(0x794)]='';}else{if(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x46e)]==![]){try{_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['iframeEle']['remove']();}catch(_0x3041b4){errorlog(_0x3041b4);}_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x59b)]&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x59b)][_0x940ce1(0x949)](),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x59b)]=![]);_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9fc)]=![],_0x4b25bf=!![];if(_0x2de54d[_0x940ce1(0x69d)]!==![]){if(_0x2de54d[_0x940ce1(0x69d)]!==null)_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6ba)]===_0x2de54d[_0x940ce1(0x69d)]&&(_0x2de54d[_0x940ce1(0x71b)]=![]);else _0x2d2a8b==_0x2de54d['directorUUID']&&(_0x2de54d[_0x940ce1(0x71b)]=![]);}}else{if(_0x2de54d[_0x940ce1(0x69d)]!==![]){if(_0x2de54d['broadcast']!==null){if(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6ba)]===_0x2de54d[_0x940ce1(0x69d)]){if(_0x2de54d[_0x940ce1(0x442)]===![])_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9fc)]=loadIframe(_0x153bbb[_0x940ce1(0x46e)],_0x2d2a8b),_0x4b25bf=!![],_0x2de54d['broadcastIFrame']=_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9fc)],_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x6ba)]&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9fc)][_0x940ce1(0x608)][_0x940ce1(0x5bd)]=_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6ba)]);else _0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['streamID']in _0x2de54d['noiframe']&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9fc)]=loadIframe(_0x153bbb[_0x940ce1(0x46e)],_0x2d2a8b),_0x4b25bf=!![],_0x2de54d[_0x940ce1(0x71b)]=_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9fc)],_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['streamID']&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['iframeEle'][_0x940ce1(0x608)][_0x940ce1(0x5bd)]=_0x2de54d['rpcs'][_0x2d2a8b]['streamID']));}}else{if(_0x2de54d['directorUUID']){if(_0x2d2a8b==_0x2de54d[_0x940ce1(0x4a6)]){if(_0x2de54d[_0x940ce1(0x442)]===![])_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9fc)]=loadIframe(_0x153bbb[_0x940ce1(0x46e)],_0x2d2a8b),_0x4b25bf=!![],_0x2de54d[_0x940ce1(0x71b)]=_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x9fc)],_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6ba)]&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9fc)]['dataset'][_0x940ce1(0x5bd)]=_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6ba)]);else _0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6ba)]in _0x2de54d[_0x940ce1(0x442)]&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9fc)]=loadIframe(_0x153bbb[_0x940ce1(0x46e)],_0x2d2a8b),_0x4b25bf=!![],_0x2de54d['broadcastIFrame']=_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9fc)],_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['streamID']&&(_0x2de54d['rpcs'][_0x2d2a8b]['iframeEle']['dataset']['sid']=_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['streamID']));}}}}else{if(_0x2de54d[_0x940ce1(0x442)]===![])_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9fc)]=loadIframe(_0x153bbb[_0x940ce1(0x46e)],_0x2d2a8b),_0x4b25bf=!![],_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6ba)]&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9fc)][_0x940ce1(0x608)][_0x940ce1(0x5bd)]=_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x6ba)]);else _0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6ba)]in _0x2de54d[_0x940ce1(0x442)]&&(_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x9fc)]=loadIframe(_0x153bbb[_0x940ce1(0x46e)],_0x2d2a8b),_0x4b25bf=!![],_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6ba)]&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9fc)]['dataset']['sid']=_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x6ba)]));}}}}catch(_0x3bbd32){errorlog(_0x3bbd32);}else{if('ifs'in _0x153bbb){if(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9fc)])try{_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x46e)][_0x940ce1(0x471)](_0x940ce1(0x3ec))&&processIframeSyncUpdates(_0x153bbb[_0x940ce1(0x944)],_0x2d2a8b);}catch(_0x1ee674){errorlog(_0x1ee674);}}}if(_0x940ce1(0x7eb)in _0x153bbb)try{_0x153bbb=await _0x2de54d['decodeRemote'](_0x153bbb);if(!_0x153bbb)return;}catch(_0x3458f6){errorlor(_0x3458f6);}_0x940ce1(0x644)in _0x153bbb&&processOBSCommand(_0x153bbb);if(_0x940ce1(0x905)in _0x153bbb){var _0xb6d74b=![],_0x13df0e=![];_0x2de54d[_0x940ce1(0x4a6)]===_0x2d2a8b&&(_0xb6d74b=!![],_0x940ce1(0x8fd)in _0x153bbb&&(_0x153bbb[_0x940ce1(0x8fd)]==!![]&&(_0x13df0e=!![])));if(_0x2de54d[_0x940ce1(0x473)]){if(_0x153bbb[_0x940ce1(0x905)]=='Raised\x20hand')_0x2de54d[_0x940ce1(0x241)]&&playtone(),getById(_0x940ce1(0x273)+_0x2d2a8b)[_0x940ce1(0x92c)][_0x940ce1(0x80a)]=_0x940ce1(0x600),_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x307)]['style'][_0x940ce1(0x80a)]=_0x940ce1(0x4f2);else _0x153bbb[_0x940ce1(0x905)]==_0x940ce1(0x726)&&(getById(_0x940ce1(0x273)+_0x2d2a8b)[_0x940ce1(0x92c)][_0x940ce1(0x80a)]=_0x940ce1(0x95e),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x307)][_0x940ce1(0x92c)]['display']=_0x940ce1(0x95e));}log('isDirector\x20'+_0xb6d74b),getChatMessage(_0x153bbb['chat'],_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x3df)],_0xb6d74b,_0x13df0e);}_0x940ce1(0x97a)in _0x153bbb&&_0x2de54d[_0x940ce1(0x3fd)](_0x153bbb[_0x940ce1(0x97a)],_0x2d2a8b);_0x940ce1(0x83c)in _0x153bbb&&(_0x2de54d[_0x940ce1(0x6a4)]=_0x153bbb['autoSync'],_0x2de54d[_0x940ce1(0x824)](_0x2d2a8b));'effectsData'in _0x153bbb&&log(_0x153bbb);if('group'in _0x153bbb){log(_0x153bbb);_0x153bbb[_0x940ce1(0x586)]?_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x586)]=_0x153bbb[_0x940ce1(0x586)][_0x940ce1(0x534)](','):_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x586)]=[];log(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]),_0x4b25bf=!![];if(_0x2de54d[_0x940ce1(0x473)]&&_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6ba)])try{syncGroup(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x586)],_0x2d2a8b);}catch(_0x255e1e){errorlog(_0x255e1e);}pokeIframeAPI('remote-group-change',_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x586)],_0x2d2a8b);}_0x940ce1(0x97b)in _0x153bbb&&(log(_0x153bbb),_0x2de54d[_0x940ce1(0x9b5)]&&updateClosedCaptions(_0x153bbb,_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x3df)],_0x2d2a8b));_0x940ce1(0xa3e)in _0x153bbb&&_0x153bbb[_0x940ce1(0xa3e)]!==![]&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x3dc)]=_0x153bbb[_0x940ce1(0xa3e)]);_0x2de54d[_0x940ce1(0x473)]&&(_0x940ce1(0x9ae)in _0x153bbb&&updateDirectorsAudio(_0x153bbb['audioOptions'],_0x2d2a8b),_0x940ce1(0x6c2)in _0x153bbb&&gotDevicesRemote(_0x153bbb[_0x940ce1(0x6c2)],_0x2d2a8b),_0x940ce1(0x800)in _0x153bbb&&updateDirectorsVideo(_0x153bbb[_0x940ce1(0x800)],_0x2d2a8b),_0x940ce1(0x3d7)in _0x153bbb&&updateRemoteRecordButton(_0x2d2a8b,_0x153bbb[_0x940ce1(0x3d7)]),_0x940ce1(0x83a)in _0x153bbb&&updateRemoteTimerButton(_0x2d2a8b,_0x153bbb['timer']));_0x940ce1(0x2d4)in _0x153bbb&&meshcastWatch(_0x2d2a8b,_0x153bbb['meshcast']);_0x940ce1(0x53e)in _0x153bbb&&(_0x2de54d[_0x940ce1(0x9c0)]['indexOf'](_0x2d2a8b)>=0x0&&(_0x2de54d[_0x940ce1(0x7a3)]&&lowerhand()));'layout'in _0x153bbb&&(_0x2de54d['directorList'][_0x940ce1(0x300)](_0x2d2a8b)>=0x0&&(_0x2de54d['layout']=_0x153bbb[_0x940ce1(0x2d5)],pokeIframeAPI(_0x940ce1(0x8d2),_0x2de54d[_0x940ce1(0x2d5)]),_0x4b25bf=!![]));if(_0x940ce1(0x7df)in _0x153bbb){if(_0x2de54d['broadcast']===![]){log(_0x153bbb);if(_0x2de54d[_0x940ce1(0x9c0)][_0x940ce1(0x300)](_0x2d2a8b)>=0x0){if(_0x153bbb[_0x940ce1(0x7df)]!==![]){if(_0x153bbb[_0x940ce1(0x7df)]===_0x2de54d[_0x940ce1(0x6ba)])_0x2de54d['infocus']=!![];else{if(_0x2de54d[_0x940ce1(0x92d)][_0x940ce1(0x3f2)]&&!(_0x153bbb[_0x940ce1(0x7df)]in _0x2de54d[_0x940ce1(0x92d)]))warnlog('NOT\x20IN\x20VIEW\x20SET'),_0x2de54d[_0x940ce1(0x7df)]=![];else{if(_0x2de54d['view']&&_0x2de54d[_0x940ce1(0x91a)]!==_0x153bbb[_0x940ce1(0x7df)])warnlog(_0x940ce1(0x411)),_0x2de54d[_0x940ce1(0x7df)]=![];else{if(_0x2de54d['scene']!==![]&&_0x2de54d[_0x940ce1(0x4a6)]&&_0x2de54d[_0x940ce1(0x4a6)]in _0x2de54d[_0x940ce1(0x1f2)]&&!_0x2de54d['rpcs'][_0x2de54d['directorUUID']][_0x940ce1(0x6c4)]&&_0x153bbb[_0x940ce1(0x7df)]===_0x2de54d[_0x940ce1(0x1f2)][_0x2de54d['directorUUID']]['streamID'])warnlog('not\x20allowed\x20to\x20show\x20the\x20director'),_0x2de54d[_0x940ce1(0x7df)]=![];else{for(var _0x3dbbef in _0x2de54d[_0x940ce1(0x1f2)]){if(_0x2de54d[_0x940ce1(0x1f2)][_0x3dbbef]['streamID']===_0x153bbb[_0x940ce1(0x7df)]){_0x2de54d[_0x940ce1(0x7df)]=_0x3dbbef;break;}}warnlog(_0x940ce1(0x910));}}}}}else _0x2de54d[_0x940ce1(0x7df)]=![];_0x4b25bf=!![],_0x4ea231=!![];}}}_0x940ce1(0x511)in _0x153bbb&&(log(_0x153bbb),_0x2de54d['rpcs'][_0x2d2a8b]['stats'][_0x940ce1(0x511)]=_0x153bbb[_0x940ce1(0x511)],isIFrame&&parent[_0x940ce1(0x460)]({'sensors':_0x153bbb[_0x940ce1(0x511)]},_0x2de54d[_0x940ce1(0x5e2)]));'midi'in _0x153bbb&&playbackMIDI(_0x153bbb[_0x940ce1(0x9d8)]);_0x940ce1(0x9c9)in _0x153bbb&&_0x153bbb[_0x940ce1(0x9c9)]&&addDownloadLink(_0x153bbb[_0x940ce1(0x9c9)],_0x2d2a8b,_0x2de54d[_0x940ce1(0x1f2)]);'rotate_video'in _0x153bbb&&(_0x2de54d['rpcs'][_0x2d2a8b]['rotate']!=_0x153bbb['rotate_video']&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x21b)]=_0x153bbb['rotate_video'],_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6b9)]&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6b9)][_0x940ce1(0x69a)]=_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x21b)]),_0x4b25bf=!![]));if('info'in _0x153bbb){warnlog(_0x153bbb),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x653)][_0x940ce1(0xa22)]=_0x153bbb[_0x940ce1(0xa22)];_0x153bbb[_0x940ce1(0xa22)][_0x940ce1(0x83c)]&&(!_0x2de54d[_0x940ce1(0x6a4)]&&(_0x2de54d[_0x940ce1(0x6a4)]=_0x153bbb[_0x940ce1(0xa22)][_0x940ce1(0x83c)],_0x2de54d['autoSyncCallback'](_0x2d2a8b)));if(_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x5c8)]){if(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['stats']['info'][_0x940ce1(0x3b1)])_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x5c8)]['dataset'][_0x940ce1(0x807)]='1';else _0x940ce1(0x3b1)in _0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x653)]['info']&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x5c8)][_0x940ce1(0x608)][_0x940ce1(0x807)]='0');}_0x940ce1(0x5b8)in _0x153bbb[_0x940ce1(0xa22)]&&(_0x153bbb['info'][_0x940ce1(0x5b8)]!==![]?(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x496)]=_0x153bbb[_0x940ce1(0xa22)][_0x940ce1(0x5b8)],_0x2de54d['obsStateSync'](_0x940ce1(0x5ba),_0x2d2a8b)):_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x496)]=![]);if(_0x940ce1(0x3df)in _0x153bbb[_0x940ce1(0xa22)]){typeof _0x153bbb['info'][_0x940ce1(0x3df)]==_0x940ce1(0x33f)?_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x3df)]=sanitizeLabel(_0x153bbb[_0x940ce1(0xa22)][_0x940ce1(0x3df)]):_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x3df)]=![];applyStyleEffect(_0x2d2a8b);if(_0x2de54d[_0x940ce1(0x473)]){var _0x3c17c2=getById(_0x940ce1(0x43c)+_0x2d2a8b);if(_0x3c17c2){_0x3c17c2[_0x940ce1(0x92c)][_0x940ce1(0x822)]='left',_0x3c17c2[_0x940ce1(0x92c)]['top']=_0x940ce1(0x86b),_0x3c17c2[_0x940ce1(0x92c)][_0x940ce1(0xa26)]='5px',_0x3c17c2[_0x940ce1(0x92c)]['position']=_0x940ce1(0x5ae),_0x3c17c2['style']['cursor']=_0x940ce1(0x6c7),_0x3c17c2['dataset'][_0x940ce1(0x840)]=_0x2d2a8b;if(_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x3df)])_0x3c17c2[_0x940ce1(0x794)]=_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['label'],_0x3c17c2['classList'][_0x940ce1(0x949)]('addALabel');else _0x2de54d[_0x940ce1(0x4a6)]===_0x2d2a8b?(_0x3c17c2[_0x940ce1(0x794)]=miscTranslations[_0x940ce1(0x6c9)],_0x3c17c2[_0x940ce1(0x571)][_0x940ce1(0x949)](_0x940ce1(0x202))):(_0x3c17c2[_0x940ce1(0x794)]=miscTranslations[_0x940ce1(0x39a)],_0x3c17c2['classList'][_0x940ce1(0x6bd)]('addALabel'));_0x3c17c2[_0x940ce1(0x8ce)]=async function(_0x26c275){var _0x29e143=_0x940ce1,_0x39a6f4=_0x26c275[_0x29e143(0x2dc)][_0x29e143(0x794)];_0x2de54d[_0x29e143(0x1f2)][_0x26c275[_0x29e143(0x2dc)][_0x29e143(0x608)][_0x29e143(0x840)]][_0x29e143(0x3df)]===![]&&(_0x39a6f4='');window['focus']();var _0x1b9608=await promptAlt(miscTranslations[_0x29e143(0x7b4)],![],![],_0x39a6f4);if(_0x1b9608!==null){_0x1b9608==''?(_0x1b9608=![],_0x2de54d['directorUUID']===_0x2d2a8b?(_0x26c275[_0x29e143(0x2dc)]['innerText']=miscTranslations[_0x29e143(0x6c9)],_0x26c275[_0x29e143(0x2dc)][_0x29e143(0x571)][_0x29e143(0x949)](_0x29e143(0x202))):(_0x26c275[_0x29e143(0x2dc)][_0x29e143(0x794)]=miscTranslations['add-a-label'],_0x26c275['target'][_0x29e143(0x571)][_0x29e143(0x6bd)](_0x29e143(0x202)))):(_0x26c275[_0x29e143(0x2dc)][_0x29e143(0x794)]=_0x1b9608,_0x26c275[_0x29e143(0x2dc)]['classList'][_0x29e143(0x949)](_0x29e143(0x202)));var _0x25376a={};_0x25376a[_0x29e143(0x840)]=_0x26c275['target'][_0x29e143(0x608)][_0x29e143(0x840)],_0x25376a[_0x29e143(0x70c)]=!![],_0x25376a[_0x29e143(0x9d6)]=_0x1b9608,_0x2de54d[_0x29e143(0x4d6)](_0x25376a,_0x25376a[_0x29e143(0x840)]);}};}}}if('order'in _0x153bbb[_0x940ce1(0xa22)]){_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x53c)]=parseInt(_0x153bbb[_0x940ce1(0xa22)][_0x940ce1(0x53c)])||0x0;if(_0x2de54d[_0x940ce1(0x473)]){var _0x212af6=document['querySelectorAll'](_0x940ce1(0x435)+_0x2d2a8b+'\x22]');_0x212af6[0x0]&&(_0x212af6[0x0]['innerText']=_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x53c)]);}}else _0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x53c)]=0x0;if(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x2f7)]){if(_0x940ce1(0x310)in _0x153bbb['info']){if(_0x153bbb[_0x940ce1(0xa22)][_0x940ce1(0x310)]!==null){var _0x428d5b=_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x2f7)][_0x940ce1(0x715)](_0x940ce1(0x96a));if(_0x428d5b){var _0x1ca330=parseInt(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x653)][_0x940ce1(0xa22)]['power_level'])||0x0;_0x1ca330>0x64&&(_0x1ca330=0x64);_0x1ca330<0x0&&(_0x1ca330=0x0);_0x428d5b[_0x940ce1(0x92c)]['height']=parseInt(_0x1ca330)+'%';if(_0x1ca330<0xa)_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x2f7)][_0x940ce1(0x571)]['remove']('warn'),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x2f7)][_0x940ce1(0x571)]['add'](_0x940ce1(0x762));else _0x1ca330<0x19?(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['batteryMeter'][_0x940ce1(0x571)]['remove'](_0x940ce1(0x762)),_0x2de54d['rpcs'][_0x2d2a8b]['batteryMeter']['classList'][_0x940ce1(0x6bd)]('warn')):(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x2f7)][_0x940ce1(0x571)][_0x940ce1(0x949)](_0x940ce1(0x762)),_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x2f7)][_0x940ce1(0x571)][_0x940ce1(0x949)](_0x940ce1(0xa21)));_0x1ca330<0x64&&_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x2f7)]['classList'][_0x940ce1(0x949)](_0x940ce1(0x548)),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['batteryMeter'][_0x940ce1(0x693)]=_0x1ca330+_0x940ce1(0x52a);}}}'plugged_in'in _0x153bbb['info']&&(_0x153bbb['info'][_0x940ce1(0x352)]===![]?(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x2f7)][_0x940ce1(0x608)][_0x940ce1(0x5de)]='0',_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['batteryMeter'][_0x940ce1(0x571)][_0x940ce1(0x949)](_0x940ce1(0x548))):_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x2f7)][_0x940ce1(0x608)]['plugged']='1');}if('initial_group'in _0x153bbb[_0x940ce1(0xa22)]){_0x153bbb[_0x940ce1(0xa22)]['initial_group']?_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['group']=_0x153bbb[_0x940ce1(0xa22)]['initial_group']['split'](','):_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x586)]=[];if(_0x2de54d['director']){var _0x212af6=document[_0x940ce1(0x880)](_0x940ce1(0x7fe)+_0x2d2a8b+'\x22]');for(var _0xa75e28=0x0;_0xa75e28<_0x212af6['length'];_0xa75e28++){_0x212af6[_0xa75e28][_0x940ce1(0x571)][_0x940ce1(0x949)](_0x940ce1(0x648));for(var _0x512e11=0x0;_0x512e11<_0x2de54d['rpcs'][_0x2d2a8b]['group']['length'];_0x512e11++){_0x212af6[_0xa75e28]['dataset'][_0x940ce1(0x586)]===_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x586)][_0x512e11]&&_0x212af6[_0xa75e28][_0x940ce1(0x571)][_0x940ce1(0x6bd)](_0x940ce1(0x648));}}_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x586)][_0x940ce1(0x3f2)]&&syncGroup(_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x586)],_0x2d2a8b);}else _0x4b25bf=!![];}_0x940ce1(0x381)in _0x153bbb['info']&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x439)]=_0x153bbb[_0x940ce1(0xa22)][_0x940ce1(0x381)],_0x2de54d['scene']===![]&&(_0x2de54d[_0x940ce1(0x7a0)]&&((!_0x2de54d[_0x940ce1(0x602)]||_0x2de54d['director'])&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x52f)]?_0x2de54d['rpcs'][_0x2d2a8b]['remoteMuteState']?_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x52f)][_0x940ce1(0x92c)][_0x940ce1(0x80a)]=_0x940ce1(0x600):_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x52f)]['style'][_0x940ce1(0x80a)]=_0x940ce1(0x95e):(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['remoteMuteElement']=getById(_0x940ce1(0x607))[_0x940ce1(0x7ac)](!![]),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['remoteMuteElement']['id']=_0x940ce1(0x5a9)+_0x2d2a8b,_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x439)]?_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['remoteMuteElement'][_0x940ce1(0x92c)]['display']='block':_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x52f)][_0x940ce1(0x92c)]['display']=_0x940ce1(0x95e),_0x4b25bf=!![])))),pokeIframeAPI(_0x940ce1(0x4b5),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['remoteMuteState'],_0x2d2a8b));if(_0x2de54d[_0x940ce1(0x473)]){if(_0x940ce1(0x55a)in _0x153bbb[_0x940ce1(0xa22)]){if(_0x153bbb[_0x940ce1(0xa22)][_0x940ce1(0x55a)]==![]){var _0x212af6=document[_0x940ce1(0x880)](_0x940ce1(0x61e)+_0x2d2a8b+'\x22]');_0x212af6[0x0]&&(_0x212af6[0x0]['disabled']=!![],_0x212af6[0x0][_0x940ce1(0x693)]=miscTranslations[_0x940ce1(0x8ab)]);var _0x212af6=document['querySelectorAll'](_0x940ce1(0x935)+_0x2d2a8b+'\x22]');_0x212af6[0x0]&&(_0x212af6[0x0][_0x940ce1(0x65a)]=!![],_0x212af6[0x0][_0x940ce1(0x693)]=title=miscTranslations[_0x940ce1(0x8ab)],_0x212af6[0x0][_0x940ce1(0x92c)][_0x940ce1(0x8a5)]=0.2);}}if(_0x940ce1(0x8f2)in _0x153bbb[_0x940ce1(0xa22)]){if(_0x153bbb[_0x940ce1(0xa22)][_0x940ce1(0x8f2)]!==![]){var _0x552441=parseInt(_0x153bbb[_0x940ce1(0xa22)][_0x940ce1(0x8f2)])||0x0;if(_0x552441===0x0){var _0x212af6=document[_0x940ce1(0x880)](_0x940ce1(0x61e)+_0x2d2a8b+'\x22]');_0x212af6[0x0]&&(_0x212af6[0x0][_0x940ce1(0x9d6)]=0x1,_0x212af6[0x0][_0x940ce1(0x797)]='pressed',_0x212af6[0x0]['children'][0x1]['innerHTML']=miscTranslations[_0x940ce1(0x422)],_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x537)]=0x1),pokeIframeAPI('director-mute-state',!![],_0x2d2a8b);}else{var _0x212af6=document[_0x940ce1(0x880)](_0x940ce1(0x935)+_0x2d2a8b+'\x22]');_0x212af6[0x0]&&(_0x212af6[0x0][_0x940ce1(0x9d6)]=_0x552441,_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x8e0)]=_0x552441,remoteVolumeUI(_0x212af6[0x0]));}}}_0x940ce1(0x63b)in _0x153bbb[_0x940ce1(0xa22)]&&(_0x153bbb['info']['directorSpeakerMuted']&&updateRemoteSpeakerMute(_0x2d2a8b)),_0x940ce1(0x8c4)in _0x153bbb['info']&&(_0x153bbb['info'][_0x940ce1(0x8c4)]&&updateRemoteDisplayMute(_0x2d2a8b));}_0x940ce1(0x87b)in _0x153bbb[_0x940ce1(0xa22)]&&(_0x2de54d[_0x940ce1(0x473)]?_0x153bbb[_0x940ce1(0xa22)][_0x940ce1(0x87b)]&&updateDirectorVideoMute(_0x2d2a8b):(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x87b)]=_0x153bbb[_0x940ce1(0xa22)]['directorVideoMuted'],_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x87b)]&&(_0x2d2a8b in _0x2de54d[_0x940ce1(0x1f2)]&&_0x2de54d[_0x940ce1(0x466)](0x0,_0x2d2a8b))));_0x940ce1(0x80d)in _0x153bbb['info']&&(_0x2de54d['rpcs'][_0x2d2a8b]['videoMuted']=_0x153bbb['info'][_0x940ce1(0x80d)],_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x556)]&&(_0x2de54d['director']&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x37f)][_0x940ce1(0x92c)][_0x940ce1(0x80a)]=_0x940ce1(0x600))),pokeIframeAPI(_0x940ce1(0x45f),_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x556)],_0x2d2a8b));'rotate_video'in _0x153bbb['info']&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x21b)]!=_0x153bbb[_0x940ce1(0xa22)][_0x940ce1(0x54e)]&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x21b)]=_0x153bbb[_0x940ce1(0xa22)][_0x940ce1(0x54e)],_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x6b9)]&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6b9)][_0x940ce1(0x69a)]=_0x2de54d['rpcs'][_0x2d2a8b]['rotate']),_0x4b25bf=!![]));_0x940ce1(0x43e)in _0x153bbb[_0x940ce1(0xa22)]&&(_0x153bbb['info'][_0x940ce1(0x43e)]===![]&&document['querySelectorAll'](_0x940ce1(0x437)+_0x2d2a8b)['forEach'](_0x1c9f64=>{var _0x48f730=_0x940ce1;_0x1c9f64[_0x48f730(0x880)](_0x48f730(0x72f))[_0x48f730(0x374)](_0x1ee802=>{var _0x2a34dc=_0x48f730,_0x310237=soloLinkGenerator(_0x2de54d[_0x2a34dc(0x1f2)][_0x2d2a8b][_0x2a34dc(0x6ba)],![]);_0x1ee802['value']=_0x310237,_0x1ee802['href']=_0x310237,_0x1ee802[_0x2a34dc(0x794)]=_0x310237;});}));if(_0x2d2a8b===_0x2de54d[_0x940ce1(0x4a6)])try{_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x653)]['info'][_0x940ce1(0x473)]=!![],getById('container_'+_0x2d2a8b)[_0x940ce1(0x571)][_0x940ce1(0x6bd)](_0x940ce1(0x997));}catch(_0x30bd5f){}else{if(_0x2de54d[_0x940ce1(0x9c0)][_0x940ce1(0x300)](_0x2d2a8b)>=0x0)try{_0x2de54d['rpcs'][_0x2d2a8b]['stats']['info'][_0x940ce1(0x494)]=!![],getById(_0x940ce1(0x437)+_0x2d2a8b)['classList'][_0x940ce1(0x6bd)](_0x940ce1(0xa0a));}catch(_0x26e9d4){}}_0x4ea231=!![],pokeAPI('details',getDetailedState(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6ba)])),pokeIframeAPI('view-connection-info',_0x153bbb[_0x940ce1(0xa22)],_0x2d2a8b);}if(_0x940ce1(0x59f)in _0x153bbb){if(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x653)]&&_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x653)][_0x940ce1(0xa22)]){_0x940ce1(0x589)in _0x153bbb['miniInfo']&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x653)]['info'][_0x940ce1(0x891)]=_0x153bbb[_0x940ce1(0x59f)][_0x940ce1(0x589)]);'con'in _0x153bbb[_0x940ce1(0x59f)]&&(_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x653)]['info'][_0x940ce1(0x5eb)]=_0x153bbb[_0x940ce1(0x59f)][_0x940ce1(0xa23)]);if(_0x940ce1(0x807)in _0x153bbb[_0x940ce1(0x59f)]){_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x653)][_0x940ce1(0xa22)]['cpuLimited']=_0x153bbb['miniInfo'][_0x940ce1(0x807)];if(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x5c8)]){if(_0x153bbb[_0x940ce1(0x59f)]['cpu'])_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x5c8)]['dataset'][_0x940ce1(0x807)]='1';else _0x940ce1(0x807)in _0x153bbb[_0x940ce1(0x59f)]&&(_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x5c8)][_0x940ce1(0x608)][_0x940ce1(0x807)]='0');}}_0x940ce1(0x3d4)in _0x153bbb['miniInfo']&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x653)][_0x940ce1(0xa22)][_0x940ce1(0x75b)]=_0x153bbb['miniInfo']['hw_enc']);_0x940ce1(0x7e8)in _0x153bbb['miniInfo']&&(typeof _0x153bbb[_0x940ce1(0x59f)][_0x940ce1(0x7e8)]=='number'?_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x653)][_0x940ce1(0xa22)][_0x940ce1(0x310)]=_0x153bbb[_0x940ce1(0x59f)]['bat']*0x64:_0x2de54d['rpcs'][_0x2d2a8b]['stats'][_0x940ce1(0xa22)][_0x940ce1(0x310)]=null);_0x940ce1(0x33b)in _0x153bbb[_0x940ce1(0x59f)]&&(_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x653)][_0x940ce1(0xa22)][_0x940ce1(0x352)]=_0x153bbb[_0x940ce1(0x59f)][_0x940ce1(0x33b)]);_0x940ce1(0x892)in _0x153bbb[_0x940ce1(0x59f)]&&'c'in _0x153bbb[_0x940ce1(0x59f)]['out']&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['stats'][_0x940ce1(0xa22)][_0x940ce1(0x888)]=_0x153bbb['miniInfo']['out']['c'],_0x2de54d[_0x940ce1(0xa51)]&&_0x2de54d['rpcs'][_0x2d2a8b]['connectionDetails']&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x99c)]['innerText']='🔗'+_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x653)][_0x940ce1(0xa22)][_0x940ce1(0x888)],_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x99c)][_0x940ce1(0x608)][_0x940ce1(0x9d6)]=_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x653)][_0x940ce1(0xa22)][_0x940ce1(0x888)]));if(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x2f7)]){if(_0x2de54d['rpcs'][_0x2d2a8b]['stats'][_0x940ce1(0xa22)]&&_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['stats'][_0x940ce1(0xa22)][_0x940ce1(0x310)]!==null){var _0x428d5b=_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x2f7)][_0x940ce1(0x715)](_0x940ce1(0x96a));if(_0x428d5b){var _0x1ca330=_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['stats'][_0x940ce1(0xa22)][_0x940ce1(0x310)];_0x1ca330>0x64&&(_0x1ca330=0x64);_0x1ca330<0x0&&(_0x1ca330=0x0);_0x428d5b[_0x940ce1(0x92c)][_0x940ce1(0x659)]=parseInt(_0x1ca330)+'%';if(_0x1ca330<0xa)_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x2f7)][_0x940ce1(0x571)][_0x940ce1(0x949)]('warn'),_0x2de54d['rpcs'][_0x2d2a8b]['batteryMeter'][_0x940ce1(0x571)][_0x940ce1(0x6bd)](_0x940ce1(0x762));else _0x1ca330<0x19?(_0x2de54d['rpcs'][_0x2d2a8b]['batteryMeter'][_0x940ce1(0x571)][_0x940ce1(0x949)](_0x940ce1(0x762)),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['batteryMeter'][_0x940ce1(0x571)][_0x940ce1(0x6bd)]('warn')):(_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x2f7)][_0x940ce1(0x571)]['remove'](_0x940ce1(0x762)),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x2f7)][_0x940ce1(0x571)][_0x940ce1(0x949)](_0x940ce1(0xa21)));_0x1ca330<0x64&&_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['batteryMeter']['classList'][_0x940ce1(0x949)](_0x940ce1(0x548)),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x2f7)][_0x940ce1(0x693)]=_0x1ca330+_0x940ce1(0x52a);}}_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x653)]['info']&&_0x940ce1(0x352)in _0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x653)][_0x940ce1(0xa22)]&&_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x653)][_0x940ce1(0xa22)]['plugged_in']===![]?(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x2f7)][_0x940ce1(0x608)][_0x940ce1(0x5de)]='0',_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x2f7)]['classList'][_0x940ce1(0x949)](_0x940ce1(0x548))):_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['batteryMeter'][_0x940ce1(0x608)][_0x940ce1(0x5de)]='1';}}}if(_0x940ce1(0x362)in _0x153bbb){_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['director']=!![];if(_0x2de54d[_0x940ce1(0x4a6)]===_0x2d2a8b){_0x940ce1(0x691)in _0x153bbb[_0x940ce1(0x362)]&&(_0x2de54d[_0x940ce1(0x691)]=parseInt(_0x153bbb[_0x940ce1(0x362)][_0x940ce1(0x691)])||0x0,_0x4b25bf=!![]);if(_0x153bbb[_0x940ce1(0x362)][_0x940ce1(0x915)]){if(_0x2de54d[_0x940ce1(0x69d)]===![]){if(_0x153bbb[_0x940ce1(0x362)][_0x940ce1(0x915)]===_0x2de54d[_0x940ce1(0x6ba)])_0x2de54d[_0x940ce1(0x7df)]=!![];else for(var _0x3dbbef in _0x2de54d[_0x940ce1(0x1f2)]){if(_0x2de54d[_0x940ce1(0x1f2)][_0x3dbbef][_0x940ce1(0x6ba)]===_0x153bbb[_0x940ce1(0x362)][_0x940ce1(0x915)]){if((_0x2de54d[_0x940ce1(0x9c0)][_0x940ce1(0x9ad)](_0x3dbbef)||_0x2de54d['rpcs'][_0x3dbbef][_0x940ce1(0x473)])&&!_0x2de54d['showDirector'])break;_0x2de54d[_0x940ce1(0x7df)]=_0x3dbbef;break;}}_0x4b25bf=!![],_0x4ea231=!![];}}if(_0x940ce1(0x6c4)in _0x153bbb[_0x940ce1(0x362)]){if(_0x2de54d[_0x940ce1(0x33e)]!==![]){if(_0x2de54d[_0x940ce1(0x6c4)])_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['showDirector']=_0x2de54d[_0x940ce1(0x6c4)];else _0x153bbb[_0x940ce1(0x362)][_0x940ce1(0x6c4)]&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['showDirector']=_0x153bbb[_0x940ce1(0x362)][_0x940ce1(0x6c4)]);}}if(_0x2de54d['scene']!==![]){if(_0x153bbb['directorSettings'][_0x940ce1(0x33e)])for(var _0x3dbbef in _0x153bbb[_0x940ce1(0x362)][_0x940ce1(0x33e)]){setTimeout(function(_0x1a6a91){var _0x376387=_0x940ce1;_0x2de54d[_0x376387(0x789)](_0x1a6a91);},0x3e8,_0x153bbb[_0x940ce1(0x362)][_0x940ce1(0x33e)][_0x3dbbef]);}if(_0x153bbb[_0x940ce1(0x362)]['mute'])for(var _0x3dbbef in _0x153bbb[_0x940ce1(0x362)][_0x940ce1(0x719)]){setTimeout(function(_0x4d917e){_0x2de54d['directorActions'](_0x4d917e);},0x3e8,_0x153bbb[_0x940ce1(0x362)][_0x940ce1(0x719)][_0x3dbbef]);}}if(_0x940ce1(0x3d6)in _0x153bbb['directorSettings'])for(var _0xa75e28=0x0;_0xa75e28<_0x153bbb[_0x940ce1(0x362)][_0x940ce1(0x3d6)]['length'];_0xa75e28++){if(!_0x2de54d[_0x940ce1(0x9c0)][_0x940ce1(0x9ad)](_0x153bbb[_0x940ce1(0x362)][_0x940ce1(0x3d6)][_0xa75e28][_0x940ce1(0x81a)])){_0x2de54d[_0x940ce1(0x9c0)][_0x940ce1(0x6dd)](_0x153bbb[_0x940ce1(0x362)]['addCoDirector'][_0xa75e28]['toString']());var _0x422277=getById(_0x940ce1(0x437)+_0x153bbb[_0x940ce1(0x362)]['addCoDirector'][_0xa75e28][_0x940ce1(0x81a)]());_0x422277&&_0x422277['classList'][_0x940ce1(0x6bd)]('directorBlue');}}}}if(_0x2de54d[_0x940ce1(0x9c0)]['indexOf'](_0x2d2a8b)>=0x0){_0x2de54d[_0x940ce1(0x33e)]!==![]&&('action'in _0x153bbb&&_0x2de54d[_0x940ce1(0x789)](_0x153bbb));_0x940ce1(0x362)in _0x153bbb&&_0x153bbb['directorSettings']['blindAllGuests']&&(!_0x2de54d[_0x940ce1(0x473)]&&(_0x2de54d['scene']===![]&&(_0x2de54d[_0x940ce1(0x8c4)]=!![],_0x2de54d['directorDisplayMute']())));if(_0x940ce1(0x327)in _0x153bbb){_0x2de54d[_0x940ce1(0x712)]=_0x153bbb[_0x940ce1(0x327)],log(_0x153bbb);for(var _0x34800d in _0x2de54d[_0x940ce1(0x712)]){syncSceneState(_0x34800d),syncOtherState(_0x34800d);}}}if(_0x940ce1(0x376)in _0x153bbb){if(_0x2de54d[_0x940ce1(0x473)]){if(_0x153bbb[_0x940ce1(0x376)]===_0x940ce1(0x46a))_0x2de54d[_0x940ce1(0x327)]=![],pokeAPI('director',![]),pokeIframeAPI(_0x940ce1(0x473),![]),!_0x2de54d['cleanOutput']&&(warnUser('The\x20main\x20director\x20denied\x20you\x20as\x20a\x20co-director',0xbb8),getById(_0x940ce1(0x2f9))[_0x940ce1(0xa58)]=miscTranslations[_0x940ce1(0x3af)]);else{if(_0x153bbb[_0x940ce1(0x376)]===_0x940ce1(0x8f6))!_0x2de54d[_0x940ce1(0x602)]&&warnUser(_0x940ce1(0x7aa),0xbb8);else{if(!_0x2de54d[_0x940ce1(0x602)]){if(_0x2de54d['directorUUID']===_0x2d2a8b)warnUser(_0x940ce1(0x9be),0x1388);else _0x2de54d[_0x940ce1(0x7eb)]&&!_0x2de54d[_0x940ce1(0x473)]?warnUser('The\x20remote\x20request\x20failed;\x20the\x20remote\x20token\x20did\x20not\x20match\x20or\x20the\x20remote\x20user\x20does\x20not\x20allow\x20remote\x20control.',0x1388):warnUser('The\x20request\x20failed;\x20the\x20remote\x20user\x20did\x20not\x20recognize\x20you\x20as\x20the\x20director',0x1388);}}}}warnlog(_0x940ce1(0x7a4)+_0x153bbb[_0x940ce1(0x376)]+_0x940ce1(0x7e5)+_0x2de54d[_0x940ce1(0x473)]);}if('approved'in _0x153bbb){if(_0x153bbb[_0x940ce1(0x849)]===_0x940ce1(0x46a)){if(_0x2de54d['director']){try{_0x2de54d[_0x940ce1(0x3df)]===![]&&(document[_0x940ce1(0x693)]=miscTranslations['control-room-co-director']);}catch(_0x47dc29){errorlog(_0x47dc29);};!_0x2de54d[_0x940ce1(0x602)]&&!_0x2de54d[_0x940ce1(0x327)]&&(warnUser(_0x940ce1(0x6f7),0xbb8),getById(_0x940ce1(0x2f9))[_0x940ce1(0xa58)]=_0x940ce1(0x280)),_0x2de54d[_0x940ce1(0x327)]=!![],pokeAPI('director',!![]),pokeIframeAPI('director',!![]);}}}if('order'in _0x153bbb){_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['order']=parseInt(_0x153bbb[_0x940ce1(0x53c)])||0x0;_0x2d2a8b in _0x2de54d[_0x940ce1(0x5f8)]&&(_0x2de54d[_0x940ce1(0x5f8)][_0x2d2a8b]['order']=parseInt(_0x153bbb[_0x940ce1(0x53c)])||0x0);if(_0x2de54d['director']){var _0x212af6=document['querySelectorAll']('[data-action-type=\x22order-value\x22][data--u-u-i-d=\x22'+_0x2d2a8b+'\x22]');_0x212af6[0x0]&&(_0x212af6[0x0][_0x940ce1(0x794)]=parseInt(_0x153bbb[_0x940ce1(0x53c)])||0x0);}_0x4b25bf=!![];}if('changeLabel'in _0x153bbb){log(_0x940ce1(0x3c2));if(_0x940ce1(0x9d6)in _0x153bbb){log(_0x940ce1(0x6b1));if(typeof _0x153bbb[_0x940ce1(0x9d6)]==_0x940ce1(0x33f)){_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x3df)]=sanitizeLabel(_0x153bbb[_0x940ce1(0x9d6)]);_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x3df)]['length']==0x0&&(_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x3df)]=![]);applyStyleEffect(_0x2d2a8b);if(_0x2de54d[_0x940ce1(0x473)]){var _0x212af6=getById(_0x940ce1(0x43c)+_0x2d2a8b);if(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x3df)])_0x212af6[_0x940ce1(0x794)]=_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x3df)],_0x212af6['classList']['remove'](_0x940ce1(0x202));else _0x2de54d['directorUUID']===_0x2d2a8b?(_0x212af6[_0x940ce1(0x794)]=miscTranslations[_0x940ce1(0x6c9)],_0x212af6[_0x940ce1(0x571)]['remove'](_0x940ce1(0x202))):(_0x212af6['innerText']=miscTranslations[_0x940ce1(0x39a)],_0x212af6['classList'][_0x940ce1(0x6bd)](_0x940ce1(0x202)));}else _0x2de54d[_0x940ce1(0x5f9)]&&(_0x4b25bf=!![]);}else{_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['label']=![],applyStyleEffect(_0x2d2a8b);if(_0x2de54d[_0x940ce1(0x473)]){var _0x212af6=getById(_0x940ce1(0x43c)+_0x2d2a8b);_0x2de54d['directorUUID']===_0x2d2a8b?(_0x212af6[_0x940ce1(0x794)]=miscTranslations[_0x940ce1(0x6c9)],_0x212af6[_0x940ce1(0x571)]['remove'](_0x940ce1(0x202))):(_0x212af6[_0x940ce1(0x794)]=miscTranslations[_0x940ce1(0x39a)],_0x212af6[_0x940ce1(0x571)]['add'](_0x940ce1(0x202)));}else _0x2de54d[_0x940ce1(0x5f9)]&&(_0x4b25bf=!![]);}_0x4ea231=!![],pokeIframeAPI(_0x940ce1(0x9c4),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['label'],_0x2d2a8b);}}_0x940ce1(0x922)in _0x153bbb&&(log(_0x153bbb),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['remoteMuteState']=_0x153bbb[_0x940ce1(0x922)],_0x2de54d[_0x940ce1(0x466)](![],_0x2d2a8b),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x653)][_0x940ce1(0xa22)]&&(_0x2de54d['rpcs'][_0x2d2a8b]['stats'][_0x940ce1(0xa22)][_0x940ce1(0x381)]=_0x2de54d['rpcs'][_0x2d2a8b]['remoteMuteState']),_0x2de54d['scene']===![]&&(_0x2de54d[_0x940ce1(0x7a0)]&&((!_0x2de54d[_0x940ce1(0x602)]||_0x2de54d[_0x940ce1(0x473)])&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['remoteMuteElement']?_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x439)]?_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x52f)][_0x940ce1(0x92c)][_0x940ce1(0x80a)]=_0x940ce1(0x600):_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x52f)][_0x940ce1(0x92c)][_0x940ce1(0x80a)]=_0x940ce1(0x95e):(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x52f)]=getById(_0x940ce1(0x607))[_0x940ce1(0x7ac)](!![]),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x52f)]['id']=_0x940ce1(0x5a9)+_0x2d2a8b,_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x439)]?_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x52f)][_0x940ce1(0x92c)][_0x940ce1(0x80a)]=_0x940ce1(0x600):_0x2de54d['rpcs'][_0x2d2a8b]['remoteMuteElement'][_0x940ce1(0x92c)][_0x940ce1(0x80a)]='none',_0x4b25bf=!![]),_0x4ea231=!![]))),pokeAPI(_0x940ce1(0x623),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x439)],_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['streamID']),pokeIframeAPI('remote-mute-state',_0x153bbb['muteState'],_0x2d2a8b));if(_0x940ce1(0x502)in _0x153bbb){var _0x1104ae=getChromeVersion();_0x1104ae&&(_0x1104ae<0x50&&(_0x4b25bf=!![]));}if(_0x940ce1(0x556)in _0x153bbb){log('videoMuted:\x20'+_0x153bbb[_0x940ce1(0x556)]),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x556)]=_0x153bbb[_0x940ce1(0x556)];!_0x2de54d[_0x940ce1(0x473)]?(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x556)]?(!_0x2de54d[_0x940ce1(0x47b)]&&_0x2de54d[_0x940ce1(0x466)](0x0,_0x2d2a8b),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['imageElement']&&(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9df)][_0x940ce1(0x548)]=!![],_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x9df)][_0x940ce1(0x92c)][_0x940ce1(0x954)]=_0x940ce1(0x548))):updateIncomingVideoElement(_0x2d2a8b,!![],![]),_0x4b25bf=!![]):_0x2de54d['rpcs'][_0x2d2a8b]['videoMuted']?_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x37f)][_0x940ce1(0x92c)][_0x940ce1(0x80a)]=_0x940ce1(0x4f2):_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x37f)][_0x940ce1(0x92c)][_0x940ce1(0x80a)]='none';if(_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x8d3)]&&_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x556)])setTimeout(function(){activeSpeaker();},0x0);else!_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x556)]&&setTimeout(function(){activeSpeaker();},0x0);_0x4ea231=!![],pokeAPI(_0x940ce1(0x7ec),_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b]['videoMuted'],_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6ba)]),pokeIframeAPI(_0x940ce1(0x45f),_0x153bbb[_0x940ce1(0x556)],_0x2d2a8b);}if('screenStopped'in _0x153bbb){if(_0x2d2a8b+_0x940ce1(0x6d7)in _0x2de54d[_0x940ce1(0x1f2)]){_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b+_0x940ce1(0x6d7)][_0x940ce1(0x6f2)]=_0x153bbb[_0x940ce1(0x28c)];if(_0x2de54d[_0x940ce1(0x473)]){_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b+_0x940ce1(0x6d7)]['videoMuted']=!_0x153bbb['screenStopped'];try{pokeAPI('remoteVideoMuted',_0x2de54d['rpcs'][_0x2d2a8b+_0x940ce1(0x6d7)][_0x940ce1(0x556)],_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b+'_screen'][_0x940ce1(0x6ba)]);}catch(_0x22bb12){}_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x556)]?_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x37f)][_0x940ce1(0x92c)][_0x940ce1(0x80a)]=_0x940ce1(0x4f2):_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x37f)][_0x940ce1(0x92c)][_0x940ce1(0x80a)]=_0x940ce1(0x95e);}else _0x2de54d['rpcs'][_0x2d2a8b+'_screen'][_0x940ce1(0x6f2)]=_0x153bbb[_0x940ce1(0x28c)],_0x4b25bf=!![];_0x4ea231=!![];}}_0x940ce1(0x34b)in _0x153bbb&&(_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x34b)]=_0x153bbb['screenShareState'],_0x4b25bf=!![],pokeIframeAPI(_0x940ce1(0x934),_0x153bbb[_0x940ce1(0x34b)],_0x2d2a8b));if('directVideoMuted'in _0x153bbb){if(!_0x2de54d[_0x940ce1(0x473)]){if('target'in _0x153bbb){if(_0x2de54d[_0x940ce1(0x9c0)][_0x940ce1(0x300)](_0x2d2a8b)>=0x0){var _0x42789f=_0x153bbb[_0x940ce1(0x2dc)];if(_0x42789f===!![])_0x2de54d[_0x940ce1(0x87b)]=_0x153bbb[_0x940ce1(0x7d3)];else _0x42789f in _0x2de54d[_0x940ce1(0x1f2)]&&(_0x2de54d[_0x940ce1(0x1f2)][_0x42789f][_0x940ce1(0x87b)]=_0x153bbb[_0x940ce1(0x7d3)],_0x2de54d[_0x940ce1(0x1f2)][_0x42789f][_0x940ce1(0x87b)]&&_0x2de54d[_0x940ce1(0x466)](0x0,_0x42789f),_0x4b25bf=!![]);}}}_0x4ea231=!![];}_0x940ce1(0x6f2)in _0x153bbb&&(!_0x2de54d[_0x940ce1(0x473)]&&(_0x2de54d[_0x940ce1(0x9c0)][_0x940ce1(0x300)](_0x2d2a8b)>=0x0&&(_0x2d2a8b in _0x2de54d['rpcs']&&(_0x2de54d['rpcs'][_0x2d2a8b][_0x940ce1(0x6f2)]=_0x153bbb['virtualHangup'],_0x2de54d[_0x940ce1(0x1f2)][_0x2d2a8b][_0x940ce1(0x6f2)]&&(_0x2d2a8b in _0x2de54d[_0x940ce1(0x1f2)]&&_0x2de54d['requestRateLimit'](0x0,_0x2d2a8b)),_0x4b25bf=!![]))),_0x4ea231=!![]);if('requestFile'in _0x153bbb){log(_0x940ce1(0x227));try{_0x2de54d[_0x940ce1(0x641)](_0x2d2a8b,_0x153bbb[_0x940ce1(0x6b8)]);}catch(_0x3bb985){errorlog(_0x3bb985);}}'remoteStats'in _0x153bbb&&remoteStats(_0x153bbb,_0x2d2a8b);if(_0x4b25bf)setTimeout(function(){updateMixer(),updateUserList();},0x1);else _0x4ea231&&updateUserList();},_0x2de54d[_0x363a17(0x1f2)][_0x494795]['receiveChannel'][_0x363a17(0x25c)]=()=>{warnlog('rpc\x20datachannel\x20closed');};},_0x2de54d[_0x214858(0x1f2)][_0x494795]['ontrack']=_0x4fc216=>{var _0x395ba8=_0x214858;warnlog(_0x395ba8(0x55d)),_0x2de54d[_0x395ba8(0x9b9)](_0x4fc216,_0x494795);},log(_0x214858(0x41f));},_0x2de54d['setupScreenShareAddon']=function(_0x5211bd,_0x51f525){var _0x591c87=_0x139c85;log(_0x591c87(0x6ec)),!_0x2de54d[_0x591c87(0x1f2)][_0x51f525][_0x591c87(0x1c4)]?(_0x2de54d[_0x591c87(0x1f2)][_0x51f525][_0x591c87(0x1c4)]=createVideoElement(),_0x2de54d['rpcs'][_0x51f525+_0x591c87(0x6d7)]={},_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x95f)]=_0x51f525,_0x2de54d[_0x591c87(0x1f2)][_0x51f525][_0x591c87(0x6ba)]&&(_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x6ba)]=_0x2de54d[_0x591c87(0x1f2)][_0x51f525][_0x591c87(0x6ba)]+':s'),_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x653)]={},_0x2de54d[_0x591c87(0x1f2)][_0x51f525]['stats']['Audio_Loudness']=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)]['getStats']=function(){return new Promise((_0x32a27a,_0x459c47)=>{_0x32a27a([]);});},_0x2de54d['rpcs'][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x67e)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x3dc)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x338)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)]['loudest']=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x1f9)]=null,_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x820)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+'_screen']['bandwidth']=-0x1,_0x2de54d[_0x591c87(0x1f2)][_0x51f525+'_screen']['bandwidthMuted']=![],_0x2de54d['rpcs'][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x6c4)]=![],_0x2de54d['rpcs'][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x329)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x918)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)]['targetBandwidth']=-0x1,_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x857)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+'_screen']['videoElement']=![],_0x2de54d['rpcs'][_0x51f525+'_screen'][_0x591c87(0x9df)]=![],_0x2de54d['rpcs'][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x7bc)]=![],_0x2de54d['rpcs'][_0x51f525+'_screen'][_0x591c87(0x586)]=_0x2de54d[_0x591c87(0x1f2)][_0x51f525][_0x591c87(0x586)]||[],_0x2de54d['rpcs'][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x556)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+'_screen'][_0x591c87(0x59b)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+'_screen'][_0x591c87(0x87b)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x6f2)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+'_screen']['remoteMuteState']=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)]['remoteMuteElement']=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)]['lockedVideoBitrate']=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)]['lockedAudioBitrate']=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x2f1)]=null,_0x2de54d['rpcs'][_0x51f525+'_screen'][_0x591c87(0x689)]=null,_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)]['mutedStateMixer']=null,_0x2de54d['rpcs'][_0x51f525+_0x591c87(0x6d7)]['mutedStateScene']=null,_0x2de54d[_0x591c87(0x1f2)][_0x51f525+'_screen']['scaleHeight']=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x773)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)]['scaleSnap']=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+'_screen'][_0x591c87(0x7fd)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+'_screen'][_0x591c87(0x5c8)]=![],_0x2de54d['rpcs'][_0x51f525+'_screen'][_0x591c87(0x231)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x6a3)]=null,_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x5bb)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)]['screenShareState']=!![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)]['directorVolumeState']=0x64,_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x537)]=0x0,_0x2de54d[_0x591c87(0x1f2)][_0x51f525+'_screen']['nackCount']=0x0,_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)]['opacityDisconnect']='1',_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)]['opacityMuted']='1',_0x2de54d[_0x591c87(0x1f2)][_0x51f525+'_screen'][_0x591c87(0x496)]=![],_0x2de54d['rpcs'][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x843)]=0x0,_0x2de54d['rpcs'][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x3df)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x53c)]=![],_0x2de54d['rpcs'][_0x51f525+_0x591c87(0x6d7)]['canvasCtx']=null,_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x225)]=null,_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x260)]={},_0x2de54d['rpcs'][_0x51f525+'_screen'][_0x591c87(0x46e)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x9fc)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+'_screen'][_0x591c87(0x558)]=Date['now'](),_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x952)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x970)]=![],(_0x2de54d[_0x591c87(0x82d)]==0x2||_0x2de54d[_0x591c87(0x82d)]==0x4)&&(_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x9a4)]=!![]),_0x2de54d['rpcs'][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x6b9)]=_0x2de54d[_0x591c87(0x1f2)][_0x51f525]['screenElement'],_0x2de54d['rpcs'][_0x51f525+_0x591c87(0x6d7)]['videoElement'][_0x591c87(0x608)]['UUID']=_0x51f525+_0x591c87(0x6d7),_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)]['videoElement']['id']=_0x591c87(0x3fa)+_0x51f525+_0x591c87(0x6d7),_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x6ba)]&&(_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x6b9)][_0x591c87(0x608)][_0x591c87(0x5bd)]=_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)]['streamID']),_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x6b9)][_0x591c87(0x79b)]=![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x7bc)]=![],setupIncomingScreenTracking(_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x6b9)],_0x51f525+'_screen'),_0x2de54d[_0x591c87(0x1f2)][_0x51f525][_0x591c87(0x1c4)]['srcObject']=createMediaStream(),_0x5211bd[_0x591c87(0x374)](function(_0x4c7c97){var _0x34cf12=_0x591c87;_0x2de54d['rpcs'][_0x51f525]['screenElement']['srcObject'][_0x34cf12(0x62e)](_0x4c7c97);}),_0x2de54d['rpcs'][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x6b9)][_0x591c87(0x809)]=!![],_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x6b9)][_0x591c87(0x8d7)]('playsinline',''),mediaSourceUpdated(_0x51f525+'_screen',_0x2de54d[_0x591c87(0x1f2)][_0x51f525+_0x591c87(0x6d7)][_0x591c87(0x6ba)])):_0x5211bd[_0x591c87(0x374)](function(_0x5d6bb9){var _0x5e326b=_0x591c87,_0x46e39a=![];_0x2de54d[_0x5e326b(0x1f2)][_0x51f525]['screenElement']['srcObject']['getTracks']()[_0x5e326b(0x374)](function(_0x8b34d3){_0x8b34d3['id']==_0x5d6bb9['id']&&(_0x46e39a=!![]);}),!_0x46e39a&&_0x2de54d[_0x5e326b(0x1f2)][_0x51f525][_0x5e326b(0x1c4)][_0x5e326b(0x66c)][_0x5e326b(0x62e)](_0x5d6bb9);});},_0x2de54d[_0x139c85(0x9b9)]=function(_0x3e8271,_0x1f0bb0){var _0x57c58d=_0x139c85;if(_0x2de54d[_0x57c58d(0x2f5)]['includes'](_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0][_0x57c58d(0x6ba)])){errorlog(_0x57c58d(0xa54));return;}var _0x31e346=[],_0x5a85d6=![];if(_0x3e8271['streams']&&_0x3e8271[_0x57c58d(0x82f)][0x0])_0x5a85d6=_0x3e8271[_0x57c58d(0x82f)][0x0],_0x31e346=_0x5a85d6[_0x57c58d(0x385)]();else{if(_0x3e8271['track'])_0x31e346['push'](_0x3e8271['track']);else{errorlog(_0x57c58d(0x5c5));return;}}if(_0x2de54d['rpcs'][_0x1f0bb0]['streamSrc']){var _0x1df9c2=_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0][_0x57c58d(0x6a3)]['getTracks']();_0x31e346[_0x57c58d(0x374)](function(_0x2277fa){var _0x804a06=_0x57c58d;_0x1df9c2[_0x804a06(0x374)](function(_0x544787){var _0x36b462=_0x804a06;if(_0x2277fa['id']==_0x544787['id']){var _0x5652aa=_0x31e346[_0x36b462(0x300)](_0x2277fa);_0x5652aa>-0x1&&_0x31e346[_0x36b462(0x60a)](_0x5652aa,0x1);}});});}var _0x1a56f0=![];if(_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0][_0x57c58d(0x5bb)]&&_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0]['screenIndexes'][_0x57c58d(0x3f2)]){log(_0x57c58d(0x49d)+_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0]['screenIndexes']);var _0x11601f=_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0]['getReceivers']();for(var _0x3f1c7c=0x0;_0x3f1c7c<_0x11601f[_0x57c58d(0x3f2)];_0x3f1c7c++){for(var _0x25f07d=0x0;_0x25f07d<_0x31e346[_0x57c58d(0x3f2)];_0x25f07d++){if(_0x11601f[_0x3f1c7c][_0x57c58d(0x683)]&&_0x11601f[_0x3f1c7c]['track']['id']==_0x31e346[_0x25f07d]['id'])for(var _0x430881=0x0;_0x430881<_0x2de54d['rpcs'][_0x1f0bb0][_0x57c58d(0x5bb)]['length'];_0x430881++){if(_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0][_0x57c58d(0x5bb)][_0x430881]==_0x3f1c7c){_0x1a56f0=!![];break;}}if(_0x1a56f0)break;}if(_0x1a56f0)break;}}log(_0x57c58d(0x982)+_0x1a56f0);try{var _0x292462=_0x31e346['length'];while(_0x292462--){if(_0x31e346[_0x292462][_0x57c58d(0x4e2)]==_0x57c58d(0x6fb)){if(_0x2de54d[_0x57c58d(0x288)]!==![]&&!_0x2de54d[_0x57c58d(0x288)][_0x57c58d(0x9ad)](_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0][_0x57c58d(0x6ba)])){_0x31e346[_0x57c58d(0x60a)](_0x292462,0x1);continue;}else{if(_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0][_0x57c58d(0x952)]&&_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0][_0x57c58d(0x952)][_0x57c58d(0xa07)]&&_0x1a56f0)continue;else{if(_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0]['settings']&&!_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0]['settings'][_0x57c58d(0x6fb)]){_0x31e346[_0x57c58d(0x60a)](_0x292462,0x1);continue;}}}}else{if(_0x31e346[_0x292462][_0x57c58d(0x4e2)]==_0x57c58d(0x20c)){if(_0x2de54d[_0x57c58d(0x665)]!==![]&&!_0x2de54d[_0x57c58d(0x665)][_0x57c58d(0x9ad)](_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0][_0x57c58d(0x6ba)])){_0x31e346['splice'](_0x292462,0x1);continue;}else{if(_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0][_0x57c58d(0x952)]&&_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0][_0x57c58d(0x952)][_0x57c58d(0xa07)]&&_0x1a56f0)continue;else{if(_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0][_0x57c58d(0x952)]&&!_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0][_0x57c58d(0x952)][_0x57c58d(0x20c)]){_0x31e346['splice'](_0x292462,0x1);continue;}}}}}}}catch(_0x561d28){errorlog(_0x561d28);}if(!_0x31e346[_0x57c58d(0x3f2)]){log(_0x57c58d(0x8cd));return;}if(_0x1a56f0){_0x2de54d[_0x57c58d(0x5da)](_0x31e346,_0x1f0bb0);return;}_0x2de54d[_0x57c58d(0x28e)]!==![]&&playoutdelay(_0x1f0bb0);_0x2de54d[_0x57c58d(0x463)](),_0x2de54d[_0x57c58d(0x4db)]();_0x5a85d6&&(_0x5a85d6[_0x57c58d(0x854)]=function(_0x5283a4){var _0x355459=_0x57c58d;try{warnlog(_0x355459(0x52c)),_0x2de54d['rpcs'][_0x1f0bb0][_0x355459(0x6a3)][_0x355459(0x385)]()[_0x355459(0x374)](_0x4bc8ba=>{var _0xc347ea=_0x355459;_0x4bc8ba['id']==_0x5283a4[_0xc347ea(0x683)]['id']&&_0x2de54d[_0xc347ea(0x1f2)][_0x1f0bb0][_0xc347ea(0x6a3)]['removeTrack'](_0x4bc8ba);}),_0x5283a4[_0x355459(0x683)][_0x355459(0x4e2)]==_0x355459(0x6fb)?updateIncomingVideoElement(_0x1f0bb0,!![],![]):updateIncomingVideoElement(_0x1f0bb0,![],!![]),updateIncomingVideoElement(_0x1f0bb0),setTimeout(function(){updateMixer();},0x1);}catch(_0x59475b){}},_0x5a85d6[_0x57c58d(0x5c4)]=function(_0x2aa62a){var _0x1c7ff0=_0x57c58d;errorlog(_0x2aa62a);try{warnlog(_0x1c7ff0(0x516)),_0x2de54d['rpcs'][_0x1f0bb0][_0x1c7ff0(0x6a3)]['getTracks']()['forEach'](_0x142340=>{var _0xce6037=_0x1c7ff0;try{_0x142340['id']==_0x2aa62a[_0xce6037(0x683)]['id']&&_0x2de54d[_0xce6037(0x1f2)][_0x1f0bb0][_0xce6037(0x6a3)]['removeTrack'](_0x142340);}catch(_0x4dfc39){}}),_0x2aa62a[_0x1c7ff0(0x683)][_0x1c7ff0(0x4e2)]=='video'?updateIncomingVideoElement(_0x1f0bb0,!![],![]):updateIncomingVideoElement(_0x1f0bb0,![],!![]),setTimeout(function(){updateMixer();},0x1);}catch(_0x25dbf6){errorlog(_0x25dbf6);}});createRichVideoElement(_0x1f0bb0);!_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0][_0x57c58d(0x6a3)]&&(_0x2de54d['rpcs'][_0x1f0bb0]['streamSrc']=createMediaStream(),mediaSourceUpdated(_0x1f0bb0,_0x2de54d[_0x57c58d(0x1f2)][_0x1f0bb0][_0x57c58d(0x6ba)]));var _0x39411a=![],_0x469f00=![];_0x31e346['forEach'](_0x5811c9=>{var _0x523e5b=_0x57c58d;if(_0x5811c9[_0x523e5b(0x4e2)]==_0x523e5b(0x6fb))_0x39411a=!![];else _0x5811c9[_0x523e5b(0x4e2)]==_0x523e5b(0x20c)&&(_0x469f00=!![]);log(_0x523e5b(0x6ca)),_0x2de54d['rpcs'][_0x1f0bb0][_0x523e5b(0x6a3)][_0x523e5b(0x62e)](_0x5811c9);});isIFrame&&_0x2de54d[_0x57c58d(0x315)]&&_0x31e346[_0x57c58d(0x374)](_0xa06bed=>{var _0x1e3602=_0x57c58d;if(_0xa06bed[_0x1e3602(0x4e2)]===_0x1e3602(0x6fb))log(_0x1e3602(0x8cf)),_0xa06bed['frameReader']=new MediaStreamTrackProcessor(_0xa06bed)['readable'][_0x1e3602(0x4b9)](),_0xa06bed['frameReader'][_0x1e3602(0x1fe)]()[_0x1e3602(0x9a7)](function _0x38a558({done:_0x52d416,value:_0x5b4259}){var _0x158d89=_0x1e3602;if(_0x52d416){_0x5b4259&&_0x5b4259['close']();return;}try{parent[_0x158d89(0x460)]({'frame':_0x5b4259,'UUID':_0x1f0bb0,'streamID':_0x2de54d[_0x158d89(0x1f2)][_0x1f0bb0][_0x158d89(0x6ba)],'trackID':_0xa06bed['id'],'kind':_0x158d89(0x6fb)},_0x2de54d[_0x158d89(0x315)],[_0x5b4259]);}catch(_0x1cbf2c){_0x5b4259[_0x158d89(0x2e4)]();return;}_0x5b4259[_0x158d89(0x2e4)](),_0xa06bed[_0x158d89(0x67c)]['read']()[_0x158d89(0x9a7)](_0x38a558);});else _0xa06bed['kind']===_0x1e3602(0x20c)&&(log(_0x1e3602(0x467)),_0xa06bed[_0x1e3602(0x67c)]=new MediaStreamTrackProcessor(_0xa06bed)[_0x1e3602(0x5d9)]['getReader'](),_0xa06bed[_0x1e3602(0x67c)][_0x1e3602(0x1fe)]()[_0x1e3602(0x9a7)](function _0x2ce266({done:_0x166fb0,value:_0x1b206c}){var _0x313ab0=_0x1e3602;if(_0x166fb0){_0x1b206c&&_0x1b206c[_0x313ab0(0x2e4)]();return;}try{parent['postMessage']({'frame':_0x1b206c,'UUID':_0x1f0bb0,'streamID':_0x2de54d[_0x313ab0(0x1f2)][_0x1f0bb0]['streamID'],'trackID':_0xa06bed['id'],'kind':_0x313ab0(0x20c)},_0x2de54d['sendframes'],[new ArrayBuffer(_0x1b206c)]);}catch(_0x3f957b){_0x1b206c[_0x313ab0(0x2e4)]();return;}_0x1b206c[_0x313ab0(0x2e4)](),_0xa06bed[_0x313ab0(0x67c)]['read']()['then'](_0x2ce266);}));});if(_0x469f00&&_0x39411a)updateIncomingVideoElement(_0x1f0bb0);else{if(_0x39411a)updateIncomingVideoElement(_0x1f0bb0,!![],![]);else _0x469f00&&(updateIncomingVideoElement(_0x1f0bb0,![],!![]),!_0x2de54d[_0x57c58d(0x7a0)]&&_0x2de54d[_0x57c58d(0x91a)]&&!_0x2de54d[_0x57c58d(0x705)]&&setTimeout(function(){updateMixer();},0xa));}return _0x2de54d;},_0x2de54d;}());function getMeshcastCanvasTrack(){var _0x5c34e3=_0x2eaef5;!session['mc']&&errorlog(_0x5c34e3(0x235));!session['mc']['canvas']&&(session['mc'][_0x5c34e3(0x225)]=document['createElement'](_0x5c34e3(0x225)),session['mc'][_0x5c34e3(0x225)]['width']=0x140,session['mc'][_0x5c34e3(0x225)][_0x5c34e3(0x659)]=0xb4);!session['mc'][_0x5c34e3(0x775)]&&(session['mc']['ctx']=session['mc']['canvas']['getContext']('2d',{'alpha':![]}),session['mc'][_0x5c34e3(0x775)]['fillStyle']='#000',session['mc']['ctx']['fillRect'](0x0,0x0,session['mc'][_0x5c34e3(0x225)][_0x5c34e3(0x375)],session['mc'][_0x5c34e3(0x225)][_0x5c34e3(0x659)]));!session['mc']['canvasStream']&&(function _0x5997e6(){var _0x170b7f=_0x5c34e3;session['mc'][_0x170b7f(0x775)][_0x170b7f(0x234)](0x0,0x0,session['mc'][_0x170b7f(0x225)][_0x170b7f(0x375)],session['mc']['canvas'][_0x170b7f(0x659)]),setTimeout(_0x5997e6,0xfa);}(),session['mc'][_0x5c34e3(0x3c4)]=session['mc'][_0x5c34e3(0x225)]['captureStream'](0x4));var _0x49bcd3=session['mc']['canvasStream']['getVideoTracks']();if(_0x49bcd3[_0x5c34e3(0x3f2)])return _0x49bcd3[0x0];return errorlog('Meschast\x20canvas\x20not\x20working'),![];}var meshcastServer=![];function _0x706a(_0x4c197a,_0x1652bd){var _0x531455=_0x5314();return _0x706a=function(_0x706ae7,_0x3f9265){_0x706ae7=_0x706ae7-0x1c0;var _0x490ac7=_0x531455[_0x706ae7];return _0x490ac7;},_0x706a(_0x4c197a,_0x1652bd);}function selectMeshcast(_0x5e4ae8){var _0x5cc391=_0x2eaef5;meshcastServer={};var _0xc64f1d=_0x5e4ae8[_0x5cc391(0x419)],_0x4311d6=_0x5e4ae8['options'];meshcastServer[_0x5cc391(0x2c0)]=_0x4311d6[_0xc64f1d]['url'],meshcastServer[_0x5cc391(0x1fc)]=_0x4311d6[_0xc64f1d][_0x5cc391(0x1fc)];}async function meshcast(_0x1000d4=![]){var _0x33ed01=_0x2eaef5;async function _0x203516(_0x4dd04d,_0x36409c){var _0x271ba5=_0x706a;const _0x44f0f3=new XMLHttpRequest();_0x44f0f3[_0x271ba5(0x257)]=function(){var _0x39014a=_0x271ba5;if(parseFloat(this[_0x39014a(0x770)])>=0x0){if(parseFloat(this[_0x39014a(0x770)])>0x32)_0x4dd04d[_0x39014a(0xa58)]+=_0x39014a(0x961);else{if(parseFloat(this[_0x39014a(0x770)])>0xa)_0x4dd04d[_0x39014a(0xa58)]+=_0x39014a(0x590);else{if(parseFloat(this[_0x39014a(0x770)])>0x0)_0x4dd04d[_0x39014a(0xa58)]+=_0x39014a(0x99a);else{var _0x2deca3=![];_0x4dd04d[_0x39014a(0x9a5)]&&(_0x2deca3=!![]),_0x4dd04d[_0x39014a(0x65a)]=!![],_0x4dd04d[_0x39014a(0xa58)]+=_0x39014a(0x806),document[_0x39014a(0x314)](_0x39014a(0x60f))[_0x39014a(0x6ea)](_0x4dd04d),_0x2deca3&&(document[_0x39014a(0x314)](_0x39014a(0x60f))[_0x39014a(0x22d)][0x0][_0x39014a(0x9a5)]=!![]);}}}}else{var _0x2deca3=![];_0x4dd04d[_0x39014a(0x9a5)]&&(_0x2deca3=!![]),document['getElementById'](_0x39014a(0x60f))[_0x39014a(0x6ea)](_0x4dd04d),_0x4dd04d[_0x39014a(0xa58)]+='\x20(fail)',_0x4dd04d[_0x39014a(0x65a)]=!![],_0x2deca3&&(document[_0x39014a(0x314)](_0x39014a(0x60f))[_0x39014a(0x22d)][0x0]['selected']=!![]);}session[_0x39014a(0x473)]&&!session[_0x39014a(0x602)]&&!session[_0x39014a(0x6db)]&&document[_0x39014a(0x314)]('meshcastMenu')[_0x39014a(0x571)]['remove'](_0x39014a(0x548));},_0x44f0f3[_0x271ba5(0x5c4)]=function(){var _0x1f7619=_0x271ba5,_0x3431cf=![];_0x4dd04d[_0x1f7619(0x9a5)]&&(_0x3431cf=!![]),document[_0x1f7619(0x314)](_0x1f7619(0x60f))[_0x1f7619(0x6ea)](_0x4dd04d),_0x4dd04d[_0x1f7619(0xa58)]+=_0x1f7619(0x806),_0x4dd04d['disabled']=!![],_0x3431cf&&(document[_0x1f7619(0x314)](_0x1f7619(0x60f))[_0x1f7619(0x22d)][0x0][_0x1f7619(0x9a5)]=!![]);},_0x44f0f3[_0x271ba5(0x61d)](_0x271ba5(0x217),_0x36409c,!![]),_0x44f0f3[_0x271ba5(0x9f2)]=0x3e8,_0x44f0f3[_0x271ba5(0x92a)]=function(_0x2ce55b){var _0x3ea404=_0x271ba5,_0x426855=![];_0x4dd04d[_0x3ea404(0x9a5)]&&(_0x426855=!![]),document['getElementById'](_0x3ea404(0x60f))[_0x3ea404(0x6ea)](_0x4dd04d),_0x4dd04d[_0x3ea404(0xa58)]+=_0x3ea404(0x823),_0x426855&&(document[_0x3ea404(0x314)](_0x3ea404(0x60f))['options'][0x0]['selected']=!![]);},_0x44f0f3['send']();}async function _0x2ae542(_0x1819b0=![]){var _0x423759=_0x706a,_0x5ed95b=new Date(),_0x3e0559=_0x5ed95b['getTimezoneOffset']();urlParams[_0x423759(0x2f2)]('tz')&&(_0x3e0559=parseInt(urlParams[_0x423759(0x3a3)]('tz'))||_0x3e0559),fetch(_0x423759(0x432)+Date['now']())[_0x423759(0x9a7)](_0x26e3bd=>_0x26e3bd['json']())[_0x423759(0x9a7)](async _0x46f4a7=>{var _0x5b8559=_0x423759;for(var _0x57f492=0x0;_0x57f492<_0x46f4a7[_0x5b8559(0x3f2)];_0x57f492++){var _0x142e4f=Math['abs'](_0x46f4a7[_0x57f492]['tz']-_0x3e0559);Math['abs'](_0x142e4f-0x3c*0x18)<_0x142e4f&&(_0x142e4f=Math[_0x5b8559(0x483)](_0x142e4f-0x3c*0x18)),_0x46f4a7[_0x57f492][_0x5b8559(0x710)]=_0x142e4f,session[_0x5b8559(0x2d4)]!==_0x46f4a7[_0x57f492][_0x5b8559(0x1fc)]&&(_0x46f4a7[_0x57f492]['delta']+=0x3e8);}_0x46f4a7['sort'](compare_deltas);for(var _0x57f492=0x0;_0x57f492<_0x46f4a7[_0x5b8559(0x3f2)];_0x57f492++){var _0x267345=document['createElement'](_0x5b8559(0x5d2));_0x267345[_0x5b8559(0x1fc)]=_0x46f4a7[_0x57f492]['code'],_0x267345['url']=_0x46f4a7[_0x57f492]['url'],_0x267345[_0x5b8559(0xa58)]=_0x46f4a7[_0x57f492]['label'],_0x203516(_0x267345,_0x46f4a7[_0x57f492]['url']+_0x5b8559(0x308)),document['getElementById'](_0x5b8559(0x60f))[_0x5b8559(0x6ea)](_0x267345);}meshcastServer=_0x46f4a7[0x0],_0x1819b0&&_0x1819b0();});}if(_0x1000d4){_0x2ae542();return;}if(!session['meshcast'])return;if(!session[_0x33ed01(0x6b9)][_0x33ed01(0x66c)]||!session['videoElement'][_0x33ed01(0x66c)][_0x33ed01(0x385)]()['length'])return;if(session[_0x33ed01(0x4cf)]!==![])return;session['meshcastSettings']=null;var _0x339f85=![];if(session[_0x33ed01(0x34b)]&&session[_0x33ed01(0x916)])_0x339f85=session['meshcastScreenShareCodec'];else session['meshcastCodec']&&(_0x339f85=session[_0x33ed01(0xa1a)]);function _0x49b7f5(_0x24b1d9){var _0xcf9b91=_0x33ed01;warnlog(_0xcf9b91(0x827)),warnlog(_0x24b1d9);try{session['mc']['createOffer']()['then'](function(_0x29ab31){var _0x2a42af=_0xcf9b91;return _0x29ab31[_0x2a42af(0x334)]=CodecsHandler['setOpusAttributes'](_0x29ab31[_0x2a42af(0x334)],{'stereo':0x1}),!_0x339f85&&(_0x29ab31[_0x2a42af(0x334)]=_0x29ab31[_0x2a42af(0x334)][_0x2a42af(0x42c)](/42001f/gi,_0x2a42af(0x7ae)),_0x29ab31['sdp']=_0x29ab31[_0x2a42af(0x334)][_0x2a42af(0x42c)](/420029/gi,_0x2a42af(0x7ae))),warnlog(_0x29ab31),session['mc']['setLocalDescription'](_0x29ab31);})[_0xcf9b91(0x9a7)](function(){var _0x4ed18e=_0xcf9b91;log(session['mc'][_0x4ed18e(0x34a)]),_0xed70d7(session['mc'][_0x4ed18e(0x34a)]['sdp'],_0x4ed18e(0x334));})[_0xcf9b91(0x5f2)](function(_0x31fd46){});}catch(_0x251532){errorlog(_0x251532);}}try{var _0x2f0b67=[],_0x1bdae8=session[_0x33ed01(0x8b3)](0xe);async function _0x3e9d82(){var _0x436cf6=_0x33ed01;document[_0x436cf6(0x314)]('edgelist')[_0x436cf6(0x65a)]=!![],document[_0x436cf6(0x314)](_0x436cf6(0x60f))[_0x436cf6(0x693)]=_0x436cf6(0x3b8);!session[_0x436cf6(0x890)]&&await chooseBestTURN();try{session['mc']=new RTCPeerConnection(session[_0x436cf6(0x890)]),session['mc'][_0x436cf6(0x653)]={},session['mc']['maxBandwidth']=null,session['mc']['scale']=![];}catch(_0x26dbcf){!session[_0x436cf6(0x602)]&&warnUser(_0x436cf6(0x9cf));}try{var _0x50ce21=![];session[_0x436cf6(0x6b9)]['srcObject']&&(_0x50ce21=session['videoElement'][_0x436cf6(0x66c)][_0x436cf6(0x9b2)]());if(!_0x50ce21||!_0x50ce21[_0x436cf6(0x3f2)]){var _0x36be6a=new AudioContext(),_0x5258e2=_0x36be6a['createMediaStreamDestination']();_0x5258e2[_0x436cf6(0x30f)][_0x436cf6(0x9b2)]()[_0x436cf6(0x374)](_0x16d7a2=>{_0x50ce21=_0x16d7a2;});}else _0x50ce21=_0x50ce21[0x0];if(session[_0x436cf6(0x1c0)]&&_0x50ce21['kind']===_0x436cf6(0x20c))try{_0x50ce21[_0x436cf6(0x26f)]=session[_0x436cf6(0x1c0)];}catch(_0x3f4961){errorlog(_0x3f4961);}session['mc'][_0x436cf6(0x62e)](_0x50ce21);var _0x50ce21=![];session[_0x436cf6(0x6b9)][_0x436cf6(0x66c)]&&(_0x50ce21=session['videoElement'][_0x436cf6(0x66c)]['getVideoTracks']());!_0x50ce21||!_0x50ce21[_0x436cf6(0x3f2)]?_0x50ce21=getMeshcastCanvasTrack():_0x50ce21=_0x50ce21[0x0];if(session[_0x436cf6(0x34b)]&&session[_0x436cf6(0x45c)]&&_0x50ce21['kind']===_0x436cf6(0x6fb))try{_0x50ce21['contentHint']=session[_0x436cf6(0x45c)];}catch(_0x235dac){errorlog(_0x235dac);}else{if(session[_0x436cf6(0x26f)]&&_0x50ce21[_0x436cf6(0x4e2)]===_0x436cf6(0x6fb))try{_0x50ce21['contentHint']=session[_0x436cf6(0x26f)];}catch(_0x5b87df){errorlog(_0x5b87df);}}session['mc'][_0x436cf6(0x62e)](_0x50ce21),session['mc'][_0x436cf6(0xa38)]=_0x49b7f5,session['mc'][_0x436cf6(0x3b0)]=function(_0x55b96c){var _0x5eee90=_0x436cf6;if(_0x55b96c[_0x5eee90(0x9bf)]==null)return;log(_0x55b96c['candidate']),_0x2f0b67['push'](_0x55b96c[_0x5eee90(0x9bf)]);};}catch(_0x4b29b2){errorlog(_0x4b29b2);}}!meshcastServer?_0x2ae542(_0x3e9d82):_0x3e9d82();}catch(_0x503a93){errorlog(_0x503a93);}function _0xed70d7(_0x225194,_0x598c81,_0x176a7f=![]){var _0x25e841=_0x33ed01;try{var _0x50fc39=new XMLHttpRequest();_0x50fc39[_0x25e841(0x26e)]=function(){var _0x1c70dc=_0x25e841;if(this[_0x1c70dc(0xa4d)]==0x4&&this[_0x1c70dc(0x4e8)]==0xc8){var _0x5f9e99=this[_0x1c70dc(0x2b6)]('content-type');if(_0x5f9e99==_0x1c70dc(0x449)){var _0x1049ad={};_0x1049ad[_0x1c70dc(0x334)]=this[_0x1c70dc(0x770)],_0x1049ad[_0x1c70dc(0x870)]=_0x1c70dc(0x525);var _0x16e1d1={};session[_0x1c70dc(0x8c6)]&&session['stereo']!==0x2?_0x16e1d1[_0x1c70dc(0x8c6)]=0x1:_0x16e1d1[_0x1c70dc(0x8c6)]=0x0;var _0x19587e=0x40;session['meshcastAudioBitrate']&&(session['meshcastAudioBitrate']>0x1fe&&(session[_0x1c70dc(0x6c1)]=0x1fe),_0x16e1d1[_0x1c70dc(0x236)]=session[_0x1c70dc(0x6c1)]*0x400,_0x16e1d1[_0x1c70dc(0xa08)]=session[_0x1c70dc(0x62b)]?0x0:0x1,_0x16e1d1[_0x1c70dc(0x86f)]=session[_0x1c70dc(0x86f)],_0x16e1d1[_0x1c70dc(0x3a0)]=session[_0x1c70dc(0x3a0)],_0x19587e=session[_0x1c70dc(0x6c1)]);_0x1049ad[_0x1c70dc(0x334)]=CodecsHandler[_0x1c70dc(0x73a)](_0x1049ad['sdp'],_0x16e1d1);if(!_0x339f85)_0x1049ad[_0x1c70dc(0x334)]=_0x1049ad[_0x1c70dc(0x334)][_0x1c70dc(0x42c)](/42001f/gi,_0x1c70dc(0x7ae)),_0x1049ad['sdp']=_0x1049ad[_0x1c70dc(0x334)][_0x1c70dc(0x42c)](/420029/gi,_0x1c70dc(0x7ae));else _0x339f85['length']==0x6&&(_0x1049ad[_0x1c70dc(0x334)]=_0x1049ad[_0x1c70dc(0x334)][_0x1c70dc(0x42c)](/42e01f/gi,_0x339f85),_0x1049ad[_0x1c70dc(0x334)]=_0x1049ad['sdp'][_0x1c70dc(0x42c)](/42001f/gi,_0x339f85),_0x1049ad[_0x1c70dc(0x334)]=_0x1049ad[_0x1c70dc(0x334)][_0x1c70dc(0x42c)](/420029/gi,_0x339f85),_0x1049ad[_0x1c70dc(0x334)]=_0x1049ad[_0x1c70dc(0x334)][_0x1c70dc(0x42c)](/42a01e/gi,_0x339f85),_0x1049ad[_0x1c70dc(0x334)]=_0x1049ad[_0x1c70dc(0x334)][_0x1c70dc(0x42c)](/42a014/gi,_0x339f85),_0x1049ad[_0x1c70dc(0x334)]=_0x1049ad[_0x1c70dc(0x334)][_0x1c70dc(0x42c)](/42a00b/gi,_0x339f85),_0x1049ad[_0x1c70dc(0x334)]=_0x1049ad['sdp'][_0x1c70dc(0x42c)](/640c1f/gi,_0x339f85));if(session[_0x1c70dc(0x8ea)])try{var _0x5a894e=_0x19587e+session[_0x1c70dc(0x8ea)];_0x1049ad['sdp']=CodecsHandler[_0x1c70dc(0x216)](_0x1049ad[_0x1c70dc(0x334)],{'min':parseInt(_0x5a894e/0xa)||0x1,'max':_0x5a894e||0x1},_0x339f85);}catch(_0x119d95){}session['mc'][_0x1c70dc(0x2c2)](_0x1049ad)[_0x1c70dc(0x9a7)](function(){var _0x563074=_0x1c70dc;if(_0x2f0b67[_0x563074(0x3f2)]){var _0x2d0a5a=JSON[_0x563074(0x2c5)](_0x2f0b67[_0x563074(0x731)]());_0xed70d7(_0x2d0a5a,_0x563074(0x46c),function(){session['mcSetScale'](),_0x552ee8();});}})['catch'](function(_0x291caa){log(_0x291caa);});}else{if(_0x5f9e99==_0x1c70dc(0x403))this[_0x1c70dc(0x770)]==0x1b0?warnUser(_0x1c70dc(0x51d)):warnUser(_0x1c70dc(0x933));else _0x176a7f&&_0x176a7f();}}};var _0xe45807=0x9c4;session[_0x25e841(0x8ea)]!==![]&&(_0xe45807=session['meshcastBitrate']);session[_0x25e841(0x34b)]&&session[_0x25e841(0x2e1)]!==![]&&(_0xe45807=session[_0x25e841(0x2e1)]);session['mc'][_0x25e841(0x754)]=_0xe45807,session['mc'][_0x25e841(0x201)]=_0xe45807;var _0x3eb802=parseInt(0x61a8/_0xe45807)||0xa,_0x17a6a9='';_0x339f85&&(_0x339f85[_0x25e841(0x3f2)]==0x6?_0x17a6a9=_0x25e841(0x2ff):_0x17a6a9='/'+_0x339f85),_0x50fc39['open']('POST',meshcastServer[_0x25e841(0x2c0)]+'/'+_0x3eb802+_0x17a6a9,!![]),_0x50fc39[_0x25e841(0x47e)](_0x25e841(0x64a),'application/'+_0x598c81+';\x20charset=utf-8'),_0x50fc39['setRequestHeader']('Authorization',_0x25e841(0x99e)+_0x1bdae8),_0x50fc39[_0x25e841(0x5c4)]=function(_0x3ede89){var _0x241e10=_0x25e841;errorlog(_0x3ede89),warnUser('Meshcast\x20not\x20available.'),window[_0x241e10(0x4d5)][_0x241e10(0x70f)]!==_0x241e10(0x87a)?console[_0x241e10(0xa21)](_0x241e10(0x9ab)):console[_0x241e10(0xa21)]('Please\x20contact\x20steve@seguin.email\x20or\x20join\x20https://discord.vdo.ninja\x20if\x20Meshcast\x20is\x20not\x20working.');},_0x50fc39[_0x25e841(0x1cd)](_0x225194);}catch(_0x5ac3a0){errorlog(_0x5ac3a0);}}async function _0x552ee8(){var _0x5748d9=_0x33ed01;if(meshcastServer['code'])var _0x1537ff=_0x5748d9(0x532)+meshcastServer[_0x5748d9(0x1fc)]+_0x5748d9(0x9f5)+_0x1bdae8;else var _0x1537ff=_0x5748d9(0x3a7)+_0x1bdae8;console[_0x5748d9(0x27a)](_0x5748d9(0x47a)+_0x1537ff),await sleep(0x1f4),session[_0x5748d9(0x4cf)]={'token':_0x1bdae8,'url':meshcastServer[_0x5748d9(0x2c0)]};for(var _0x2a375e in session[_0x5748d9(0x5f8)]){if(session['pcs'][_0x2a375e][_0x5748d9(0x2d4)]===null){var _0x3513a9={};_0x3513a9[_0x5748d9(0x2d4)]={'token':_0x1bdae8,'url':meshcastServer[_0x5748d9(0x2c0)]},session['sendMessage'](_0x3513a9,_0x2a375e)&&(session[_0x5748d9(0x5f8)][_0x2a375e][_0x5748d9(0x2d4)]=!![]);}}}}async function meshcastWatch(_0x8380be,_0x452c83){var _0x32dffc=_0x2eaef5;!(_0x8380be in session[_0x32dffc(0x1f2)])&&(session[_0x32dffc(0x1f2)][_0x8380be]={},session[_0x32dffc(0x1f2)][_0x8380be][_0x32dffc(0x653)]={},session[_0x32dffc(0x1f2)][_0x8380be]['allowGraphs']=![],session[_0x32dffc(0x1f2)][_0x8380be][_0x32dffc(0x260)]={},session[_0x32dffc(0x1f2)][_0x8380be]['channelOffset']=![],session[_0x32dffc(0x1f2)][_0x8380be][_0x32dffc(0x918)]=![],session['rpcs'][_0x8380be][_0x32dffc(0x952)]=![],session[_0x32dffc(0x1f2)][_0x8380be]['lockedVideoBitrate']=![],session[_0x32dffc(0x1f2)][_0x8380be][_0x32dffc(0x2be)]=![],errorlog(_0x32dffc(0x51f)));var _0x12f6d1=!![],_0x48edd8=!![];if(session['novideo']!==![]&&!session['novideo'][_0x32dffc(0x9ad)](session[_0x32dffc(0x1f2)][_0x8380be][_0x32dffc(0x6ba)]))_0x12f6d1=![];else session[_0x32dffc(0x1f2)][_0x8380be]['settings']&&!session[_0x32dffc(0x1f2)][_0x8380be]['settings'][_0x32dffc(0x6fb)]&&(_0x12f6d1=![]);if(session[_0x32dffc(0x665)]!==![]&&!session['noaudio'][_0x32dffc(0x9ad)](session[_0x32dffc(0x1f2)][_0x8380be]['streamID']))_0x48edd8=![];else session[_0x32dffc(0x1f2)][_0x8380be][_0x32dffc(0x952)]&&!session['rpcs'][_0x8380be]['settings'][_0x32dffc(0x20c)]&&(_0x48edd8=![]);if(!_0x48edd8&&!_0x12f6d1){errorlog(_0x32dffc(0x74a));return;}!session[_0x32dffc(0x890)]&&await chooseBestTURN();try{session[_0x32dffc(0x1f2)][_0x8380be]['mc']=new RTCPeerConnection(session[_0x32dffc(0x890)]);}catch(_0x539938){!session[_0x32dffc(0x602)]&&warnUser(_0x32dffc(0x9cf));}session[_0x32dffc(0x1f2)][_0x8380be]['mc'][_0x32dffc(0x8bc)]=function(_0x46df3f){var _0x59269e=_0x32dffc;session[_0x59269e(0x9b9)](_0x46df3f,_0x8380be);};var _0x172d67=session[_0x32dffc(0x8b3)](0xe),_0xb33d94={};_0xb33d94['streamID']=_0x452c83[_0x32dffc(0x73f)],_0xb33d94[_0x32dffc(0x840)]=_0x172d67;function _0x36f74c(_0x42f993){var _0x2a9f47=_0x32dffc,_0x20bb70=new XMLHttpRequest();_0x20bb70[_0x2a9f47(0x26e)]=function(){var _0x29e9b6=_0x2a9f47;if(this[_0x29e9b6(0xa4d)]==0x4&&this[_0x29e9b6(0x4e8)]==0xc8){var _0x965ac7=this[_0x29e9b6(0x2b6)]('content-type');if(_0x965ac7==_0x29e9b6(0x449)){var _0x34999f={};_0x34999f[_0x29e9b6(0x334)]=this[_0x29e9b6(0x770)],_0x34999f['type']=_0x29e9b6(0x999),session[_0x29e9b6(0x1f2)][_0x8380be]['mc']['setRemoteDescription'](_0x34999f)[_0x29e9b6(0x9a7)](function(){_0x20f069();})[_0x29e9b6(0x5f2)](function(_0x416aaa){log(_0x416aaa);});}}else log(this);},_0x20bb70[_0x2a9f47(0x61d)](_0x2a9f47(0x46b),_0x452c83[_0x2a9f47(0x2c0)],!![]),_0x20bb70[_0x2a9f47(0x47e)](_0x2a9f47(0x64a),_0x2a9f47(0x4b3)),_0x20bb70['setRequestHeader'](_0x2a9f47(0x4e9),_0x2a9f47(0x99e)+_0x452c83['token']),_0x20bb70[_0x2a9f47(0x1cd)](JSON[_0x2a9f47(0x2c5)](_0x42f993));}function _0x20f069(){var _0x456f2e=_0x32dffc;session[_0x456f2e(0x1f2)][_0x8380be]['mc'][_0x456f2e(0x546)]()['then'](function(_0x336f6f){var _0x2c226b=_0x456f2e;return _0x336f6f[_0x2c226b(0x334)]=CodecsHandler[_0x2c226b(0x73a)](_0x336f6f['sdp'],{'stereo':0x1}),session[_0x2c226b(0x1f2)][_0x8380be]['mc']['setLocalDescription'](_0x336f6f);})[_0x456f2e(0x9a7)](function(){var _0x34ee91=_0x456f2e,_0x45d394={};_0x45d394[_0x34ee91(0x840)]=_0x172d67,_0x45d394[_0x34ee91(0x525)]=session[_0x34ee91(0x1f2)][_0x8380be]['mc'][_0x34ee91(0x34a)][_0x34ee91(0x334)],_0x36f74c(_0x45d394);})[_0x456f2e(0x5f2)](function(_0x5608c6){});}_0x36f74c(_0xb33d94);}(function(){'use strict';var _0x3bfa2c=_0x2eaef5;let _0xcb3018=function(_0x5b8c3e){var _0x457a7f=_0x706a;this[_0x457a7f(0x3cd)]=new Uint8Array(_0x5b8c3e),this['pos']=0x0;};_0xcb3018['prototype']['seek']=function(_0x49c326){var _0x3c0590=_0x706a;this[_0x3c0590(0x38a)]=_0x49c326;},_0xcb3018[_0x3bfa2c(0xa4c)]['writeBytes']=function(_0x9564e9){var _0x4a8151=_0x3bfa2c;for(let _0x11fbfe=0x0;_0x11fbfe<_0x9564e9['length'];_0x11fbfe++){this[_0x4a8151(0x3cd)][this['pos']++]=_0x9564e9[_0x11fbfe];}},_0xcb3018[_0x3bfa2c(0xa4c)][_0x3bfa2c(0x66a)]=function(_0x1605d0){var _0x29afbc=_0x3bfa2c;this['data'][this[_0x29afbc(0x38a)]++]=_0x1605d0;},_0xcb3018[_0x3bfa2c(0xa4c)][_0x3bfa2c(0x909)]=_0xcb3018['prototype']['writeByte'],_0xcb3018['prototype']['writeU16BE']=function(_0x5e8962){var _0x123c51=_0x3bfa2c;this[_0x123c51(0x3cd)][this[_0x123c51(0x38a)]++]=_0x5e8962>>0x8,this['data'][this[_0x123c51(0x38a)]++]=_0x5e8962;},_0xcb3018[_0x3bfa2c(0xa4c)][_0x3bfa2c(0x6f4)]=function(_0x6658b2){var _0x14f286=_0x3bfa2c;let _0x55ce9d=new Uint8Array(new Float64Array([_0x6658b2])[_0x14f286(0x28e)]);for(let _0x315ea8=_0x55ce9d['length']-0x1;_0x315ea8>=0x0;_0x315ea8--){this[_0x14f286(0x66a)](_0x55ce9d[_0x315ea8]);}},_0xcb3018[_0x3bfa2c(0xa4c)][_0x3bfa2c(0x688)]=function(_0x2c0d0a){var _0x3c15f8=_0x3bfa2c;let _0x4d1242=new Uint8Array(new Float32Array([_0x2c0d0a])[_0x3c15f8(0x28e)]);for(let _0x1d6242=_0x4d1242['length']-0x1;_0x1d6242>=0x0;_0x1d6242--){this[_0x3c15f8(0x66a)](_0x4d1242[_0x1d6242]);}},_0xcb3018[_0x3bfa2c(0xa4c)][_0x3bfa2c(0x270)]=function(_0x20408a){var _0x1a492e=_0x3bfa2c;for(let _0x37858b=0x0;_0x37858b<_0x20408a[_0x1a492e(0x3f2)];_0x37858b++){this[_0x1a492e(0x3cd)][this[_0x1a492e(0x38a)]++]=_0x20408a[_0x1a492e(0x2eb)](_0x37858b);}},_0xcb3018[_0x3bfa2c(0xa4c)][_0x3bfa2c(0x37e)]=function(_0x20454f,_0x42b9fc){var _0x125922=_0x3bfa2c;switch(_0x42b9fc){case 0x1:this['writeU8'](0x1<<0x7|_0x20454f);break;case 0x2:this[_0x125922(0x909)](0x1<<0x6|_0x20454f>>0x8),this['writeU8'](_0x20454f);break;case 0x3:this[_0x125922(0x909)](0x1<<0x5|_0x20454f>>0x10),this[_0x125922(0x909)](_0x20454f>>0x8),this[_0x125922(0x909)](_0x20454f);break;case 0x4:this[_0x125922(0x909)](0x1<<0x4|_0x20454f>>0x18),this[_0x125922(0x909)](_0x20454f>>0x10),this[_0x125922(0x909)](_0x20454f>>0x8),this[_0x125922(0x909)](_0x20454f);break;case 0x5:this[_0x125922(0x909)](0x1<<0x3|_0x20454f/0x100000000&0x7),this[_0x125922(0x909)](_0x20454f>>0x18),this[_0x125922(0x909)](_0x20454f>>0x10),this[_0x125922(0x909)](_0x20454f>>0x8),this[_0x125922(0x909)](_0x20454f);break;default:throw new Error(_0x125922(0x87f)+_0x42b9fc);}},_0xcb3018[_0x3bfa2c(0xa4c)][_0x3bfa2c(0x66e)]=function(_0x2e5a2c){var _0x3d24a3=_0x3bfa2c;if(_0x2e5a2c<(0x1<<0x7)-0x1)return 0x1;else{if(_0x2e5a2c<(0x1<<0xe)-0x1)return 0x2;else{if(_0x2e5a2c<(0x1<<0x15)-0x1)return 0x3;else{if(_0x2e5a2c<(0x1<<0x1c)-0x1)return 0x4;else{if(_0x2e5a2c<0x7ffffffff)return 0x5;else throw new Error(_0x3d24a3(0x7fb)+_0x2e5a2c);}}}}},_0xcb3018[_0x3bfa2c(0xa4c)][_0x3bfa2c(0x316)]=function(_0x311c31){var _0x18d710=_0x3bfa2c;this[_0x18d710(0x37e)](_0x311c31,this['measureEBMLVarInt'](_0x311c31));},_0xcb3018[_0x3bfa2c(0xa4c)][_0x3bfa2c(0x6d3)]=function(_0x114d53,_0x58233f){var _0xdfc5a=_0x3bfa2c;_0x58233f===undefined&&(_0x58233f=this[_0xdfc5a(0x1d5)](_0x114d53));switch(_0x58233f){case 0x5:this[_0xdfc5a(0x909)](Math[_0xdfc5a(0x53f)](_0x114d53/0x100000000));case 0x4:this[_0xdfc5a(0x909)](_0x114d53>>0x18);case 0x3:this[_0xdfc5a(0x909)](_0x114d53>>0x10);case 0x2:this[_0xdfc5a(0x909)](_0x114d53>>0x8);case 0x1:this[_0xdfc5a(0x909)](_0x114d53);break;default:throw new Error(_0xdfc5a(0x998)+_0x58233f);}},_0xcb3018[_0x3bfa2c(0xa4c)][_0x3bfa2c(0x1d5)]=function(_0x336349){if(_0x336349<0x1<<0x8)return 0x1;else{if(_0x336349<0x1<<0x10)return 0x2;else{if(_0x336349<0x1<<0x18)return 0x3;else return _0x336349<0x100000000?0x4:0x5;}}},_0xcb3018[_0x3bfa2c(0xa4c)][_0x3bfa2c(0x65d)]=function(){var _0xac0863=_0x3bfa2c;if(this[_0xac0863(0x38a)]this[_0x494aed(0x3f2)])throw new Error(_0x494aed(0x82a));this[_0x494aed(0x38a)]=_0x5562db;},this[_0x2e8250(0x282)]=function(_0x3dafad){var _0x1ba415=_0x2e8250;let _0x18981a={'offset':this[_0x1ba415(0x38a)],'data':_0x3dafad,'length':_0x528d20(_0x3dafad)},_0x2356ec=_0x18981a[_0x1ba415(0x613)]>=this[_0x1ba415(0x3f2)];this[_0x1ba415(0x38a)]+=_0x18981a['length'],this['length']=Math[_0x1ba415(0x846)](this[_0x1ba415(0x3f2)],this[_0x1ba415(0x38a)]),_0x15bb9b=_0x15bb9b[_0x1ba415(0x9a7)](async function(){var _0x1a8101=_0x1ba415;if(_0x1fdb94)return new Promise(function(_0x2ece8a,_0x2b3ec9){var _0x28ce22=_0x706a;_0x4db8d2(_0x18981a[_0x28ce22(0x3cd)])[_0x28ce22(0x9a7)](function(_0xc5196b){var _0xbd11bb=_0x28ce22;let _0x158204=0x0,_0x49251f=Buffer[_0xbd11bb(0x7b3)](_0xc5196b[_0xbd11bb(0x28e)]),_0x405935=function(_0x26d4d1,_0x115656,_0x3c0405){var _0x270504=_0xbd11bb;_0x158204+=_0x115656,_0x158204>=_0x3c0405['length']?_0x2ece8a():_0x225219['write'](_0x1fdb94,_0x3c0405,_0x158204,_0x3c0405[_0x270504(0x3f2)]-_0x158204,_0x18981a[_0x270504(0x613)]+_0x158204,_0x405935);};_0x225219[_0xbd11bb(0x282)](_0x1fdb94,_0x49251f,0x0,_0x49251f[_0xbd11bb(0x3f2)],_0x18981a['offset'],_0x405935);});});else{if(_0x4cf0dc)return new Promise(function(_0x4bc23b,_0x4ff1d7){var _0x1670e1=_0x706a;_0x4cf0dc[_0x1670e1(0x859)](_0x18981a['offset'])['then'](()=>{var _0x481d81=_0x1670e1;_0x4cf0dc['write'](new Blob([_0x18981a[_0x481d81(0x3cd)]]));})[_0x1670e1(0x9a7)](()=>{_0x4bc23b();});});else{if(!_0x2356ec)for(let _0x481bca=0x0;_0x481bca<_0x8e6966[_0x1a8101(0x3f2)];_0x481bca++){let _0x2656a0=_0x8e6966[_0x481bca];if(!(_0x18981a[_0x1a8101(0x613)]+_0x18981a['length']<=_0x2656a0[_0x1a8101(0x613)]||_0x18981a[_0x1a8101(0x613)]>=_0x2656a0[_0x1a8101(0x613)]+_0x2656a0['length'])){if(_0x18981a[_0x1a8101(0x613)]<_0x2656a0[_0x1a8101(0x613)]||_0x18981a[_0x1a8101(0x613)]+_0x18981a[_0x1a8101(0x3f2)]>_0x2656a0[_0x1a8101(0x613)]+_0x2656a0[_0x1a8101(0x3f2)])throw new Error(_0x1a8101(0x3e6));if(_0x18981a[_0x1a8101(0x613)]==_0x2656a0['offset']&&_0x18981a['length']==_0x2656a0[_0x1a8101(0x3f2)]){_0x2656a0[_0x1a8101(0x3cd)]=_0x18981a[_0x1a8101(0x3cd)];return;}else return _0x4db8d2(_0x2656a0[_0x1a8101(0x3cd)])[_0x1a8101(0x9a7)](function(_0x24b391){var _0x2b0b75=_0x1a8101;return _0x2656a0[_0x2b0b75(0x3cd)]=_0x24b391,_0x4db8d2(_0x18981a['data']);})[_0x1a8101(0x9a7)](function(_0x2c40c5){var _0x5b2c58=_0x1a8101;_0x18981a[_0x5b2c58(0x3cd)]=_0x2c40c5,_0x2656a0[_0x5b2c58(0x3cd)][_0x5b2c58(0x57f)](_0x18981a[_0x5b2c58(0x3cd)],_0x18981a[_0x5b2c58(0x613)]-_0x2656a0['offset']);});}}}}_0x8e6966[_0x1a8101(0x6dd)](_0x18981a);});},this[_0x2e8250(0xa4f)]=function(_0x523809){var _0x5e4e13=_0x2e8250;return _0x1fdb94||_0x4cf0dc?_0x15bb9b=_0x15bb9b[_0x5e4e13(0x9a7)](function(){return null;}):_0x15bb9b=_0x15bb9b[_0x5e4e13(0x9a7)](function(){var _0x1d1411=_0x5e4e13;let _0xd1a4fe=[];for(let _0xc9bba4=0x0;_0xc9bba4<_0x8e6966[_0x1d1411(0x3f2)];_0xc9bba4++){_0xd1a4fe[_0x1d1411(0x6dd)](_0x8e6966[_0xc9bba4][_0x1d1411(0x3cd)]);}return new Blob(_0xd1a4fe,{'type':_0x523809});}),_0x15bb9b;};};};window[_0x318cce(0x9a9)]=_0x45be3d(null);}()),(function(){'use strict';var _0x50fcc0=_0x2eaef5;function _0xa13adb(_0x5ed0ef){var _0x3b7dc4=_0x706a;this[_0x3b7dc4(0x9d6)]=_0x5ed0ef;}function _0x34ff67(_0x1be342,_0x38c134){var _0x270066=_0x706a;let _0x39815e={};return[_0x1be342,_0x38c134][_0x270066(0x374)](function(_0xd42704){var _0x1fbeba=_0x270066;for(let _0x11f969 in _0xd42704){Object['prototype'][_0x1fbeba(0x65c)][_0x1fbeba(0x443)](_0xd42704,_0x11f969)&&(_0x39815e[_0x11f969]=_0xd42704[_0x11f969]);}}),_0x39815e;}function _0x330998(_0x543b0e,_0x3a6f20,_0x9aef7c){var _0xa8ac0b=_0x706a;if(Array[_0xa8ac0b(0x91d)](_0x9aef7c))for(let _0x4c36a3=0x0;_0x4c36a3<_0x9aef7c[_0xa8ac0b(0x3f2)];_0x4c36a3++){_0x330998(_0x543b0e,_0x3a6f20,_0x9aef7c[_0x4c36a3]);}else{if(typeof _0x9aef7c==='string')_0x543b0e[_0xa8ac0b(0x270)](_0x9aef7c);else{if(_0x9aef7c instanceof Uint8Array)_0x543b0e['writeBytes'](_0x9aef7c);else{if(_0x9aef7c['id']){_0x9aef7c[_0xa8ac0b(0x613)]=_0x543b0e[_0xa8ac0b(0x38a)]+_0x3a6f20,_0x543b0e[_0xa8ac0b(0x6d3)](_0x9aef7c['id']);if(Array[_0xa8ac0b(0x91d)](_0x9aef7c[_0xa8ac0b(0x3cd)])){let _0x14b73a,_0x4701a9,_0x20f27f;_0x9aef7c['size']===-0x1?_0x543b0e[_0xa8ac0b(0x66a)](0xff):(_0x14b73a=_0x543b0e['pos'],_0x543b0e['writeBytes']([0x0,0x0,0x0,0x0])),_0x4701a9=_0x543b0e[_0xa8ac0b(0x38a)],_0x9aef7c[_0xa8ac0b(0x67b)]=_0x4701a9+_0x3a6f20,_0x330998(_0x543b0e,_0x3a6f20,_0x9aef7c['data']),_0x9aef7c[_0xa8ac0b(0x99d)]!==-0x1&&(_0x20f27f=_0x543b0e['pos'],_0x9aef7c[_0xa8ac0b(0x99d)]=_0x20f27f-_0x4701a9,_0x543b0e[_0xa8ac0b(0x859)](_0x14b73a),_0x543b0e[_0xa8ac0b(0x37e)](_0x9aef7c[_0xa8ac0b(0x99d)],0x4),_0x543b0e['seek'](_0x20f27f));}else{if(typeof _0x9aef7c[_0xa8ac0b(0x3cd)]==='string')_0x543b0e[_0xa8ac0b(0x316)](_0x9aef7c[_0xa8ac0b(0x3cd)][_0xa8ac0b(0x3f2)]),_0x9aef7c[_0xa8ac0b(0x67b)]=_0x543b0e['pos']+_0x3a6f20,_0x543b0e[_0xa8ac0b(0x270)](_0x9aef7c[_0xa8ac0b(0x3cd)]);else{if(typeof _0x9aef7c[_0xa8ac0b(0x3cd)]===_0xa8ac0b(0x8a3))!_0x9aef7c[_0xa8ac0b(0x99d)]&&(_0x9aef7c['size']=_0x543b0e['measureUnsignedInt'](_0x9aef7c['data'])),_0x543b0e[_0xa8ac0b(0x316)](_0x9aef7c['size']),_0x9aef7c[_0xa8ac0b(0x67b)]=_0x543b0e['pos']+_0x3a6f20,_0x543b0e[_0xa8ac0b(0x6d3)](_0x9aef7c[_0xa8ac0b(0x3cd)],_0x9aef7c[_0xa8ac0b(0x99d)]);else{if(_0x9aef7c[_0xa8ac0b(0x3cd)]instanceof _0xa13adb)_0x543b0e['writeEBMLVarInt'](0x8),_0x9aef7c[_0xa8ac0b(0x67b)]=_0x543b0e[_0xa8ac0b(0x38a)]+_0x3a6f20,_0x543b0e[_0xa8ac0b(0x6f4)](_0x9aef7c['data'][_0xa8ac0b(0x9d6)]);else{if(_0x9aef7c[_0xa8ac0b(0x3cd)]instanceof _0xa13adb)_0x543b0e[_0xa8ac0b(0x316)](0x4),_0x9aef7c[_0xa8ac0b(0x67b)]=_0x543b0e['pos']+_0x3a6f20,_0x543b0e['writeFloatBE'](_0x9aef7c['data'][_0xa8ac0b(0x9d6)]);else{if(_0x9aef7c[_0xa8ac0b(0x3cd)]instanceof Uint8Array)_0x543b0e[_0xa8ac0b(0x316)](_0x9aef7c[_0xa8ac0b(0x3cd)][_0xa8ac0b(0x36d)]),_0x9aef7c[_0xa8ac0b(0x67b)]=_0x543b0e['pos']+_0x3a6f20,_0x543b0e[_0xa8ac0b(0x76f)](_0x9aef7c['data']);else throw new Error(_0xa8ac0b(0x4dd)+typeof _0x9aef7c[_0xa8ac0b(0x3cd)]);}}}}}}else throw new Error(_0xa8ac0b(0x4dd)+typeof _0x9aef7c[_0xa8ac0b(0x3cd)]);}}}}let _0x55c2f1=function(_0x4baf2a,_0x11bbc9){return function(_0xda652c){var _0x3c429f=_0x706a;let _0xffcc48=0x1388,_0x78b5c6=![],_0x750a2d=0x0,_0x3c4d76=0x0,_0x22e907=!![],_0x18c00d=0x0,_0x78e8a5=0xbb80,_0x52f466=0x1,_0x9a39f0=[],_0x5bebda=0x0,_0xf33c59=0x0,_0x303527=0x0,_0x594caf={'fileWriter':null,'codec':_0x3c429f(0x855)},_0x58c953,_0x4a3164={'id':0x4489,'data':new _0xa13adb(0x0)},_0x313626=new _0x11bbc9(_0xda652c[_0x3c429f(0x3a8)]);function _0x1da74f(_0x540c42,_0x309400){var _0x567434=_0x3c429f;return _0x309400=new Uint8Array(_0x309400),_0x56bede(_0x58860e(_0x540c42),_0x5177f6(_0x309400[_0x567434(0x36d)]),_0x309400);}function _0x56bede(){var _0x5b07b0=_0x3c429f,_0x2f4bed,_0x216d3e=0x0,_0x515ce1;for(_0x2f4bed=0x0;_0x2f4bed>>0x18&0xff,_0x2cbe9c>>>0x10&0xff,_0x2cbe9c>>>0x8&0xff,_0x2cbe9c&0xff]);if((_0x2cbe9c&0xff0000)!=0x0)return new Uint8Array([_0x2cbe9c>>>0x10&0xff,_0x2cbe9c>>>0x8&0xff,_0x2cbe9c&0xff]);if((_0x2cbe9c&0xff00)!=0x0)return new Uint8Array([_0x2cbe9c>>>0x8&0xff,_0x2cbe9c&0xff]);if((_0x2cbe9c&0xff)!=0x0)return new Uint8Array([_0x2cbe9c&0xff]);throw _0x766ab3(0x285);}function _0x5177f6(_0x3be0a9){if(_0x3be0a9<=0x7f)return new Uint8Array([0x80|_0x3be0a9&0x7f]);if(_0x3be0a9<=0x3fff)return new Uint8Array([0x40|_0x3be0a9>>0x8&0x3f,_0x3be0a9&0xff]);return new Uint8Array([0x8,_0x3be0a9>>>0x18&0xff,_0x3be0a9>>>0x10&0xff,_0x3be0a9>>>0x8&0xff,_0x3be0a9&0xff]);}function _0x3c5c34(_0x224f0c,_0x47a78b){var _0x1d5cbf=_0x3c429f,_0x4fe9e3=new DataView(new ArrayBuffer(0x4));return _0x4fe9e3[_0x1d5cbf(0x66d)](0x0,_0x47a78b,![]),_0x1da74f(_0x224f0c,new Uint8Array(_0x4fe9e3[_0x1d5cbf(0x28e)]));}function _0x4ecdb3(_0x52e7c5){if(_0x52e7c5<=0xff)return new Uint8Array([_0x52e7c5&0xff]);if(_0x52e7c5<=0xffff)return new Uint8Array([_0x52e7c5>>>0x8&0xff,_0x52e7c5&0xff]);if(_0x52e7c5<=0xffffff)return new Uint8Array([_0x52e7c5>>0x10&0xff,_0x52e7c5>>0x8&0xff,_0x52e7c5&0xff]);return new Uint8Array([_0x52e7c5>>>0x18&0xff,_0x52e7c5>>>0x10&0xff,_0x52e7c5>>>0x8&0xff,_0x52e7c5&0xff]);var _0x42b90f=new DataView(new ArrayBuffer(0x4));return _0x42b90f['setUint32'](0x0,_0x52e7c5,![]),_0x42b90f;}function _0x47d91a(_0xcdecdd,_0x1b9a50){return _0x1da74f(_0xcdecdd,_0x4ecdb3(_0x1b9a50));}function _0xb252ff(_0x26bda7,_0x3ec99c){var _0x5017e2=_0x3c429f;return _0x1da74f(_0x26bda7,new TextEncoder()[_0x5017e2(0x8b4)](_0x3ec99c));}function _0x5d288e(){var _0x25f5d4=_0x3c429f;let _0x4487f0={'id':0x1a45dfa3,'data':[_0x47d91a(0x4286,0x1),_0x47d91a(0x42f7,0x1),_0x47d91a(0x42f2,0x4),_0x47d91a(0x42f3,0x8),_0xb252ff(0x4282,_0x25f5d4(0x77f)),_0x47d91a(0x4287,0x4),_0x47d91a(0x4285,0x2)]},_0x5d956e={'id':0x1549a966,'data':[_0x47d91a(0x2ad7b1,0xf4240),_0xb252ff(0x4d80,'VDO-Ninja'),_0xb252ff(0x5741,_0x25f5d4(0x9bc)),_0x4a3164]},_0x4f80ba=[{'id':0xb0,'data':_0x750a2d},{'id':0xba,'data':_0x3c4d76}],_0x238897={'id':0x1654ae6b,'data':[{'id':0xae,'data':[_0x47d91a(0xd7,0x1),_0x47d91a(0x73c5,0x1),_0x47d91a(0x9c,0x0),_0xb252ff(0x22b59c,'und'),_0xb252ff(0x86,'V_'+_0xda652c['codec']),_0x47d91a(0x83,0x1),{'id':0xe0,'data':[_0x47d91a(0xb0,_0x750a2d),_0x47d91a(0xba,_0x3c4d76)]}]},{'id':0xae,'data':[_0x47d91a(0xd7,0x2),_0x47d91a(0x73c5,0x2),_0x47d91a(0x9c,0x0),_0xb252ff(0x22b59c,_0x25f5d4(0x5f4)),_0xb252ff(0x86,'A_OPUS'),_0x47d91a(0x83,0x2),{'id':0xe1,'data':[_0x3c5c34(0xb5,_0x78e8a5),_0x47d91a(0x9f,_0x52f466)]},_0x1da74f(0x63a2,new Uint8Array(['O'['charCodeAt'](0x0),'p'[_0x25f5d4(0x2eb)](0x0),'u'[_0x25f5d4(0x2eb)](0x0),'s'[_0x25f5d4(0x2eb)](0x0),'H'[_0x25f5d4(0x2eb)](0x0),'e'['charCodeAt'](0x0),'a'['charCodeAt'](0x0),'d'['charCodeAt'](0x0),0x1,_0x52f466&0xff,0x38,0x1,_0x78e8a5>>>0x0&0xff,_0x78e8a5>>>0x8&0xff,_0x78e8a5>>>0x10&0xff,_0x78e8a5>>>0x18&0xff,0x0,0x0,0x0]))]}]};_0x58c953={'id':0x18538067,'size':-0x1,'data':[_0x5d956e,_0x238897]};let _0x1bd5e9=new _0x4baf2a(0x200);_0x330998(_0x1bd5e9,_0x313626['pos'],[_0x4487f0,_0x58c953]),_0x313626[_0x25f5d4(0x282)](_0x1bd5e9[_0x25f5d4(0x65d)]()),_0x78b5c6=!![];}function _0x1d25cd(_0x373db1){var _0x1a5fda=_0x3c429f;let _0xfa6c1f=new _0x4baf2a(0x1+0x2+0x1);if(!(_0x373db1[_0x1a5fda(0x2d7)]>0x0&&_0x373db1[_0x1a5fda(0x2d7)]<0x7f))throw new Error(_0x1a5fda(0x58b));return _0xfa6c1f['writeEBMLVarInt'](_0x373db1[_0x1a5fda(0x2d7)]),_0xfa6c1f['writeU16BE'](_0x373db1[_0x1a5fda(0x861)]),_0xfa6c1f[_0x1a5fda(0x66a)]((_0x373db1[_0x1a5fda(0x870)]==_0x1a5fda(0x663)?0x1:0x0)<<0x7),{'id':0xa3,'data':[_0xfa6c1f['getAsDataArray'](),_0x373db1[_0x1a5fda(0x7f3)]]};}function _0x460a94(_0x569581){var _0x3051a7=_0x3c429f;return{'id':0x1f43b675,'data':[{'id':0xe7,'data':Math['round'](_0x569581[_0x3051a7(0x861)])}]};}function _0x39ec63(){var _0x3f8a6f=_0x3c429f;if(_0x9a39f0[_0x3f8a6f(0x3f2)]===0x0)return;let _0x384b1f=0x0;for(let _0x112576=0x0;_0x112576<_0x9a39f0[_0x3f8a6f(0x3f2)];_0x112576++){_0x384b1f+=_0x9a39f0[_0x112576][_0x3f8a6f(0x7f3)][_0x3f8a6f(0x36d)];}let _0x58f08e=new _0x4baf2a(_0x384b1f+_0x9a39f0['length']*0x40),_0x40fb41=_0x460a94({'timecode':Math[_0x3f8a6f(0x717)](_0x5bebda)});for(let _0x48a511=0x0;_0x48a511<_0x9a39f0[_0x3f8a6f(0x3f2)];_0x48a511++){_0x40fb41[_0x3f8a6f(0x3cd)][_0x3f8a6f(0x6dd)](_0x1d25cd(_0x9a39f0[_0x48a511]));}_0x330998(_0x58f08e,_0x313626['pos'],_0x40fb41),_0x313626['write'](_0x58f08e[_0x3f8a6f(0x65d)]()),_0x9a39f0=[],_0xf33c59=0x0;}function _0x23b953(_0x4871ba,_0x1b3a71){var _0x155366=_0x3c429f;_0x4871ba['trackNumber']=_0x1b3a71;var _0x16bdd6=_0x4871ba[_0x155366(0x8fe)]/0x3e8;_0x22e907?(_0x18c00d=_0x16bdd6,_0x16bdd6=0x0,_0x22e907=![]):_0x16bdd6=_0x16bdd6-_0x18c00d;_0x303527=_0x16bdd6;if(_0xf33c59==0x0)_0x5bebda=_0x16bdd6;_0x4871ba['timecode']=Math['round'](_0x16bdd6-_0x5bebda),_0x9a39f0[_0x155366(0x6dd)](_0x4871ba),_0xf33c59=_0x4871ba[_0x155366(0x861)]+0x1,_0xf33c59>=_0xffcc48&&_0x39ec63();}function _0x2161d0(){var _0x2d10ed=_0x3c429f;let _0x2b3e1d=new _0x4baf2a(seekHead[_0x2d10ed(0x99d)]),_0x25b43e=_0x313626[_0x2d10ed(0x38a)];_0x330998(_0x2b3e1d,seekHead[_0x2d10ed(0x67b)],seekHead['data']),_0x313626['seek'](seekHead['dataOffset']),_0x313626['write'](_0x2b3e1d[_0x2d10ed(0x65d)]()),_0x313626[_0x2d10ed(0x859)](_0x25b43e);}function _0x15ca79(){var _0x939ed0=_0x3c429f;let _0xf286c5=new _0x4baf2a(0x8),_0x5ad909=_0x313626[_0x939ed0(0x38a)];_0xf286c5[_0x939ed0(0x6f4)](_0x303527),_0x313626[_0x939ed0(0x859)](_0x4a3164['dataOffset']),_0x313626[_0x939ed0(0x282)](_0xf286c5[_0x939ed0(0x65d)]()),_0x313626[_0x939ed0(0x859)](_0x5ad909);}this[_0x3c429f(0x559)]=function(_0x50a4be){var _0x360ef5=_0x3c429f;!_0x78b5c6&&(_0x750a2d=_0xda652c[_0x360ef5(0x375)],_0x3c4d76=_0xda652c['height'],_0x78e8a5=_0xda652c[_0x360ef5(0x6f0)],_0x52f466=_0xda652c[_0x360ef5(0x45e)],_0x5d288e());if(_0x50a4be[_0x360ef5(0x360)][_0x360ef5(0x248)]==_0x360ef5(0x20f)){let _0x4818ed=new Uint8Array(_0x50a4be[_0x360ef5(0x36d)]);_0x50a4be[_0x360ef5(0x9d7)](_0x4818ed),_0x23b953({'frame':_0x4818ed,'intime':_0x50a4be[_0x360ef5(0x9da)],'type':_0x50a4be[_0x360ef5(0x870)]},0x1);return;}else{if(_0x50a4be[_0x360ef5(0x360)][_0x360ef5(0x248)]==_0x360ef5(0x4b7)){let _0x99ad1c=new Uint8Array(_0x50a4be['byteLength']);_0x50a4be[_0x360ef5(0x9d7)](_0x99ad1c),_0x23b953({'frame':_0x99ad1c,'intime':_0x50a4be['timestamp'],'type':_0x50a4be[_0x360ef5(0x870)]},0x2);return;}}},this[_0x3c429f(0xa4f)]=function(){var _0x32c768=_0x3c429f;return!_0x78b5c6&&_0x5d288e(),_0x22e907=!![],_0x39ec63(),_0x15ca79(),_0x313626[_0x32c768(0xa4f)](_0x32c768(0x6c5));},this['getWrittenSize']=function(){var _0x42647d=_0x3c429f;return _0x313626[_0x42647d(0x3f2)];},_0xda652c=_0x34ff67(_0x594caf,_0xda652c||{});};};window[_0x50fcc0(0x8cb)]=_0x55c2f1(window[_0x50fcc0(0x43a)],window[_0x50fcc0(0x9a9)]);}()); \ No newline at end of file +var _0x437dd4=_0x9870;(function(_0x1ae69f,_0x47a3ec){var _0x4a6996=_0x9870,_0x19d0a4=_0x1ae69f();while(!![]){try{var _0xa29373=-parseInt(_0x4a6996(0x382))/0x1+-parseInt(_0x4a6996(0xc6))/0x2+parseInt(_0x4a6996(0xe4))/0x3+parseInt(_0x4a6996(0x625))/0x4*(parseInt(_0x4a6996(0x155))/0x5)+-parseInt(_0x4a6996(0x886))/0x6*(-parseInt(_0x4a6996(0x798))/0x7)+-parseInt(_0x4a6996(0x809))/0x8+parseInt(_0x4a6996(0x7ed))/0x9;if(_0xa29373===_0x47a3ec)break;else _0x19d0a4['push'](_0x19d0a4['shift']());}catch(_0x3ee9bb){_0x19d0a4['push'](_0x19d0a4['shift']());}}}(_0x1493,0x6fc69));function log(_0x27eda0){var _0x414eae=_0x9870;if(debugSocket){if(debugSocket[_0x414eae(0xcd)]===debugSocket[_0x414eae(0x3ef)])for(var _0x33a61e=0x0;_0x33a61e_0xb48b84[_0x29c403(0x8fe)]())[_0x29c403(0x414)](function(_0x59daa3){var _0x3bae4c=_0x29c403;_0x59daa3[_0x3bae4c(0x422)]['forEach'](_0x3c745a=>{var _0x35ec29=_0x3bae4c;try{if(session['forceTcpMode']&&_0x3c745a[_0x35ec29(0x211)]){}else _0x599ba7[_0x35ec29(0x20d)](_0x3c745a);}catch(_0x4f7c5a){errorlog(_0x4f7c5a);}});if(isIFrame&&_0x59daa3[_0x3bae4c(0x9d)]&&session['speedtest']&&!session[_0x3bae4c(0x571)])pokeIframeAPI(_0x3bae4c(0x39f),_0x59daa3[_0x3bae4c(0x9d)]);else!session[_0x3bae4c(0x90c)]&&setStorage('turnlist',_0x59daa3['servers'],0x1);})[_0x29c403(0x538)](function(_0x329f03){var _0x363010=_0x29c403;warnlog(_0x329f03),_0x599ba7=[{'username':_0x363010(0x27f),'credential':_0x363010(0x10f),'urls':['turns:www.turn.obs.ninja:443'],'tz':0x12c,'udp':![],'locale':'cae1'},{'username':_0x363010(0x27f),'credential':'setupYourOwnPlease','urls':[_0x363010(0x73)],'tz':0x12c,'udp':!![],'locale':_0x363010(0x77f)},{'username':_0x363010(0x174),'credential':'theyBeSharksHere','urls':[_0x363010(0x8b7)],'tz':0x1e0,'udp':!![],'locale':'usw2'},{'username':_0x363010(0x174),'credential':'PolandPirat','urls':[_0x363010(0x42e)],'tz':-0x46,'udp':!![],'locale':_0x363010(0x906)},{'username':'obsninja','credential':_0x363010(0xb0),'urls':[_0x363010(0x741)],'tz':-0x3c,'udp':!![],'locale':_0x363010(0x436)},{'username':'steve','credential':_0x363010(0x10f),'urls':[_0x363010(0x95)],'tz':-0x3c,'udp':![],'locale':'de1'},{'username':_0x363010(0x27f),'credential':_0x363010(0x10f),'urls':[_0x363010(0x599)],'tz':-0x3c,'udp':!![],'locale':_0x363010(0x89a)},{'username':_0x363010(0x174),'credential':_0x363010(0x337),'urls':[_0x363010(0x143)],'tz':-0x3c,'udp':!![],'locale':_0x363010(0x2d4)},{'username':'vdoninja','credential':_0x363010(0x337),'urls':[_0x363010(0x7ff)],'tz':-0x3c,'udp':![],'locale':_0x363010(0x2d4)},{'username':_0x363010(0x174),'credential':_0x363010(0x171),'urls':['turn:turn-use1.vdo.ninja:3478'],'tz':0x12c,'udp':!![],'locale':_0x363010(0x595)}],_0x599ba7=processTURNs(_0x599ba7);}),!session[_0x29c403(0x588)]&&(session['stunServers']=[]),session['configuration']={'iceServers':session[_0x29c403(0x588)],'sdpSemantics':_0x29c403(0x668)},session[_0x29c403(0x216)]&&(session[_0x29c403(0x2dc)]['iceTransportPolicy']=_0x29c403(0x7dc)),!_0x599ba7&&(_0x599ba7=[]),session['configuration'][_0x29c403(0x190)]=session[_0x29c403(0x2dc)][_0x29c403(0x190)]['concat'](_0x599ba7),log(_0x29c403(0x2e6)),!![];}var TURNPromise=null;async function chooseBestTURN(){var _0x3ed6e0=_0x437dd4;if(session[_0x3ed6e0(0x2dc)])return;return!TURNPromise?TURNPromise=getTURNList():warnlog('Second\x20Thread\x20Waiting\x20for\x20TURN\x20LIST\x20to\x20load'),await TURNPromise;}var WebRTC={};WebRTC[_0x437dd4(0x5a0)]=(function(){var _0x2f8f35=_0x437dd4,_0x2c8760={};function _0x51c852(){var _0x3768ec=_0x9870,_0x75b39a,_0x359eca,_0x4b7bb0=new Promise((_0x77726f,_0x535bb4)=>{_0x75b39a=_0x77726f,_0x359eca=_0x535bb4;});return _0x4b7bb0[_0x3768ec(0x45d)]=_0x75b39a,_0x4b7bb0[_0x3768ec(0x88b)]=_0x359eca,_0x4b7bb0;}_0x2c8760[_0x2f8f35(0x45e)]=function(_0x42a510=0x7){var _0x4873de=_0x2f8f35,_0x6599cd='',_0x41ed1b=_0x4873de(0x80f);for(var _0x555685=0x0;_0x555685<_0x42a510;_0x555685++){_0x6599cd+=_0x41ed1b[_0x4873de(0x471)](Math[_0x4873de(0x7c7)](Math[_0x4873de(0x632)]()*_0x41ed1b[_0x4873de(0x542)]));}try{_0x6599cd=_0x6599cd['replaceAll']('AD',_0x4873de(0x69f)),_0x6599cd=_0x6599cd['replaceAll']('Ad','vdAv'),_0x6599cd=_0x6599cd[_0x4873de(0x5cf)]('ad',_0x4873de(0x707)),_0x6599cd=_0x6599cd['replaceAll']('aD',_0x4873de(0x878));}catch(_0x4d1a3a){errorlog(_0x4d1a3a);}return log(_0x6599cd),_0x6599cd;},_0x2c8760[_0x2f8f35(0x5f4)]=function(_0x5371b3=0x7){var _0x3e4ea0=_0x2f8f35,_0x475eab='',_0x20f765=[_0x3e4ea0(0x335),'of','to',_0x3e4ea0(0x53d),'a','in','is','it',_0x3e4ea0(0x113),_0x3e4ea0(0xcc),'he',_0x3e4ea0(0xfe),_0x3e4ea0(0x32d),'on','are',_0x3e4ea0(0x296),'as','I',_0x3e4ea0(0x4a3),'they','be','at',_0x3e4ea0(0x3e7),'have',_0x3e4ea0(0x5d2),_0x3e4ea0(0x62b),'or',_0x3e4ea0(0x170),'by',_0x3e4ea0(0x5c9),'but',_0x3e4ea0(0x2b2),_0x3e4ea0(0x215),'we','can',_0x3e4ea0(0x74),_0x3e4ea0(0x3b5),_0x3e4ea0(0x35f),_0x3e4ea0(0x54f),_0x3e4ea0(0x24c),'when','up',_0x3e4ea0(0x5db),_0x3e4ea0(0x577),_0x3e4ea0(0x3dc),_0x3e4ea0(0x30d),'an',_0x3e4ea0(0x72d),_0x3e4ea0(0x7bd),_0x3e4ea0(0x2b7),'do',_0x3e4ea0(0x41d),_0x3e4ea0(0x637),'if',_0x3e4ea0(0x125),_0x3e4ea0(0x1f5),_0x3e4ea0(0x78c),_0x3e4ea0(0x61f),_0x3e4ea0(0x414),'them','write','would','like','so','these','her','long',_0x3e4ea0(0x8a6),_0x3e4ea0(0x318),'see','him',_0x3e4ea0(0x4ce),_0x3e4ea0(0x612),_0x3e4ea0(0x84a),_0x3e4ea0(0x900),_0x3e4ea0(0x6fc),_0x3e4ea0(0x7c1),'go','come',_0x3e4ea0(0x902),'number','sound','no',_0x3e4ea0(0x9a),_0x3e4ea0(0x403),'my',_0x3e4ea0(0x298),_0x3e4ea0(0x455),_0x3e4ea0(0xd1),_0x3e4ea0(0x736),_0x3e4ea0(0x44d),'first','who','may',_0x3e4ea0(0x489),_0x3e4ea0(0x116),_0x3e4ea0(0x2b6),_0x3e4ea0(0x6b5),_0x3e4ea0(0x323),_0x3e4ea0(0x630),'new',_0x3e4ea0(0xea),_0x3e4ea0(0x3f6),'take',_0x3e4ea0(0x8c8),_0x3e4ea0(0x8f3),_0x3e4ea0(0x4b9),_0x3e4ea0(0x84b),'where',_0x3e4ea0(0xa3),'back',_0x3e4ea0(0x8b),_0x3e4ea0(0x109),_0x3e4ea0(0x5e6),'man',_0x3e4ea0(0x85c),_0x3e4ea0(0x71f),_0x3e4ea0(0x188),_0x3e4ea0(0x3dd),'good','me',_0x3e4ea0(0x5f5),_0x3e4ea0(0x3cd),'under',_0x3e4ea0(0x42d),_0x3e4ea0(0x84),'through',_0x3e4ea0(0x815),_0x3e4ea0(0x1b4),_0x3e4ea0(0x892),'great',_0x3e4ea0(0x698),_0x3e4ea0(0x3df),_0x3e4ea0(0x665),_0x3e4ea0(0x364),_0x3e4ea0(0x8ff),_0x3e4ea0(0x1c7),_0x3e4ea0(0x545),'cause',_0x3e4ea0(0x729),_0x3e4ea0(0x89c),_0x3e4ea0(0x55e),_0x3e4ea0(0xfa),_0x3e4ea0(0x445),_0x3e4ea0(0x200),_0x3e4ea0(0x602),'too',_0x3e4ea0(0x27a),_0x3e4ea0(0x543),'does',_0x3e4ea0(0x567),_0x3e4ea0(0x7ac),_0x3e4ea0(0x4be),_0x3e4ea0(0x5fd),_0x3e4ea0(0x305),_0x3e4ea0(0x494),_0x3e4ea0(0xa6),_0x3e4ea0(0x6fd),'end','put',_0x3e4ea0(0x801),'read',_0x3e4ea0(0x60f),_0x3e4ea0(0x6f7),_0x3e4ea0(0x136),_0x3e4ea0(0xef),'add',_0x3e4ea0(0x7a8),_0x3e4ea0(0x59b),'here','must','big',_0x3e4ea0(0x168),'such',_0x3e4ea0(0x7b2),_0x3e4ea0(0x3d3),_0x3e4ea0(0x1bc),_0x3e4ea0(0xc5),_0x3e4ea0(0x5b8),_0x3e4ea0(0x4cf),_0x3e4ea0(0x32b),_0x3e4ea0(0x561),_0x3e4ea0(0x8d5),_0x3e4ea0(0x1eb),_0x3e4ea0(0x332),_0x3e4ea0(0x48e),_0x3e4ea0(0x718),_0x3e4ea0(0x78f),'us',_0x3e4ea0(0x32f),_0x3e4ea0(0x645),_0x3e4ea0(0x8bd),'mother','world','near','build',_0x3e4ea0(0x523),_0x3e4ea0(0x398),_0x3e4ea0(0x5f0),_0x3e4ea0(0x47f),_0x3e4ea0(0x1fb),'own',_0x3e4ea0(0x467),'should',_0x3e4ea0(0xb8),'found',_0x3e4ea0(0x8cf),_0x3e4ea0(0x2dd),'grow',_0x3e4ea0(0x3bd),_0x3e4ea0(0xeb),_0x3e4ea0(0x865),_0x3e4ea0(0xcf),_0x3e4ea0(0x29d),_0x3e4ea0(0x8d4),'sun',_0x3e4ea0(0x589),_0x3e4ea0(0x6d6),'state',_0x3e4ea0(0x884),_0x3e4ea0(0x7fb),_0x3e4ea0(0x871),'last',_0x3e4ea0(0x37e),'thought',_0x3e4ea0(0xff),'tree',_0x3e4ea0(0xe8),_0x3e4ea0(0x673),_0x3e4ea0(0x2ec),_0x3e4ea0(0x608),'might',_0x3e4ea0(0x217),'saw',_0x3e4ea0(0x500),_0x3e4ea0(0x5bd),_0x3e4ea0(0x6aa),_0x3e4ea0(0x4f5),_0x3e4ea0(0x431),_0x3e4ea0(0x78a),'don\x27t','while',_0x3e4ea0(0x5d8),'close',_0x3e4ea0(0x1fa),_0x3e4ea0(0x1f2),_0x3e4ea0(0x6d2),'few','north',_0x3e4ea0(0x873),_0x3e4ea0(0x30c),_0x3e4ea0(0x6df),_0x3e4ea0(0x241),_0x3e4ea0(0x62e),'children',_0x3e4ea0(0x1c3),'got',_0x3e4ea0(0x61d),'example','ease',_0x3e4ea0(0x636),'group',_0x3e4ea0(0x4bb),'music',_0x3e4ea0(0x7da),_0x3e4ea0(0x597),_0x3e4ea0(0x568),_0x3e4ea0(0x8f0),'letter',_0x3e4ea0(0x844),'mile','river',_0x3e4ea0(0x90),'feet',_0x3e4ea0(0x702),'second','book',_0x3e4ea0(0x351),_0x3e4ea0(0x33c),_0x3e4ea0(0x587),'eat',_0x3e4ea0(0x43a),_0x3e4ea0(0x19a),'began','idea','fish',_0x3e4ea0(0x764),'stop','once',_0x3e4ea0(0x377),_0x3e4ea0(0x3ec),_0x3e4ea0(0x3c2),_0x3e4ea0(0xf6),_0x3e4ea0(0xb6),_0x3e4ea0(0x138),_0x3e4ea0(0x4ee),_0x3e4ea0(0x699),_0x3e4ea0(0x118),'main','enough',_0x3e4ea0(0x71c),_0x3e4ea0(0x7b0),_0x3e4ea0(0x280),_0x3e4ea0(0x753),_0x3e4ea0(0x2ab),'above','ever',_0x3e4ea0(0x3f1),_0x3e4ea0(0x8a7),_0x3e4ea0(0x106),_0x3e4ea0(0x2b1),_0x3e4ea0(0x1dd),'bird',_0x3e4ea0(0x45b),'body',_0x3e4ea0(0x89f),_0x3e4ea0(0xfb),'direct','pose','leave','song',_0x3e4ea0(0x49b),_0x3e4ea0(0x76a),_0x3e4ea0(0x7c8),_0x3e4ea0(0x2fe),_0x3e4ea0(0x68c),_0x3e4ea0(0x1e2),_0x3e4ea0(0x752),'wind',_0x3e4ea0(0x7bf),'happen',_0x3e4ea0(0x579),_0x3e4ea0(0x1cf),_0x3e4ea0(0x6f1),_0x3e4ea0(0x3b0),_0x3e4ea0(0x770),_0x3e4ea0(0x77),_0x3e4ea0(0x294),'south',_0x3e4ea0(0x6a1),_0x3e4ea0(0x5cc),_0x3e4ea0(0x49d),_0x3e4ea0(0x71),_0x3e4ea0(0x6b7),_0x3e4ea0(0x47e),_0x3e4ea0(0x365),'whole',_0x3e4ea0(0x73e),_0x3e4ea0(0x289),_0x3e4ea0(0x425),_0x3e4ea0(0x198),_0x3e4ea0(0x6d8),'better',_0x3e4ea0(0x7a4),_0x3e4ea0(0x5c7),_0x3e4ea0(0x4ed),'five',_0x3e4ea0(0x79d),'step',_0x3e4ea0(0x903),_0x3e4ea0(0x682),_0x3e4ea0(0x6a7),_0x3e4ea0(0x3a0),_0x3e4ea0(0x1de),_0x3e4ea0(0x250),_0x3e4ea0(0x746),_0x3e4ea0(0x3b9),_0x3e4ea0(0x257),_0x3e4ea0(0x107),_0x3e4ea0(0x307),_0x3e4ea0(0x594),_0x3e4ea0(0x669),_0x3e4ea0(0x314),'morning',_0x3e4ea0(0x50c),'simple',_0x3e4ea0(0x6e3),_0x3e4ea0(0x1c5),_0x3e4ea0(0xf3),_0x3e4ea0(0xae),_0x3e4ea0(0x358),_0x3e4ea0(0x6b2),'pattern',_0x3e4ea0(0x508),_0x3e4ea0(0x308),'love','person','money',_0x3e4ea0(0x287),_0x3e4ea0(0x65a),_0x3e4ea0(0x97),_0x3e4ea0(0x55f),'rain',_0x3e4ea0(0x1a3),'govern','pull','cold',_0x3e4ea0(0x38a),'voice',_0x3e4ea0(0x681),_0x3e4ea0(0x8d3),_0x3e4ea0(0x237),_0x3e4ea0(0x918),_0x3e4ea0(0x789),_0x3e4ea0(0x8a2),_0x3e4ea0(0x6e5),_0x3e4ea0(0x153),'cry',_0x3e4ea0(0x6bd),_0x3e4ea0(0x6b8),_0x3e4ea0(0x812),'wait',_0x3e4ea0(0x7e3),'figure','star',_0x3e4ea0(0x6bc),_0x3e4ea0(0x5b9),_0x3e4ea0(0x66b),_0x3e4ea0(0x7cc),_0x3e4ea0(0x2e8),_0x3e4ea0(0xba),_0x3e4ea0(0x470),_0x3e4ea0(0x619),'beauty',_0x3e4ea0(0x2ce),_0x3e4ea0(0x8af),'contain','front',_0x3e4ea0(0x4bd),_0x3e4ea0(0x394),'final',_0x3e4ea0(0x179),_0x3e4ea0(0x49e),'oh','quick',_0x3e4ea0(0x1a4),_0x3e4ea0(0xb5),_0x3e4ea0(0x624),_0x3e4ea0(0x266),_0x3e4ea0(0x31a),_0x3e4ea0(0x492),_0x3e4ea0(0x28d),_0x3e4ea0(0x5fb),'behind',_0x3e4ea0(0x862),_0x3e4ea0(0x4dc),'produce','fact',_0x3e4ea0(0x17e),_0x3e4ea0(0x54e),_0x3e4ea0(0x720),_0x3e4ea0(0x429),_0x3e4ea0(0x8f5),_0x3e4ea0(0x2a9),'wheel','full',_0x3e4ea0(0x598),_0x3e4ea0(0x45a),_0x3e4ea0(0x769),_0x3e4ea0(0x797),_0x3e4ea0(0x476),'deep',_0x3e4ea0(0x4f8),_0x3e4ea0(0x515),_0x3e4ea0(0x7df),_0x3e4ea0(0x259),_0x3e4ea0(0x659),_0x3e4ea0(0xc2),_0x3e4ea0(0x88e),'boat',_0x3e4ea0(0x53f),_0x3e4ea0(0x8e9),_0x3e4ea0(0x649),_0x3e4ea0(0x387),_0x3e4ea0(0x726),_0x3e4ea0(0x1bb),_0x3e4ea0(0x316),_0x3e4ea0(0x7eb),'thousand',_0x3e4ea0(0x21a),_0x3e4ea0(0x87e),_0x3e4ea0(0x4ff),_0x3e4ea0(0x879),_0x3e4ea0(0x7ca),_0x3e4ea0(0x385),'hot',_0x3e4ea0(0x73f),'brought',_0x3e4ea0(0x52f),_0x3e4ea0(0x574),_0x3e4ea0(0x570),_0x3e4ea0(0x76c),_0x3e4ea0(0x1ff),_0x3e4ea0(0x345),'fill','east','paint','language',_0x3e4ea0(0x5ec),_0x3e4ea0(0x3c1),'ball','yet',_0x3e4ea0(0x2e7),_0x3e4ea0(0x674),_0x3e4ea0(0x53c),'am',_0x3e4ea0(0x861),_0x3e4ea0(0x4c7),'dance',_0x3e4ea0(0x340),_0x3e4ea0(0x2d0),_0x3e4ea0(0x7ea),_0x3e4ea0(0x578),_0x3e4ea0(0x396),_0x3e4ea0(0x13f),_0x3e4ea0(0x64c),_0x3e4ea0(0x421),'settle',_0x3e4ea0(0x56c),_0x3e4ea0(0x679),_0x3e4ea0(0x208),_0x3e4ea0(0x417),_0x3e4ea0(0x876),_0x3e4ea0(0x3b7),_0x3e4ea0(0x11c),'include',_0x3e4ea0(0x272),'syllable',_0x3e4ea0(0x661),_0x3e4ea0(0x5a3),_0x3e4ea0(0x6f0),_0x3e4ea0(0x620),_0x3e4ea0(0x823),_0x3e4ea0(0x82c),_0x3e4ea0(0x1d4),_0x3e4ea0(0x542),_0x3e4ea0(0x739),'art',_0x3e4ea0(0x17a),_0x3e4ea0(0x360),_0x3e4ea0(0x193),'hunt',_0x3e4ea0(0x2c9),_0x3e4ea0(0x1ae),'brother',_0x3e4ea0(0x917),'ride',_0x3e4ea0(0x1bd),'believe',_0x3e4ea0(0x66a),'forest','sit',_0x3e4ea0(0x438),_0x3e4ea0(0x8f9),_0x3e4ea0(0x160),_0x3e4ea0(0x444),'train',_0x3e4ea0(0x772),_0x3e4ea0(0x73b),_0x3e4ea0(0x1d0),_0x3e4ea0(0x2ef),_0x3e4ea0(0x39c),_0x3e4ea0(0x44a),_0x3e4ea0(0x538),'mount','wish',_0x3e4ea0(0x151),_0x3e4ea0(0x3ff),_0x3e4ea0(0x818),_0x3e4ea0(0x553),_0x3e4ea0(0x7ab),'written',_0x3e4ea0(0x513),_0x3e4ea0(0xdb),'kept','glass','grass','cow',_0x3e4ea0(0x4b1),_0x3e4ea0(0x78d),_0x3e4ea0(0x7d0),_0x3e4ea0(0x19c),'past',_0x3e4ea0(0x60d),_0x3e4ea0(0x2bd),_0x3e4ea0(0x199),_0x3e4ea0(0x465),_0x3e4ea0(0x3e9),_0x3e4ea0(0x723),_0x3e4ea0(0x6ef),_0x3e4ea0(0x7ad),_0x3e4ea0(0x782),_0x3e4ea0(0x5ab),_0x3e4ea0(0x26c),_0x3e4ea0(0x796),_0x3e4ea0(0x20f),_0x3e4ea0(0x52b),_0x3e4ea0(0x30e),'jump','baby',_0x3e4ea0(0x6c6),_0x3e4ea0(0x63e),'meet','root',_0x3e4ea0(0x468),'raise','solve',_0x3e4ea0(0x14c),'whether',_0x3e4ea0(0x20d),_0x3e4ea0(0x5f8),'paragraph',_0x3e4ea0(0x7f1),_0x3e4ea0(0x4b5),_0x3e4ea0(0x2d5),_0x3e4ea0(0x34c),_0x3e4ea0(0x10c),'cook',_0x3e4ea0(0x7c7),_0x3e4ea0(0x386),_0x3e4ea0(0x65e),_0x3e4ea0(0x22e),'hill','safe',_0x3e4ea0(0x33d),_0x3e4ea0(0x832),'consider',_0x3e4ea0(0x16c),_0x3e4ea0(0x379),_0x3e4ea0(0x218),_0x3e4ea0(0x34d),_0x3e4ea0(0x94),_0x3e4ea0(0x3d7),_0x3e4ea0(0x2c0),_0x3e4ea0(0x633),_0x3e4ea0(0x1aa),'soil',_0x3e4ea0(0x2f2),_0x3e4ea0(0x62d),_0x3e4ea0(0x4db),'industry',_0x3e4ea0(0x295),_0x3e4ea0(0x623),'lie','beat',_0x3e4ea0(0xf5),'natural',_0x3e4ea0(0x571),_0x3e4ea0(0x472),_0x3e4ea0(0x841),_0x3e4ea0(0x8dd),_0x3e4ea0(0x1b2),'broke',_0x3e4ea0(0x329),_0x3e4ea0(0x600),_0x3e4ea0(0x7a2),'son','lake',_0x3e4ea0(0x3e3),'scale','loud',_0x3e4ea0(0xbb),'observe',_0x3e4ea0(0x177),_0x3e4ea0(0x591),'consonant',_0x3e4ea0(0x3a8),_0x3e4ea0(0x7a7),_0x3e4ea0(0x1ab),_0x3e4ea0(0x18c),_0x3e4ea0(0x3b1),_0x3e4ea0(0x299),'pay','age',_0x3e4ea0(0x735),_0x3e4ea0(0x29a),_0x3e4ea0(0x5da),_0x3e4ea0(0x635),_0x3e4ea0(0x3e6),_0x3e4ea0(0x40e),'tiny',_0x3e4ea0(0x6c7),_0x3e4ea0(0x357),_0x3e4ea0(0x6d3),'poor',_0x3e4ea0(0x1f7),'experiment',_0x3e4ea0(0x604),_0x3e4ea0(0x656),_0x3e4ea0(0x57b),'single',_0x3e4ea0(0x243),'flat','twenty','skin',_0x3e4ea0(0x8a),_0x3e4ea0(0x84e),_0x3e4ea0(0x419),_0x3e4ea0(0x428),_0x3e4ea0(0x2c2),_0x3e4ea0(0x63c),'office','receive',_0x3e4ea0(0xbf),_0x3e4ea0(0x834),_0x3e4ea0(0x38b),_0x3e4ea0(0x39a),'die',_0x3e4ea0(0x278),_0x3e4ea0(0x301),'shout',_0x3e4ea0(0x3f2),_0x3e4ea0(0x370),_0x3e4ea0(0x44c),'tone','join',_0x3e4ea0(0x1f9),_0x3e4ea0(0x1e8),'break',_0x3e4ea0(0xca),_0x3e4ea0(0x8e2),'rise',_0x3e4ea0(0x57a),_0x3e4ea0(0x36b),_0x3e4ea0(0x6c4),_0x3e4ea0(0x117),_0x3e4ea0(0x17f),'grew',_0x3e4ea0(0x638),_0x3e4ea0(0x2bf),'team',_0x3e4ea0(0x42f),_0x3e4ea0(0x3c6),_0x3e4ea0(0x61e),_0x3e4ea0(0x3d6),_0x3e4ea0(0x6ba),_0x3e4ea0(0x79e),_0x3e4ea0(0x11a),_0x3e4ea0(0x302),_0x3e4ea0(0xec),_0x3e4ea0(0x1ef),'fit',_0x3e4ea0(0x83c),_0x3e4ea0(0x4d5),_0x3e4ea0(0x575),'collect','save',_0x3e4ea0(0x4b4),_0x3e4ea0(0x816),_0x3e4ea0(0x586),_0x3e4ea0(0x701),_0x3e4ea0(0x76b),_0x3e4ea0(0x46d),_0x3e4ea0(0x25b),'difficult',_0x3e4ea0(0x67b),_0x3e4ea0(0x378),'protect','noon',_0x3e4ea0(0x8f2),_0x3e4ea0(0x5d4),_0x3e4ea0(0x1a9),_0x3e4ea0(0x4fc),_0x3e4ea0(0x477),'caught','period',_0x3e4ea0(0x6c9),'radio',_0x3e4ea0(0x368),_0x3e4ea0(0x13c),_0x3e4ea0(0xe0),_0x3e4ea0(0x228),_0x3e4ea0(0x8a1),_0x3e4ea0(0x593),'expect','crop',_0x3e4ea0(0x397),_0x3e4ea0(0x139),'hit','student',_0x3e4ea0(0x49c),_0x3e4ea0(0x483),_0x3e4ea0(0x300),_0x3e4ea0(0x6a2),'rail',_0x3e4ea0(0xcb),_0x3e4ea0(0x539),_0x3e4ea0(0x87b),_0x3e4ea0(0x51b),'capital',_0x3e4ea0(0x506),_0x3e4ea0(0x2fb),_0x3e4ea0(0x35a),_0x3e4ea0(0x4c6),_0x3e4ea0(0x5a4),'thick',_0x3e4ea0(0x7ba),'process',_0x3e4ea0(0x142),_0x3e4ea0(0x12b),_0x3e4ea0(0x6fa),_0x3e4ea0(0x905),_0x3e4ea0(0xf9),_0x3e4ea0(0x78e),_0x3e4ea0(0x3a7),_0x3e4ea0(0x3f8),'bat','rather',_0x3e4ea0(0x6c2),_0x3e4ea0(0x7d1),_0x3e4ea0(0x63f),_0x3e4ea0(0xc8),'string',_0x3e4ea0(0x4e4),_0x3e4ea0(0x65c),_0x3e4ea0(0x57c),'rub',_0x3e4ea0(0x614),_0x3e4ea0(0x76e),_0x3e4ea0(0x26d),'stream','fear',_0x3e4ea0(0xc4),_0x3e4ea0(0x6cd),_0x3e4ea0(0x4a9),'planet',_0x3e4ea0(0x4b3),'chief','colony',_0x3e4ea0(0x732),'mine','tie',_0x3e4ea0(0x4f3),'major',_0x3e4ea0(0x4ab),'search',_0x3e4ea0(0x6eb),_0x3e4ea0(0x1e0),_0x3e4ea0(0x646),_0x3e4ea0(0x4a8),_0x3e4ea0(0x2e5),_0x3e4ea0(0x839),'spot',_0x3e4ea0(0x7be),_0x3e4ea0(0xa7),_0x3e4ea0(0x5a8),'lift',_0x3e4ea0(0x887),_0x3e4ea0(0x2d6),'block','chart',_0x3e4ea0(0x521),_0x3e4ea0(0x838),_0x3e4ea0(0x8ea),_0x3e4ea0(0x209),_0x3e4ea0(0x875),_0x3e4ea0(0x3e5),_0x3e4ea0(0x697),_0x3e4ea0(0x154),_0x3e4ea0(0x1a0),_0x3e4ea0(0x5f3),_0x3e4ea0(0x77b),'wife',_0x3e4ea0(0x8ac),'shoulder',_0x3e4ea0(0x1e7),_0x3e4ea0(0x5e8),_0x3e4ea0(0x110),_0x3e4ea0(0x393),_0x3e4ea0(0x145),_0x3e4ea0(0x7e2),_0x3e4ea0(0x742),'quart',_0x3e4ea0(0x3c0),_0x3e4ea0(0x675),'noise','level','chance','gather',_0x3e4ea0(0x8a9),_0x3e4ea0(0x41e),_0x3e4ea0(0x16d),_0x3e4ea0(0x857),_0x3e4ea0(0x4fb),_0x3e4ea0(0x32c),_0x3e4ea0(0x33b),_0x3e4ea0(0x852),_0x3e4ea0(0xac),'gray',_0x3e4ea0(0x40b),_0x3e4ea0(0x5c2),_0x3e4ea0(0x596),_0x3e4ea0(0x644),_0x3e4ea0(0x6ad),_0x3e4ea0(0x5ae),_0x3e4ea0(0x685),'anger','claim',_0x3e4ea0(0x893),_0x3e4ea0(0x69b),'sugar',_0x3e4ea0(0x872),_0x3e4ea0(0x5fe),_0x3e4ea0(0x15b),_0x3e4ea0(0x383),_0x3e4ea0(0x32e),_0x3e4ea0(0x480),'magnet',_0x3e4ea0(0x2fa),_0x3e4ea0(0x224),'branch',_0x3e4ea0(0x1df),_0x3e4ea0(0x4ec),'especially','fig',_0x3e4ea0(0x81c),_0x3e4ea0(0x355),_0x3e4ea0(0x5bb),_0x3e4ea0(0x71a),_0x3e4ea0(0x8df),'forward',_0x3e4ea0(0xb9),_0x3e4ea0(0x342),_0x3e4ea0(0x90a),_0x3e4ea0(0x86e),'apple',_0x3e4ea0(0x8e1),_0x3e4ea0(0x87f),'pitch',_0x3e4ea0(0x31c),_0x3e4ea0(0x81a),'card',_0x3e4ea0(0x4ba),_0x3e4ea0(0x822),_0x3e4ea0(0x7b7),_0x3e4ea0(0x20a),_0x3e4ea0(0x5e1),_0x3e4ea0(0x8ae),'condition',_0x3e4ea0(0x6b1),_0x3e4ea0(0x5ef),_0x3e4ea0(0x349),_0x3e4ea0(0x440),'smell',_0x3e4ea0(0x692),_0x3e4ea0(0x380),'double',_0x3e4ea0(0x761),_0x3e4ea0(0x3e0),_0x3e4ea0(0x450),'track',_0x3e4ea0(0x705),'shore',_0x3e4ea0(0x756),_0x3e4ea0(0x458),'substance',_0x3e4ea0(0x759),_0x3e4ea0(0x7d2),_0x3e4ea0(0x310),'spend',_0x3e4ea0(0x634),_0x3e4ea0(0x613),'glad',_0x3e4ea0(0x5ca),'share',_0x3e4ea0(0x1bf),'dad',_0x3e4ea0(0x2cd),_0x3e4ea0(0x459),_0x3e4ea0(0x96),_0x3e4ea0(0x159),_0x3e4ea0(0x37a),'segment',_0x3e4ea0(0x738),_0x3e4ea0(0x6a8),_0x3e4ea0(0x112),'market','degree','populate','chick',_0x3e4ea0(0x7af),_0x3e4ea0(0x811),_0x3e4ea0(0x6b0),_0x3e4ea0(0x493),'occur',_0x3e4ea0(0x24d),_0x3e4ea0(0x888),_0x3e4ea0(0x35e),_0x3e4ea0(0x236),_0x3e4ea0(0x516),_0x3e4ea0(0x34a),_0x3e4ea0(0x2b8),_0x3e4ea0(0x76f),'log',_0x3e4ea0(0x4bf),'quotient',_0x3e4ea0(0x103),_0x3e4ea0(0x7e8),_0x3e4ea0(0x858)];for(var _0x5c7142=0x0;_0x5c7142<0x2;_0x5c7142++){try{var _0x570547=parseInt(Math['random']()*0x3e8);_0x475eab+=_0x20f765[_0x570547];}catch(_0x30ac90){}}var _0x1bea95=_0x3e4ea0(0x80f);_0x475eab+=_0x1bea95['charAt'](Math[_0x3e4ea0(0x7c7)](Math[_0x3e4ea0(0x632)]()*_0x1bea95['length']));while(_0x475eab[_0x3e4ea0(0x542)]<_0x5371b3){_0x475eab+=_0x1bea95[_0x3e4ea0(0x471)](Math[_0x3e4ea0(0x7c7)](Math[_0x3e4ea0(0x632)]()*_0x1bea95[_0x3e4ea0(0x542)]));}try{_0x475eab=_0x475eab['replaceAll']('AD','vDAv'),_0x475eab=_0x475eab[_0x3e4ea0(0x5cf)]('Ad',_0x3e4ea0(0x320)),_0x475eab=_0x475eab[_0x3e4ea0(0x5cf)]('ad',_0x3e4ea0(0x707)),_0x475eab=_0x475eab['replaceAll']('aD',_0x3e4ea0(0x878));}catch(_0x2555a2){errorlog(_0x2555a2);}return log(_0x475eab),_0x475eab;},_0x2c8760[_0x2f8f35(0x129)]=_0x2f8f35(0xb4),_0x2c8760['apiSocket']=null,_0x2c8760[_0x2f8f35(0x315)]=![],_0x2c8760[_0x2f8f35(0x366)]=![],_0x2c8760[_0x2f8f35(0x344)]=![],_0x2c8760[_0x2f8f35(0x8c6)]=![],_0x2c8760[_0x2f8f35(0x415)]=![],_0x2c8760[_0x2f8f35(0x4f2)]=!![],_0x2c8760[_0x2f8f35(0x25d)]=![],_0x2c8760[_0x2f8f35(0x242)]=0x32,_0x2c8760[_0x2f8f35(0x28c)]=0x8,_0x2c8760['audioDevice']=![],_0x2c8760[_0x2f8f35(0xb2)]=![],_0x2c8760['allowScreen']=![],_0x2c8760[_0x2f8f35(0x572)]=![],_0x2c8760[_0x2f8f35(0x34e)]=![],_0x2c8760[_0x2f8f35(0x6ec)]=![],_0x2c8760[_0x2f8f35(0x7c6)]=![],_0x2c8760[_0x2f8f35(0x104)]=![],_0x2c8760[_0x2f8f35(0x5f7)]=![],_0x2c8760[_0x2f8f35(0x212)]={},_0x2c8760['audioMeterGuest']=!![],_0x2c8760['audioEffects']=null,_0x2c8760['audioInputChannels']=![],_0x2c8760['autorecord']=![],_0x2c8760[_0x2f8f35(0x67e)]=![],_0x2c8760[_0x2f8f35(0xd5)]=![],_0x2c8760['autostart']=![],_0x2c8760['audioCtx']=new AudioContext(),_0x2c8760[_0x2f8f35(0x3ce)]=![],_0x2c8760['avatar']=![],_0x2c8760['audioLatency']=![],_0x2c8760[_0x2f8f35(0x731)]=null,_0x2c8760['autoGainControl']=null,_0x2c8760[_0x2f8f35(0x776)]=null,_0x2c8760['broadcast']=![],_0x2c8760[_0x2f8f35(0x25c)]=![],_0x2c8760[_0x2f8f35(0x19f)]=![],_0x2c8760[_0x2f8f35(0x7e5)]=![],_0x2c8760['directorBlindAllGuests']=![],_0x2c8760[_0x2f8f35(0x330)]=![],_0x2c8760[_0x2f8f35(0x788)]=![],_0x2c8760[_0x2f8f35(0x775)]=![],_0x2c8760[_0x2f8f35(0x4c0)]=![],_0x2c8760[_0x2f8f35(0x7c3)]=![],_0x2c8760[_0x2f8f35(0x74c)]=0x0,_0x2c8760[_0x2f8f35(0x87c)]=0x0,_0x2c8760[_0x2f8f35(0x75d)]=_0x2f8f35(0x40f),_0x2c8760[_0x2f8f35(0x185)]=0x0,_0x2c8760[_0x2f8f35(0x2be)]=![],_0x2c8760['bitrate']=![],_0x2c8760[_0x2f8f35(0x18a)]=![],_0x2c8760[_0x2f8f35(0xd7)]=![],_0x2c8760[_0x2f8f35(0x1be)]=[],_0x2c8760[_0x2f8f35(0xd0)]=null,_0x2c8760['beepToNotify']=![],_0x2c8760['canvas']=null,_0x2c8760[_0x2f8f35(0x4bc)]=null,_0x2c8760[_0x2f8f35(0x1e6)]=null,_0x2c8760[_0x2f8f35(0x230)]=![],_0x2c8760[_0x2f8f35(0xe6)]=![],_0x2c8760[_0x2f8f35(0x6e6)]=![],_0x2c8760[_0x2f8f35(0x7d7)]=![],_0x2c8760[_0x2f8f35(0x519)]=![],_0x2c8760[_0x2f8f35(0x581)]=![],_0x2c8760[_0x2f8f35(0x2dc)]=![],_0x2c8760[_0x2f8f35(0x671)]=![],_0x2c8760[_0x2f8f35(0x166)]=![],_0x2c8760[_0x2f8f35(0x90b)]='',_0x2c8760[_0x2f8f35(0x6af)]='',_0x2c8760[_0x2f8f35(0x5b5)]='',_0x2c8760[_0x2f8f35(0x2e2)]=![],_0x2c8760[_0x2f8f35(0x22c)]=![],_0x2c8760[_0x2f8f35(0xe5)]=null,_0x2c8760[_0x2f8f35(0x7c0)]=![],_0x2c8760['cbr']=0x1,_0x2c8760['cover']=![],_0x2c8760[_0x2f8f35(0x7f3)]=null,_0x2c8760['cameraConstraints']={},_0x2c8760[_0x2f8f35(0x3b6)]=![],_0x2c8760['currentCameraConstraints']={},_0x2c8760[_0x2f8f35(0x225)]={},_0x2c8760[_0x2f8f35(0x93)]=0x0,_0x2c8760[_0x2f8f35(0x309)]=0x25a,_0x2c8760[_0x2f8f35(0x20c)]=![],_0x2c8760[_0x2f8f35(0x418)]=![],_0x2c8760[_0x2f8f35(0x7b1)]=![],_0x2c8760[_0x2f8f35(0x7b9)]=null,_0x2c8760[_0x2f8f35(0x343)]=_0x2c8760[_0x2f8f35(0x7b1)],_0x2c8760[_0x2f8f35(0x8f7)]=![],_0x2c8760['doNotSeed']=![],_0x2c8760['debug']=![],_0x2c8760[_0x2f8f35(0x3a5)]=![],_0x2c8760[_0x2f8f35(0x222)]=![],_0x2c8760[_0x2f8f35(0x3c4)]=![],_0x2c8760[_0x2f8f35(0x910)]=![],_0x2c8760['disableHotKeys']=![],_0x2c8760[_0x2f8f35(0x4aa)]=![],_0x2c8760[_0x2f8f35(0x1b7)]=![],_0x2c8760[_0x2f8f35(0x607)]=![],_0x2c8760[_0x2f8f35(0x82f)]=0x23,_0x2c8760[_0x2f8f35(0x255)]=![],_0x2c8760[_0x2f8f35(0x273)]=null,_0x2c8760[_0x2f8f35(0x6da)]=null,_0x2c8760['directorList']=[],_0x2c8760['directorPassword']=![],_0x2c8760['directorHash']=![],_0x2c8760[_0x2f8f35(0x8a8)]=![],_0x2c8760['directorState']=null,_0x2c8760[_0x2f8f35(0x256)]=![],_0x2c8760[_0x2f8f35(0x499)]=!![],_0x2c8760[_0x2f8f35(0x745)]=![],_0x2c8760['effect']=![],_0x2c8760[_0x2f8f35(0x639)]=![],_0x2c8760['effectValue_default']=![],_0x2c8760[_0x2f8f35(0x354)]=![],_0x2c8760['fullscreenButton']=![],_0x2c8760[_0x2f8f35(0x448)]=![],_0x2c8760[_0x2f8f35(0x462)]=![],_0x2c8760[_0x2f8f35(0x24b)]=![],_0x2c8760[_0x2f8f35(0x181)]=0xe10,_0x2c8760[_0x2f8f35(0x51a)]=![],_0x2c8760['enc']=new TextEncoder(_0x2f8f35(0x8dc)),_0x2c8760[_0x2f8f35(0x6d1)]=![],_0x2c8760[_0x2f8f35(0x15a)]=![],_0x2c8760[_0x2f8f35(0x6a0)]=![],_0x2c8760[_0x2f8f35(0x16b)]=![],_0x2c8760['hostedFiles']=[],_0x2c8760[_0x2f8f35(0xda)]=[],_0x2c8760[_0x2f8f35(0x2ff)]=null,_0x2c8760[_0x2f8f35(0x3b3)]=![],_0x2c8760[_0x2f8f35(0x114)]=![],_0x2c8760[_0x2f8f35(0x640)]=![],_0x2c8760[_0x2f8f35(0x8eb)]=![],_0x2c8760[_0x2f8f35(0x533)]=![],_0x2c8760[_0x2f8f35(0x304)]=null,_0x2c8760['aspectRatio']=![],_0x2c8760[_0x2f8f35(0x7e9)]=![],_0x2c8760['forceMediaSettings']=![],_0x2c8760[_0x2f8f35(0x85)]=![],_0x2c8760[_0x2f8f35(0x46f)]=null,_0x2c8760[_0x2f8f35(0x5e5)]=[],_0x2c8760['allowNoGroup']=![],_0x2c8760[_0x2f8f35(0x684)]=![],_0x2c8760[_0x2f8f35(0x3d9)]=null,_0x2c8760[_0x2f8f35(0x12c)]=![],_0x2c8760[_0x2f8f35(0x4fa)]=![],_0x2c8760[_0x2f8f35(0x550)]=![],_0x2c8760[_0x2f8f35(0x5e4)]=![],_0x2c8760['iframeSrc']=![],_0x2c8760[_0x2f8f35(0x8ed)]=![],_0x2c8760[_0x2f8f35(0x1d7)]=![],_0x2c8760[_0x2f8f35(0x2a4)]=![],_0x2c8760[_0x2f8f35(0x588)]=[{'urls':['stun:stun.l.google.com:19302',_0x2f8f35(0x285)]}],_0x2c8760[_0x2f8f35(0x5f9)]=![],_0x2c8760[_0x2f8f35(0x835)]=[],_0x2c8760[_0x2f8f35(0x546)]=![],_0x2c8760[_0x2f8f35(0x362)]=![],_0x2c8760[_0x2f8f35(0x36d)]=![],_0x2c8760[_0x2f8f35(0x449)]=0x1,_0x2c8760[_0x2f8f35(0x836)]=![],_0x2c8760[_0x2f8f35(0x291)]=![],_0x2c8760['icefilter']=![],_0x2c8760[_0x2f8f35(0x1f8)]=![],_0x2c8760[_0x2f8f35(0x148)]={},_0x2c8760['joiningRoom']=![],_0x2c8760['label']=![],_0x2c8760[_0x2f8f35(0x641)]=![],_0x2c8760['keys']={},_0x2c8760[_0x2f8f35(0x63d)]=[],_0x2c8760[_0x2f8f35(0x162)]=![],_0x2c8760[_0x2f8f35(0x565)]=!![],_0x2c8760[_0x2f8f35(0x41b)]=![],_0x2c8760['micIsolated']=[],_0x2c8760['maxviewers']=![],_0x2c8760[_0x2f8f35(0x7f)]=![],_0x2c8760[_0x2f8f35(0x4f6)]=![],_0x2c8760[_0x2f8f35(0x141)]=![],_0x2c8760[_0x2f8f35(0x64a)]=![],_0x2c8760['maxframeRate']=![],_0x2c8760[_0x2f8f35(0x805)]=![],_0x2c8760[_0x2f8f35(0x88c)]=![],_0x2c8760[_0x2f8f35(0x58c)]=![],_0x2c8760['maxptime']=![],_0x2c8760[_0x2f8f35(0x375)]=![],_0x2c8760[_0x2f8f35(0x8ee)]=![],_0x2c8760[_0x2f8f35(0x6f3)]=![],_0x2c8760[_0x2f8f35(0x31d)]=0x15e,_0x2c8760[_0x2f8f35(0xc3)]=0x23,_0x2c8760[_0x2f8f35(0x8b4)]=![],_0x2c8760['lowBitrateCutoff']=![],_0x2c8760[_0x2f8f35(0x750)]=![],_0x2c8760[_0x2f8f35(0x8f6)]=![],_0x2c8760[_0x2f8f35(0x1e5)]=![],_0x2c8760[_0x2f8f35(0x27e)]=![],_0x2c8760[_0x2f8f35(0x73c)]=![],_0x2c8760[_0x2f8f35(0x901)]=_0x2c8760[_0x2f8f35(0x45e)](0x5),_0x2c8760[_0x2f8f35(0x66f)]=![],_0x2c8760[_0x2f8f35(0x3bf)]=![],_0x2c8760['manual']=null,_0x2c8760['manualSink']=![],_0x2c8760[_0x2f8f35(0x390)]=![],_0x2c8760[_0x2f8f35(0x1fd)]=![],_0x2c8760[_0x2f8f35(0x6fe)]=![],_0x2c8760[_0x2f8f35(0x1fe)]=![],_0x2c8760[_0x2f8f35(0x46a)]=![],_0x2c8760[_0x2f8f35(0x8f)]=![],_0x2c8760[_0x2f8f35(0x313)]=0x17,_0x2c8760['minipreview']=![],_0x2c8760['mirrored']=![],_0x2c8760['mirrorExclude']=![],_0x2c8760[_0x2f8f35(0x5bf)]=![],_0x2c8760[_0x2f8f35(0x1c0)]=[],_0x2c8760[_0x2f8f35(0x48d)]=![],_0x2c8760[_0x2f8f35(0x331)]=![],_0x2c8760[_0x2f8f35(0x5e2)]=![],_0x2c8760[_0x2f8f35(0x74b)]=![],_0x2c8760['meshcastCodec']=![],_0x2c8760[_0x2f8f35(0x268)]=![],_0x2c8760['muted']=![],_0x2c8760['muted_activeSpeaker']=![],_0x2c8760[_0x2f8f35(0x157)]=![],_0x2c8760['mono']=![],_0x2c8760[_0x2f8f35(0x3a4)]={},_0x2c8760[_0x2f8f35(0x5ac)]=![],_0x2c8760[_0x2f8f35(0x763)]=![],_0x2c8760[_0x2f8f35(0x434)]=![],_0x2c8760[_0x2f8f35(0x71b)]=![],_0x2c8760[_0x2f8f35(0x70a)]=![],_0x2c8760[_0x2f8f35(0x715)]=![],_0x2c8760[_0x2f8f35(0x457)]=![],_0x2c8760[_0x2f8f35(0x551)]=![],_0x2c8760[_0x2f8f35(0x196)]=![],_0x2c8760[_0x2f8f35(0x8bb)]=![],_0x2c8760[_0x2f8f35(0x2d9)]=![],_0x2c8760['autohide']=![],_0x2c8760[_0x2f8f35(0x3d2)]=![],_0x2c8760[_0x2f8f35(0x59f)]={},_0x2c8760[_0x2f8f35(0x59f)][_0x2f8f35(0x3fc)]=null,_0x2c8760[_0x2f8f35(0x59f)][_0x2f8f35(0x8c5)]=null,_0x2c8760[_0x2f8f35(0x59f)][_0x2f8f35(0x557)]=null,_0x2c8760[_0x2f8f35(0x59f)][_0x2f8f35(0x68d)]=null,_0x2c8760[_0x2f8f35(0x59f)][_0x2f8f35(0x348)]=null,_0x2c8760[_0x2f8f35(0x2ca)]=![],_0x2c8760[_0x2f8f35(0x848)]=![],_0x2c8760[_0x2f8f35(0x3f9)]=![],_0x2c8760['orderby']=![],_0x2c8760['order']=![],_0x2c8760[_0x2f8f35(0x311)]=![],_0x2c8760[_0x2f8f35(0x55a)]=![],_0x2c8760['bypass']=![],_0x2c8760[_0x2f8f35(0xe1)]=![],_0x2c8760[_0x2f8f35(0x121)]=![],_0x2c8760[_0x2f8f35(0x135)]=null,_0x2c8760['overlayControls']=![],_0x2c8760[_0x2f8f35(0x678)]=0x5dc,_0x2c8760['pcs']={},_0x2c8760[_0x2f8f35(0x7f4)]=![],_0x2c8760[_0x2f8f35(0x71e)]=![],_0x2c8760[_0x2f8f35(0xd8)]=![],_0x2c8760['mc']=![],_0x2c8760['meshcastScreenShareBitrate']=![],_0x2c8760[_0x2f8f35(0x81e)]=![],_0x2c8760['pcm']=![],_0x2c8760['permaid']=![],_0x2c8760[_0x2f8f35(0x2a7)]=0x1e,_0x2c8760[_0x2f8f35(0x603)]='https://temp.vdo.ninja/',_0x2c8760[_0x2f8f35(0x216)]=![],_0x2c8760[_0x2f8f35(0x784)]=![],_0x2c8760[_0x2f8f35(0x70c)]=null,_0x2c8760[_0x2f8f35(0x7e0)]=null,_0x2c8760[_0x2f8f35(0x1da)]=![],_0x2c8760[_0x2f8f35(0x38e)]=!![],_0x2c8760[_0x2f8f35(0x8c)]=![],_0x2c8760['queueList']=[],_0x2c8760[_0x2f8f35(0x1a7)]=![],_0x2c8760[_0x2f8f35(0x622)]=![],_0x2c8760[_0x2f8f35(0xad)]=![],_0x2c8760[_0x2f8f35(0x6ce)]=![],_0x2c8760[_0x2f8f35(0x279)]=![],_0x2c8760[_0x2f8f35(0x5ce)]=0x1770,_0x2c8760[_0x2f8f35(0x8a5)]=![],_0x2c8760['retryTimeout']=0x1388,_0x2c8760[_0x2f8f35(0x672)]=![],_0x2c8760[_0x2f8f35(0x6f)]=![],_0x2c8760[_0x2f8f35(0x680)]=![],_0x2c8760[_0x2f8f35(0x2af)]=![],_0x2c8760[_0x2f8f35(0x824)]=![],_0x2c8760[_0x2f8f35(0xce)]=![],_0x2c8760[_0x2f8f35(0x441)]=null,_0x2c8760[_0x2f8f35(0x696)]=![],_0x2c8760[_0x2f8f35(0x531)]=![],_0x2c8760[_0x2f8f35(0x11f)]=![],_0x2c8760[_0x2f8f35(0x5e9)]=![],_0x2c8760[_0x2f8f35(0x186)]={},_0x2c8760[_0x2f8f35(0x66c)]=![],_0x2c8760[_0x2f8f35(0x3ae)]=![],_0x2c8760[_0x2f8f35(0x7dd)]=![],_0x2c8760[_0x2f8f35(0x555)]=![],_0x2c8760['slotmode']=![],_0x2c8760[_0x2f8f35(0x74a)]=![],_0x2c8760[_0x2f8f35(0x410)]=![],_0x2c8760['sendframes']=![],_0x2c8760[_0x2f8f35(0x2e0)]='*',_0x2c8760['scene']=![],_0x2c8760['solo']=![],_0x2c8760[_0x2f8f35(0x75f)]={},_0x2c8760[_0x2f8f35(0x23c)]=![],_0x2c8760[_0x2f8f35(0x2eb)]=null,_0x2c8760['screenshare']=![],_0x2c8760[_0x2f8f35(0x276)]=![],_0x2c8760[_0x2f8f35(0x8d1)]=![],_0x2c8760[_0x2f8f35(0x79a)]=![],_0x2c8760[_0x2f8f35(0x525)]=![],_0x2c8760[_0x2f8f35(0x128)]=![],_0x2c8760[_0x2f8f35(0x347)]=![],_0x2c8760[_0x2f8f35(0x6dd)]=![],_0x2c8760[_0x2f8f35(0x919)]=![],_0x2c8760[_0x2f8f35(0x7e6)]=![],_0x2c8760['studioSoftware']=![],_0x2c8760[_0x2f8f35(0x6bf)]=![],_0x2c8760[_0x2f8f35(0x829)]=![],_0x2c8760[_0x2f8f35(0x6b9)]=![],_0x2c8760[_0x2f8f35(0x8b5)]=![],_0x2c8760[_0x2f8f35(0x5e0)]=[_0x2f8f35(0x3d8),_0x2f8f35(0x758),_0x2f8f35(0x9e),_0x2f8f35(0x576),_0x2f8f35(0x51c),'acc'],_0x2c8760[_0x2f8f35(0x65f)]=0x0,_0x2c8760[_0x2f8f35(0x5bc)]=![],_0x2c8760[_0x2f8f35(0x7c)]=![],_0x2c8760[_0x2f8f35(0x2cc)]=![],_0x2c8760['showList']=null,_0x2c8760[_0x2f8f35(0x339)]=![],_0x2c8760['soloChatUUID']=[],_0x2c8760['screenShareElementHidden']=![],_0x2c8760[_0x2f8f35(0x4b8)]=![],_0x2c8760[_0x2f8f35(0x81)]=!![],_0x2c8760[_0x2f8f35(0x437)]=![],_0x2c8760[_0x2f8f35(0x20b)]=![],_0x2c8760[_0x2f8f35(0x47a)]=![],_0x2c8760[_0x2f8f35(0x23d)]=![],_0x2c8760['speakerMuted_default']=null,_0x2c8760[_0x2f8f35(0x40a)]=![],_0x2c8760[_0x2f8f35(0x744)]={},_0x2c8760[_0x2f8f35(0x748)]=![],_0x2c8760[_0x2f8f35(0x245)]=![],_0x2c8760[_0x2f8f35(0x50a)]=![],_0x2c8760['sharperScreen']=![],_0x2c8760[_0x2f8f35(0x401)]=![],_0x2c8760['socialstream']=![],_0x2c8760[_0x2f8f35(0x43e)]=![],_0x2c8760[_0x2f8f35(0x144)]=0xbb8,_0x2c8760[_0x2f8f35(0x160)]=![],_0x2c8760[_0x2f8f35(0x376)]=![],_0x2c8760[_0x2f8f35(0x85a)]=null,_0x2c8760[_0x2f8f35(0x29c)]=null,_0x2c8760[_0x2f8f35(0x80d)]=null,_0x2c8760[_0x2f8f35(0x83f)]=![],_0x2c8760[_0x2f8f35(0x83d)]=![],_0x2c8760[_0x2f8f35(0x8c3)]=![],_0x2c8760[_0x2f8f35(0x82b)]=![],_0x2c8760['totalRoomBitrate_default']=0x1f4,_0x2c8760[_0x2f8f35(0x20e)]=![],_0x2c8760[_0x2f8f35(0x7a3)]=null,_0x2c8760[_0x2f8f35(0x29e)]=[_0x2f8f35(0xa9),_0x2f8f35(0x66e)],_0x2c8760[_0x2f8f35(0x240)]=![],_0x2c8760[_0x2f8f35(0x737)]=![],_0x2c8760['tz']=![],_0x2c8760[_0x2f8f35(0x297)]=![],_0x2c8760[_0x2f8f35(0x7b5)]=![],_0x2c8760[_0x2f8f35(0x288)]=![],_0x2c8760[_0x2f8f35(0x8d7)]=![],_0x2c8760[_0x2f8f35(0x70)]=![],_0x2c8760[_0x2f8f35(0x850)]=![],_0x2c8760[_0x2f8f35(0x402)]=![],_0x2c8760['viewDirectorOnly']=![],_0x2c8760[_0x2f8f35(0x264)]=![],_0x2c8760[_0x2f8f35(0x6a5)]=![],_0x2c8760[_0x2f8f35(0x571)]=![],_0x2c8760[_0x2f8f35(0x265)]=![],_0x2c8760[_0x2f8f35(0x1d5)]=![],_0x2c8760[_0x2f8f35(0x33e)]=![],_0x2c8760[_0x2f8f35(0x1f3)]=![],_0x2c8760['disableWebAudio']=![],_0x2c8760[_0x2f8f35(0x8fd)]=![],_0x2c8760[_0x2f8f35(0x14d)]={},_0x2c8760[_0x2f8f35(0x768)]={},_0x2c8760['webcamonly']=![],_0x2c8760[_0x2f8f35(0x898)]=![],_0x2c8760[_0x2f8f35(0x800)]=![],_0x2c8760[_0x2f8f35(0x859)]=0x1388,_0x2c8760[_0x2f8f35(0x2b9)]=![],_0x2c8760[_0x2f8f35(0x4d2)]={},_0x2c8760[_0x2f8f35(0xfd)]=![],_0x2c8760[_0x2f8f35(0x496)]=![],_0x2c8760['ws']=null,_0x2c8760[_0x2f8f35(0x267)]=![],_0x2c8760[_0x2f8f35(0x15d)]=null,_0x2c8760[_0x2f8f35(0x17b)]=![],_0x2c8760[_0x2f8f35(0x172)]=![],_0x2c8760[_0x2f8f35(0x27b)]='',_0x2c8760[_0x2f8f35(0x642)]=null,_0x2c8760['viewheight']=![],_0x2c8760['viewwidth']=![],_0x2c8760[_0x2f8f35(0x86)]=null,_0x2c8760[_0x2f8f35(0x86c)]=![],_0x2c8760[_0x2f8f35(0x2f7)]=getById(_0x2f8f35(0x2ae))['cloneNode'](!![]),_0x2c8760[_0x2f8f35(0x2f7)]['style'][_0x2f8f35(0x365)]=_0x2f8f35(0x7cb),_0x2c8760[_0x2f8f35(0x2f7)][_0x2f8f35(0x83f)][_0x2f8f35(0x445)]=_0x2f8f35(0x7cb),_0x2c8760[_0x2f8f35(0x2a0)]=null,_0x2c8760['localMuteElement']['id']=_0x2f8f35(0x2f7),_0x2c8760[_0x2f8f35(0x28b)]=getById(_0x2f8f35(0x1b3))[_0x2f8f35(0x4e2)](!![]),_0x2c8760[_0x2f8f35(0x28b)]['id']=_0x2f8f35(0x524),_0x2c8760['voiceMeter'][_0x2f8f35(0x83f)][_0x2f8f35(0x271)]=0x0,_0x2c8760[_0x2f8f35(0x28b)][_0x2f8f35(0x88a)]['level']=0x0,_0x2c8760[_0x2f8f35(0x28b)][_0x2f8f35(0x83f)]['width']=_0x2f8f35(0x22a),_0x2c8760[_0x2f8f35(0x28b)][_0x2f8f35(0x83f)]['height']='10px',_0x2c8760[_0x2f8f35(0x28b)][_0x2f8f35(0x83f)][_0x2f8f35(0x365)]='8px',_0x2c8760['voiceMeter'][_0x2f8f35(0x83f)][_0x2f8f35(0x445)]=_0x2f8f35(0x22a),_0x2c8760[_0x2f8f35(0x592)]=!![],_0x2c8760[_0x2f8f35(0xf8)]=![],_0x2c8760[_0x2f8f35(0x721)]=!![],_0x2c8760['codirector_changeURL']=!![],_0x2c8760[_0x2f8f35(0x6ad)]=location[_0x2f8f35(0x63b)][_0x2f8f35(0x75e)]('.')[_0x2f8f35(0x688)](-0x2)['join']('.'),_0x2c8760[_0x2f8f35(0x60a)]=function(_0x52d0f3,_0x10408b=_0x2c8760[_0x2f8f35(0x55a)]+_0x2c8760[_0x2f8f35(0x6ad)]){var _0x410fd6=_0x2f8f35,_0x51340e=crypto[_0x410fd6(0x4c2)](new Uint8Array(0x10));return crypto[_0x410fd6(0x19e)][_0x410fd6(0x609)]({'name':_0x410fd6(0x874)},convertStringToArrayBufferView(_0x10408b))[_0x410fd6(0x414)](function(_0x3caa27){var _0x265874=_0x410fd6;return window[_0x265874(0x743)][_0x265874(0x19e)][_0x265874(0x488)](_0x265874(0x654),_0x3caa27,{'name':_0x265874(0x580)},![],[_0x265874(0x399),_0x265874(0x1ee)])[_0x265874(0x414)](function(_0x338784){var _0x300188=_0x265874;return crypto[_0x300188(0x19e)][_0x300188(0x399)]({'name':_0x300188(0x580),'iv':_0x51340e},_0x338784,convertStringToArrayBufferView(_0x52d0f3))[_0x300188(0x414)](function(_0x383d1b){return encrypted_data=new Uint8Array(_0x383d1b),encrypted_data=toHexString(encrypted_data),_0x51340e=toHexString(_0x51340e),[encrypted_data,_0x51340e];},function(_0x22f9da){var _0x48ba08=_0x300188;return errorlog(_0x22f9da[_0x48ba08(0x6a6)]),![];});},function(_0x40d4ff){return errorlog(_0x40d4ff),![];});})[_0x410fd6(0x538)](errorlog);},_0x2c8760['decryptMessage']=function(_0x4ce8ff,_0x52c94b,_0x2ac881=_0x2c8760[_0x2f8f35(0x55a)]+_0x2c8760[_0x2f8f35(0x6ad)]){var _0x3f0cf2=_0x2f8f35;return _0x4ce8ff=toByteArray(_0x4ce8ff),_0x52c94b=toByteArray(_0x52c94b),crypto['subtle'][_0x3f0cf2(0x609)]({'name':'SHA-256'},convertStringToArrayBufferView(_0x2ac881))[_0x3f0cf2(0x414)](function(_0xfe6f5f){var _0x47d706=_0x3f0cf2;return window['crypto'][_0x47d706(0x19e)][_0x47d706(0x488)](_0x47d706(0x654),_0xfe6f5f,{'name':'AES-CBC'},![],['encrypt',_0x47d706(0x1ee)])['then'](function(_0x1cdcbc){var _0x5cb055=_0x47d706;return crypto[_0x5cb055(0x19e)][_0x5cb055(0x1ee)]({'name':_0x5cb055(0x580),'iv':_0x52c94b},_0x1cdcbc,_0x4ce8ff)[_0x5cb055(0x414)](function(_0x45eb3e){var _0x201e0d=new Uint8Array(_0x45eb3e),_0x1c3179='';for(var _0x425147=0x0;_0x425147<_0x201e0d['byteLength'];_0x425147++){_0x1c3179+=String['fromCharCode'](_0x201e0d[_0x425147]);}return _0x1c3179;},function(_0x5bc725){return errorlog(_0x5bc725),![];});});})[_0x3f0cf2(0x538)](errorlog);},_0x2c8760[_0x2f8f35(0x6a4)]=async function(_0x3d6632){var _0x4656a1=_0x2f8f35;if(typeof _0x3d6632['remote']!=='object')return _0x3d6632;try{_0x3d6632[_0x4656a1(0x279)]['length']==0x2&&(!_0x2c8760[_0x4656a1(0x3d2)]&&(_0x2c8760[_0x4656a1(0x3d2)]=await generateHash(_0x2c8760[_0x4656a1(0x279)]+_0x2c8760[_0x4656a1(0x6ad)],0xc)),_0x3d6632[_0x4656a1(0x279)]=await _0x2c8760['decryptMessage'](_0x3d6632[_0x4656a1(0x279)][0x0],_0x3d6632[_0x4656a1(0x279)][0x1],_0x2c8760[_0x4656a1(0x3d2)]),_0x3d6632['remote']?log(_0x4656a1(0x8e4)):warnlog('Remote\x20request\x20failed\x20to\x20decode;\x20continuing\x20still.'),log(_0x3d6632));}catch(_0x923bfb){errorlog(_0x923bfb);}return _0x3d6632;},_0x2c8760[_0x2f8f35(0x75)]=async function(_0x3b814b){var _0x2dfb7d=_0x2f8f35;try{if(_0x3b814b[_0x2dfb7d(0x279)]&&typeof _0x3b814b[_0x2dfb7d(0x279)]===_0x2dfb7d(0x6b3)){var _0x2ee72d=await generateHash(_0x3b814b[_0x2dfb7d(0x279)]+_0x2c8760[_0x2dfb7d(0x6ad)],0xc);_0x3b814b[_0x2dfb7d(0x279)]=await _0x2c8760[_0x2dfb7d(0x60a)](_0x3b814b[_0x2dfb7d(0x279)],_0x2ee72d);}}catch(_0xfe4b77){errorlog(_0xfe4b77);}return _0x3b814b;},_0x2c8760[_0x2f8f35(0x2c1)]=function(_0x14f25d){var _0x389859=_0x2f8f35;try{_0x14f25d=decodeURIComponent(_0x14f25d),_0x14f25d=CryptoJS[_0x389859(0x714)][_0x389859(0x1ee)](_0x14f25d,_0x389859(0x6b4)),_0x14f25d=_0x14f25d['toString'](CryptoJS['enc'][_0x389859(0x657)]);if(_0x14f25d){if(_0x14f25d[_0x389859(0x810)](_0x389859(0x7a1)))_0x14f25d=_0x14f25d['replace'](_0x389859(0x7a1),'');else{if(_0x14f25d[_0x389859(0x810)](_0x389859(0x5ea)))_0x14f25d=_0x14f25d[_0x389859(0x15c)](_0x389859(0x5ea),'');else{if(_0x14f25d['startsWith']('/'))_0x14f25d=_0x14f25d[_0x389859(0x15c)]('/','');else{if(_0x14f25d[_0x389859(0x810)](_0x389859(0x3f0)))_0x14f25d=_0x14f25d['replace']('obs.ninja/','');else{if(_0x14f25d[_0x389859(0x810)](_0x389859(0x7d3)))_0x14f25d=_0x14f25d['replace'](_0x389859(0x7d3),'');else _0x14f25d[_0x389859(0x810)](_0x389859(0x86a))&&(_0x14f25d=_0x14f25d['replace'](_0x389859(0x86a),''));}}}}_0x14f25d=_0x14f25d['split']('?')[_0x389859(0x664)](0x1)[_0x389859(0x562)]('?'),_0x14f25d=_0x14f25d[_0x389859(0x15c)](/\?/g,'&'),_0x14f25d=_0x14f25d[_0x389859(0x15c)](/\&/,'?'),_0x14f25d&&(_0x2c8760['decrypted']='?'+_0x14f25d);}}catch(_0x75b0eb){warnlog(_0x75b0eb);}},_0x2c8760[_0x2f8f35(0x7f6)]=function(_0x17990c,_0x206083=![]){var _0x562028=_0x2f8f35,_0x93a4c5={};_0x93a4c5['keyframe']=!![],_0x93a4c5[_0x562028(0x54d)]=!![],_0x2c8760[_0x562028(0x3fd)](_0x93a4c5,_0x17990c);},_0x2c8760[_0x2f8f35(0x6c0)]=function(_0x2d464f,_0x27ba56,_0x247a48=null){var _0x3cec33=_0x2f8f35;if(!_0x2c8760[_0x3cec33(0x186)][_0x27ba56])return![];var _0x3062af={};if(_0x247a48!==null)_0x2c8760[_0x3cec33(0x186)][_0x27ba56][_0x3cec33(0x53b)]=_0x247a48||![];else{if(_0x2c8760[_0x3cec33(0x186)][_0x27ba56][_0x3cec33(0x53b)]){warnlog(_0x3cec33(0x56f));return;}}_0x3062af[_0x3cec33(0x9f)]=_0x2d464f,log(_0x3062af),_0x2c8760['sendRequest'](_0x3062af,_0x27ba56);},_0x2c8760[_0x2f8f35(0x526)]=function(_0x5ee567,_0x5f143d,_0x490c64=![],_0x3034f7=null){var _0x4b9f01=_0x2f8f35;log(_0x4b9f01(0x64d)+_0x490c64);if(!_0x2c8760[_0x4b9f01(0x186)][_0x5f143d])return![];if(_0x3034f7!==null)_0x2c8760[_0x4b9f01(0x186)][_0x5f143d]['lockedVideoBitrate']=_0x3034f7||![];else{if(_0x2c8760[_0x4b9f01(0x186)][_0x5f143d]['lockedVideoBitrate']){warnlog(_0x4b9f01(0x5d7));return;}}if(_0x5ee567===![]){}else _0x2c8760[_0x4b9f01(0x186)][_0x5f143d][_0x4b9f01(0x5f1)]=_0x5ee567;var _0x4016a4=-0x1;_0x2c8760[_0x4b9f01(0x186)][_0x5f143d][_0x4b9f01(0x373)]!==![]?_0x5ee567=parseInt(_0x2c8760[_0x4b9f01(0x186)][_0x5f143d][_0x4b9f01(0x373)]):_0x5ee567=parseInt(_0x2c8760[_0x4b9f01(0x186)][_0x5f143d][_0x4b9f01(0x5f1)]);if(_0x2c8760[_0x4b9f01(0x59f)][_0x4b9f01(0x3fc)]===![]){if(_0x2c8760['optimize']!==![]){if(window['obsstudio'])return![];}}_0x5ee567===0x0&&_0x2c8760[_0x4b9f01(0x186)][_0x5f143d][_0x4b9f01(0x3de)]&&(_0x5ee567=0x1);if(_0x2c8760[_0x4b9f01(0x186)][_0x5f143d][_0x4b9f01(0xaa)]===_0x5ee567)return![];log(_0x4b9f01(0x5dd)+_0x5ee567);var _0x3cb867={};_0x3cb867[_0x4b9f01(0x4ca)]=_0x5ee567;if(_0x490c64===null){}else{if(_0x490c64)_0x5ee567===0x0?(warnlog('OPTIMIZED\x20AUDIO\x20ENABLED;\x20zero\x20bitrate'),_0x3cb867[_0x4b9f01(0x9f)]=0x0):_0x4016a4<0x10&&_0x4016a4>=0x0?_0x3cb867['audioBitrate']=_0x4016a4:_0x3cb867[_0x4b9f01(0x9f)]=0x10;else _0x3034f7===null&&(_0x3cb867[_0x4b9f01(0x9f)]=_0x4016a4);}return _0x2c8760[_0x4b9f01(0x3fd)](_0x3cb867,_0x5f143d)?(_0x2c8760[_0x4b9f01(0x186)][_0x5f143d][_0x4b9f01(0xaa)]=_0x5ee567,!![]):(setTimeout(function _0x5e7a7f(){var _0x465890=_0x4b9f01;_0x2c8760[_0x465890(0x526)](![],_0x5f143d);},0x1388),warnlog(_0x4b9f01(0x814)),![]);},_0x2c8760[_0x2f8f35(0x14e)]=function(_0x4e98af,_0x1540f0=![],_0x142025=![],_0x5dbf6b=![]){var _0x429671=_0x2f8f35,_0x1a8e26=![],_0x4c5e8b={};_0x4c5e8b[_0x429671(0x479)]=_0x4e98af;try{if(!_0x1540f0&&!_0x142025){if(_0x5dbf6b==_0x429671(0x186))_0x2c8760[_0x429671(0x3fd)](_0x4c5e8b);else _0x5dbf6b==_0x429671(0x847)?_0x2c8760[_0x429671(0x205)](_0x4c5e8b):_0x2c8760[_0x429671(0xdc)](_0x4c5e8b);_0x1a8e26=!![];}else{if(_0x1540f0){_0x1540f0=_0x1540f0+'';if(_0x5dbf6b=='rpcs')_0x2c8760[_0x429671(0x3fd)](_0x4c5e8b,_0x1540f0);else _0x5dbf6b=='pcs'?_0x2c8760[_0x429671(0x205)](_0x4c5e8b,_0x1540f0):_0x2c8760[_0x429671(0xdc)](_0x4c5e8b,_0x1540f0);_0x1a8e26=!![];}else{if(_0x142025){_0x142025=_0x142025+'';for(var _0x3b560d in _0x2c8760[_0x429671(0x186)]){if(_0x2c8760[_0x429671(0x186)][_0x3b560d][_0x429671(0x85a)]===_0x142025){if(_0x5dbf6b==_0x429671(0x186))_0x2c8760[_0x429671(0x3fd)](_0x4c5e8b,_0x3b560d);else _0x5dbf6b==_0x429671(0x847)?_0x2c8760[_0x429671(0x205)](_0x4c5e8b,_0x3b560d):_0x2c8760[_0x429671(0xdc)](_0x4c5e8b,_0x3b560d);_0x1a8e26=!![];}}}}}return _0x1a8e26;}catch(_0x2cd561){return![];}},_0x2c8760[_0x2f8f35(0x5f2)]=function(_0x11ac95,_0x13c2e4){var _0x112429=_0x2f8f35,_0x18b158={};_0x18b158[_0x112429(0x3e8)]={},_0x18b158[_0x112429(0x3e8)]=_0x11ac95,_0x13c2e4!==null&&(_0x18b158[_0x112429(0x86c)]=_0x13c2e4),_0x11ac95[_0x112429(0x6c8)]&&getChatMessage(_0x11ac95[_0x112429(0x6c8)][_0x112429(0x42b)],_0x11ac95[_0x112429(0x6c8)][_0x112429(0x487)],![],![]),isIFrame&&parent[_0x112429(0x352)](_0x18b158,_0x2c8760[_0x112429(0x2e0)]);},_0x2c8760[_0x2f8f35(0x4a0)]=function(){var _0x12f993=_0x2f8f35;if(_0x2c8760[_0x12f993(0x273)]===null)return;for(var _0x2d21d8 in _0x2c8760[_0x12f993(0x186)]){try{var _0x4c63dc=getReceivers2(_0x2d21d8);for(var _0x31bbad=0x0;_0x31bbad<_0x4c63dc[_0x12f993(0x542)];_0x31bbad++){_0x4c63dc[_0x31bbad][_0x12f993(0x124)][_0x12f993(0x8d5)]=='audio'&&(_0x4c63dc[_0x31bbad]['track'][_0x12f993(0x734)]=!_0x2c8760[_0x12f993(0x273)]);}}catch(_0x4600d6){}}_0x2c8760['directorSpeakerMuted']&&(getById('videosource')[_0x12f993(0xc0)]=!![]);},_0x2c8760[_0x2f8f35(0x1a5)]=function(){var _0x3c485d=_0x2f8f35;if(_0x2c8760[_0x3c485d(0x6da)]===null)return;_0x2c8760[_0x3c485d(0x6da)]?(getById('gridlayout')['style'][_0x3c485d(0x5c1)]=_0x3c485d(0x263),!_0x2c8760[_0x3c485d(0x7d7)]&&warnUser(_0x3c485d(0x1f1),![],![])):(getById(_0x3c485d(0x8e7))[_0x3c485d(0x83f)][_0x3c485d(0x5c1)]='',!_0x2c8760[_0x3c485d(0x7d7)]&&closeModal());for(var _0x2191d6 in _0x2c8760[_0x3c485d(0x186)]){try{var _0xafc96e=getReceivers2(_0x2191d6);for(var _0x43bf91=0x0;_0x43bf91<_0xafc96e[_0x3c485d(0x542)];_0x43bf91++){_0xafc96e[_0x43bf91]['track'][_0x3c485d(0x8d5)]==_0x3c485d(0x456)&&(_0xafc96e[_0x43bf91][_0x3c485d(0x124)]['enabled']=!_0x2c8760[_0x3c485d(0x6da)]);}}catch(_0x300e0c){errorlog(_0x300e0c);}}_0x2c8760[_0x3c485d(0x6da)]&&(getById(_0x3c485d(0x8e3))[_0x3c485d(0xc0)]=!![]);},_0x2c8760[_0x2f8f35(0x6c3)]=function(_0xa53948){var _0x458ca0=_0x2f8f35;_0xa53948[_0x458ca0(0x1f4)]();var _0x35fc0a=parseFloat(_0xa53948[_0x458ca0(0x2f3)]*-0.001);log(_0xa53948[_0x458ca0(0x484)]),_0xa53948[_0x458ca0(0x164)]||_0xa53948['metaKey']?_0x2c8760[_0x458ca0(0x446)](_0x35fc0a,_0xa53948[_0x458ca0(0x484)][_0x458ca0(0x88a)]['UUID']):_0x2c8760['requestZoomChange'](_0x35fc0a,_0xa53948[_0x458ca0(0x484)][_0x458ca0(0x88a)][_0x458ca0(0x86c)]);},_0x2c8760[_0x2f8f35(0x2ac)]=async function(_0x52bb62,_0x4d8639,_0x2e6593=_0x2c8760[_0x2f8f35(0x279)]){var _0x5de932=_0x2f8f35;log('request\x20zoom\x20change:\x20'+_0x52bb62),log(_0x4d8639);var _0x4b1172={};_0x4b1172[_0x5de932(0x1f3)]=_0x52bb62,_0x4b1172[_0x5de932(0x279)]=_0x2e6593,_0x4b1172=await _0x2c8760[_0x5de932(0x75)](_0x4b1172),_0x2c8760[_0x5de932(0x3fd)](_0x4b1172,_0x4d8639)?log(_0x5de932(0x55d)):errorlog(_0x5de932(0x39e));},_0x2c8760[_0x2f8f35(0x446)]=async function(_0x392ebb,_0x3cef5c,_0x36a934=_0x2c8760[_0x2f8f35(0x279)]){var _0x11a9d2=_0x2f8f35;log(_0x11a9d2(0x68b)+_0x392ebb);var _0x20aa9b={};_0x20aa9b[_0x11a9d2(0x615)]=_0x392ebb,_0x20aa9b[_0x11a9d2(0x279)]=_0x36a934,_0x20aa9b=await _0x2c8760[_0x11a9d2(0x75)](_0x20aa9b),_0x2c8760[_0x11a9d2(0x3fd)](_0x20aa9b,_0x3cef5c)?log(_0x11a9d2(0x497)):errorlog(_0x11a9d2(0x24e));},_0x2c8760['seedStream']=async function(){var _0x1f9a64=_0x2f8f35;await _0x2c8760[_0x1f9a64(0x7d2)]();if(_0x2c8760[_0x1f9a64(0x5dc)]!==![])_0x2c8760[_0x1f9a64(0x5dc)]=_0x1f9a64(0x12d),log('seeding\x20blocked');else{if(_0x2c8760[_0x1f9a64(0xf0)])return;else{var _0xb0d073={};_0xb0d073[_0x1f9a64(0x10b)]='seed',_0xb0d073[_0x1f9a64(0x85a)]=_0x2c8760[_0x1f9a64(0x85a)],_0x2c8760[_0x1f9a64(0x100)](_0xb0d073),log(_0x1f9a64(0x464)),pokeAPI('seeding',!![]),pokeIframeAPI('seeding-started',!![]),pokeIframeAPI(_0x1f9a64(0x6b9),!![]);}}await meshcast();},_0x2c8760[_0x2f8f35(0x2d8)]=function(){var _0x4277d4=_0x2f8f35;getById('coDirectorEnable')['disabled']=!![],getById(_0x4277d4(0x77c))[_0x4277d4(0x833)]=_0x4277d4(0x8e),getById('codirectorSettings')[_0x4277d4(0x83f)]['display']='none',_0x2c8760['directorPassword']&&(_0x2c8760['directorHash']?_0x2c8760['directorUUID']&&(_0x2c8760[_0x4277d4(0x8a8)]in _0x2c8760[_0x4277d4(0x186)]&&(_0x2c8760['rpcs'][_0x2c8760['directorUUID']]['codirectorRequested']===![]&&_0x2c8760[_0x4277d4(0x60a)](_0x2c8760['directorHash'],_0x2c8760[_0x4277d4(0x791)])[_0x4277d4(0x414)](function(_0x1371b4){var _0x5e7c14=_0x4277d4,_0x1315c4={};_0x1315c4[_0x5e7c14(0x86c)]=_0x2c8760['directorUUID'],_0x1315c4['requestCoDirector']=_0x1371b4[0x0],_0x1315c4['vector']=_0x1371b4[0x1],_0x2c8760[_0x5e7c14(0x186)][_0x2c8760[_0x5e7c14(0x8a8)]][_0x5e7c14(0x6cc)]===![]&&(_0x2c8760[_0x5e7c14(0x3fd)](_0x1315c4,_0x1315c4[_0x5e7c14(0x86c)])&&(_0x2c8760['rpcs'][_0x2c8760['directorUUID']][_0x5e7c14(0x6cc)]=!![]));})['catch'](errorlog))):generateHash(_0x2c8760['directorPassword']+_0x2c8760[_0x4277d4(0x6ad)]+_0x4277d4(0x6e),0xc)['then'](function(_0x1d7ac1){var _0x52a02b=_0x4277d4;_0x2c8760['directorHash']=_0x1d7ac1;_0x2c8760['directorUUID']&&(_0x2c8760[_0x52a02b(0x186)][_0x2c8760[_0x52a02b(0x8a8)]][_0x52a02b(0x6cc)]===![]&&_0x2c8760[_0x52a02b(0x60a)](_0x2c8760[_0x52a02b(0x791)],_0x2c8760[_0x52a02b(0x791)])[_0x52a02b(0x414)](function(_0x561513){var _0x157a09=_0x52a02b,_0xe84d7c={};_0xe84d7c['UUID']=_0x2c8760[_0x157a09(0x8a8)],_0xe84d7c[_0x157a09(0x2d8)]=_0x561513[0x0],_0xe84d7c[_0x157a09(0x4e8)]=_0x561513[0x1],_0x2c8760[_0x157a09(0x186)][_0x2c8760['directorUUID']][_0x157a09(0x6cc)]===![]&&(_0x2c8760[_0x157a09(0x3fd)](_0xe84d7c,_0xe84d7c[_0x157a09(0x86c)])&&(_0x2c8760[_0x157a09(0x186)][_0x2c8760[_0x157a09(0x8a8)]][_0x157a09(0x6cc)]=!![]));})[_0x52a02b(0x538)](errorlog));return;})[_0x4277d4(0x538)](errorlog));},_0x2c8760[_0x2f8f35(0x2f5)]=function(_0x484555,_0x41d6f9){return _0x484555;},_0x2c8760[_0x2f8f35(0x38c)]=function(){var _0x1d74f3=_0x2f8f35;log(_0x1d74f3(0x52e));for(var _0x29b505 in _0x2c8760[_0x1d74f3(0x847)]){setTimeout(function(_0x125e1e){var _0x42e38d=_0x1d74f3;if(_0x2c8760[_0x42e38d(0x847)][_0x125e1e][_0x42e38d(0x5b1)]!==![])log(_0x42e38d(0x37f)),_0x2c8760[_0x42e38d(0x4af)](_0x125e1e,_0x2c8760[_0x42e38d(0x847)][_0x125e1e][_0x42e38d(0x11e)],_0x2c8760[_0x42e38d(0x847)][_0x125e1e][_0x42e38d(0x34b)],_0x2c8760[_0x42e38d(0x847)][_0x125e1e][_0x42e38d(0x29b)]);else _0x2c8760[_0x42e38d(0x847)][_0x125e1e][_0x42e38d(0x555)]!==![]&&(log(_0x42e38d(0x695)),_0x2c8760[_0x42e38d(0x235)](_0x125e1e,_0x2c8760[_0x42e38d(0x847)][_0x125e1e]['scale']));},0x0,_0x29b505);}},_0x2c8760[_0x2f8f35(0x703)]=function(_0x2e444b=_0x2c8760[_0x2f8f35(0x2ca)]){var _0x3fc92f=_0x2f8f35;warnlog(_0x3fc92f(0x783));if(_0x2c8760['mc']['scale']!==_0x2e444b){if(_0x2e444b==null){try{var _0x33f6c4=_0x2c8760['mc'][_0x3fc92f(0x45f)]()['find'](function(_0x345d7d){var _0x193b6c=_0x3fc92f;return _0x345d7d[_0x193b6c(0x124)]&&_0x345d7d[_0x193b6c(0x124)][_0x193b6c(0x8d5)]==_0x193b6c(0x456);});}catch(_0x1ac29c){errorlog(_0x1ac29c);}if(!_0x33f6c4){warnlog('can\x27t\x20change\x20bitrate;\x20no\x20video\x20senders\x20found');return;}var _0x2c9821=_0x33f6c4[_0x3fc92f(0x8c1)]();(!_0x2c9821[_0x3fc92f(0x5a7)]||_0x2c9821['encodings']['length']==0x0)&&(_0x2c9821[_0x3fc92f(0x5a7)]=[{}]),_0x3fc92f(0x601)in _0x2c9821[_0x3fc92f(0x5a7)][0x0]?(_0x2e444b=0x64/_0x2c9821[_0x3fc92f(0x5a7)][0x0][_0x3fc92f(0x601)],_0x2e444b=_0x2e444b*0.95):_0x2e444b=0x5f;}else _0x2c8760['mc'][_0x3fc92f(0x555)]=_0x2e444b;try{if(SafariVersion&&SafariVersion<=0xd&&(iOS||iPad))log(_0x3fc92f(0x5aa));else{if(_0x3fc92f(0x48c)in window&&'setParameters'in window[_0x3fc92f(0x48c)][_0x3fc92f(0x62a)]){try{var _0x33f6c4=_0x2c8760['mc'][_0x3fc92f(0x45f)]()['find'](function(_0x2796da){var _0x49f09b=_0x3fc92f;return _0x2796da[_0x49f09b(0x124)]&&_0x2796da[_0x49f09b(0x124)]['kind']==_0x49f09b(0x456);});}catch(_0x4515bb){errorlog(_0x4515bb);}if(!_0x33f6c4){warnlog(_0x3fc92f(0x3bb));return;}var _0x2c9821=_0x33f6c4['getParameters']();(!_0x2c9821[_0x3fc92f(0x5a7)]||_0x2c9821['encodings'][_0x3fc92f(0x542)]==0x0)&&(_0x2c9821[_0x3fc92f(0x5a7)]=[{}]);if(_0x2e444b<=0x0||_0x2e444b==0x64){var _0x207a6b=getChromeVersion();_0x207a6b>0x50?_0x3fc92f(0x601)in _0x2c9821[_0x3fc92f(0x5a7)][0x0]&&delete _0x2c9821[_0x3fc92f(0x5a7)][0x0]['scaleResolutionDownBy']:_0x2c9821[_0x3fc92f(0x5a7)][0x0][_0x3fc92f(0x601)]=0x1;}else _0x2c9821[_0x3fc92f(0x5a7)][0x0][_0x3fc92f(0x601)]=0x64/_0x2e444b;_0x33f6c4['setParameters'](_0x2c9821)['then'](()=>{var _0x4dc609=_0x3fc92f;log(_0x4dc609(0x8ba)),log(_0x33f6c4[_0x4dc609(0x8c1)]()),pokeIframeAPI(_0x4dc609(0x13a),_0x2e444b,_0x4dc609(0x331)),pokeIframeAPI('set-video-scale',_0x2e444b,'meshcast');})[_0x3fc92f(0x538)](warnlog),_0x2c8760['mc'][_0x3fc92f(0x744)][_0x3fc92f(0x424)]=parseInt(_0x2e444b)+'%';return;}}}catch(_0x5f554b){errorlog(_0x5f554b);}}},_0x2c8760[_0x2f8f35(0x235)]=function(_0x6cd28d,_0xd1188e){var _0x1439ba=_0x2f8f35;warnlog(_0x1439ba(0x82));if(_0x2c8760[_0x1439ba(0x847)][_0x6cd28d][_0x1439ba(0x555)]===_0xd1188e)return;if(_0xd1188e==null){try{var _0x1f345f=getSenders2(_0x6cd28d)[_0x1439ba(0x323)](function(_0x4b0fdb){var _0x4b5d22=_0x1439ba;return _0x4b0fdb[_0x4b5d22(0x124)]&&_0x4b0fdb[_0x4b5d22(0x124)][_0x4b5d22(0x8d5)]==_0x4b5d22(0x456);});}catch(_0x1cf710){errorlog(_0x1cf710);}if(!_0x1f345f){warnlog(_0x1439ba(0x3bb));return;}var _0x4320b1=_0x1f345f[_0x1439ba(0x8c1)]();(!_0x4320b1[_0x1439ba(0x5a7)]||_0x4320b1[_0x1439ba(0x5a7)][_0x1439ba(0x542)]==0x0)&&(_0x4320b1[_0x1439ba(0x5a7)]=[{}]),_0x1439ba(0x601)in _0x4320b1[_0x1439ba(0x5a7)][0x0]?(_0xd1188e=0x64/_0x4320b1['encodings'][0x0][_0x1439ba(0x601)],_0xd1188e=_0xd1188e*0.95):_0xd1188e=0x5f;}else _0x2c8760[_0x1439ba(0x847)][_0x6cd28d][_0x1439ba(0x555)]=_0xd1188e;try{if(SafariVersion&&SafariVersion<=0xd&&(iOS||iPad))log('iOS\x20devices\x20do\x20not\x20support\x20dynamic\x20bitrates\x20correctly;\x20skipping');else{if(_0x1439ba(0x48c)in window&&'setParameters'in window['RTCRtpSender'][_0x1439ba(0x62a)]){try{var _0x1f345f=getSenders2(_0x6cd28d)[_0x1439ba(0x323)](function(_0x955ab2){var _0x4b432b=_0x1439ba;return _0x955ab2[_0x4b432b(0x124)]&&_0x955ab2['track'][_0x4b432b(0x8d5)]=='video';});}catch(_0x1365a5){errorlog(_0x1365a5);}if(!_0x1f345f){warnlog(_0x1439ba(0x3bb));return;}_0xd1188e=_0x2c8760[_0x1439ba(0x1e4)](_0x6cd28d,![],_0xd1188e);var _0x4320b1=_0x1f345f[_0x1439ba(0x8c1)]();(!_0x4320b1[_0x1439ba(0x5a7)]||_0x4320b1['encodings']['length']==0x0)&&(_0x4320b1[_0x1439ba(0x5a7)]=[{}]);if(_0xd1188e<=0x0||_0xd1188e==0x64){var _0x3ea719=getChromeVersion();_0x3ea719>0x50?'scaleResolutionDownBy'in _0x4320b1[_0x1439ba(0x5a7)][0x0]&&delete _0x4320b1['encodings'][0x0]['scaleResolutionDownBy']:_0x4320b1[_0x1439ba(0x5a7)][0x0][_0x1439ba(0x601)]=0x1;}else _0x4320b1[_0x1439ba(0x5a7)][0x0]['scaleResolutionDownBy']=0x64/_0xd1188e;_0x1f345f['setParameters'](_0x4320b1)[_0x1439ba(0x414)](()=>{var _0x5501d8=_0x1439ba;log(_0x5501d8(0x8ba)),log(_0x1f345f[_0x5501d8(0x8c1)]()),pokeIframeAPI(_0x5501d8(0x13a),_0xd1188e,_0x6cd28d),pokeIframeAPI(_0x5501d8(0x3e2),_0xd1188e,_0x6cd28d);})[_0x1439ba(0x538)](warnlog),_0x2c8760[_0x1439ba(0x847)][_0x6cd28d][_0x1439ba(0x744)][_0x1439ba(0x424)]=parseInt(_0xd1188e)+'%';return;}}}catch(_0x526d26){errorlog(_0x526d26);}},_0x2c8760[_0x2f8f35(0x41f)]=function(_0x47c53b,_0x1f542f,_0x20c5a6,_0x1fad1e=![],_0x18cc04=![]){var _0x17ee71=_0x2f8f35;if(!(_0x47c53b in _0x2c8760[_0x17ee71(0x186)]))return;_0x1f542f=parseInt(Math[_0x17ee71(0x5e6)](_0x1f542f)),_0x20c5a6=parseInt(Math[_0x17ee71(0x5e6)](_0x20c5a6));var _0x4612a5=![];_0x2c8760[_0x17ee71(0x186)][_0x47c53b]['scaleWidth']!=_0x1f542f&&(_0x2c8760['rpcs'][_0x47c53b][_0x17ee71(0x11e)]=_0x1f542f,_0x4612a5=!![]);_0x2c8760[_0x17ee71(0x186)][_0x47c53b][_0x17ee71(0x34b)]!=_0x20c5a6&&(_0x2c8760[_0x17ee71(0x186)][_0x47c53b][_0x17ee71(0x34b)]=_0x20c5a6,_0x4612a5=!![]);_0x2c8760[_0x17ee71(0x186)][_0x47c53b]['scaleSnap']!=_0x1fad1e&&(_0x2c8760[_0x17ee71(0x186)][_0x47c53b][_0x17ee71(0x29b)]=_0x1fad1e,_0x4612a5=!![]);if(_0x4612a5){var _0x54cf9f={};_0x54cf9f[_0x17ee71(0x86c)]=_0x47c53b,_0x54cf9f['requestResolution']={'w':_0x1f542f,'h':_0x20c5a6,'s':_0x1fad1e},_0x18cc04&&(_0x54cf9f[_0x17ee71(0x49a)]=_0x18cc04),log(_0x1f542f+'\x20'+_0x20c5a6),_0x2c8760[_0x17ee71(0x3fd)](_0x54cf9f,_0x47c53b);}_0x1fad1e?_0x2c8760[_0x17ee71(0x186)][_0x47c53b][_0x17ee71(0x744)]['Requested_resolution']='~\x20'+parseInt(_0x1f542f)+_0x17ee71(0x5df)+parseInt(_0x20c5a6):_0x2c8760['rpcs'][_0x47c53b][_0x17ee71(0x744)][_0x17ee71(0x1ad)]=parseInt(_0x1f542f)+_0x17ee71(0x5df)+parseInt(_0x20c5a6);},_0x2c8760[_0x2f8f35(0x1e4)]=function(_0x4c4131,_0x1f5c3d=![],_0x5cb42c=![]){var _0x449bfd=_0x2f8f35;if(_0x5cb42c){}else _0x2c8760['pcs'][_0x4c4131]['scale']?_0x5cb42c=_0x2c8760[_0x449bfd(0x847)][_0x4c4131]['scale']:_0x5cb42c=0x64;_0x2c8760[_0x449bfd(0x847)][_0x4c4131]['scaleResolution']&&_0x5cb42c>_0x2c8760['pcs'][_0x4c4131][_0x449bfd(0x5b1)]&&(_0x5cb42c=_0x2c8760[_0x449bfd(0x847)][_0x4c4131][_0x449bfd(0x5b1)]);if(_0x1f5c3d)_0x5cb42c=_0xf3eb45(_0x4c4131,_0x5cb42c,_0x1f5c3d);else _0x2c8760[_0x449bfd(0x847)][_0x4c4131][_0x449bfd(0x817)]&&_0x2c8760[_0x449bfd(0x847)][_0x4c4131][_0x449bfd(0x817)]<_0x5cb42c&&(_0x5cb42c=_0x2c8760[_0x449bfd(0x847)][_0x4c4131][_0x449bfd(0x817)]);if(_0x2c8760[_0x449bfd(0x128)]&&_0x2c8760[_0x449bfd(0x847)][_0x4c4131][_0x449bfd(0x29b)]){if(_0x5cb42c>0x55)_0x5cb42c=0x64;else _0x5cb42c>0x2a&&_0x5cb42c<0x32&&(_0x5cb42c=0x32);}return _0x5cb42c=_0x2c8760[_0x449bfd(0x2f5)](_0x5cb42c,_0x4c4131),_0x5cb42c;},_0x2c8760['setResolution']=function(_0x448cb6=![],_0x4f2be8=null,_0x1aa10a=null,_0xfacf98=![]){var _0x85bb10=_0x2f8f35;if(_0x448cb6&&!(_0x448cb6 in _0x2c8760[_0x85bb10(0x847)]))return;else{if(!_0x448cb6){for(var _0x195014 in _0x2c8760['pcs']){_0x2c8760[_0x85bb10(0x4af)](_0x195014);}return;}}if(_0x4f2be8===null&&_0x1aa10a===null){if(!_0x2c8760[_0x85bb10(0x847)][_0x448cb6][_0x85bb10(0x11e)]&&!_0x2c8760[_0x85bb10(0x847)][_0x448cb6]['scaleHeight'])return;else _0x4f2be8=_0x2c8760['pcs'][_0x448cb6]['scaleWidth']||0x64,_0x1aa10a=_0x2c8760[_0x85bb10(0x847)][_0x448cb6][_0x85bb10(0x34b)]||0x64;}else _0x2c8760[_0x85bb10(0x847)][_0x448cb6][_0x85bb10(0x11e)]=_0x4f2be8,_0x2c8760['pcs'][_0x448cb6]['scaleHeight']=_0x1aa10a,_0x2c8760[_0x85bb10(0x847)][_0x448cb6][_0x85bb10(0x29b)]=_0xfacf98;if(SafariVersion&&SafariVersion<=0xd&&(iOS||iPad))return;if(_0x85bb10(0x48c)in window&&_0x85bb10(0x430)in window[_0x85bb10(0x48c)][_0x85bb10(0x62a)]){var _0x157817=getSenders2(_0x448cb6)['find'](function(_0x5aadac){var _0x553c25=_0x85bb10;return _0x5aadac[_0x553c25(0x124)]&&_0x5aadac[_0x553c25(0x124)]['kind']==_0x553c25(0x456);});if(!_0x157817){warnlog(_0x85bb10(0x2e3));return;}var _0x551433=_0x157817[_0x85bb10(0x8c1)]();(!_0x551433[_0x85bb10(0x5a7)]||_0x551433[_0x85bb10(0x5a7)][_0x85bb10(0x542)]==0x0)&&(_0x551433[_0x85bb10(0x5a7)]=[{}]);if(_0x85bb10(0x4fd)in _0x2c8760['pcs'][_0x448cb6]){var _0x1866a3=_0x2c8760[_0x85bb10(0x401)][_0x85bb10(0x454)]();if(_0x1866a3[_0x85bb10(0x542)])var _0x435d11=_0x1866a3[0x0][_0x85bb10(0x244)](),_0x156d81=_0x435d11[_0x85bb10(0x5e4)],_0x3cd047=_0x435d11['width'];else return;}else{if(_0x2c8760['videoElement']&&_0x2c8760[_0x85bb10(0x850)][_0x85bb10(0x548)]){var _0x1866a3=_0x2c8760[_0x85bb10(0x850)]['srcObject'][_0x85bb10(0x454)]();if(_0x1866a3[_0x85bb10(0x542)])var _0x435d11=_0x1866a3[0x0]['getSettings'](),_0x156d81=_0x435d11[_0x85bb10(0x5e4)],_0x3cd047=_0x435d11[_0x85bb10(0x33e)];else return;}else return;}var _0x1cfd4b=0x64*_0x4f2be8/_0x3cd047,_0x2b72ce=0x64*_0x1aa10a/_0x156d81;log(_0x1cfd4b+_0x85bb10(0x5df)+_0x2b72ce);var _0x20c76b=0x64;_0x1cfd4b>_0x2b72ce?_0x20c76b=_0x2b72ce:_0x20c76b=_0x1cfd4b;_0x20c76b>0x64&&(_0x20c76b=0x64);log(_0x85bb10(0x3be)+_0x20c76b),_0x2c8760['pcs'][_0x448cb6]['scaleResolution']=_0x20c76b;var _0x44f76a=_0x2c8760[_0x85bb10(0x1e4)](_0x448cb6);if(_0x44f76a<=0x0||_0x44f76a==0x64){var _0x346798=getChromeVersion();if(_0x346798>0x50)_0x85bb10(0x601)in _0x551433[_0x85bb10(0x5a7)][0x0]&&delete _0x551433[_0x85bb10(0x5a7)][0x0][_0x85bb10(0x601)];else{if(_0x551433[_0x85bb10(0x5a7)][0x0]['scaleResolutionDownBy']&&_0x551433[_0x85bb10(0x5a7)][0x0][_0x85bb10(0x601)]==0x1){_0x2c8760['pcs'][_0x448cb6][_0x85bb10(0x744)][_0x85bb10(0x424)]=parseInt(_0x44f76a)+'%';return;}else _0x551433['encodings'][0x0][_0x85bb10(0x601)]=0x1;}}else{if(_0x85bb10(0x601)in _0x551433[_0x85bb10(0x5a7)][0x0]&&_0x551433[_0x85bb10(0x5a7)][0x0]['scaleResolutionDownBy']==0x64/_0x44f76a){_0x2c8760[_0x85bb10(0x847)][_0x448cb6]['stats'][_0x85bb10(0x424)]=parseInt(_0x44f76a)+'%';return;}else _0x551433[_0x85bb10(0x5a7)][0x0]['scaleResolutionDownBy']=0x64/_0x44f76a;}_0x157817[_0x85bb10(0x430)](_0x551433)[_0x85bb10(0x414)](()=>{var _0x2faab1=_0x85bb10;log('scale\x20set!'),log(_0x551433),pokeIframeAPI(_0x2faab1(0x13a),_0x44f76a,_0x448cb6),pokeIframeAPI('set-video-scale',_0x44f76a,_0x448cb6);})[_0x85bb10(0x538)](warnlog),_0x2c8760[_0x85bb10(0x847)][_0x448cb6][_0x85bb10(0x744)]['scaleFactor']=parseInt(_0x44f76a)+'%';return;}},_0x2c8760['forcePLI']=function(_0x58d6ce=null,_0x2eb5fd=null){var _0x106ffe=_0x2f8f35;_0x2eb5fd&&_0x2eb5fd['stopPropagation']();_0x9283a8&&(_0x9283a8[_0x106ffe(0x47c)]=!![],log(_0x106ffe(0x896)+_0x58d6ce));if(iOS||iPad)return log(_0x106ffe(0x5aa)),![];else{if(_0x106ffe(0x48c)in window&&_0x106ffe(0x430)in window['RTCRtpSender'][_0x106ffe(0x62a)]){log(_0x106ffe(0x220)+_0x58d6ce);if(_0x58d6ce==null){for(_0x58d6ce in _0x2c8760[_0x106ffe(0x847)]){_0x2c8760[_0x106ffe(0x6b6)](_0x58d6ce);}return![];}if(!(_0x58d6ce in _0x2c8760[_0x106ffe(0x847)]))return![];_0x2c8760[_0x106ffe(0x847)][_0x58d6ce][_0x106ffe(0x641)]&&(_0x2c8760[_0x106ffe(0x847)][_0x58d6ce][_0x106ffe(0x64b)]&&(clearTimeout(_0x2c8760[_0x106ffe(0x847)][_0x58d6ce][_0x106ffe(0x64b)]),_0x2c8760[_0x106ffe(0x847)][_0x58d6ce][_0x106ffe(0x64b)]=null),_0x2c8760[_0x106ffe(0x847)][_0x58d6ce][_0x106ffe(0x64b)]=setTimeout(function(_0x560ece){var _0x38bd9e=_0x106ffe;!_0x2c8760[_0x38bd9e(0x847)][_0x560ece]?clearInterval(this):_0x2c8760[_0x38bd9e(0x6b6)](_0x560ece);},parseInt(_0x2c8760[_0x106ffe(0x847)][_0x58d6ce][_0x106ffe(0x641)]),_0x58d6ce));try{var _0xec53e1=getSenders2(_0x58d6ce)[_0x106ffe(0x323)](function(_0x1649c4){var _0x5c6977=_0x106ffe;return _0x1649c4['track']&&_0x1649c4[_0x5c6977(0x124)][_0x5c6977(0x8d5)]=='video';});if(!_0xec53e1)return warnlog(_0x106ffe(0x2e3)),![];var _0x589ced=_0xec53e1[_0x106ffe(0x8c1)]();(!_0x589ced[_0x106ffe(0x5a7)]||_0x589ced[_0x106ffe(0x5a7)][_0x106ffe(0x542)]==0x0)&&(_0x589ced['encodings']=[{}]);var _0x403abb=![];return _0x589ced['encodings'][0x0][_0x106ffe(0x601)]=0xa,_0xec53e1[_0x106ffe(0x430)](_0x589ced)[_0x106ffe(0x414)](()=>{var _0x5de6de=_0x106ffe,_0xa80e8d=_0x2c8760[_0x5de6de(0x1e4)](_0x58d6ce),_0x46dc39=_0xec53e1[_0x5de6de(0x8c1)]();if(_0xa80e8d<=0x0||_0xa80e8d==0x64){var _0x1fd596=getChromeVersion();_0x1fd596>0x50?_0x5de6de(0x601)in _0x46dc39['encodings'][0x0]&&delete _0x46dc39['encodings'][0x0][_0x5de6de(0x601)]:_0x46dc39['encodings'][0x0][_0x5de6de(0x601)]=0x1;}else _0x46dc39[_0x5de6de(0x5a7)][0x0][_0x5de6de(0x601)]=0x64/_0xa80e8d;_0xec53e1[_0x5de6de(0x430)](_0x46dc39)[_0x5de6de(0x414)](()=>{log('scaleResolutionDownBy\x20set\x202!');})[_0x5de6de(0x538)](warnlog);})[_0x106ffe(0x538)](warnlog),!![];}catch(_0x35be29){errorlog(_0x35be29);}}}return![];},_0x2c8760[_0x2f8f35(0x4a5)]=function(_0x53b7b3){var _0x55be91=_0x2f8f35;log('enhacing\x20audio\x20encoder');var _0x359653=getSenders2(_0x53b7b3)[_0x55be91(0x323)](function(_0x1fc72e){var _0x300994=_0x55be91;return _0x1fc72e[_0x300994(0x124)]&&_0x1fc72e[_0x300994(0x124)][_0x300994(0x8d5)]==_0x300994(0x6ee);});if(!_0x359653)return log('no\x20audio\x20track\x20to\x20poke'),![];var _0x5de3ac=_0x359653[_0x55be91(0x8c1)]();(!_0x5de3ac[_0x55be91(0x5a7)]||_0x5de3ac[_0x55be91(0x5a7)][_0x55be91(0x542)]==0x0)&&(_0x5de3ac[_0x55be91(0x5a7)]=[{}]);try{_0x5de3ac[_0x55be91(0x5a7)][0x0][_0x55be91(0x846)]=_0x55be91(0x168),_0x5de3ac[_0x55be91(0x5a7)][0x0][_0x55be91(0x3db)]=_0x55be91(0x168),_0x5de3ac[_0x55be91(0x5a7)][0x0][_0x55be91(0x757)]=!![],_0x359653[_0x55be91(0x430)](_0x5de3ac)[_0x55be91(0x414)](()=>{var _0xaad08c=_0x55be91;log(_0xaad08c(0x28e)),pokeIframeAPI(_0xaad08c(0x643),!![],_0x53b7b3);});}catch(_0x5e1d25){errorlog(_0x5e1d25);}},_0x2c8760[_0x2f8f35(0x7f0)]=function(_0x5bdc6e,_0x3200c8=_0x2f8f35(0x8d0)){var _0x1bb9d2=_0x2f8f35,_0x15075f=getSenders2(_0x5bdc6e)[_0x1bb9d2(0x323)](function(_0xfd5d8e){var _0x1acf79=_0x1bb9d2;return _0xfd5d8e[_0x1acf79(0x124)]&&_0xfd5d8e[_0x1acf79(0x124)][_0x1acf79(0x8d5)]==_0x1acf79(0x456);});if(!_0x15075f)return log(_0x1bb9d2(0x4a1)),![];var _0x35752f=_0x15075f['getParameters']();(!_0x35752f[_0x1bb9d2(0x5a7)]||_0x35752f['encodings']['length']==0x0)&&(_0x35752f[_0x1bb9d2(0x5a7)]=[{}]);try{_0x3200c8===!![]?(_0x35752f[_0x1bb9d2(0x5a7)][0x0][_0x1bb9d2(0x7f0)]='maintain-framerate',log(_0x1bb9d2(0x270))):(_0x35752f[_0x1bb9d2(0x5a7)][0x0][_0x1bb9d2(0x7f0)]=_0x3200c8,log('done\x20setting\x20degrad\x20to\x20'+_0x3200c8)),_0x15075f[_0x1bb9d2(0x430)](_0x35752f)['then'](()=>{log('done\x20setting\x20degrad');});}catch(_0x52955d){errorlog(_0x52955d);}},_0x2c8760[_0x2f8f35(0x55b)]=function(_0x5f37fb,_0x52ba1e,_0x56c0a4=![]){var _0xb2995c=_0x2f8f35;log(_0xb2995c(0x4f9)+_0x5f37fb+_0xb2995c(0x8ad)+_0x56c0a4);if(_0x2c8760[_0xb2995c(0x4f6)]===![])return;_0x52ba1e[_0xb2995c(0x4f6)]=parseInt(_0x2c8760['maxBandwidth']/0x64*_0x5f37fb),_0x56c0a4?_0x2c8760[_0xb2995c(0x4dd)](null):(console[_0xb2995c(0x253)](_0x52ba1e[_0xb2995c(0x86c)]),_0x2c8760[_0xb2995c(0x85f)](_0x52ba1e['UUID'],null));},_0x2c8760[_0x2f8f35(0x7ef)]=function(_0x2d364c,_0x435997=0x7d00,_0x4cb600=0x3e8){var _0x291251=_0x2f8f35;log(_0x291251(0x206));var _0x3a794e=getSenders2(_0x2d364c)[_0x291251(0x323)](function(_0x4f0b9d){var _0x3534fa=_0x291251;return _0x4f0b9d[_0x3534fa(0x124)]&&_0x4f0b9d['track'][_0x3534fa(0x8d5)]==_0x3534fa(0x6ee);});if(!_0x3a794e)return log(_0x291251(0x4d8)),![];var _0x20242f=_0x3a794e[_0x291251(0x8c1)]();(!_0x20242f['encodings']||_0x20242f[_0x291251(0x5a7)]['length']==0x0)&&(_0x20242f[_0x291251(0x5a7)]=[{}]),_0x20242f[_0x291251(0x5a7)][0x0][_0x291251(0x4e1)]=_0x435997,_0x3a794e['setParameters'](_0x20242f)[_0x291251(0x414)](()=>{var _0x27c0c7=_0x291251;pokeIframeAPI(_0x27c0c7(0x158),_0x435997,_0x2d364c),_0x4cb600>0x0&&setTimeout(function(){var _0x494469=_0x27c0c7;try{if(_0x2d364c in _0x2c8760['pcs'])var _0x12b40d=getSenders2(_0x2d364c)[_0x494469(0x323)](function(_0x2f8144){var _0x3aa095=_0x494469;return _0x2f8144['track']&&_0x2f8144[_0x3aa095(0x124)][_0x3aa095(0x8d5)]=='audio';});else return![];if(!_0x12b40d)return log(_0x494469(0x4d8)),![];var _0x4bbecc=_0x12b40d[_0x494469(0x8c1)]();delete _0x4bbecc['encodings'][0x0][_0x494469(0x4e1)],_0x12b40d['setParameters'](_0x4bbecc)[_0x494469(0x414)](()=>{var _0x2c8e9d=_0x494469;log(_0x2c8e9d(0x28e));});}catch(_0xde3681){errorlog(_0xde3681);}},_0x4cb600,_0x2d364c);});},_0x2c8760[_0x2f8f35(0x510)]=function(_0x3eb60f,_0x54a966,_0x2c947f){var _0x4fbb9a=_0x2f8f35;pokeIframeAPI('transfer',_0x3eb60f,_0x2c947f);if(_0x2c8760[_0x4fbb9a(0x55a)])return generateHash(_0x3eb60f+_0x2c8760[_0x4fbb9a(0x55a)]+_0x2c8760[_0x4fbb9a(0x6ad)],0x10)[_0x4fbb9a(0x414)](function(_0x52bd5f){var _0x1bb6ed=_0x4fbb9a,_0x17a64f={};_0x54a966[_0x1bb6ed(0x564)]&&(_0x54a966[_0x1bb6ed(0x680)]=_0x52bd5f);if(_0x2c8760[_0x1bb6ed(0x3c4)]&&_0x2c8760['directorUUID'])_0x17a64f[_0x1bb6ed(0x799)]=_0x2c947f,_0x17a64f[_0x1bb6ed(0x2af)]=_0x52bd5f,_0x17a64f['transferSettings']=_0x54a966,_0x2c8760[_0x1bb6ed(0x3fd)](_0x17a64f,_0x2c8760[_0x1bb6ed(0x8a8)]),log(_0x17a64f);else{if(_0x54a966[_0x1bb6ed(0x564)]){_0x17a64f[_0x1bb6ed(0x10b)]=_0x1bb6ed(0x799),_0x17a64f[_0x1bb6ed(0x50d)]=_0x54a966,log(_0x17a64f);if(_0x2c8760['sendRequest'](_0x17a64f,_0x2c947f)){var _0x17a64f={};_0x17a64f[_0x1bb6ed(0x10b)]=_0x1bb6ed(0x799),_0x17a64f[_0x1bb6ed(0x2af)]=_0x52bd5f,_0x17a64f[_0x1bb6ed(0x52a)]=_0x2c947f,_0x2c8760[_0x1bb6ed(0x100)](_0x17a64f);}log(_0x17a64f);}else{if(_0x1bb6ed(0x4d7)in _0x54a966){_0x17a64f[_0x1bb6ed(0x10b)]=_0x1bb6ed(0x799),_0x17a64f[_0x1bb6ed(0x50d)]=_0x54a966,delete _0x17a64f[_0x1bb6ed(0x50d)][_0x1bb6ed(0x2af)],delete _0x17a64f[_0x1bb6ed(0x50d)]['roomenc'],log(_0x17a64f);if(_0x2c8760[_0x1bb6ed(0x3fd)](_0x17a64f,_0x2c947f)){var _0x17a64f={};_0x17a64f[_0x1bb6ed(0x10b)]='migrate',_0x17a64f['roomid']=_0x52bd5f,_0x17a64f['target']=_0x2c947f,_0x2c8760[_0x1bb6ed(0x100)](_0x17a64f);}log(_0x17a64f);}else _0x17a64f['request']=_0x1bb6ed(0x799),_0x17a64f[_0x1bb6ed(0x2af)]=_0x52bd5f,_0x17a64f['target']=_0x2c947f,_0x2c8760[_0x1bb6ed(0x100)](_0x17a64f);}}})[_0x4fbb9a(0x538)](errorlog);else{_0x54a966[_0x4fbb9a(0x564)]&&(_0x54a966[_0x4fbb9a(0x680)]=_0x3eb60f);var _0x3a4b6c={};if(_0x2c8760[_0x4fbb9a(0x3c4)]&&_0x2c8760[_0x4fbb9a(0x8a8)])_0x3a4b6c[_0x4fbb9a(0x799)]=_0x2c947f,_0x3a4b6c[_0x4fbb9a(0x2af)]=_0x3eb60f,_0x3a4b6c['transferSettings']=_0x54a966,_0x2c8760['sendRequest'](_0x3a4b6c,_0x2c8760[_0x4fbb9a(0x8a8)]),log(_0x3a4b6c);else{if(_0x54a966[_0x4fbb9a(0x564)]){_0x3a4b6c['request']='migrate',_0x3a4b6c[_0x4fbb9a(0x50d)]=_0x54a966;if(_0x2c8760[_0x4fbb9a(0x3fd)](_0x3a4b6c,_0x2c947f)){log(_0x3a4b6c);var _0x3a4b6c={};_0x3a4b6c[_0x4fbb9a(0x10b)]='migrate',_0x3a4b6c['roomid']=_0x3eb60f,_0x3a4b6c[_0x4fbb9a(0x52a)]=_0x2c947f,_0x2c8760[_0x4fbb9a(0x100)](_0x3a4b6c);}}else{if(_0x4fbb9a(0x4d7)in _0x54a966){_0x3a4b6c[_0x4fbb9a(0x10b)]='migrate',_0x3a4b6c[_0x4fbb9a(0x50d)]=_0x54a966,delete _0x3a4b6c[_0x4fbb9a(0x50d)]['roomid'],delete _0x3a4b6c[_0x4fbb9a(0x50d)]['roomenc'];if(_0x2c8760[_0x4fbb9a(0x3fd)](_0x3a4b6c,_0x2c947f)){warnlog(_0x3a4b6c);var _0x3a4b6c={};_0x3a4b6c[_0x4fbb9a(0x10b)]=_0x4fbb9a(0x799),_0x3a4b6c[_0x4fbb9a(0x2af)]=rid,_0x3a4b6c['target']=_0x2c947f,_0x2c8760[_0x4fbb9a(0x100)](_0x3a4b6c);}}else _0x3a4b6c[_0x4fbb9a(0x10b)]=_0x4fbb9a(0x799),_0x3a4b6c[_0x4fbb9a(0x2af)]=_0x3eb60f,_0x3a4b6c['target']=_0x2c947f,_0x2c8760[_0x4fbb9a(0x100)](_0x3a4b6c);}}}},_0x2c8760[_0x2f8f35(0x14f)]=async function(_0x5cc1aa,_0xe0ac39){var _0x37d69d=_0x2f8f35;_0xe0ac39=parseInt(_0xe0ac39);try{var _0x5b1658=getSenders2(_0x5cc1aa)[_0x37d69d(0x323)](function(_0x479243){var _0x3f1fba=_0x37d69d;return _0x479243[_0x3f1fba(0x124)]&&_0x479243[_0x3f1fba(0x124)][_0x3f1fba(0x8d5)]==_0x3f1fba(0x6ee);});if(!_0x5b1658){warnlog(_0x37d69d(0xdd));return;}var _0x5258ba=_0x5b1658[_0x37d69d(0x8c1)]();(!_0x5258ba[_0x37d69d(0x5a7)]||_0x5258ba[_0x37d69d(0x5a7)][_0x37d69d(0x542)]==0x0)&&(_0x5258ba[_0x37d69d(0x5a7)]=[{}]);if(_0xe0ac39<0x0){_0x5258ba[_0x37d69d(0x5a7)][0x0][_0x37d69d(0x2a8)]==![]&&(_0x5258ba[_0x37d69d(0x5a7)][0x0][_0x37d69d(0x2a8)]=!![]);if(SafariVersion&&SafariVersion<=0xd&&(iOS||iPad)){_0xe0ac39=0x20;if(_0x2c8760[_0x37d69d(0x847)][_0x5cc1aa][_0x37d69d(0x158)]!==![])_0xe0ac39=_0x2c8760[_0x37d69d(0x847)][_0x5cc1aa][_0x37d69d(0x158)];else _0x2c8760['audiobitrate']&&(_0xe0ac39=_0x2c8760[_0x37d69d(0x25d)]);_0x5258ba[_0x37d69d(0x5a7)][0x0][_0x37d69d(0x4e1)]=_0xe0ac39*0x400;}else _0x2c8760[_0x37d69d(0x847)][_0x5cc1aa][_0x37d69d(0x158)]!==![]?(_0xe0ac39=_0x2c8760[_0x37d69d(0x847)][_0x5cc1aa][_0x37d69d(0x158)],_0x5258ba['encodings'][0x0][_0x37d69d(0x4e1)]=_0xe0ac39*0x400):delete _0x5258ba[_0x37d69d(0x5a7)][0x0][_0x37d69d(0x4e1)];}else _0xe0ac39===0x0?_0x5258ba[_0x37d69d(0x5a7)][0x0][_0x37d69d(0x2a8)]=![]:(_0x5258ba[_0x37d69d(0x5a7)][0x0]['active']==![]&&(_0x5258ba['encodings'][0x0]['active']=!![]),_0x5258ba[_0x37d69d(0x5a7)][0x0][_0x37d69d(0x4e1)]=_0xe0ac39*0x400);_0x5b1658[_0x37d69d(0x430)](_0x5258ba)[_0x37d69d(0x414)](()=>{var _0xfa42c0=_0x37d69d;pokeIframeAPI(_0xfa42c0(0x158),_0xe0ac39,_0x5cc1aa),log(_0xfa42c0(0x583));})[_0x37d69d(0x538)](warnlog);}catch(_0x5da05c){errorlog(_0x5da05c),log(_0x5cc1aa),log(_0x2c8760['pcs'][_0x5cc1aa]);}},_0x2c8760[_0x2f8f35(0x80a)]=function(_0x31f737){var _0x201f14=_0x2f8f35;if(_0x2c8760['iframeSrc']&&_0x2c8760[_0x201f14(0x847)][_0x31f737][_0x201f14(0x621)]===!![])_0x2c8760[_0x201f14(0x85f)](_0x31f737,0x0),_0x2c8760[_0x201f14(0x847)][_0x31f737][_0x201f14(0x5b2)]===0x0&&(_0x2c8760[_0x201f14(0x847)][_0x31f737][_0x201f14(0x5d0)]===![]?_0x2c8760['limitAudioBitrate'](_0x31f737,0x0):_0x2c8760['limitAudioBitrate'](_0x31f737,-0x1));else{if(_0x2c8760[_0x201f14(0x847)][_0x31f737]&&_0x2c8760[_0x201f14(0x847)][_0x31f737][_0x201f14(0x5b2)]!==![]){if(_0x2c8760[_0x201f14(0x847)][_0x31f737][_0x201f14(0x5d0)]===![]){var _0xd6e40b=_0x2c8760[_0x201f14(0x847)][_0x31f737][_0x201f14(0x5b2)];_0x2c8760[_0x201f14(0x847)][_0x31f737][_0x201f14(0x137)]&&_0x2c8760[_0x201f14(0x847)][_0x31f737]['savedBitrate']>0x0&&(_0x2c8760[_0x201f14(0x847)][_0x31f737][_0x201f14(0x137)]<_0x2c8760[_0x201f14(0x847)][_0x31f737][_0x201f14(0x5b2)]&&(_0xd6e40b=_0x2c8760[_0x201f14(0x847)][_0x31f737]['savedBitrate'])),_0x2c8760[_0x201f14(0x85f)](_0x31f737,_0xd6e40b),_0x2c8760[_0x201f14(0x847)][_0x31f737][_0x201f14(0x5b2)]===0x0&&_0x2c8760[_0x201f14(0x14f)](_0x31f737,0x0);}else _0x2c8760[_0x201f14(0x847)][_0x31f737][_0x201f14(0x5b2)]===0x0&&(_0x2c8760[_0x201f14(0x14f)](_0x31f737,-0x1),_0x2c8760[_0x201f14(0x6d9)](),_0x2c8760['maxvideobitrate']&&_0x2c8760[_0x201f14(0x85f)](_0x31f737,null));}else _0x2c8760[_0x201f14(0x6d9)](),_0x2c8760[_0x201f14(0x88c)]&&_0x2c8760[_0x201f14(0x85f)](_0x31f737,null);}},_0x2c8760['limitTotalBitrateGuests']=function(_0xe3d15d=0x0,_0x32c499=![]){var _0x375abf=_0x2f8f35;if(!_0x2c8760[_0x375abf(0x750)])return _0xe3d15d;if(!_0x2c8760[_0x375abf(0x2af)]||_0x2c8760['scene']!==![])return log('Switching\x20to\x20limitTotalBitrateAll'),_0x2c8760['limitTotalBitrateAll'](_0xe3d15d,_0x32c499),_0xe3d15d;if((iOS||iPad)&&SafariVersion&&SafariVersion<=0xd)return _0xe3d15d;var _0x5e7605=_0xe3d15d;if(_0x32c499===![])_0x5e7605=0x0;else _0x5e7605<0x0&&(_0x5e7605=_0x2c8760['pcs'][_0x32c499][_0x375abf(0x7a)]||_0x2c8760[_0x375abf(0x848)]||_0x2c8760['pcs'][_0x56cb4a][_0x375abf(0x4f6)]||0x9c4);var _0x28ceb5=0x0;for(var _0x56cb4a in _0x2c8760[_0x375abf(0x847)]){if(_0x32c499===_0x56cb4a)continue;if(!_0x2c8760['pcs'][_0x56cb4a][_0x375abf(0x2f8)])continue;try{var _0x404081=getSenders2(_0x56cb4a)[_0x375abf(0x323)](function(_0x4a7393){var _0x976c8e=_0x375abf;return _0x4a7393[_0x976c8e(0x124)]&&_0x4a7393[_0x976c8e(0x124)][_0x976c8e(0x8d5)]==_0x976c8e(0x456);});if(!_0x404081)continue;var _0x443a07=_0x404081['getParameters']();if(!_0x443a07['encodings']||_0x443a07[_0x375abf(0x5a7)][_0x375abf(0x542)]==0x0){_0x2c8760[_0x375abf(0x847)][_0x56cb4a][_0x375abf(0x7a)]<0x0?_0x5e7605+=_0x2c8760[_0x375abf(0x848)]||_0x2c8760[_0x375abf(0x847)][_0x56cb4a][_0x375abf(0x4f6)]||0x9c4:_0x5e7605+=_0x2c8760['pcs'][_0x56cb4a][_0x375abf(0x7a)]||_0x2c8760['outboundVideoBitrate']||_0x2c8760[_0x375abf(0x847)][_0x56cb4a]['maxBandwidth']||0x9c4;warnlog(_0x5e7605),_0x28ceb5+=0x1;continue;}if(_0x443a07[_0x375abf(0x5a7)][0x0][_0x375abf(0x2a8)]==![])continue;if(_0x443a07[_0x375abf(0x5a7)][0x0][_0x375abf(0x4e1)])_0x375abf(0x202)in _0x2c8760[_0x375abf(0x847)][_0x56cb4a]?_0x5e7605+=parseInt(_0x2c8760[_0x375abf(0x847)][_0x56cb4a][_0x375abf(0x202)]):_0x5e7605+=parseInt(_0x443a07[_0x375abf(0x5a7)][0x0]['maxBitrate'])/0x400;else _0x2c8760[_0x375abf(0x847)][_0x56cb4a][_0x375abf(0x7a)]<0x0?_0x5e7605+=_0x2c8760['outboundVideoBitrate']||_0x2c8760[_0x375abf(0x847)][_0x56cb4a][_0x375abf(0x4f6)]||0x9c4:(_0x5e7605+=_0x2c8760['pcs'][_0x56cb4a]['setBitrate']||_0x2c8760[_0x375abf(0x848)]||_0x2c8760[_0x375abf(0x847)][_0x56cb4a]['maxBandwidth']||0x9c4,warnlog(_0x5e7605));_0x28ceb5+=0x1;}catch(_0x4a00e9){errorlog(_0x4a00e9);}}if(!_0x5e7605)return _0x5e7605;warnlog(_0x375abf(0x42c)+_0x5e7605);var _0x589da3=parseFloat(_0x5e7605/_0x2c8760[_0x375abf(0x750)]);_0x589da3<0x1&&(_0x589da3=0x1);for(var _0x56cb4a in _0x2c8760[_0x375abf(0x847)]){if(_0x32c499===_0x56cb4a)continue;if(!_0x2c8760[_0x375abf(0x847)][_0x56cb4a]['guest'])continue;try{var _0x404081=getSenders2(_0x56cb4a)['find'](function(_0x5d2988){var _0x3a3b0f=_0x375abf;return _0x5d2988[_0x3a3b0f(0x124)]&&_0x5d2988['track'][_0x3a3b0f(0x8d5)]==_0x3a3b0f(0x456);});if(!_0x404081)continue;var _0x443a07=_0x404081[_0x375abf(0x8c1)]();if(!_0x443a07[_0x375abf(0x5a7)]||_0x443a07['encodings'][_0x375abf(0x542)]==0x0){if(_0x2c8760['pcs'][_0x56cb4a][_0x375abf(0x7a)]<0x0)var _0x130353=_0x2c8760['outboundVideoBitrate']||_0x2c8760[_0x375abf(0x847)][_0x56cb4a][_0x375abf(0x4f6)]||0x9c4;else var _0x130353=_0x2c8760['pcs'][_0x56cb4a][_0x375abf(0x7a)]||_0x2c8760[_0x375abf(0x848)]||_0x2c8760[_0x375abf(0x847)][_0x56cb4a][_0x375abf(0x4f6)]||0x9c4;var _0x3d671a=parseInt(_0x130353/_0x589da3);_0x2c8760[_0x375abf(0x85f)](_0x56cb4a,_0x3d671a,!![]);continue;}if(_0x443a07['encodings'][0x0]['active']==![])continue;if(_0x443a07[_0x375abf(0x5a7)][0x0]['maxBitrate']){if('preLimitedBitrate'in _0x2c8760[_0x375abf(0x847)][_0x56cb4a])var _0x130353=parseInt(_0x2c8760[_0x375abf(0x847)][_0x56cb4a][_0x375abf(0x202)]);else var _0x130353=parseInt(parseInt(_0x443a07[_0x375abf(0x5a7)][0x0]['maxBitrate'])/0x400);var _0x3d671a=parseInt(_0x130353/_0x589da3);_0x2c8760[_0x375abf(0x85f)](_0x56cb4a,_0x3d671a,!![]);}else{if(_0x2c8760[_0x375abf(0x847)][_0x56cb4a]['setBitrate']<0x0)var _0x130353=_0x2c8760[_0x375abf(0x848)]||_0x2c8760[_0x375abf(0x847)][_0x56cb4a][_0x375abf(0x4f6)]||0x9c4;else var _0x130353=_0x2c8760['pcs'][_0x56cb4a]['setBitrate']||_0x2c8760['outboundVideoBitrate']||_0x2c8760['pcs'][_0x56cb4a][_0x375abf(0x4f6)]||0x9c4;var _0x3d671a=parseInt(_0x130353/_0x589da3);_0x2c8760['limitBitrate'](_0x56cb4a,_0x3d671a,!![]);}}catch(_0x166dd3){errorlog(_0x166dd3);}}return parseInt(_0xe3d15d/_0x589da3);},_0x2c8760['limitTotalBitrateAll']=function(_0x2e1822=0x0,_0x2a49dd=![]){var _0x395318=_0x2f8f35;if(!_0x2c8760['limitTotalBitrate'])return _0x2e1822;if((iOS||iPad)&&SafariVersion&&SafariVersion<=0xd)return _0x2e1822;var _0x4ddbad=_0x2e1822;if(_0x2a49dd===![])_0x4ddbad=0x0;else _0x4ddbad<0x0&&(_0x4ddbad=_0x2c8760[_0x395318(0x847)][_0x2a49dd][_0x395318(0x7a)]||_0x2c8760['outboundVideoBitrate']||_0x2c8760[_0x395318(0x847)][_0x1a3e05]['maxBandwidth']||0x9c4);var _0x2c0d45=0x0;for(var _0x1a3e05 in _0x2c8760[_0x395318(0x847)]){if(_0x2a49dd===_0x1a3e05)continue;try{var _0x1f15f8=getSenders2(_0x1a3e05)[_0x395318(0x323)](function(_0x281e5e){var _0x2558bd=_0x395318;return _0x281e5e[_0x2558bd(0x124)]&&_0x281e5e[_0x2558bd(0x124)]['kind']==_0x2558bd(0x456);});if(!_0x1f15f8)continue;var _0x2297dd=_0x1f15f8[_0x395318(0x8c1)]();if(!_0x2297dd['encodings']||_0x2297dd[_0x395318(0x5a7)]['length']==0x0){_0x2c8760[_0x395318(0x847)][_0x1a3e05][_0x395318(0x7a)]<0x0?_0x4ddbad+=_0x2c8760['outboundVideoBitrate']||_0x2c8760[_0x395318(0x847)][_0x1a3e05]['maxBandwidth']||0x9c4:_0x4ddbad+=_0x2c8760[_0x395318(0x847)][_0x1a3e05]['setBitrate']||_0x2c8760[_0x395318(0x848)]||_0x2c8760[_0x395318(0x847)][_0x1a3e05][_0x395318(0x4f6)]||0x9c4;warnlog(_0x4ddbad),_0x2c0d45+=0x1;continue;}if(_0x2297dd['encodings'][0x0][_0x395318(0x2a8)]==![])continue;if(_0x2297dd['encodings'][0x0][_0x395318(0x4e1)])'preLimitedBitrate'in _0x2c8760[_0x395318(0x847)][_0x1a3e05]?_0x4ddbad+=parseInt(_0x2c8760[_0x395318(0x847)][_0x1a3e05][_0x395318(0x202)]):_0x4ddbad+=parseInt(_0x2297dd['encodings'][0x0]['maxBitrate'])/0x400;else _0x2c8760[_0x395318(0x847)][_0x1a3e05]['setBitrate']<0x0?_0x4ddbad+=_0x2c8760[_0x395318(0x848)]||_0x2c8760['pcs'][_0x1a3e05]['maxBandwidth']||0x9c4:(_0x4ddbad+=_0x2c8760[_0x395318(0x847)][_0x1a3e05][_0x395318(0x7a)]||_0x2c8760[_0x395318(0x848)]||_0x2c8760[_0x395318(0x847)][_0x1a3e05][_0x395318(0x4f6)]||0x9c4,warnlog(_0x4ddbad));_0x2c0d45+=0x1;}catch(_0x272237){errorlog(_0x272237);}}if(!_0x4ddbad)return _0x4ddbad;warnlog(_0x395318(0x42c)+_0x4ddbad);var _0x1ce59c=parseFloat(_0x4ddbad/_0x2c8760[_0x395318(0x750)]);_0x1ce59c<0x1&&(_0x1ce59c=0x1);for(var _0x1a3e05 in _0x2c8760['pcs']){if(_0x2a49dd===_0x1a3e05)continue;try{var _0x1f15f8=getSenders2(_0x1a3e05)['find'](function(_0x3609a2){var _0xadfe9c=_0x395318;return _0x3609a2['track']&&_0x3609a2['track']['kind']==_0xadfe9c(0x456);});if(!_0x1f15f8)continue;var _0x2297dd=_0x1f15f8[_0x395318(0x8c1)]();if(!_0x2297dd[_0x395318(0x5a7)]||_0x2297dd[_0x395318(0x5a7)]['length']==0x0){if(_0x2c8760[_0x395318(0x847)][_0x1a3e05]['setBitrate']<0x0)var _0x28e806=_0x2c8760[_0x395318(0x848)]||_0x2c8760[_0x395318(0x847)][_0x1a3e05][_0x395318(0x4f6)]||0x9c4;else var _0x28e806=_0x2c8760[_0x395318(0x847)][_0x1a3e05]['setBitrate']||_0x2c8760[_0x395318(0x848)]||_0x2c8760['pcs'][_0x1a3e05]['maxBandwidth']||0x9c4;var _0x2e6b6d=parseInt(_0x28e806/_0x1ce59c);_0x2c8760[_0x395318(0x85f)](_0x1a3e05,_0x2e6b6d,!![]);continue;}if(_0x2297dd[_0x395318(0x5a7)][0x0][_0x395318(0x2a8)]==![])continue;if(_0x2297dd['encodings'][0x0][_0x395318(0x4e1)]){if('preLimitedBitrate'in _0x2c8760['pcs'][_0x1a3e05])var _0x28e806=parseInt(_0x2c8760[_0x395318(0x847)][_0x1a3e05][_0x395318(0x202)]);else var _0x28e806=parseInt(parseInt(_0x2297dd[_0x395318(0x5a7)][0x0][_0x395318(0x4e1)])/0x400);var _0x2e6b6d=parseInt(_0x28e806/_0x1ce59c);_0x2c8760['limitBitrate'](_0x1a3e05,_0x2e6b6d,!![]);}else{if(_0x2c8760[_0x395318(0x847)][_0x1a3e05][_0x395318(0x7a)]<0x0)var _0x28e806=_0x2c8760[_0x395318(0x848)]||_0x2c8760[_0x395318(0x847)][_0x1a3e05][_0x395318(0x4f6)]||0x9c4;else var _0x28e806=_0x2c8760[_0x395318(0x847)][_0x1a3e05][_0x395318(0x7a)]||_0x2c8760[_0x395318(0x848)]||_0x2c8760[_0x395318(0x847)][_0x1a3e05][_0x395318(0x4f6)]||0x9c4;var _0x2e6b6d=parseInt(_0x28e806/_0x1ce59c);_0x2c8760[_0x395318(0x85f)](_0x1a3e05,_0x2e6b6d,!![]);}}catch(_0x1752cc){errorlog(_0x1752cc);}}return parseInt(_0x2e1822/_0x1ce59c);},_0x2c8760[_0x2f8f35(0x670)]=function(_0x24f690,_0x242937=![]){var _0x26c1f3=_0x2f8f35,_0x5bb6cb={};_0x5bb6cb['directorSettings']={},_0x5bb6cb[_0x26c1f3(0x18b)][_0x26c1f3(0x26a)]=[_0x24f690],_0x2c8760[_0x26c1f3(0xdc)](_0x5bb6cb,_0x242937);},_0x2c8760[_0x2f8f35(0x4dd)]=function(_0x45f128=null){var _0x171576=_0x2f8f35;if(!_0x2c8760['mc'])return;_0x2c8760['mc'][_0x171576(0x867)]&&(clearInterval(_0x2c8760['mc'][_0x171576(0x867)]),_0x2c8760['mc'][_0x171576(0x867)]=null);if(_0x45f128===null){if(_0x2c8760['mc'][_0x171576(0x137)]===![])return;_0x45f128=_0x2c8760['mc'][_0x171576(0x137)];}_0x45f128=parseInt(_0x45f128);if(_0x2c8760['mc'][_0x171576(0x7a)]&&_0x45f128>_0x2c8760['mc'][_0x171576(0x7a)])_0x45f128=_0x2c8760['mc']['setBitrate'];else _0x2c8760['mc']['setBitrate']===![]&&(_0x45f128<0x0&&(_0x2c8760[_0x171576(0x848)]?_0x45f128=_0x2c8760[_0x171576(0x848)]:_0x45f128=0x9c4));_0x2c8760['maxvideobitrate']&&(_0x45f128>_0x2c8760[_0x171576(0x88c)]&&(_0x45f128=_0x2c8760['maxvideobitrate']));_0x2c8760['mc'][_0x171576(0x137)]=_0x45f128;_0x2c8760['mc'][_0x171576(0x5b2)]!==![]&&(_0x2c8760['mc'][_0x171576(0x5d0)]===![]&&(_0x45f128>_0x2c8760['mc'][_0x171576(0x5b2)]&&(_0x2c8760['mc'][_0x171576(0x137)]=_0x45f128,_0x45f128=parseInt(_0x2c8760['mc'][_0x171576(0x5b2)])||0x0)));if(_0x2c8760['mc'][_0x171576(0x4f6)]!==null){if(_0x2c8760['mc']['maxBandwidth']<_0x45f128)_0x45f128=_0x2c8760['mc'][_0x171576(0x4f6)],_0x2c8760['mc'][_0x171576(0x744)]['max_bandwidth_capped_kbps']=_0x45f128,warnlog(_0x171576(0x189)+_0x45f128+'-kbps');else _0x2c8760['mc'][_0x171576(0x744)]&&(_0x2c8760['mc'][_0x171576(0x744)][_0x171576(0x88d)]=![]);}else _0x171576(0x88d)in _0x2c8760['mc'][_0x171576(0x744)]&&(_0x2c8760['mc'][_0x171576(0x744)][_0x171576(0x88d)]=![]);if(_0x45f128===0x0){var _0x552be4=Date[_0x171576(0x6b5)]()-_0x2c8760['mc'][_0x171576(0x5c6)];_0x552be4<_0x2c8760['rampUpTime']&&(_0x45f128=_0x2c8760[_0x171576(0x678)],log(_0x171576(0x61a)+(Date['now']()-_0x2c8760['mc']['startTime'])),_0x2c8760['mc'][_0x171576(0x867)]=setTimeout(function(){var _0x4ff395=_0x171576;try{warnlog(_0x4ff395(0x3e1)+(Date['now']()-_0x2c8760['mc']['startTime'])),_0x2c8760[_0x4ff395(0x4dd)](null);}catch(_0x4fba1e){};},_0x2c8760['rampUpTime']-_0x552be4+0x5));}try{if((iOS||iPad)&&SafariVersion&&SafariVersion<=0xd){log(_0x171576(0x5aa));var _0x3b65b5=_0x2c8760['mc']['getSenders']()['find'](function(_0x21fd7b){var _0x2fa68e=_0x171576;return _0x21fd7b['track']&&_0x21fd7b[_0x2fa68e(0x124)][_0x2fa68e(0x8d5)]=='video';});if(!_0x3b65b5){warnlog('can\x27t\x20change\x20bitrate;\x20no\x20video\x20sender\x20found');return;}var _0x1a562c=_0x3b65b5[_0x171576(0x8c1)]();(!_0x1a562c['encodings']||_0x1a562c[_0x171576(0x5a7)][_0x171576(0x542)]==0x0)&&(_0x1a562c[_0x171576(0x5a7)]=[{}]);if(_0x45f128<0x0)_0x1a562c['encodings'][0x0][_0x171576(0x2a8)]==![]&&(_0x1a562c[_0x171576(0x5a7)][0x0][_0x171576(0x2a8)]=!![]),_0x45f128=0x9c4,_0x2c8760[_0x171576(0x4ca)]&&(_0x45f128=_0x2c8760['bitrate']),_0x2c8760[_0x171576(0x88c)]&&(_0x45f128>_0x2c8760[_0x171576(0x88c)]&&(_0x45f128=_0x2c8760[_0x171576(0x88c)])),_0x1a562c[_0x171576(0x5a7)][0x0][_0x171576(0x4e1)]=_0x45f128*0x400;else _0x45f128===0x0?_0x1a562c[_0x171576(0x5a7)][0x0][_0x171576(0x2a8)]=![]:(_0x1a562c[_0x171576(0x5a7)][0x0][_0x171576(0x2a8)]==![]&&(_0x1a562c[_0x171576(0x5a7)][0x0][_0x171576(0x2a8)]=!![]),_0x1a562c[_0x171576(0x5a7)][0x0][_0x171576(0x4e1)]=_0x45f128*0x400);_0x3b65b5[_0x171576(0x430)](_0x1a562c)[_0x171576(0x414)](()=>{var _0x47fb39=_0x171576;pokeIframeAPI(_0x47fb39(0x3af),_0x45f128),log(_0x47fb39(0x1d9)+_0x45f128);})['catch'](warnlog);return;}else{if(_0x171576(0x48c)in window&&_0x171576(0x430)in window[_0x171576(0x48c)][_0x171576(0x62a)]){var _0x3b65b5=_0x2c8760['mc'][_0x171576(0x45f)]()[_0x171576(0x323)](function(_0x123d98){var _0x5bbed9=_0x171576;return _0x123d98[_0x5bbed9(0x124)]&&_0x123d98['track'][_0x5bbed9(0x8d5)]==_0x5bbed9(0x456);});if(!_0x3b65b5){warnlog(_0x171576(0x2e3));return;}var _0x1a562c=_0x3b65b5[_0x171576(0x8c1)]();(!_0x1a562c[_0x171576(0x5a7)]||_0x1a562c['encodings'][_0x171576(0x542)]==0x0)&&(_0x1a562c[_0x171576(0x5a7)]=[{}]);if(_0x45f128<0x0)_0x1a562c['encodings'][0x0]['active']==![]&&(_0x1a562c[_0x171576(0x5a7)][0x0][_0x171576(0x2a8)]=!![]),delete _0x1a562c[_0x171576(0x5a7)][0x0][_0x171576(0x4e1)];else _0x45f128===0x0?(_0x1a562c[_0x171576(0x5a7)][0x0][_0x171576(0x2a8)]=![],Firefox&&(_0x1a562c[_0x171576(0x5a7)][0x0][_0x171576(0x4e1)]=0x1)):(_0x1a562c['encodings'][0x0][_0x171576(0x2a8)]==![]&&(_0x1a562c[_0x171576(0x5a7)][0x0][_0x171576(0x2a8)]=!![]),_0x1a562c[_0x171576(0x5a7)][0x0][_0x171576(0x4e1)]=_0x45f128*0x400);iPad||iOS||Firefox?_0x2c8760['mc']['bitrateTimeoutFirefox']?(clearInterval(_0x2c8760['mc'][_0x171576(0x6d5)]),_0x2c8760['mc'][_0x171576(0x6d5)]=setTimeout(function(){var _0x546463=_0x171576;log('bitrate\x20timeout;\x20ios/firefox\x20specific:\x20'+_0x45f128),_0x2c8760['mc'][_0x546463(0x6d5)]=![],_0x2c8760[_0x546463(0x4dd)](null);},0x1f4)):(_0x2c8760['mc']['bitrateTimeoutFirefox']=setTimeout(function(){_0x2c8760['mc']['bitrateTimeoutFirefox']=![];},0x1f4),_0x3b65b5['setParameters'](_0x1a562c)[_0x171576(0x414)](()=>{var _0x48637d=_0x171576;log(_0x48637d(0x2e1)+_0x45f128),log(_0x1a562c),pokeIframeAPI(_0x48637d(0x3af),_0x45f128);})[_0x171576(0x538)](warnlog)):_0x3b65b5[_0x171576(0x430)](_0x1a562c)[_0x171576(0x414)](()=>{var _0x29794c=_0x171576;log(_0x29794c(0x47d)+_0x45f128),pokeIframeAPI(_0x29794c(0x3af),_0x45f128);})[_0x171576(0x538)](warnlog);return;}else warnlog(_0x171576(0x423));}}catch(_0x34ba49){errorlog(_0x34ba49);}},_0x2c8760['targetBitrate']=function(_0x53ab05,_0x39c997){var _0x53e4f3=_0x2f8f35;_0x39c997===![]?(_0x2c8760[_0x53e4f3(0x847)][_0x53ab05][_0x53e4f3(0x7a)]=![],_0x2c8760[_0x53e4f3(0x85f)](_0x53ab05,-0x1)):(_0x39c997=parseInt(_0x39c997)||-0x1,_0x39c997>=0x0&&(_0x2c8760[_0x53e4f3(0x847)][_0x53ab05][_0x53e4f3(0x7a)]=_0x39c997,_0x2c8760[_0x53e4f3(0x85f)](_0x53ab05,_0x39c997)));},_0x2c8760[_0x2f8f35(0x2d3)]=function(_0x47b95b,_0x27910f){var _0x4273d3=_0x2f8f35;_0x27910f===![]?(_0x2c8760['pcs'][_0x47b95b]['setAudioBitrate']=![],_0x2c8760[_0x4273d3(0x14f)](_0x47b95b,-0x1)):(_0x27910f=parseInt(_0x27910f)||-0x1,_0x27910f>=0x0&&(_0x2c8760[_0x4273d3(0x847)][_0x47b95b][_0x4273d3(0x158)]=_0x27910f,_0x2c8760['limitAudioBitrate'](_0x47b95b,_0x27910f)));},_0x2c8760[_0x2f8f35(0x85f)]=function(_0x4773b5,_0xa14c43=null,_0x1d4b60=![]){var _0x2259af=_0x2f8f35;if(!(_0x4773b5 in _0x2c8760[_0x2259af(0x847)]))return;_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x867)]&&(clearInterval(_0x2c8760['pcs'][_0x4773b5][_0x2259af(0x867)]),_0x2c8760['pcs'][_0x4773b5][_0x2259af(0x867)]=null);var _0x3810e3=!![];if(_0xa14c43===null){if(_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x137)]===![]){if(_0x2c8760['pcs'][_0x4773b5][_0x2259af(0x4f6)]===null)return;else _0xa14c43=_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x4f6)],_0x3810e3=![];}else _0xa14c43=_0x2c8760['pcs'][_0x4773b5]['savedBitrate'];}_0xa14c43=parseInt(_0xa14c43);if(_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x7a)]&&_0xa14c43>_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x7a)])_0xa14c43=_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x7a)];else _0xa14c43<0x0&&(_0xa14c43=_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x7a)]||_0x2c8760[_0x2259af(0x848)]||0x9c4);_0x2c8760[_0x2259af(0x88c)]&&(_0xa14c43>_0x2c8760['maxvideobitrate']&&(_0xa14c43=_0x2c8760[_0x2259af(0x88c)]));_0x3810e3&&!_0x1d4b60&&(_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x137)]=_0xa14c43);_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x5b2)]!==![]&&(_0x2c8760['pcs'][_0x4773b5][_0x2259af(0x5d0)]===![]&&(_0xa14c43>_0x2c8760['pcs'][_0x4773b5]['optimizedBitrate']&&(_0x3810e3&&(_0x2c8760[_0x2259af(0x847)][_0x4773b5]['savedBitrate']=_0xa14c43),_0xa14c43=parseInt(_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x5b2)])||0x0)));if(_0x2c8760[_0x2259af(0x847)][_0x4773b5]['maxBandwidth']!==null){if(_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x4f6)]<_0xa14c43)_0xa14c43=_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x4f6)],_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x744)][_0x2259af(0x88d)]=_0xa14c43,warnlog('Max\x20bandwidth\x20being\x20capped:\x20'+_0xa14c43+_0x2259af(0x5b6));else _0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x4f6)]===_0xa14c43&&!_0x3810e3?(_0x2c8760[_0x2259af(0x847)][_0x4773b5]['stats'][_0x2259af(0x88d)]=_0xa14c43,warnlog(_0x2259af(0x2aa)+_0xa14c43+_0x2259af(0x5b6))):(warnlog(_0x2259af(0x2ea)+_0xa14c43+_0x2259af(0x5b6)),_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x744)]['max_bandwidth_capped_kbps']=![]);}else _0x2259af(0x88d)in _0x2c8760['pcs'][_0x4773b5]['stats']&&(_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x744)][_0x2259af(0x88d)]=![]);_0x1d4b60===![]&&(_0x2c8760[_0x2259af(0x750)]&&(_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x202)]=_0xa14c43,_0xa14c43=_0x2c8760['limitTotalBitrateGuests'](_0xa14c43,_0x4773b5)));if(_0xa14c43===0x0){var _0x6243a3=Date[_0x2259af(0x6b5)]()-_0x2c8760[_0x2259af(0x847)][_0x4773b5]['startTime'];_0x6243a3<_0x2c8760[_0x2259af(0x5ce)]&&(_0xa14c43=_0x2c8760[_0x2259af(0x678)],log(_0x2259af(0x61a)+(Date[_0x2259af(0x6b5)]()-_0x2c8760['pcs'][_0x4773b5][_0x2259af(0x5c6)])),_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x867)]=setTimeout(function(_0x4e7e36){var _0x23b06e=_0x2259af;try{warnlog(_0x23b06e(0x3e1)+(Date[_0x23b06e(0x6b5)]()-_0x2c8760[_0x23b06e(0x847)][_0x4e7e36][_0x23b06e(0x5c6)])),_0x2c8760[_0x23b06e(0x85f)](_0x4e7e36,null);}catch(_0x3a1465){};},_0x2c8760['rampUpTime']-_0x6243a3+0x5,_0x4773b5));}try{if((iOS||iPad)&&SafariVersion&&SafariVersion<=0xd){log(_0x2259af(0x5aa));if(_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x2f8)]==!![]&&_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x7e9)]==![])return;var _0x4d9d15=getSenders2(_0x4773b5)[_0x2259af(0x323)](function(_0x13c672){var _0x4a5c65=_0x2259af;return _0x13c672[_0x4a5c65(0x124)]&&_0x13c672[_0x4a5c65(0x124)][_0x4a5c65(0x8d5)]==_0x4a5c65(0x456);});if(!_0x4d9d15){warnlog('can\x27t\x20change\x20bitrate;\x20no\x20video\x20sender\x20found');return;}var _0x590192=_0x4d9d15[_0x2259af(0x8c1)]();(!_0x590192[_0x2259af(0x5a7)]||_0x590192[_0x2259af(0x5a7)][_0x2259af(0x542)]==0x0)&&(_0x590192['encodings']=[{}]);_0xa14c43===0x0?_0x590192[_0x2259af(0x5a7)][0x0][_0x2259af(0x2a8)]=![]:(_0x590192['encodings'][0x0]['active']==![]&&(_0x590192[_0x2259af(0x5a7)][0x0]['active']=!![]),_0x590192[_0x2259af(0x5a7)][0x0][_0x2259af(0x4e1)]=_0xa14c43*0x400);_0x4d9d15[_0x2259af(0x430)](_0x590192)[_0x2259af(0x414)](()=>{var _0x547896=_0x2259af;pokeIframeAPI('setVideoBitrate',_0xa14c43,_0x4773b5),log(_0x547896(0x532)+_0xa14c43);})['catch'](warnlog);return;}else{if('RTCRtpSender'in window&&_0x2259af(0x430)in window['RTCRtpSender']['prototype']){var _0x4d9d15=getSenders2(_0x4773b5)['find'](function(_0x16a21a){var _0xdcf4=_0x2259af;return _0x16a21a[_0xdcf4(0x124)]&&_0x16a21a[_0xdcf4(0x124)][_0xdcf4(0x8d5)]==_0xdcf4(0x456);});if(!_0x4d9d15){warnlog('can\x27t\x20change\x20bitrate;\x20no\x20video\x20sender\x20found');return;}var _0x590192=_0x4d9d15['getParameters']();(!_0x590192[_0x2259af(0x5a7)]||_0x590192[_0x2259af(0x5a7)][_0x2259af(0x542)]==0x0)&&(_0x590192[_0x2259af(0x5a7)]=[{}]);_0xa14c43===0x0?(_0x590192[_0x2259af(0x5a7)][0x0][_0x2259af(0x2a8)]=![],Firefox&&(_0x590192[_0x2259af(0x5a7)][0x0][_0x2259af(0x4e1)]=0x1,_0x590192[_0x2259af(0x5a7)][0x0]['scaleResolutionDownBy']=0x3e8)):(_0x590192[_0x2259af(0x5a7)][0x0][_0x2259af(0x2a8)]==![]&&(_0x590192[_0x2259af(0x5a7)][0x0][_0x2259af(0x2a8)]=!![]),_0x590192[_0x2259af(0x5a7)][0x0][_0x2259af(0x4e1)]=_0xa14c43*0x400);if(_0xa14c43!==0x0){var _0x21c68c=_0x2c8760[_0x2259af(0x1e4)](_0x4773b5,_0xa14c43);if(_0x21c68c<=0x0||_0x21c68c==0x64){var _0x22064c=getChromeVersion();_0x22064c>0x50?_0x2259af(0x601)in _0x590192[_0x2259af(0x5a7)][0x0]?delete _0x590192[_0x2259af(0x5a7)][0x0][_0x2259af(0x601)]:_0x590192[_0x2259af(0x5a7)][0x0][_0x2259af(0x601)]=0x1:_0x590192['encodings'][0x0][_0x2259af(0x601)]=0x1;}else _0x590192[_0x2259af(0x5a7)][0x0][_0x2259af(0x601)]=0x64/_0x21c68c;iPad||iOS||Firefox?_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x6d5)]?(clearInterval(_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x6d5)]),_0x2c8760['pcs'][_0x4773b5][_0x2259af(0x6d5)]=setTimeout(function(_0x2f3a3b,_0xa731f5){var _0x537022=_0x2259af;log('bitrate\x20timeout;\x20ios/firefox\x20specific:\x20'+_0xa14c43),_0x2c8760['pcs'][_0x2f3a3b][_0x537022(0x6d5)]=![],_0x2c8760[_0x537022(0x85f)](_0x2f3a3b,null,_0xa731f5);},0x1f4,_0x4773b5,_0x1d4b60)):(_0x2c8760['pcs'][_0x4773b5]['bitrateTimeoutFirefox']=setTimeout(function(_0x273a0b){var _0xeb73d3=_0x2259af;_0x2c8760[_0xeb73d3(0x847)][_0x273a0b][_0xeb73d3(0x6d5)]=![];},0x1f4,_0x4773b5),_0x4d9d15[_0x2259af(0x430)](_0x590192)[_0x2259af(0x414)](()=>{var _0x4aaba9=_0x2259af;log(_0x4aaba9(0x341)+_0xa14c43),log(_0x590192),_0x2c8760[_0x4aaba9(0x847)][_0x4773b5]['stats'][_0x4aaba9(0x424)]=parseInt(_0x21c68c)+'%',pokeIframeAPI(_0x4aaba9(0x26b),_0xa14c43,_0x4773b5),pokeIframeAPI(_0x4aaba9(0x13a),_0x21c68c,_0x4773b5);})[_0x2259af(0x538)](warnlog)):_0x4d9d15[_0x2259af(0x430)](_0x590192)[_0x2259af(0x414)](()=>{var _0x296f55=_0x2259af;log('bandwidth\x20set\x20c!\x20'+_0xa14c43),_0x2c8760[_0x296f55(0x847)][_0x4773b5][_0x296f55(0x744)][_0x296f55(0x424)]=parseInt(_0x21c68c)+'%',pokeIframeAPI('setVideoBitrate',_0xa14c43,_0x4773b5),pokeIframeAPI(_0x296f55(0x13a),_0x21c68c,_0x4773b5);})[_0x2259af(0x538)](warnlog);}else iPad||iOS||Firefox?_0x2c8760[_0x2259af(0x847)][_0x4773b5]['bitrateTimeoutFirefox']?(clearInterval(_0x2c8760[_0x2259af(0x847)][_0x4773b5]['bitrateTimeoutFirefox']),_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x6d5)]=setTimeout(function(_0x18fef5,_0x2f9168){var _0x4d0dc0=_0x2259af;log(_0x4d0dc0(0x60e)+_0xa14c43),_0x2c8760[_0x4d0dc0(0x847)][_0x18fef5][_0x4d0dc0(0x6d5)]=![],_0x2c8760[_0x4d0dc0(0x85f)](_0x18fef5,null,_0x2f9168);},0x1f4,_0x4773b5,_0x1d4b60)):(_0x2c8760[_0x2259af(0x847)][_0x4773b5][_0x2259af(0x6d5)]=setTimeout(function(_0x544b31){var _0x5bea97=_0x2259af;_0x2c8760[_0x5bea97(0x847)][_0x544b31]['bitrateTimeoutFirefox']=![];},0x1f4,_0x4773b5),_0x4d9d15[_0x2259af(0x430)](_0x590192)['then'](()=>{var _0x4ed3cf=_0x2259af;log(_0x4ed3cf(0x8bf)+_0xa14c43),log(_0x590192),pokeIframeAPI(_0x4ed3cf(0x26b),_0xa14c43,_0x4773b5);})[_0x2259af(0x538)](warnlog)):_0x4d9d15[_0x2259af(0x430)](_0x590192)[_0x2259af(0x414)](()=>{var _0x5a146b=_0x2259af;log(_0x5a146b(0x411)+_0xa14c43),pokeIframeAPI('setVideoBitrate',_0xa14c43,_0x4773b5);})[_0x2259af(0x538)](warnlog);}else warnlog(_0x2259af(0x423));}}catch(_0x44cfe8){errorlog(_0x44cfe8);}};function _0xf3eb45(_0x4d74b9,_0x5a3aca,_0xc88956){var _0x4edc87=_0x2f8f35;if(_0x2c8760[_0x4edc87(0x74a)])return _0x5a3aca;warnlog('getOptimizedScale:\x20'+_0x5a3aca+'\x20:\x20'+_0xc88956);if(_0xc88956<0x0)_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64;else{if(_0xc88956>=0x259)_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64;else{if(_0x4edc87(0x4fd)in _0x2c8760['pcs'][_0x4d74b9])_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64;else{if(_0x2c8760[_0x4edc87(0x128)])_0x2c8760['pcs'][_0x4d74b9][_0x4edc87(0x817)]=0x64;else{var _0x38aa85=getNativeOutputResolution();if(_0x38aa85)try{_0x38aa85=_0x38aa85[_0x4edc87(0x33e)]*_0x38aa85[_0x4edc87(0x5e4)],_0x38aa85=Math[_0x4edc87(0xd3)](_0x38aa85,0.5);}catch(_0x4fde1d){_0x38aa85=![];}warnlog('dimension:\x20'+_0x38aa85);if(_0xc88956>=0x15e){if(_0x38aa85&&_0x38aa85<=0x1e0)_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64;else{if(_0x2c8760[_0x4edc87(0x64a)]){if(_0x38aa85&&_0x38aa85>=0x5a0)_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64/0x3;else _0x2c8760[_0x4edc87(0x362)]?_0x38aa85&&_0x38aa85>=0x3c0?_0x2c8760['pcs'][_0x4d74b9]['scaleDueToBitrate']=0x64/0x2:_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64:_0x2c8760[_0x4edc87(0x847)][_0x4d74b9]['scaleDueToBitrate']=0x64/0x2;}else{if(_0x38aa85&&_0x38aa85>=0x5a0)_0x2c8760['pcs'][_0x4d74b9][_0x4edc87(0x817)]=0x64/2.5;else _0x38aa85&&_0x38aa85>=0x3c0?_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64/0x2:_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64;}}}else{if(_0xc88956>=0xc9){if(_0x38aa85&&_0x38aa85<0x1e0)_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64;else{if(_0x2c8760[_0x4edc87(0x64a)]){if(_0x38aa85&&_0x38aa85>=0x5a0)_0x2c8760['pcs'][_0x4d74b9][_0x4edc87(0x817)]=0x64/0x4;else _0x2c8760['flagship']?_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64/0x2:_0x2c8760['pcs'][_0x4d74b9]['scaleDueToBitrate']=0x64/2.5;}else _0x38aa85&&_0x38aa85>=0x5a0?_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64/0x3:_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64/0x2;}}else{if(_0x38aa85&&_0x38aa85<=0xf0)_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64;else{if(_0xc88956>=0x51){if(_0x2c8760[_0x4edc87(0x64a)]){if(_0x38aa85&&_0x38aa85>=0x5a0)_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64/0x6;else _0x2c8760[_0x4edc87(0x362)]?_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64/0x3:_0x2c8760[_0x4edc87(0x847)][_0x4d74b9]['scaleDueToBitrate']=0x64/0x4;}else _0x38aa85&&_0x38aa85>=0x5a0?_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64/0x4:_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64/0x3;}else{if(_0x2c8760[_0x4edc87(0x64a)]){if(_0x38aa85&&_0x38aa85>=0x3c0)_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64/0x6;else _0x2c8760['flagship']?_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64/0x4:_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64/0x5;}else _0x38aa85&&_0x38aa85>=0x5a0?_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64/0x5:_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]=0x64/0x4;}}}}}}}}return _0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]<_0x5a3aca&&(_0x5a3aca=_0x2c8760[_0x4edc87(0x847)][_0x4d74b9][_0x4edc87(0x817)]),_0x5a3aca;}function _0x4b48aa(_0x512e32,_0x598f22=0x2710){var _0x258bcf=_0x2f8f35;_0x598f22=parseInt(_0x598f22);if(_0x2c8760['audiobitrate'])_0x598f22+=_0x2c8760[_0x258bcf(0x25d)];else{if(_0x2c8760[_0x258bcf(0x3c4)]&&_0x2c8760[_0x258bcf(0x376)]==0x5)_0x598f22+=0x20;else _0x2c8760[_0x258bcf(0x376)]&&_0x2c8760[_0x258bcf(0x376)]!=0x3?_0x598f22+=0x100:_0x598f22+=0x20;}return log(_0x258bcf(0x5af)+_0x598f22),_0x598f22<0x1&&(_0x598f22=0x1),_0x512e32=CodecsHandler[_0x258bcf(0x369)](_0x512e32,{'min':parseInt(_0x598f22/0xa)||0x1,'max':_0x598f22||0x1},_0x2c8760[_0x258bcf(0x22c)]),_0x512e32;}_0x2c8760[_0x2f8f35(0x522)]=function(_0x4269c2,_0xc82de){var _0x19da18=_0x2f8f35;log(_0x4269c2),_0x2c8760[_0x19da18(0x3a4)]==={}&&log(_0x19da18(0x498)),window[_0x19da18(0x743)]['subtle'][_0x19da18(0x7d0)]({'name':_0x19da18(0x509)},_0x2c8760['mykey']['privateKey'],_0x2c8760[_0x19da18(0x2a6)][_0x19da18(0x86d)](_0x4269c2))[_0x19da18(0x414)](function(_0x66194f){var _0x463101=_0x19da18;_0x66194f=new Uint8Array(_0x66194f),_0x66194f=_0x66194f['reduce']((_0x4bae90,_0x5b17ee)=>_0x4bae90+_0x5b17ee[_0x463101(0x4fe)](0x10)[_0x463101(0x2b4)](0x2,'0'),''),_0xc82de(_0x4269c2,_0x66194f),log(JSON[_0x463101(0xd4)](_0x66194f));})[_0x19da18(0x538)](errorlog);},_0x2c8760['verifyData']=function(_0x27570f,_0x29446e){var _0x1f3f29=_0x2f8f35;_0x27570f[_0x1f3f29(0x854)]=new Uint8Array(_0x27570f[_0x1f3f29(0x854)][_0x1f3f29(0x1df)](/.{1,2}/g)[_0x1f3f29(0x55f)](_0x43197f=>parseInt(_0x43197f,0x10)));if(_0x2c8760[_0x1f3f29(0x4a2)][_0x29446e][_0x1f3f29(0x4c3)])return window[_0x1f3f29(0x743)][_0x1f3f29(0x19e)][_0x1f3f29(0x37c)]({'name':_0x1f3f29(0x509)},_0x2c8760['keys'][_0x29446e][_0x1f3f29(0x4c3)],_0x27570f[_0x1f3f29(0x854)],_0x2c8760[_0x1f3f29(0x2a6)]['encode'](_0x27570f[_0x1f3f29(0x547)]))['then'](function(_0x298dce){return _0x298dce;})[_0x1f3f29(0x538)](function(_0xf4291e){return errorlog(_0xf4291e),![];});},_0x2c8760[_0x2f8f35(0x50f)]=function(_0x306d71){var _0xb8359=_0x2f8f35;if(_0x2c8760[_0xb8359(0x55a)])return _0x2c8760['hash']!==![]?(_0x306d71=_0x306d71[_0xb8359(0x688)](0x0,-0x1*_0x2c8760[_0xb8359(0x550)][_0xb8359(0x542)]),_0x306d71):generateHash(_0x2c8760[_0xb8359(0x55a)]+_0x2c8760[_0xb8359(0x6ad)],0x6)[_0xb8359(0x414)](function(_0x374a12){var _0x4354f8=_0xb8359;return _0x2c8760[_0x4354f8(0x550)]=_0x374a12,_0x306d71=_0x306d71[_0x4354f8(0x688)](0x0,-0x1*_0x2c8760[_0x4354f8(0x550)][_0x4354f8(0x542)]),_0x306d71;})['catch'](errorlog);return _0x306d71;},_0x2c8760['ping']=function(){var _0x30e133=_0x2f8f35;if(_0x2c8760[_0x30e133(0xd8)])return;clearTimeout(_0x2c8760[_0x30e133(0x70c)]);if(!_0x2c8760['ws']||_0x2c8760['ws'][_0x30e133(0xcd)]!==0x1)return;_0x2c8760[_0x30e133(0x70c)]=setTimeout(function(){var _0x44d2be=_0x30e133;log(_0x44d2be(0x866));var _0x4bf30e={};_0x4bf30e[_0x44d2be(0x10b)]=_0x44d2be(0x7ec),_0x2c8760[_0x44d2be(0x100)](_0x4bf30e);},0xbb8);},_0x2c8760[_0x2f8f35(0x58b)]=async function(_0x551a65){var _0x5b3b9a=_0x2f8f35;await _0x2c8760[_0x5b3b9a(0x7d2)]();if(_0x551a65[_0x5b3b9a(0x542)]>0x0){if(_0x551a65===_0x2c8760[_0x5b3b9a(0x85a)]){warnlog(_0x5b3b9a(0x3ed));return;}var _0x53f964={};_0x53f964[_0x5b3b9a(0x10b)]=_0x5b3b9a(0xa6),_0x53f964['streamID']=_0x551a65,_0x2c8760[_0x5b3b9a(0x100)](_0x53f964),_0x2c8760['waitingWatchList'][_0x551a65]=!![],pokeIframeAPI(_0x5b3b9a(0xf7),_0x551a65);}else log('stream\x20ID\x20is\x200\x20length');},_0x2c8760[_0x2f8f35(0x442)]=async function _0x573098(_0x113556){var _0x3a3103=_0x2f8f35;await _0x2c8760[_0x3a3103(0x7d2)]();var _0x427fe3={};return _0x427fe3[_0x3a3103(0x10b)]='joinroom',_0x2c8760[_0x3a3103(0x3c4)]&&!_0x2c8760[_0x3a3103(0x910)]&&(_0x427fe3[_0x3a3103(0x213)]=!![]),_0x2c8760[_0x3a3103(0xd8)]&&(_0x427fe3['streamID']=_0x2c8760[_0x3a3103(0x85a)]),_0x2c8760[_0x3a3103(0x5dc)]===![]&&(_0x2c8760[_0x3a3103(0x5dc)]=!![]),_0x2c8760['password']?_0x2c8760[_0x3a3103(0x550)]?generateHash(_0x113556+_0x2c8760[_0x3a3103(0x55a)]+_0x2c8760[_0x3a3103(0x6ad)],0x10)['then'](function(_0x46cb83){var _0x27d42d=_0x3a3103;return _0x2c8760[_0x27d42d(0xd8)]&&(_0x2c8760[_0x27d42d(0x680)]=_0x46cb83),_0x427fe3[_0x27d42d(0x2af)]=_0x46cb83,_0x2c8760[_0x27d42d(0x100)](_0x427fe3),_0x2c8760[_0x27d42d(0x72)]=_0x51c852(),log('deferring\x20with\x20a\x20promise;\x20hashed\x20room'),pokeIframeAPI(_0x27d42d(0x2db),_0x113556),_0x2c8760[_0x27d42d(0x72)];})[_0x3a3103(0x538)](errorlog):generateHash(_0x2c8760['password']+_0x2c8760['salt'],0x6)[_0x3a3103(0x414)](function(_0x20faf3){var _0x4f9a63=_0x3a3103;return _0x2c8760[_0x4f9a63(0x550)]=_0x20faf3,log(_0x4f9a63(0x3ac)+_0x20faf3),log(_0x4f9a63(0x2fc)),_0x2c8760[_0x4f9a63(0x442)](_0x113556);})[_0x3a3103(0x538)](errorlog):(_0x2c8760[_0x3a3103(0xd8)]&&(_0x2c8760['roomenc']=_0x113556),_0x427fe3[_0x3a3103(0x2af)]=_0x113556,_0x2c8760[_0x3a3103(0x100)](_0x427fe3),_0x2c8760[_0x3a3103(0x72)]=_0x51c852(),log('deferring\x20with\x20a\x20promise'),pokeIframeAPI(_0x3a3103(0x2db),_0x113556),_0x2c8760[_0x3a3103(0x72)]);},_0x2c8760[_0x2f8f35(0x100)]=function(_0x2955f7,_0x4bbf3b=![]){var _0x55fd9c=_0x2f8f35;_0x4bbf3b&&(_0x2955f7['UUID']=_0x4bbf3b);if(_0x2c8760[_0x55fd9c(0xd8)]){_0x2c8760['UUID']?_0x2955f7['from']=_0x2c8760[_0x55fd9c(0x86c)]:(_0x2c8760['UUID']=_0x2c8760[_0x55fd9c(0x45e)](0x14),_0x2955f7[_0x55fd9c(0x62b)]=_0x2c8760[_0x55fd9c(0x86c)]);if(_0x2955f7[_0x55fd9c(0x86c)]&&_0x2955f7['from']===_0x2955f7[_0x55fd9c(0x86c)])return;_0x2c8760[_0x55fd9c(0x3c4)]&&(_0x2955f7[_0x55fd9c(0x3c4)]=!![]),!(_0x55fd9c(0x2af)in _0x2955f7)&&(_0x2c8760[_0x55fd9c(0x680)]&&(_0x2955f7[_0x55fd9c(0x2af)]=_0x2c8760[_0x55fd9c(0x680)]));}clearTimeout(_0x2c8760['pingTimeout']);try{if(_0x2c8760['password']){if(_0x2955f7[_0x55fd9c(0x85a)]){if(_0x2c8760[_0x55fd9c(0x550)]!==![]){if(_0x2c8760['ws']===null||(typeof _0x2c8760['ws']!=='object'||_0x2c8760['ws'][_0x55fd9c(0xcd)]!==0x1))log(_0x2955f7,_0x55fd9c(0x860)),_0x2c8760[_0x55fd9c(0x1c0)]['push'](_0x2955f7);else{_0x2955f7['streamID']=_0x2955f7[_0x55fd9c(0x85a)]['substring'](0x0,0x2c)+_0x2c8760['hash'][_0x55fd9c(0x53a)](0x0,0x6);var _0x282127=JSON[_0x55fd9c(0xd4)](_0x2955f7);if(_0x282127[_0x55fd9c(0x542)]>0x3a98){errorlog(_0x55fd9c(0x67c)),errorlog(_0x2955f7),errorlog(_0x282127[_0x55fd9c(0x542)]);return;}_0x2c8760['ws'][_0x55fd9c(0x6eb)](_0x282127);}}else return generateHash(_0x2c8760['password']+_0x2c8760['salt'],0x6)['then'](function(_0x525de6){var _0x597589=_0x55fd9c;_0x2c8760[_0x597589(0x550)]=_0x525de6;if(typeof _0x2c8760['ws']!=='object'||_0x2c8760['ws'][_0x597589(0xcd)]!==0x1)log(_0x2955f7,'could\x20not\x20be\x20sent;\x20queuing\x20it'),_0x2c8760[_0x597589(0x1c0)]['push'](_0x2955f7);else{_0x2955f7[_0x597589(0x85a)]=_0x2955f7[_0x597589(0x85a)][_0x597589(0x53a)](0x0,0x2c)+_0x2c8760[_0x597589(0x550)]['substring'](0x0,0x6);var _0x2c58af=JSON[_0x597589(0xd4)](_0x2955f7);if(_0x2c58af[_0x597589(0x542)]>0x3a98){errorlog(_0x597589(0x67c));return;}_0x2c8760['ws'][_0x597589(0x6eb)](_0x2c58af);}})[_0x55fd9c(0x538)](errorlog);}else{if(_0x2c8760['ws']===null||(typeof _0x2c8760['ws']!==_0x55fd9c(0x769)||_0x2c8760['ws'][_0x55fd9c(0xcd)]!==0x1))log(_0x2955f7,_0x55fd9c(0x860)),_0x2c8760[_0x55fd9c(0x1c0)][_0x55fd9c(0x20d)](_0x2955f7);else{var _0x282127=JSON[_0x55fd9c(0xd4)](_0x2955f7);if(_0x282127[_0x55fd9c(0x542)]>0x3a98){errorlog('msg\x20size\x20error');return;}_0x2c8760['ws'][_0x55fd9c(0x6eb)](_0x282127);}}}else{if(typeof _0x2c8760['ws']!==_0x55fd9c(0x769)||_0x2c8760['ws'][_0x55fd9c(0xcd)]!==0x1)warnlog(_0x55fd9c(0x58d)),_0x2c8760[_0x55fd9c(0x1c0)][_0x55fd9c(0x20d)](_0x2955f7);else{var _0x282127=JSON['stringify'](_0x2955f7);if(_0x282127[_0x55fd9c(0x542)]>0x3a98){errorlog('msg\x20size\x20error');return;}_0x2c8760['ws'][_0x55fd9c(0x6eb)](_0x282127);}}}catch(_0x532f62){errorlog(_0x532f62);}},_0x2c8760['sendPeers']=function(_0x16756a,_0x56bf14=![]){var _0x531952=_0x2f8f35,_0x238c61=[],_0x542cf7=JSON[_0x531952(0xd4)](_0x16756a);for(var _0x3f8618 in _0x2c8760[_0x531952(0x847)]){if(_0x56bf14&&_0x56bf14!==_0x3f8618)continue;try{_0x2c8760[_0x531952(0x847)][_0x3f8618][_0x531952(0x460)][_0x531952(0x6eb)](_0x542cf7),_0x238c61[_0x531952(0x20d)](_0x3f8618);}catch(_0x2fb966){warnlog(_0x531952(0x795));}if(_0x56bf14&&_0x56bf14===_0x3f8618)return _0x238c61[_0x531952(0x542)];}for(var _0x3f8618 in _0x2c8760['rpcs']){if(_0x56bf14&&_0x56bf14!==_0x3f8618)continue;if(_0x238c61[_0x531952(0x4cc)](_0x3f8618))continue;try{if(_0x531952(0x4fd)in _0x2c8760[_0x531952(0x186)][_0x3f8618]){var _0x113fff=JSON[_0x531952(0x2bc)](_0x16756a);_0x113fff[_0x531952(0x563)]=!![],_0x113fff=JSON[_0x531952(0xd4)](_0x113fff),_0x2c8760[_0x531952(0x186)][_0x2c8760[_0x531952(0x186)][_0x3f8618][_0x531952(0x4fd)]]['receiveChannel'][_0x531952(0x6eb)](_0x113fff);}else _0x2c8760[_0x531952(0x186)][_0x3f8618]['receiveChannel'][_0x531952(0x6eb)](_0x542cf7);_0x238c61[_0x531952(0x20d)](_0x3f8618);}catch(_0xe8404f){warnlog('RTC\x20Connection\x20seems\x20to\x20be\x20dead\x20or\x20not\x20yet\x20open?\x202');}}return _0x238c61[_0x531952(0x542)];},_0x2c8760[_0x2f8f35(0x4ad)]=function(_0x5c4110,_0x4a435a=![]){var _0x5659db=_0x2f8f35,_0x59a587=![];if(_0x5659db(0x86c)in _0x5c4110)_0x59a587=_0x2c8760[_0x5659db(0x205)](_0x5c4110,_0x5c4110[_0x5659db(0x86c)]),_0x59a587?(log(_0x5c4110),log(_0x5659db(0x406))):(log(_0x5659db(0x58a)),_0x2c8760['sendMsg'](_0x5c4110));else _0x4a435a?(_0x59a587=_0x2c8760[_0x5659db(0x205)](_0x5c4110),_0x59a587?(log(_0x5c4110),log(_0x5659db(0x845))):(log(_0x5659db(0x5fc)),_0x2c8760['sendMsg'](_0x5c4110))):(_0x2c8760[_0x5659db(0x100)](_0x5c4110),warnlog('sending\x20message\x20via\x20server'),warnlog(_0x5c4110));},_0x2c8760['anyrequest']=function(_0x5ed7d3,_0x2a682a=![]){var _0x251cf8=_0x2f8f35,_0x5f5a37=![];if(_0x251cf8(0x86c)in _0x5ed7d3)_0x5f5a37=_0x2c8760[_0x251cf8(0x3fd)](_0x5ed7d3,_0x5ed7d3[_0x251cf8(0x86c)]),_0x5f5a37?log(_0x251cf8(0x406)):(log(_0x251cf8(0x58a)),_0x2c8760[_0x251cf8(0x100)](_0x5ed7d3));else _0x2a682a?(_0x5f5a37=_0x2c8760['sendRequest'](_0x5ed7d3),_0x5f5a37?log(_0x251cf8(0x845)):(log(_0x251cf8(0x5fc)),_0x2c8760[_0x251cf8(0x100)](_0x5ed7d3))):(_0x2c8760[_0x251cf8(0x100)](_0x5ed7d3),warnlog('sending\x20request\x20via\x20server'),warnlog(_0x5ed7d3));},_0x2c8760['directorActions']=function(_0x5311b6){var _0x17a8f0=_0x2f8f35;log(_0x5311b6);if('action'in _0x5311b6){if('target'in _0x5311b6){if(_0x17a8f0(0x54d)in _0x5311b6){if(_0x2c8760[_0x17a8f0(0x54d)]!==![]){var _0x50cd0b=![],_0x385435=0x0;for(var _0x2427d0 in _0x2c8760[_0x17a8f0(0x186)]){_0x385435+=0x1;if(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x85a)]===_0x5311b6[_0x17a8f0(0x52a)]){if(_0x17a8f0(0x295)in _0x5311b6){if(_0x5311b6[_0x17a8f0(0x7bb)]==_0x17a8f0(0x3d0))_0x5311b6[_0x17a8f0(0x295)]==0x1?(log(_0x17a8f0(0x566)),_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['mutedState']=!![],applyMuteState(_0x2427d0)):(log(_0x17a8f0(0x51f)),_0x2c8760['rpcs'][_0x2427d0][_0x17a8f0(0x559)]=![],applyMuteState(_0x2427d0)),_0x2c8760[_0x17a8f0(0x11d)](_0x2427d0);else{if(_0x5311b6['action']==_0x17a8f0(0x5c1)){if(_0x2c8760['view'])return;;if(_0x2c8760[_0x17a8f0(0x54d)]===_0x5311b6[_0x17a8f0(0x54d)]){if(_0x2c8760['sceneType']==0x2){if(_0x5311b6[_0x17a8f0(0x295)]==0x0){_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x130)]=!![],applyMuteState(_0x2427d0);_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)]&&(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)]['style'][_0x17a8f0(0x5c1)]!==_0x17a8f0(0x263)&&(_0x2c8760['rpcs'][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x83f)]['display']=_0x17a8f0(0x263),_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x53e)]=![],_0x50cd0b=!![]));_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x8ed)]&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x8ed)][_0x17a8f0(0x83f)]['display']&&_0x2c8760['rpcs'][_0x2427d0][_0x17a8f0(0x8ed)][_0x17a8f0(0x83f)]['display']!=='none'&&(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['iframeEle'][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]=_0x17a8f0(0x263),_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x8ed)]['sceneType2']=![],_0x50cd0b=!![]);var _0x4eeaa6=0x0,_0x5ec489=![];for(var _0x1c0ec4 in _0x2c8760[_0x17a8f0(0x186)]){_0x1c0ec4!==_0x2427d0&&(_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4][_0x17a8f0(0x850)]&&_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4]['videoElement'][_0x17a8f0(0x53e)]&&(_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4][_0x17a8f0(0x850)][_0x17a8f0(0x53e)]>_0x4eeaa6&&(_0x4eeaa6=_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4]['videoElement'][_0x17a8f0(0x53e)],_0x5ec489=_0x1c0ec4)),_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4][_0x17a8f0(0x8ed)]&&_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4][_0x17a8f0(0x8ed)][_0x17a8f0(0x53e)]&&(_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4]['iframeEle']['sceneType2']>_0x4eeaa6&&(_0x4eeaa6=_0x2c8760['rpcs'][_0x1c0ec4][_0x17a8f0(0x8ed)][_0x17a8f0(0x53e)],_0x5ec489=_0x1c0ec4)));}_0x5ec489&&(_0x2c8760[_0x17a8f0(0x186)][_0x5ec489][_0x17a8f0(0x130)]=![],applyMuteState(_0x5ec489),_0x2c8760[_0x17a8f0(0x186)][_0x5ec489]['videoElement']&&(_0x2c8760[_0x17a8f0(0x186)][_0x5ec489]['videoElement'][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]&&_0x2c8760['rpcs'][_0x5ec489]['videoElement']['style'][_0x17a8f0(0x5c1)]!==_0x17a8f0(0x25f)&&(_0x2c8760['rpcs'][_0x5ec489][_0x17a8f0(0x850)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]=_0x17a8f0(0x25f),_0x2c8760[_0x17a8f0(0x186)][_0x5ec489][_0x17a8f0(0x850)]['sceneType2']=Date[_0x17a8f0(0x6b5)](),_0x50cd0b=!![]),_0x2c8760[_0x17a8f0(0x186)][_0x5ec489][_0x17a8f0(0x850)][_0x17a8f0(0x813)]&&clearInterval(_0x2c8760[_0x17a8f0(0x186)][_0x5ec489][_0x17a8f0(0x850)]['controlTimer']),_0x2c8760[_0x17a8f0(0x186)][_0x5ec489][_0x17a8f0(0x850)]['controls']=![],_0x2c8760[_0x17a8f0(0x186)][_0x5ec489][_0x17a8f0(0x850)][_0x17a8f0(0x813)]=setTimeout(showControlBar[_0x17a8f0(0x275)](null,_0x2c8760[_0x17a8f0(0x186)][_0x5ec489]['videoElement']),0xbb8)),_0x2c8760[_0x17a8f0(0x186)][_0x5ec489][_0x17a8f0(0x8ed)]&&_0x2c8760[_0x17a8f0(0x186)][_0x5ec489][_0x17a8f0(0x8ed)]['style']['display']&&_0x2c8760['rpcs'][_0x5ec489][_0x17a8f0(0x8ed)]['style']['display']!=='block'&&(_0x2c8760[_0x17a8f0(0x186)][_0x5ec489][_0x17a8f0(0x8ed)]['style'][_0x17a8f0(0x5c1)]='block',_0x2c8760[_0x17a8f0(0x186)][_0x5ec489]['iframeEle'][_0x17a8f0(0x53e)]=Date['now'](),_0x50cd0b=!![]));}else{for(var _0x1c0ec4 in _0x2c8760[_0x17a8f0(0x186)]){_0x1c0ec4!==_0x2427d0&&(_0x2c8760['rpcs'][_0x1c0ec4][_0x17a8f0(0x130)]=!![],applyMuteState(_0x1c0ec4),_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4]['videoElement']&&(_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4]['videoElement'][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]&&_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4][_0x17a8f0(0x850)][_0x17a8f0(0x83f)]['display']!==_0x17a8f0(0x263)&&(_0x2c8760['rpcs'][_0x1c0ec4][_0x17a8f0(0x850)]['style'][_0x17a8f0(0x5c1)]=_0x17a8f0(0x263),_0x50cd0b=!![])),_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4][_0x17a8f0(0x8ed)]&&_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4][_0x17a8f0(0x8ed)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]&&_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4]['iframeEle'][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]!==_0x17a8f0(0x263)&&(_0x2c8760['rpcs'][_0x1c0ec4][_0x17a8f0(0x8ed)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]=_0x17a8f0(0x263),_0x50cd0b=!![]));}_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['mutedStateScene']=![],applyMuteState(_0x2427d0),_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)]&&(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x83f)]['display']!==_0x17a8f0(0x25f)&&(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x83f)]['display']='block',_0x2c8760['rpcs'][_0x2427d0][_0x17a8f0(0x850)]['sceneType2']=Date[_0x17a8f0(0x6b5)](),_0x50cd0b=!![]),_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x813)]&&clearInterval(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['videoElement'][_0x17a8f0(0x813)]),_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x740)]=![],_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)]['controlTimer']=setTimeout(showControlBar[_0x17a8f0(0x275)](null,_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)]),0xbb8)),_0x2c8760['rpcs'][_0x2427d0][_0x17a8f0(0x8ed)]&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x8ed)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x8ed)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]!=='block'&&(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x8ed)][_0x17a8f0(0x83f)]['display']=_0x17a8f0(0x25f),_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['iframeEle']['sceneType2']=Date[_0x17a8f0(0x6b5)](),_0x50cd0b=!![]);}}else{if(_0x2c8760[_0x17a8f0(0x748)]==0x1){if(_0x5311b6[_0x17a8f0(0x295)]==0x0)_0x2c8760['rpcs'][_0x2427d0][_0x17a8f0(0x850)]&&(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)]['style']['display']&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)]['style'][_0x17a8f0(0x5c1)]!==_0x17a8f0(0x263)&&(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['videoElement'][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]=_0x17a8f0(0x263),_0x50cd0b=!![])),_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['iframeEle']&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x8ed)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['iframeEle'][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]!==_0x17a8f0(0x263)&&(_0x2c8760['rpcs'][_0x2427d0][_0x17a8f0(0x8ed)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]=_0x17a8f0(0x263),_0x50cd0b=!![]);else{for(var _0x1c0ec4 in _0x2c8760['rpcs']){_0x1c0ec4!==_0x2427d0&&(_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4]['videoElement']&&(_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4][_0x17a8f0(0x850)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]&&_0x2c8760['rpcs'][_0x1c0ec4]['videoElement']['style'][_0x17a8f0(0x5c1)]!==_0x17a8f0(0x263)&&(_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4][_0x17a8f0(0x850)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]=_0x17a8f0(0x263),_0x50cd0b=!![])),_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4]['iframeEle']&&_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4][_0x17a8f0(0x8ed)]['style'][_0x17a8f0(0x5c1)]&&_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4]['iframeEle']['style'][_0x17a8f0(0x5c1)]!==_0x17a8f0(0x263)&&(_0x2c8760[_0x17a8f0(0x186)][_0x1c0ec4][_0x17a8f0(0x8ed)]['style']['display']=_0x17a8f0(0x263),_0x50cd0b=!![]));}_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)]&&(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['videoElement'][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x83f)]['display']!==_0x17a8f0(0x25f)&&(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]='block',_0x50cd0b=!![]),_0x2c8760['rpcs'][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x813)]&&clearInterval(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['videoElement'][_0x17a8f0(0x813)]),_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x740)]=![],_0x2c8760['rpcs'][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x813)]=setTimeout(showControlBar[_0x17a8f0(0x275)](null,_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)]),0xbb8)),_0x2c8760['rpcs'][_0x2427d0][_0x17a8f0(0x8ed)]&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x8ed)][_0x17a8f0(0x83f)]['display']&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x8ed)]['style'][_0x17a8f0(0x5c1)]!=='block'&&(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['iframeEle'][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]=_0x17a8f0(0x25f),_0x50cd0b=!![]);}}else _0x5311b6[_0x17a8f0(0x295)]==0x0?(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x130)]=!![],applyMuteState(_0x2427d0),_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)]&&(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]!=='none'&&(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['videoElement']['style'][_0x17a8f0(0x5c1)]='none',_0x50cd0b=!![])),_0x2c8760['rpcs'][_0x2427d0][_0x17a8f0(0x8ed)]&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['iframeEle']['style'][_0x17a8f0(0x5c1)]&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x8ed)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]!==_0x17a8f0(0x263)&&(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x8ed)]['style']['display']=_0x17a8f0(0x263),_0x50cd0b=!![])):(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x130)]=![],applyMuteState(_0x2427d0),_0x2c8760['rpcs'][_0x2427d0][_0x17a8f0(0x850)]&&(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]!==_0x17a8f0(0x25f)&&(_0x2c8760['rpcs'][_0x2427d0][_0x17a8f0(0x850)]['style']['display']=_0x17a8f0(0x25f),_0x50cd0b=!![]),_0x2c8760['rpcs'][_0x2427d0][_0x17a8f0(0x850)]['controlTimer']&&clearInterval(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['videoElement'][_0x17a8f0(0x813)]),_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['videoElement'][_0x17a8f0(0x740)]=![],_0x2c8760['rpcs'][_0x2427d0][_0x17a8f0(0x850)][_0x17a8f0(0x813)]=setTimeout(showControlBar[_0x17a8f0(0x275)](null,_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['videoElement']),0xbb8)),_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x8ed)]&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x8ed)][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]&&_0x2c8760[_0x17a8f0(0x186)][_0x2427d0]['iframeEle'][_0x17a8f0(0x83f)][_0x17a8f0(0x5c1)]!==_0x17a8f0(0x25f)&&(_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x8ed)]['style'][_0x17a8f0(0x5c1)]='block',_0x50cd0b=!![]));}}_0x2c8760['sceneSync'](_0x2427d0);}else _0x5311b6[_0x17a8f0(0x7bb)]=='volume'&&(log(parseInt(_0x5311b6['value'])/0x64),_0x2c8760[_0x17a8f0(0x186)][_0x2427d0][_0x17a8f0(0x850)]&&(_0x2c8760['rpcs'][_0x2427d0]['videoElement']['volume']=parseInt(_0x5311b6['value'])/0x64,log(_0x17a8f0(0x6fb))));}}}}_0x50cd0b&&updateMixer();}}else{if(_0x5311b6[_0x17a8f0(0x7bb)]=='migrate'){}else{if(_0x5311b6[_0x17a8f0(0x7bb)]=='hangup'){}}}}else _0x5311b6[_0x17a8f0(0x7bb)]==='layout'&&(warnlog(_0x17a8f0(0x306)),log(_0x5311b6),_0x2c8760[_0x17a8f0(0x8f6)]=_0x5311b6['value'],pokeIframeAPI('layout-updated',_0x2c8760[_0x17a8f0(0x8f6)]),updateMixer());}},_0x2c8760[_0x2f8f35(0x6e7)]=function(){var _0x179a45=_0x2f8f35;_0x2c8760[_0x179a45(0x8a8)]in _0x2c8760[_0x179a45(0x847)]&&(_0x2c8760[_0x179a45(0x847)][_0x2c8760['directorUUID']][_0x179a45(0x744)][_0x179a45(0x148)]&&(_0x2c8760[_0x179a45(0x847)][_0x2c8760[_0x179a45(0x8a8)]][_0x179a45(0x744)][_0x179a45(0x148)][_0x179a45(0x3c4)]=!![])),_0x2c8760[_0x179a45(0x8a8)]in _0x2c8760[_0x179a45(0x186)]&&(_0x2c8760[_0x179a45(0x186)][_0x2c8760[_0x179a45(0x8a8)]][_0x179a45(0x744)]['info']&&(_0x2c8760['rpcs'][_0x2c8760['directorUUID']][_0x179a45(0x744)][_0x179a45(0x148)]['director']=!![]),_0x2c8760['director']&&(getById(_0x179a45(0x2e9)+_0x2c8760['directorUUID'])[_0x179a45(0x60b)][_0x179a45(0x48f)](_0x179a45(0x560)),_0x2c8760[_0x179a45(0x186)][_0x2c8760[_0x179a45(0x8a8)]]['label']===![]&&(getById('label_'+_0x2c8760[_0x179a45(0x8a8)])[_0x179a45(0x780)]=miscTranslations[_0x179a45(0x481)]))),_0x2c8760['requestCoDirector'](),updateUserList();},_0x2c8760[_0x2f8f35(0x7d2)]=async function _0x2ed54b(_0x177563=![]){var _0x244511=_0x2f8f35;if(_0x2c8760['taintedSession']===!![]){log(_0x244511(0x1b0));return;}if(_0x2c8760['ws']!==null){log(_0x244511(0x37b));return;}_0x2c8760[_0x244511(0x267)]==![]&&(_0x2c8760[_0x244511(0x784)]!==![]?_0x2c8760['wss']='wss://proxywss.rtc.ninja:443':_0x2c8760['wss']='wss://wss.vdo.ninja:443');if(!RTCPeerConnection){console[_0x244511(0xf4)](miscTranslations['webrtc-is-blocked']);!_0x2c8760['cleanOutput']&&warnUser(miscTranslations[_0x244511(0x8d)],![],![]);return;}_0x2c8760['ws']===null&&(_0x2c8760['ws']=![],await chooseBestTURN());if(_0x2c8760[_0x244511(0xd8)]===![]){_0x2c8760[_0x244511(0x15d)]=_0x2c8760['generateStreamID'](0xc);for(var _0x38dd41 in _0x2c8760[_0x244511(0x186)]){warnlog(_0x244511(0x10d)),_0x2c8760[_0x244511(0x186)][_0x38dd41]['connectionState']===_0x244511(0x2c3)&&(_0x2c8760['closeRPC'](_0x38dd41),warnlog(_0x244511(0x227)));}}_0x2c8760['bypass']?(_0x2c8760['ws']={},_0x2c8760['ws'][_0x244511(0xcd)]=0x1,_0x2c8760['ws'][_0x244511(0x6eb)]=function(_0x17b73e){parent['postMessage']({'bypass':_0x17b73e},_0x2c8760['iframetarget']);},setTimeout(function(){var _0x36cca3=_0x244511;_0x2c8760['ws'][_0x36cca3(0x350)]();},0xa)):_0x2c8760['ws']=new WebSocket(_0x2c8760[_0x244511(0x267)]),_0x177563==![]&&(_0x2c8760[_0x244511(0x441)]===!![]&&(_0x2c8760[_0x244511(0x441)]=null,toggleClock()),_0x2c8760['timeout']=setTimeout(function(){var _0x44db9e=_0x244511;pokeIframeAPI(_0x44db9e(0x102),'timeout'),errorlog(_0x44db9e(0x6ed)),!_0x2c8760[_0x44db9e(0x7d7)]&&(!_0x2c8760[_0x44db9e(0x7f9)]&&setTimeout(function(){var _0x2343db=_0x44db9e;warnUser(miscTranslations[_0x2343db(0x453)],![],![]);},0x1));},0x7530)),_0x2c8760['ws'][_0x244511(0x350)]=function _0x5d3288(){var _0x250d40=_0x244511;clearTimeout(_0x2c8760[_0x250d40(0x70c)]),clearInterval(_0x2c8760['timeout']),log('connected\x20to\x20video\x20server'),checkConnection();if(_0x2c8760[_0x250d40(0x8d7)]){errorlog(_0x250d40(0x1cc));for(_0x30e597 in _0x2c8760[_0x250d40(0x186)]){try{_0x2c8760[_0x250d40(0x186)][_0x30e597][_0x250d40(0x7f8)]();}catch(_0x3ae0e5){}}for(_0x30e597 in _0x2c8760[_0x250d40(0x847)]){try{_0x2c8760[_0x250d40(0x847)][_0x30e597][_0x250d40(0x7f8)]();}catch(_0x144b4a){}}_0x2c8760[_0x250d40(0x8d7)]=![],_0x2c8760[_0x250d40(0x7e5)]=![];}if(_0x2c8760['msg']!==[])try{var _0x3c70b4=_0x2c8760[_0x250d40(0x1c0)]['slice'](-0x1e);_0x2c8760[_0x250d40(0x1c0)]=[];for(var _0x36b188 in _0x3c70b4){log(_0x250d40(0x5cb)),_0x2c8760[_0x250d40(0x100)](_0x3c70b4[_0x36b188]);}}catch(_0x4c4274){errorlog(_0x4c4274);}if(_0x177563==!![]){pokeIframeAPI('hssConnection','reconnected');_0x2c8760['seeding']&&_0x2c8760[_0x250d40(0x7bc)]();if(_0x2c8760[_0x250d40(0x2af)]!==![]){if(_0x2c8760[_0x250d40(0x2af)]===''&&(!_0x2c8760['view']||_0x2c8760['view']==='')){}else log(_0x250d40(0x64f)),log(_0x250d40(0x514)),joinRoom(_0x2c8760[_0x250d40(0x2af)]);if(_0x2c8760[_0x250d40(0x835)][_0x250d40(0x542)]){var _0x49b267=Object['keys'](_0x2c8760[_0x250d40(0x4d2)]);for(var _0x30e597 in _0x49b267){_0x2c8760[_0x250d40(0x835)][_0x250d40(0x4cc)](_0x49b267[_0x30e597])&&(log('LOADING\x20UP\x20WAITING\x20WATCH\x20STREAM:\x20'+_0x49b267[_0x30e597]),_0x2c8760['watchStream'](_0x49b267[_0x30e597]));}}}else{var _0x49b267=Object[_0x250d40(0x4a2)](_0x2c8760['waitingWatchList']);for(var _0x30e597 in _0x49b267){log(_0x250d40(0x3ad)+_0x49b267[_0x30e597]),_0x2c8760['watchStream'](_0x49b267[_0x30e597]);}}}else pokeIframeAPI(_0x250d40(0x102),_0x250d40(0x5d1));},_0x2c8760[_0x244511(0x3cf)]=function(_0x56225f){var _0x46a2fc=_0x244511;for(var _0x37c9c9 in _0x2c8760[_0x46a2fc(0x186)]){if(_0x2c8760['rpcs'][_0x37c9c9]['streamID']===_0x56225f)return log(_0x46a2fc(0x3a9)),![];}if(_0x2c8760['waitingWatchList'][_0x56225f])return log(_0x46a2fc(0x8de)),![];return _0x2c8760['watchStream'](_0x56225f),log('requesting\x20stream'),!![];},_0x2c8760['ws'][_0x244511(0x8b1)]=async function(_0x1996dd){var _0x346e4b=_0x244511;clearTimeout(_0x2c8760['pingTimeout']);try{var _0xcd19a2=JSON['parse'](_0x1996dd[_0x346e4b(0x547)]);}catch(_0x6154d4){try{var _0xcd19a2=JSON['parse'](_0x1996dd['data']['toString']());}catch(_0x567bef){errorlog(_0x567bef);return;}}_0x346e4b(0x85a)in _0xcd19a2&&(_0xcd19a2[_0x346e4b(0x85a)]=_0x2c8760[_0x346e4b(0x50f)](_0xcd19a2[_0x346e4b(0x85a)]));if(_0x346e4b(0x279)in _0xcd19a2){_0xcd19a2=await _0x2c8760[_0x346e4b(0x6a4)](_0xcd19a2);if(!_0xcd19a2)return;}if(_0x2c8760[_0x346e4b(0xd8)]){if(_0x346e4b(0x62b)in _0xcd19a2&&_0x2c8760[_0x346e4b(0x86c)]&&_0xcd19a2[_0x346e4b(0x62b)]===_0x2c8760['UUID'])return;else log(_0xcd19a2);if(_0x346e4b(0x86c)in _0xcd19a2){if(_0x2c8760[_0x346e4b(0x86c)]){if(_0xcd19a2[_0x346e4b(0x86c)]!==_0x2c8760[_0x346e4b(0x86c)])return;}else return;delete _0xcd19a2[_0x346e4b(0x86c)];}if(_0x346e4b(0x2af)in _0xcd19a2){if(!_0x2c8760[_0x346e4b(0x680)])return;if('request'in _0xcd19a2){if(_0xcd19a2[_0x346e4b(0x10b)]===_0x346e4b(0x799)){if(_0x346e4b(0x2af)in _0xcd19a2){if('target'in _0xcd19a2){if(_0xcd19a2[_0x346e4b(0x52a)]==_0x2c8760[_0x346e4b(0x86c)]){_0xcd19a2['request']=_0x346e4b(0x8d7),_0x2c8760[_0x346e4b(0x680)]=_0xcd19a2[_0x346e4b(0x2af)];var _0x1dd177={};_0x1dd177['request']=_0x346e4b(0x197),_0x1dd177[_0x346e4b(0x2af)]=_0x2c8760[_0x346e4b(0x680)],_0x1dd177['streamID']=_0x2c8760['streamID'],_0x2c8760[_0x346e4b(0x100)](_0x1dd177);}else return;}else return;}else return;}else{if(_0xcd19a2['roomid']!==_0x2c8760[_0x346e4b(0x680)])return;}}else{if(_0xcd19a2[_0x346e4b(0x2af)]!==_0x2c8760[_0x346e4b(0x680)])return;}delete _0xcd19a2['roomid'];}_0x346e4b(0x3c4)in _0xcd19a2&&(_0xcd19a2[_0x346e4b(0x62b)]&&(_0x2c8760['directorUUID']=_0xcd19a2[_0x346e4b(0x62b)],_0x2c8760[_0x346e4b(0x807)]=[],_0x2c8760[_0x346e4b(0x807)][_0x346e4b(0x20d)](_0x2c8760['directorUUID']),_0x2c8760[_0x346e4b(0x6e7)]()),delete _0xcd19a2['director']);_0x346e4b(0x62b)in _0xcd19a2&&(_0xcd19a2['UUID']=_0xcd19a2[_0x346e4b(0x62b)],delete _0xcd19a2[_0x346e4b(0x62b)]);if(_0x346e4b(0x10b)in _0xcd19a2){if(_0xcd19a2[_0x346e4b(0x10b)]===_0x346e4b(0xa6)){if(_0x346e4b(0x85a)in _0xcd19a2){if(_0xcd19a2[_0x346e4b(0x85a)]===_0x2c8760[_0x346e4b(0x85a)])_0xcd19a2[_0x346e4b(0x10b)]=_0x346e4b(0x326);else return;}}else{if(_0xcd19a2[_0x346e4b(0x10b)]===_0x346e4b(0x44c)){if(_0x2c8760[_0x346e4b(0x265)]){if(_0x2c8760[_0x346e4b(0x265)]['includes'](_0xcd19a2[_0x346e4b(0x85a)])){play(_0xcd19a2[_0x346e4b(0x85a)]);return;}else return;}}else{if(_0xcd19a2['request']===_0x346e4b(0x197)){if(_0x346e4b(0x85a)in _0xcd19a2){if(_0x2c8760[_0x346e4b(0x265)]){if(_0x2c8760[_0x346e4b(0x265)][_0x346e4b(0x4cc)](_0xcd19a2['streamID']))play(_0xcd19a2[_0x346e4b(0x85a)]);else{}}else play(_0xcd19a2[_0x346e4b(0x85a)]);}_0xcd19a2['request']=_0x346e4b(0x326);}}}}else{if(_0x346e4b(0x85a)in _0xcd19a2){if(_0x2c8760[_0x346e4b(0x265)]){if(_0x2c8760[_0x346e4b(0x265)][_0x346e4b(0x4cc)](_0xcd19a2[_0x346e4b(0x85a)])){}else return;}else{if(_0x2c8760[_0x346e4b(0x571)]){if(_0x2c8760['view']!==_0xcd19a2[_0x346e4b(0x85a)])return;else{}}}}}}if(_0xcd19a2[_0x346e4b(0x10b)]){if(_0xcd19a2[_0x346e4b(0x10b)]==_0x346e4b(0x326)){if(_0x2c8760['queue']){if(_0x2c8760[_0x346e4b(0x807)]['indexOf'](_0xcd19a2['UUID'])>=0x0)_0x2c8760[_0x346e4b(0x326)](_0xcd19a2['UUID']);else _0x2c8760[_0x346e4b(0x3c4)]&&(_0xcd19a2[_0x346e4b(0x86c)]in _0x2c8760[_0x346e4b(0x186)]&&_0x2c8760['offerSDP'](_0xcd19a2[_0x346e4b(0x86c)]));}else _0x2c8760[_0x346e4b(0x326)](_0xcd19a2['UUID']);}else{if(_0xcd19a2[_0x346e4b(0x10b)]==_0x346e4b(0x210))log(_0xcd19a2),_0x346e4b(0x3c4)in _0xcd19a2?(_0x2c8760[_0x346e4b(0x8a8)]=_0xcd19a2[_0x346e4b(0x3c4)],_0x2c8760['directorList']=[],_0x2c8760['directorList'][_0x346e4b(0x20d)](_0x2c8760[_0x346e4b(0x8a8)]),_0x2c8760[_0x346e4b(0x6e7)]()):(_0x2c8760['directorUUID']=![],_0x2c8760[_0x346e4b(0x807)]=[]),_0x346e4b(0x213)in _0xcd19a2&&(_0xcd19a2[_0x346e4b(0x213)]==![]?(!_0x2c8760[_0x346e4b(0x7d7)]&&(getById('head4')[_0x346e4b(0x29f)]=miscTranslations[_0x346e4b(0x77d)],_0x2c8760['directorPassword']?_0x2c8760[_0x346e4b(0x4c8)]===null&&warnUser(miscTranslations[_0x346e4b(0x1cd)],![],![]):setTimeout(function(){warnUser(miscTranslations['room-is-claimed'],![],![]);},0x1)),_0x2c8760[_0x346e4b(0x4c8)]=![],pokeAPI(_0x346e4b(0x3c4),![]),pokeIframeAPI(_0x346e4b(0x3c4),![])):(_0x2c8760[_0x346e4b(0x4c8)]=!![],pokeAPI(_0x346e4b(0x3c4),!![]),pokeIframeAPI('director',!![]))),_0x2c8760['listPromise'][_0x346e4b(0x45d)](_0xcd19a2[_0x346e4b(0x8a7)]);else{if(_0xcd19a2['request']==_0x346e4b(0x8d7)){_0x2c8760[_0x346e4b(0x231)]=[],_0x2c8760[_0x346e4b(0x8d7)]=!![],_0x2c8760['broadcastIFrame']=![],log('You\x27ve\x20been\x20transferred'),pokeIframeAPI(_0x346e4b(0x8d7));!_0x2c8760[_0x346e4b(0x3c4)]&&(_0x2c8760[_0x346e4b(0x8c)]=![]);log(_0xcd19a2[_0x346e4b(0x8a7)]);_0x346e4b(0x3c4)in _0xcd19a2?(_0x2c8760[_0x346e4b(0x8a8)]=_0xcd19a2[_0x346e4b(0x3c4)],_0x2c8760[_0x346e4b(0x807)]=[],_0x2c8760['directorList'][_0x346e4b(0x20d)](_0x2c8760[_0x346e4b(0x8a8)]),_0x2c8760[_0x346e4b(0x6e7)]()):(_0x2c8760[_0x346e4b(0x8a8)]=![],_0x2c8760[_0x346e4b(0x807)]=[]);for(_0x25318b in _0x2c8760[_0x346e4b(0x186)]){try{!_0x2c8760['include'][_0x346e4b(0x4cc)](_0x2c8760[_0x346e4b(0x186)][_0x25318b][_0x346e4b(0x85a)])&&_0x2c8760[_0x346e4b(0x9b)](_0x25318b);}catch(_0x31007e){}}for(_0x25318b in _0x2c8760[_0x346e4b(0x847)]){try{log(_0x346e4b(0x361)),_0x2c8760['closePC'](_0x25318b);}catch(_0x279e49){}}youveBeenTransferred(),_0x2c8760['totalRoomBitrate']=_0x2c8760['totalRoomBitrate_default'],updateMixer(),log('Members\x20in\x20Room'),log(_0xcd19a2[_0x346e4b(0x8a7)]);for(var _0x25318b in _0xcd19a2[_0x346e4b(0x8a7)]){if('UUID'in _0xcd19a2[_0x346e4b(0x8a7)][_0x25318b]){if(_0x346e4b(0x85a)in _0xcd19a2['list'][_0x25318b]){if(_0xcd19a2[_0x346e4b(0x8a7)][_0x25318b][_0x346e4b(0x86c)]in _0x2c8760[_0x346e4b(0x186)])log(_0x346e4b(0x356));else{var _0x5e1d47=_0x2c8760[_0x346e4b(0x50f)](_0xcd19a2[_0x346e4b(0x8a7)][_0x25318b][_0x346e4b(0x85a)]);log(_0x346e4b(0x4b2)+_0x5e1d47);if(_0x2c8760[_0x346e4b(0x8c)]){if(_0x2c8760[_0x346e4b(0x807)][_0x346e4b(0x1db)](_0xcd19a2[_0x346e4b(0x8a7)][_0x25318b][_0x346e4b(0x86c)])>=0x0)play(_0x5e1d47,_0xcd19a2[_0x346e4b(0x8a7)][_0x25318b]['UUID']);else{if(_0x2c8760[_0x346e4b(0x265)]&&_0x2c8760[_0x346e4b(0x265)][_0x346e4b(0x4cc)](_0x5e1d47))play(_0x5e1d47,_0xcd19a2[_0x346e4b(0x8a7)][_0x25318b][_0x346e4b(0x86c)]);else _0x2c8760['queueList'][_0x346e4b(0x542)]<0x1388&&(!(_0x5e1d47 in _0x2c8760[_0x346e4b(0x14d)])&&!_0x2c8760['queueList'][_0x346e4b(0x4cc)](_0x5e1d47)&&_0x2c8760[_0x346e4b(0x231)][_0x346e4b(0x20d)](_0x5e1d47));}}else play(_0x5e1d47,_0xcd19a2[_0x346e4b(0x8a7)][_0x25318b][_0x346e4b(0x86c)]);}}}}updateQueue();}else{if(_0xcd19a2[_0x346e4b(0x10b)]==_0x346e4b(0x238))log(_0xcd19a2),'director'in _0xcd19a2?(_0x2c8760[_0x346e4b(0x8a8)]=_0xcd19a2[_0x346e4b(0x3c4)],_0x2c8760[_0x346e4b(0x807)]=[],_0x2c8760[_0x346e4b(0x807)][_0x346e4b(0x20d)](_0x2c8760[_0x346e4b(0x8a8)]),_0x2c8760['newMainDirectorSetup']()):(_0x2c8760[_0x346e4b(0x8a8)]=![],_0x2c8760['directorList']=[],errorlog(_0x346e4b(0x133))),updateUserList();else{if(_0xcd19a2[_0x346e4b(0x10b)]==_0x346e4b(0x2de)){log('Inbound\x20User-based\x20Message\x20from\x20Room'),log(_0xcd19a2);try{'director'in _0xcd19a2&&(_0xcd19a2[_0x346e4b(0x3c4)]==!![]&&_0x2c8760[_0x346e4b(0x828)](_0xcd19a2));}catch(_0xd0eb03){errorlog(_0xd0eb03);}}else{if(_0xcd19a2['request']==_0x346e4b(0x169)){_0xcd19a2[_0x346e4b(0x3c4)]&&(_0x2c8760['directorUUID']=_0xcd19a2[_0x346e4b(0x86c)],_0x2c8760[_0x346e4b(0x807)]=[],_0x2c8760[_0x346e4b(0x807)]['push'](_0x2c8760[_0x346e4b(0x8a8)]),_0x2c8760[_0x346e4b(0x6e7)]());if('streamID'in _0xcd19a2){log(_0x346e4b(0x75a));if(_0x2c8760[_0x346e4b(0x8c)]){if(_0x2c8760['directorList']['indexOf'](_0xcd19a2[_0x346e4b(0x86c)])>=0x0)play(_0x5e1d47,_0xcd19a2[_0x346e4b(0x86c)]);else{if(_0x2c8760[_0x346e4b(0x265)]&&_0x2c8760[_0x346e4b(0x265)]['includes'](_0x5e1d47))play(_0x5e1d47,_0xcd19a2['UUID']);else _0x2c8760[_0x346e4b(0x231)]['length']<0x1388&&(!(_0xcd19a2[_0x346e4b(0x85a)]in _0x2c8760[_0x346e4b(0x14d)])&&!_0x2c8760['queueList']['includes'](_0xcd19a2[_0x346e4b(0x85a)])&&(_0x2c8760[_0x346e4b(0x231)][_0x346e4b(0x20d)](_0xcd19a2[_0x346e4b(0x85a)]),updateQueue(!![])));}}else play(_0xcd19a2[_0x346e4b(0x85a)]);}else log(_0x346e4b(0x127));}else{if(_0xcd19a2[_0x346e4b(0x10b)]==_0x346e4b(0x1ac)){log(_0x346e4b(0x426)),log(_0xcd19a2);if(_0x2c8760[_0x346e4b(0x8c)]){if(_0x2c8760[_0x346e4b(0x807)][_0x346e4b(0x1db)](_0xcd19a2[_0x346e4b(0x86c)])>=0x0)play(_0x5e1d47,_0xcd19a2[_0x346e4b(0x86c)]);else{if(_0x2c8760['view_set']&&_0x2c8760['view_set']['includes'](_0x5e1d47))play(_0x5e1d47,_0xcd19a2[_0x346e4b(0x86c)]);else _0x2c8760['queueList'][_0x346e4b(0x542)]<0x1388&&(!(_0xcd19a2['streamID']in _0x2c8760[_0x346e4b(0x14d)])&&!_0x2c8760[_0x346e4b(0x231)][_0x346e4b(0x4cc)](_0xcd19a2[_0x346e4b(0x85a)])&&(_0x2c8760[_0x346e4b(0x231)]['push'](_0xcd19a2[_0x346e4b(0x85a)]),updateQueue(!![])));}}else play(_0xcd19a2[_0x346e4b(0x85a)]);}else{if(_0xcd19a2[_0x346e4b(0x10b)]==_0x346e4b(0x43d)){errorlog(_0xcd19a2),pokeIframeAPI(_0x346e4b(0x43d),_0xcd19a2[_0x346e4b(0x6a6)]);if(_0x2c8760[_0x346e4b(0x54d)]===![]){if('message'in _0xcd19a2){if(_0xcd19a2[_0x346e4b(0x6a6)]===_0x346e4b(0x251))_0x2c8760[_0x346e4b(0x65f)]<0x2?(_0x2c8760['seedAttempts']=parseInt(_0x2c8760[_0x346e4b(0x65f)])+0x1,setTimeout(function(){var _0x23562c=_0x346e4b;_0x2c8760[_0x23562c(0x7bc)]();},0x1388)):(hangup(),!_0x2c8760['cleanOutput']&&setTimeout(function(){var _0x4becf4=_0x346e4b;warnUser(miscTranslations[_0x4becf4(0x32a)],![],![]);},0x1));else _0xcd19a2[_0x346e4b(0x6a6)]===_0x346e4b(0xd9)?(!_0x2c8760[_0x346e4b(0x7d7)]&&(getById('head4')[_0x346e4b(0x29f)]=miscTranslations['not-the-director'],_0x2c8760[_0x346e4b(0x416)]?_0x2c8760[_0x346e4b(0x4c8)]===null&&warnUser(miscTranslations[_0x346e4b(0x1cd)],![],![]):setTimeout(function(){var _0x3e05d5=_0x346e4b;warnUser(miscTranslations[_0x3e05d5(0x89d)],![],![]);},0x1)),_0x2c8760[_0x346e4b(0x4c8)]=![],pokeAPI(_0x346e4b(0x3c4),![]),pokeIframeAPI(_0x346e4b(0x3c4),![])):!_0x2c8760[_0x346e4b(0x7d7)]&&setTimeout(function(){var _0x31df28=_0x346e4b;warnUser(_0xcd19a2[_0x31df28(0x6a6)]);},0x1);}}}else _0xcd19a2[_0x346e4b(0x10b)]=='warn'?_0x346e4b(0x6a6)in _0xcd19a2&&warnlog(_0xcd19a2[_0x346e4b(0x6a6)]):log(_0xcd19a2);}}}}}}}}else{if(_0xcd19a2[_0x346e4b(0x80c)])'streamID'in _0xcd19a2&&(_0xcd19a2[_0x346e4b(0x85a)]in _0x2c8760[_0x346e4b(0x14d)]&&(clearTimeout(_0x2c8760[_0x346e4b(0x14d)][_0xcd19a2[_0x346e4b(0x85a)]]),delete _0x2c8760['watchTimeoutList'][_0xcd19a2[_0x346e4b(0x85a)]])),_0x2c8760[_0x346e4b(0x412)](_0xcd19a2);else{if(_0xcd19a2[_0x346e4b(0x182)])log('GOT\x20ICE!!'),_0x2c8760['processIce'](_0xcd19a2);else{if(_0xcd19a2[_0x346e4b(0x7a5)])log(_0x346e4b(0x3d5)),_0x2c8760[_0x346e4b(0x730)](_0xcd19a2);else _0xcd19a2[_0x346e4b(0x10b)]==_0x346e4b(0xe9)?(warnlog('Clean\x20up'),_0xcd19a2[_0x346e4b(0x86c)]in _0x2c8760[_0x346e4b(0x847)]&&(warnlog(_0x346e4b(0x6a1)),log(_0x346e4b(0x361)),_0x2c8760[_0x346e4b(0x8db)](_0xcd19a2[_0x346e4b(0x86c)])),_0xcd19a2['UUID']in _0x2c8760[_0x346e4b(0x186)]&&(warnlog(_0x346e4b(0x6a1)),_0x2c8760[_0x346e4b(0x9b)](_0xcd19a2[_0x346e4b(0x86c)]))):log(_0x346e4b(0x6e9));}}}},_0x2c8760['ws'][_0x244511(0x482)]=async function(_0x46767d){var _0x1be661=_0x244511;clearTimeout(_0x2c8760[_0x1be661(0x70c)]),pokeIframeAPI('hssConnection',_0x1be661(0x146));try{_0x1be661(0x27c)in _0x46767d&&(_0x46767d[_0x1be661(0x27c)]==0x1f7&&(_0x177563==![]&&(clearInterval(_0x2c8760['timeout']),!_0x2c8760[_0x1be661(0x7d7)]&&warnUser(_0x1be661(0x83b),0x7530,![]))));}catch(_0x4ba4d0){errorlog(_0x4ba4d0);}warnlog('Connection\x20to\x20Control\x20Server\x20lost.\x0a\x0aAuto-reconnect\x20is\x20partially\x20implemented');if(_0x2c8760[_0x1be661(0x829)]==![])try{_0x2c8760['ws'][_0x1be661(0xcd)]===WebSocket[_0x1be661(0x663)]&&(_0x2c8760['ws']=null,setTimeout(()=>{var _0x40bfca=_0x1be661;try{_0x2c8760[_0x40bfca(0x7d2)](!![]);}catch(_0x31b5d0){};},0x7d0));}catch(_0x154a84){errorlog(_0x154a84);}};},_0x2c8760['sendMessage']=function(_0x5dec8a,_0x1a62b2=null){var _0x49ac5d=_0x2f8f35;log(_0x49ac5d(0x5fa)),warnlog(_0x5dec8a),_0x5dec8a=JSON['stringify'](_0x5dec8a);if(_0x1a62b2==null){for(var _0x2bac42 in _0x2c8760[_0x49ac5d(0x847)]){try{_0x2c8760[_0x49ac5d(0x847)][_0x2bac42]['sendChannel'][_0x49ac5d(0x6eb)](_0x5dec8a);}catch(_0x5a9b62){warnlog(_0x49ac5d(0x881));}}return!![];}else try{return _0x2c8760[_0x49ac5d(0x847)][_0x1a62b2][_0x49ac5d(0x460)][_0x49ac5d(0x6eb)](_0x5dec8a),!![];}catch(_0x4d133b){return warnlog(_0x49ac5d(0x762)),warnlog(_0x5dec8a),![];}return![];},_0x2c8760[_0x2f8f35(0x3fd)]=function(_0x366bcf,_0x46cac3=null){var _0x307cd8=_0x2f8f35,_0x56ff86=JSON[_0x307cd8(0xd4)](_0x366bcf);if(_0x46cac3==null){var _0x5f0db0=[];for(var _0x1b51fc in _0x2c8760['rpcs']){try{if(_0x307cd8(0x4fd)in _0x2c8760[_0x307cd8(0x186)][_0x1b51fc]){var _0x24b23b=_0x366bcf;_0x24b23b[_0x307cd8(0x563)]=!![],_0x24b23b=JSON[_0x307cd8(0xd4)](_0x24b23b),_0x2c8760[_0x307cd8(0x186)][_0x2c8760['rpcs'][_0x1b51fc][_0x307cd8(0x4fd)]][_0x307cd8(0x23a)][_0x307cd8(0x6eb)](_0x24b23b);}else _0x2c8760[_0x307cd8(0x186)][_0x1b51fc][_0x307cd8(0x23a)][_0x307cd8(0x6eb)](_0x56ff86);_0x5f0db0[_0x307cd8(0x20d)](_0x1b51fc);}catch(_0x3e20fc){log(_0x307cd8(0x451));}}return _0x5f0db0[_0x307cd8(0x542)];}else try{if(_0x307cd8(0x4fd)in _0x2c8760[_0x307cd8(0x186)][_0x46cac3]){var _0x24b23b=_0x366bcf;_0x24b23b[_0x307cd8(0x563)]=!![],_0x24b23b=JSON[_0x307cd8(0xd4)](_0x24b23b),_0x2c8760[_0x307cd8(0x186)][_0x2c8760[_0x307cd8(0x186)][_0x46cac3][_0x307cd8(0x4fd)]]['receiveChannel']['send'](_0x24b23b);}else _0x2c8760[_0x307cd8(0x186)][_0x46cac3]['receiveChannel'][_0x307cd8(0x6eb)](_0x56ff86);return!![];}catch(_0x516c2c){return log(_0x307cd8(0x451)),![];}},_0x2c8760['hangup']=function(_0x14bac7=![],_0x9c83cb=![]){var _0x4cad15=_0x2f8f35;_0x9c83cb&&recordLocalVideo(_0x4cad15(0x863));_0x2c8760[_0x4cad15(0x7b5)]=!![],warnlog('hanging\x20up');try{recordLocalVideo('stop');}catch(_0x4fa13b){}try{var _0x554878={};_0x554878[_0x4cad15(0x402)]=!![],_0x554878[_0x4cad15(0x161)]=!![],_0x2c8760[_0x4cad15(0x205)](_0x554878);}catch(_0x1ffac8){}try{_0x2c8760['ws']['close']();}catch(_0x219a99){}try{transferList[_0x4cad15(0x648)](_0x2b6efa=>{var _0x4e6618=_0x4cad15;_0x2b6efa[_0x4e6618(0x25e)]&&_0x2b6efa['writer']['close'](),_0x2b6efa[_0x4e6618(0x16f)]&&_0x2b6efa[_0x4e6618(0x4d9)];});}catch(_0x150005){errorlog(_0x150005);}try{_0x2c8760[_0x4cad15(0x4bc)]&&_0x2c8760['canvasSource'][_0x4cad15(0x548)]&&_0x2c8760[_0x4cad15(0x4bc)][_0x4cad15(0x548)][_0x4cad15(0x81d)]()[_0x4cad15(0x648)](function(_0x1cbe9f){var _0x5be756=_0x4cad15;_0x1cbe9f[_0x5be756(0xee)](),_0x2c8760['videoElement'][_0x5be756(0x548)]['removeTrack'](_0x1cbe9f),log(_0x5be756(0x686));}),_0x2c8760[_0x4cad15(0x850)]&&_0x2c8760[_0x4cad15(0x850)][_0x4cad15(0x548)]&&_0x2c8760[_0x4cad15(0x850)]['srcObject'][_0x4cad15(0x81d)]()[_0x4cad15(0x648)](function(_0x7a4b6e){var _0x3f772a=_0x4cad15;_0x7a4b6e['stop'](),_0x2c8760[_0x3f772a(0x850)][_0x3f772a(0x548)]['removeTrack'](_0x7a4b6e),log(_0x3f772a(0x686));}),_0x2c8760[_0x4cad15(0x29c)]&&_0x2c8760[_0x4cad15(0x29c)]['getTracks']()[_0x4cad15(0x648)](function(_0x2d0148){var _0x5d83ab=_0x4cad15;_0x2d0148['stop'](),_0x2c8760[_0x5d83ab(0x850)][_0x5d83ab(0x548)][_0x5d83ab(0x101)](_0x2d0148),log(_0x5d83ab(0x686));}),_0x2c8760[_0x4cad15(0x401)]&&_0x2c8760['screenStream'][_0x4cad15(0x81d)]()['forEach'](function(_0xf19bb1){var _0x3c0280=_0x4cad15;_0xf19bb1['stop'](),_0x2c8760[_0x3c0280(0x401)]['removeTrack'](_0xf19bb1),log('stopping\x20old\x20track');});}catch(_0xa1e7da){errorlog(_0xa1e7da);}try{for(i in _0x2c8760[_0x4cad15(0x186)]){try{_0x2c8760['rpcs'][i][_0x4cad15(0x850)]&&(_0x2c8760[_0x4cad15(0x186)][i][_0x4cad15(0x850)]['recording']&&recordLocalVideo('stop',null,_0x2c8760[_0x4cad15(0x186)][i][_0x4cad15(0x850)]));}catch(_0x29578c){}_0x2c8760['closeRPC'](i,!![]);}for(i in _0x2c8760['pcs']){log(_0x4cad15(0x7b6)),_0x2c8760[_0x4cad15(0x8db)](i);}}catch(_0x489eb0){errorlog(_0x489eb0);}for(var _0x3a7d8a in _0x2c8760['watchTimeoutList']){clearTimeout(_0x2c8760[_0x4cad15(0x14d)][_0x3a7d8a]);}if(_0x14bac7){reloadRequested(),warnlog(_0x4cad15(0x855));return;}else setTimeout(function(){for(i in _0x2c8760){try{delete _0x2c8760[i];}catch(_0x356f45){}}delete _0x2c8760;},0x4b0),hangupComplete(),log('HANG\x20UP\x20COMPLETE');},_0x2c8760[_0x2f8f35(0x7d8)]=function(){var _0x2f5aba=_0x2f8f35;_0x2c8760[_0x2f5aba(0x7b5)]=!![],_0x2c8760[_0x2f5aba(0x128)]=![],notifyOfScreenShare(),warnlog(_0x2f5aba(0xf2)),pokeIframeAPI(_0x2f5aba(0x4f7),![]),pokeIframeAPI(_0x2f5aba(0x6b9),![]),pokeAPI('seeding',![]);try{_0x2c8760[_0x2f5aba(0x850)]&&_0x2c8760[_0x2f5aba(0x850)]['srcObject']&&_0x2c8760[_0x2f5aba(0x850)][_0x2f5aba(0x548)]['getTracks']()[_0x2f5aba(0x648)](function(_0x59c426){var _0x48a045=_0x2f5aba;_0x59c426[_0x48a045(0xee)](),_0x2c8760[_0x48a045(0x850)][_0x48a045(0x548)][_0x48a045(0x101)](_0x59c426),log(_0x48a045(0x686));});_0x2c8760['streamSrc']&&_0x2c8760['streamSrc'][_0x2f5aba(0x81d)]()[_0x2f5aba(0x648)](function(_0x2d0898){var _0x581dd5=_0x2f5aba;_0x2d0898[_0x581dd5(0xee)](),_0x2c8760[_0x581dd5(0x29c)][_0x581dd5(0x101)](_0x2d0898),log(_0x581dd5(0x686));});for(UUID in _0x2c8760['pcs']){var _0x44d2b1=getSenders2(UUID);_0x44d2b1[_0x2f5aba(0x648)](_0x5b817b=>{var _0x405114=_0x2f5aba;_0x5b817b[_0x405114(0x124)]&&(_0x5b817b[_0x405114(0x124)]['enabled']=![]);});}var _0xfaeb26={};_0xfaeb26[_0x2f5aba(0x402)]=!![],_0xfaeb26[_0x2f5aba(0x86b)]=!![],_0x2c8760[_0x2f5aba(0x205)](_0xfaeb26),getById(_0x2f5aba(0x8e3))[_0x2f5aba(0x8ec)]();}catch(_0x1659ca){errorlog(_0x2f5aba(0x2a1));}log(_0x2f5aba(0x40c));},_0x2c8760['createOffer']=function(_0x3d0b1f,_0x5109a5=![]){var _0x457e22=_0x2f8f35;_0x2c8760[_0x457e22(0x847)][_0x3d0b1f][_0x457e22(0x6f8)]({'iceRestart':_0x5109a5})[_0x457e22(0x414)](_0x43b571=>{var _0x5c14ff=_0x457e22;log('create\x20offer\x20worked');if(SafariVersion&&SafariVersion<=0xd&&(iOS||iPad)){}else{if(_0x2c8760[_0x5c14ff(0x376)]==0x3||_0x2c8760[_0x5c14ff(0x376)]==0x5||_0x2c8760[_0x5c14ff(0x376)]==0x1)_0x43b571[_0x5c14ff(0x3ab)]=CodecsHandler[_0x5c14ff(0x1b9)](_0x43b571[_0x5c14ff(0x3ab)],{'stereo':0x1}),log('stereo\x20enabled');else{if(iOS||iPad){}else _0x2c8760[_0x5c14ff(0x376)]==0x4&&(_0x43b571[_0x5c14ff(0x3ab)]=CodecsHandler[_0x5c14ff(0x1b9)](_0x43b571['sdp'],{'stereo':0x2}),log(_0x5c14ff(0x7e4)));}}if(_0x2c8760[_0x5c14ff(0x847)][_0x3d0b1f][_0x5c14ff(0x249)])try{_0x43b571[_0x5c14ff(0x3ab)]=CodecsHandler[_0x5c14ff(0x389)](_0x43b571[_0x5c14ff(0x3ab)],_0x2c8760[_0x5c14ff(0x847)][_0x3d0b1f][_0x5c14ff(0x249)]),log('Trying\x20to\x20set\x20'+_0x2c8760[_0x5c14ff(0x847)][_0x3d0b1f]['preferVideoCodec']+_0x5c14ff(0x8cd));}catch(_0x67520f){errorlog(_0x67520f),warnlog('couldn\x27t\x20set\x20preferred\x20video\x20codec');}if(_0x2c8760[_0x5c14ff(0x847)][_0x3d0b1f][_0x5c14ff(0x8b6)])try{if(_0x2c8760['pcs'][_0x3d0b1f]['preferAudioCodec']===_0x5c14ff(0x907))_0x43b571[_0x5c14ff(0x3ab)]=CodecsHandler[_0x5c14ff(0x282)](_0x43b571[_0x5c14ff(0x3ab)]);else{if(_0x2c8760[_0x5c14ff(0x847)][_0x3d0b1f]['preferAudioCodec']===_0x5c14ff(0x4d3)){if(_0x2c8760[_0x5c14ff(0x683)]&&_0x2c8760[_0x5c14ff(0x683)]==0x1)_0x43b571[_0x5c14ff(0x3ab)]=CodecsHandler[_0x5c14ff(0x31b)](_0x43b571[_0x5c14ff(0x3ab)],_0x2c8760['micSampleRate']||0xbb80,![]);else _0x2c8760['stereo']?_0x43b571['sdp']=CodecsHandler['modifyDescPCM'](_0x43b571[_0x5c14ff(0x3ab)],_0x2c8760[_0x5c14ff(0x3ae)]||0xbb80,!![]):_0x43b571['sdp']=CodecsHandler['modifyDescPCM'](_0x43b571[_0x5c14ff(0x3ab)],_0x2c8760[_0x5c14ff(0x3ae)]||0xbb80,![]);}else _0x43b571[_0x5c14ff(0x3ab)]=CodecsHandler[_0x5c14ff(0x8b6)](_0x43b571[_0x5c14ff(0x3ab)],_0x2c8760[_0x5c14ff(0x847)][_0x3d0b1f][_0x5c14ff(0x8b6)]);}log('Trying\x20to\x20set\x20'+_0x2c8760[_0x5c14ff(0x847)][_0x3d0b1f]['preferAudioCodec']+_0x5c14ff(0x6de));}catch(_0x567b99){errorlog(_0x567b99),warnlog('couldn\x27t\x20set\x20preferred\x20audio\x20codec');}Android&&_0x2c8760[_0x5c14ff(0xe5)]!==![]&&_0x2c8760[_0x5c14ff(0x415)]&&(_0x43b571[_0x5c14ff(0x3ab)]=_0x43b571[_0x5c14ff(0x3ab)]['replace'](/42e01f/gi,_0x5c14ff(0x5b3))),_0x2c8760[_0x5c14ff(0x847)][_0x3d0b1f]['setLocalDescription'](_0x43b571)[_0x5c14ff(0x414)](function(){var _0x4a9ece=_0x5c14ff;log(_0x4a9ece(0x3d1)+_0x3d0b1f);var _0x11407d={};_0x11407d['UUID']=_0x3d0b1f,_0x11407d[_0x4a9ece(0x85a)]=_0x2c8760['streamID'],_0x11407d['description']=_0x2c8760['pcs'][_0x3d0b1f][_0x4a9ece(0xc7)],_0x11407d[_0x4a9ece(0x4d0)]=_0x2c8760[_0x4a9ece(0x847)][_0x3d0b1f][_0x4a9ece(0x4d0)];_0x2c8760[_0x4a9ece(0xd8)]&&(_0x11407d[_0x4a9ece(0x33a)]=_0x2c8760[_0x4a9ece(0x54d)]);if(_0x2c8760['screenStream']!==![]){var _0x1286d6=_0x2c8760[_0x4a9ece(0x401)][_0x4a9ece(0x81d)](),_0xc6ae2a=_0x2c8760['pcs'][_0x3d0b1f][_0x4a9ece(0x45f)](),_0x488c53=[];for(var _0x29a48c=0x0;_0x29a48c<_0xc6ae2a[_0x4a9ece(0x542)];_0x29a48c++){for(var _0x59ba01=0x0;_0x59ba01<_0x1286d6[_0x4a9ece(0x542)];_0x59ba01++){_0xc6ae2a[_0x29a48c]['track']&&_0xc6ae2a[_0x29a48c][_0x4a9ece(0x124)]['id']==_0x1286d6[_0x59ba01]['id']&&_0x488c53[_0x4a9ece(0x20d)](_0x29a48c);}}_0x488c53['length']&&(_0x11407d['screen']=_0x488c53);}_0x2c8760[_0x4a9ece(0x55a)]?_0x2c8760[_0x4a9ece(0x60a)](JSON[_0x4a9ece(0xd4)](_0x11407d[_0x4a9ece(0x80c)]))[_0x4a9ece(0x414)](function(_0x115e5d){var _0x240a98=_0x4a9ece;_0x11407d['description']=_0x115e5d[0x0],_0x11407d['vector']=_0x115e5d[0x1],_0x2c8760[_0x240a98(0x4ad)](_0x11407d);})['catch'](errorlog):_0x2c8760[_0x4a9ece(0x4ad)](_0x11407d);})[_0x5c14ff(0x538)](errorlog);})[_0x457e22(0x538)](errorlog);},_0x2c8760[_0x2f8f35(0x427)]=function(){var _0x454b16=_0x2f8f35;for(var _0x3fac68 in _0x2c8760[_0x454b16(0x847)]){_0x2c8760[_0x454b16(0x847)][_0x3fac68]['scene']!==![]?(_0x2c8760['forcePLI'](_0x3fac68),log(_0x454b16(0x1ea))):log(_0x454b16(0x33f));}},_0x2c8760[_0x2f8f35(0x8db)]=function(_0x20a371,_0x4eb7e2=!![]){var _0x37f9e6=_0x2f8f35;log(_0x37f9e6(0x8db));if(!(_0x20a371 in _0x2c8760[_0x37f9e6(0x847)]))return;clearTimeout(_0x2c8760[_0x37f9e6(0x847)][_0x20a371][_0x37f9e6(0x618)]),clearTimeout(_0x2c8760[_0x37f9e6(0x847)][_0x20a371]['closeTimeout']),clearInterval(_0x2c8760[_0x37f9e6(0x847)][_0x20a371][_0x37f9e6(0x666)]),pokeIframeAPI(_0x37f9e6(0x54c),![],_0x20a371);if(_0x37f9e6(0x4fd)in _0x2c8760['pcs'][_0x20a371]){delete _0x2c8760['pcs'][_0x20a371],applySceneState();return;}_0x20a371+_0x37f9e6(0x2cb)in _0x2c8760[_0x37f9e6(0x847)]&&_0x2c8760[_0x37f9e6(0x847)][_0x20a371+'_screen'][_0x37f9e6(0x4fd)]&&_0x2c8760[_0x37f9e6(0x847)][_0x20a371+_0x37f9e6(0x2cb)]['realUUID']===_0x20a371&&(clearTimeout(_0x2c8760[_0x37f9e6(0x847)][_0x20a371+_0x37f9e6(0x2cb)][_0x37f9e6(0x618)]),clearTimeout(_0x2c8760[_0x37f9e6(0x847)][_0x20a371+_0x37f9e6(0x2cb)][_0x37f9e6(0x35b)]),clearInterval(_0x2c8760[_0x37f9e6(0x847)][_0x20a371+_0x37f9e6(0x2cb)][_0x37f9e6(0x666)]),_0x2c8760['pcs'][_0x20a371+'_screen']=null,delete _0x2c8760[_0x37f9e6(0x847)][_0x20a371+_0x37f9e6(0x2cb)]);try{_0x2c8760['sendMessage']({'bye':!![]},_0x20a371);}catch(_0x155f4f){}try{_0x2c8760[_0x37f9e6(0x847)][_0x20a371][_0x37f9e6(0x7f8)]();}catch(_0x1bb540){}_0x2c8760[_0x37f9e6(0x847)][_0x20a371]['guest']&&(_0x2c8760['beepToNotify']&&(_0x4eb7e2&&(warnlog(_0x37f9e6(0x334)),playtone(![],_0x37f9e6(0x79b))))),_0x2c8760[_0x37f9e6(0x847)][_0x20a371]=null,_0x2c8760['security']&&(!_0x2c8760[_0x37f9e6(0x7d7)]&&setTimeout(function _0x3ba945(){var _0x324a14=_0x37f9e6;warnUser(_0x324a14(0xbc));},0x1)),delete _0x2c8760['pcs'][_0x20a371],_0x2c8760[_0x37f9e6(0x6bb)](),applySceneState();},_0x2c8760[_0x2f8f35(0x9b)]=function(_0x235798,_0x58e6da=![]){var _0x15666e=_0x2f8f35;log(_0x15666e(0x9b));if(!(_0x235798 in _0x2c8760[_0x15666e(0x186)])){log(_0x15666e(0x1ba));return;}clearInterval(_0x2c8760[_0x15666e(0x186)][_0x235798][_0x15666e(0x35b)]);try{_0x2c8760[_0x15666e(0x3fd)]({'bye':!![]},_0x235798),warnlog(_0x15666e(0x68a));}catch(_0x515902){}try{var _0x3d6234=_0x2c8760[_0x15666e(0x186)][_0x235798]['streamID'];}catch(_0x3ad094){}try{_0x2c8760['rpcs'][_0x235798][_0x15666e(0x7f8)]();}catch(_0x166628){warnlog(_0x15666e(0x2a5));}try{_0x2c8760['rpcs'][_0x235798][_0x15666e(0x29c)]&&_0x2c8760[_0x15666e(0x186)][_0x235798][_0x15666e(0x29c)]['getTracks']()['forEach'](function(_0x280dde){var _0x3ea8a0=_0x15666e;_0x280dde[_0x3ea8a0(0xee)](),log('Track\x20stopped');});}catch(_0x1fb16a){}if(_0x2c8760[_0x15666e(0x3c4)])try{_0x2c8760['rpcs'][_0x235798][_0x15666e(0x850)]&&'recorder'in _0x2c8760[_0x15666e(0x186)][_0x235798][_0x15666e(0x850)]&&_0x2c8760[_0x15666e(0x186)][_0x235798]['videoElement'][_0x15666e(0x8a0)][_0x15666e(0xee)]();}catch(_0x201e01){warnlog(_0x201e01);}else!_0x2c8760['roomid']&&(_0x2c8760[_0x15666e(0x3a2)]&&playtone(![],_0x15666e(0x79b)));try{document[_0x15666e(0x21f)](_0x15666e(0x2e9)+_0x235798)&&(!_0x2c8760[_0x15666e(0x23c)]&&(_0x2c8760[_0x15666e(0x23c)]={}),_0x3d6234&&(_0x2c8760[_0x15666e(0x23c)][_0x3d6234]=getDetailedState(_0x3d6234)),getById(_0x15666e(0x2e9)+_0x235798)['parentNode']['removeChild'](getById(_0x15666e(0x2e9)+_0x235798)),updateLockedElements());}catch(_0x3b369f){warnlog(_0x3b369f);}try{_0x2c8760[_0x15666e(0x186)][_0x235798]['videoElement']&&_0x2c8760['rpcs'][_0x235798][_0x15666e(0x850)]['remove']();}catch(_0xae2ba3){}try{if(_0x2c8760['broadcast']!==![]){if(_0x2c8760[_0x15666e(0x186)][_0x235798][_0x15666e(0x8ed)]){try{_0x2c8760[_0x15666e(0x186)][_0x235798]['iframeEle']['remove']();}catch(_0x24242b){errorlog(_0x24242b);}_0x2c8760[_0x15666e(0x186)][_0x235798]['iframeEle'][_0x15666e(0x8ec)]();}}}catch(_0x1a0034){}try{_0x2c8760[_0x15666e(0x186)][_0x235798]['canvas']&&_0x2c8760['rpcs'][_0x235798]['canvas'][_0x15666e(0x8ec)]();}catch(_0x1d694b){}try{_0x2c8760[_0x15666e(0x186)][_0x235798][_0x15666e(0x882)]&&_0x2c8760['rpcs'][_0x235798][_0x15666e(0x882)][_0x15666e(0x8ec)]();}catch(_0x1a06cd){}'eventPlayActive'in _0x2c8760['rpcs'][_0x235798]&&clearInterval(_0x2c8760['rpcs'][_0x235798][_0x15666e(0x5c8)]);pokeIframeAPI(_0x15666e(0x82d),![],_0x235798),pokeAPI('endViewConnection',_0x2c8760['rpcs'][_0x235798][_0x15666e(0x85a)]);try{_0x2c8760['rpcs'][_0x235798]=null,delete _0x2c8760['rpcs'][_0x235798];}catch(_0xf07d6a){}_0x2c8760[_0x15666e(0x9b)](_0x235798+_0x15666e(0x2cb));(!_0x2c8760[_0x15666e(0x3c4)]||_0x2c8760['switchMode'])&&setTimeout(function(){updateMixer();},0x1);if(typeof _0x3d6234==_0x15666e(0x2cf))return;try{warnlog(_0x15666e(0x8ab)),_0x3d6234 in _0x2c8760[_0x15666e(0x14d)]&&(log(_0x15666e(0x463)+_0x3d6234),clearTimeout(_0x2c8760['watchTimeoutList'][_0x3d6234]),delete _0x2c8760['watchTimeoutList'][_0x3d6234]),_0x2c8760['watchTimeoutList'][_0x3d6234]=setTimeout(function(_0x21f479){var _0x24f122=_0x15666e;try{delete _0x2c8760[_0x24f122(0x14d)][_0x21f479];}catch(_0x178e7a){warnlog('session.watchTimeoutList\x20no\x20longer\x20exists;\x20won\x27t\x20retry.');return;}log(_0x24f122(0x760)+_0x21f479);try{for(var _0x39400f in _0x2c8760[_0x24f122(0x186)]){if(_0x2c8760['rpcs'][_0x39400f]['streamID']===_0x21f479){if(_0x2c8760[_0x24f122(0x186)][_0x39400f][_0x24f122(0x2a3)]===_0x24f122(0x5d1)){warnlog('\x20---\x20we\x20will\x20not\x20ask\x20again;\x20we\x27re\x20already\x20connected');return;}}}}catch(_0x2466f6){errorlog(_0x2466f6);}warnlog('\x20---\x20we\x20will\x20ask\x20again'),_0x2c8760['watchStream'](_0x21f479);},_0x2c8760[_0x15666e(0x90f)],_0x3d6234);}catch(_0x24b4a3){errorlog(_0x24b4a3);}pokeIframeAPI(_0x15666e(0xbd),![],_0x235798),_0x3d6234!==null?pokeIframeAPI(_0x15666e(0x2a2),_0x3d6234,_0x235798):pokeIframeAPI('end-view-connection',!![],_0x235798),updateUserList();},_0x2c8760['forceRetryTimeout']=null,_0x2c8760[_0x2f8f35(0x469)]=function(){var _0x3d56be=_0x2f8f35;if(_0x2c8760[_0x3d56be(0x571)]){if(_0x2c8760['ws']===null||(typeof _0x2c8760['ws']!==_0x3d56be(0x769)||_0x2c8760['ws'][_0x3d56be(0xcd)]!==0x1)){}else{var _0x2b606a=_0x2c8760[_0x3d56be(0x571)][_0x3d56be(0x75e)](',');for(var _0x513079 in _0x2b606a){if(_0x2b606a[_0x513079]){var _0x15af36=![];for(var _0x2db77e in _0x2c8760[_0x3d56be(0x186)]){if(_0x2c8760[_0x3d56be(0x186)][_0x2db77e][_0x3d56be(0x85a)]&&_0x2c8760['rpcs'][_0x2db77e]['streamID']===_0x2b606a[_0x513079]){_0x15af36=!![];break;}}_0x2b606a[_0x513079]in _0x2c8760[_0x3d56be(0x14d)]&&(_0x15af36=!![]);if(_0x15af36)continue;_0x2c8760[_0x3d56be(0x58b)](_0x2b606a[_0x513079]);}}}_0x2c8760[_0x3d56be(0x181)]&&_0x2c8760['forceRetry']<0xa&&(_0x2c8760[_0x3d56be(0x181)]=0xa),_0x2c8760[_0x3d56be(0x181)]&&(clearTimeout(_0x2c8760[_0x3d56be(0x3fa)]),_0x2c8760['forceRetryTimeout']=setTimeout(function(){var _0x115e08=_0x3d56be;log('retrying\x20at\x20an\x20interval'),_0x2c8760[_0x115e08(0x469)]();},_0x2c8760[_0x3d56be(0x181)]*0x3e8));}},_0x2c8760[_0x2f8f35(0x326)]=async function(_0x258807){var _0x275280=_0x2f8f35;if(_0x258807 in _0x2c8760[_0x275280(0x847)]){if(_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x2a3)]==='failed'||_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x2a3)]==='closed')log(_0x275280(0x7a6)),_0x2c8760[_0x275280(0x8db)](_0x258807),warnlog(_0x275280(0x227));else{if(iPad||iOS)log(_0x275280(0x8fc)),_0x2c8760[_0x275280(0x8db)](_0x258807),warnlog(_0x275280(0x8d6));else{warnlog('The\x20other\x20end\x20is\x20just\x20being\x20a\x20keener.\x20Ignore\x20it:\x20'+_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x2a3)]);return;}}}else log(_0x275280(0x7ee));if(_0x2c8760[_0x275280(0x1e1)]!==![]){if(Object['keys'](_0x2c8760[_0x275280(0x847)])[_0x275280(0x542)]>_0x2c8760[_0x275280(0x1e1)]){log('closing\x201'),log(_0x275280(0x452)),_0x2c8760[_0x275280(0x8db)](_0x258807);return;}}else{if(_0x2c8760['maxconnections']!==![]){if(Object[_0x275280(0x4a2)](_0x2c8760['rpcs'])[_0x275280(0x542)]+Object[_0x275280(0x4a2)](_0x2c8760['pcs'])[_0x275280(0x542)]>_0x2c8760[_0x275280(0x141)]){log(_0x275280(0x74f)),log(_0x275280(0x1b8)),_0x2c8760[_0x275280(0x8db)](_0x258807);return;}}}!_0x2c8760[_0x275280(0x2dc)]&&await chooseBestTURN();_0x2c8760['encodedInsertableStreams']&&(_0x2c8760['configuration']['encodedInsertableStreams']=!![]);try{_0x2c8760[_0x275280(0x847)][_0x258807]=new RTCPeerConnection(_0x2c8760[_0x275280(0x2dc)]);}catch(_0x122dfd){!_0x2c8760[_0x275280(0x7d7)]&&warnUser('An\x20RTC\x20error\x20occured');errorlog(_0x122dfd);return;}if(_0x2c8760['security']){if(Object['keys'](_0x2c8760[_0x275280(0x847)])['length']>0x1){log(_0x275280(0x79)),log('closing\x2010'),_0x2c8760[_0x275280(0x8db)](_0x258807);return;}}_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x744)]={},_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x4d0)]=_0x2c8760[_0x275280(0x901)]+_0x2c8760['generateStreamID'](0x5),_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x7de)]=null,_0x2c8760[_0x275280(0x847)][_0x258807]['sceneMute']=null,_0x2c8760['pcs'][_0x258807][_0x275280(0x59f)]={},_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x59f)]['visibility']=null,_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x59f)][_0x275280(0x348)]=null,_0x2c8760['pcs'][_0x258807][_0x275280(0x59f)][_0x275280(0x8c5)]=null,_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x59f)][_0x275280(0x557)]=null,_0x2c8760[_0x275280(0x847)][_0x258807]['obsState']['virtualcam']=null,_0x2c8760['pcs'][_0x258807]['optimizedBitrate']=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x137)]=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x52c)]=null,_0x2c8760[_0x275280(0x847)][_0x258807]['layout']=null,_0x2c8760['pcs'][_0x258807][_0x275280(0x867)]=null,_0x2c8760['pcs'][_0x258807][_0x275280(0x4f6)]=null,_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x6d5)]=![],_0x2c8760['pcs'][_0x258807]['coDirector']=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x7a)]=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x158)]=![],_0x2c8760['pcs'][_0x258807]['guest']=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x6f4)]=![],_0x2c8760[_0x275280(0x847)][_0x258807]['enhanceAudio']=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x7f0)]=![],_0x2c8760['pcs'][_0x258807][_0x275280(0x192)]=null,_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x7e9)]=![],_0x2c8760[_0x275280(0x847)][_0x258807]['allowVideo']=![],_0x2c8760[_0x275280(0x847)][_0x258807]['allowAudio']=![],_0x2c8760[_0x275280(0x847)][_0x258807]['allowIframe']=![],_0x2c8760[_0x275280(0x847)][_0x258807]['allowWebp']=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x727)]=![],_0x2c8760[_0x275280(0x847)][_0x258807]['allowMIDI']=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x785)]=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x5b7)]=![],_0x2c8760['pcs'][_0x258807][_0x275280(0x331)]=null,_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x86c)]=_0x258807,_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x555)]=![],_0x2c8760['pcs'][_0x258807][_0x275280(0x817)]=![],_0x2c8760[_0x275280(0x847)][_0x258807]['scaleWidth']=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x34b)]=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x29b)]=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x5b1)]=![],_0x2c8760[_0x275280(0x847)][_0x258807]['showDirector']=null,_0x2c8760['pcs'][_0x258807]['scene']=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x641)]=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x64b)]=null,_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x751)]=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x77)]=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x249)]=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x8b6)]=![],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x35b)]=null,_0x2c8760['pcs'][_0x258807][_0x275280(0x15d)]=_0x2c8760[_0x275280(0x15d)],_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x5c6)]=Date[_0x275280(0x6b5)]();function _0x85a639(_0x611dc5=![]){var _0x302e0b=_0x275280;if(_0x611dc5)return;_0x2c8760[_0x302e0b(0x847)][_0x258807][_0x302e0b(0x460)]=_0x2c8760[_0x302e0b(0x847)][_0x258807][_0x302e0b(0x31f)](_0x302e0b(0x460)),_0x2c8760[_0x302e0b(0x847)][_0x258807][_0x302e0b(0x460)][_0x302e0b(0x86c)]=_0x258807,_0x2c8760['pcs'][_0x258807][_0x302e0b(0x460)][_0x302e0b(0x350)]=()=>{var _0x23b394=_0x302e0b;if(_0x611dc5)return;log(_0x23b394(0x883)),msg={},msg[_0x23b394(0x148)]={},msg[_0x23b394(0x148)]['label']=_0x2c8760[_0x23b394(0x751)],msg[_0x23b394(0x148)][_0x23b394(0x77)]=_0x2c8760[_0x23b394(0x77)],msg[_0x23b394(0x148)][_0x23b394(0xc0)]=_0x2c8760['muted'];try{(_0x2c8760[_0x23b394(0x5e5)]['length']||_0x2c8760[_0x23b394(0x6a3)])&&(msg[_0x23b394(0x148)][_0x23b394(0x61b)]=_0x2c8760[_0x23b394(0x5e5)]['join'](','));}catch(_0x258031){}msg[_0x23b394(0x148)]['directorSpeakerMuted']=_0x2c8760[_0x23b394(0x273)],msg['info'][_0x23b394(0x6da)]=_0x2c8760[_0x23b394(0x6da)],msg[_0x23b394(0x148)][_0x23b394(0x264)]=_0x2c8760[_0x23b394(0x264)],msg[_0x23b394(0x148)]['video_muted_init']=_0x2c8760[_0x23b394(0x402)];_0x2c8760[_0x23b394(0x2af)]?msg[_0x23b394(0x148)][_0x23b394(0xa2)]=!![]:msg['info'][_0x23b394(0xa2)]=![];if(_0x2c8760[_0x23b394(0x3c4)]){if(_0x2c8760['directorUUID']&&_0x2c8760[_0x23b394(0x8a8)]===_0x258807)_0x2c8760[_0x23b394(0x6e7)]();else{msg[_0x23b394(0x18b)]={},msg['directorSettings'][_0x23b394(0x82b)]=_0x2c8760[_0x23b394(0x82b)];_0x2c8760['soloChatUUID'][_0x23b394(0x542)]&&!_0x2c8760[_0x23b394(0x47b)][_0x23b394(0x4cc)](_0x258807)&&(msg[_0x23b394(0x148)]['muted']=!![]);var _0x2bf21b=[];for(var _0x4fac6b in _0x2c8760[_0x23b394(0x847)]){_0x2c8760['pcs'][_0x4fac6b]['coDirector']===!![]&&_0x2bf21b[_0x23b394(0x20d)](_0x4fac6b);}_0x2c8760[_0x23b394(0x877)]&&(msg[_0x23b394(0x18b)][_0x23b394(0x1ce)]=!![]),_0x2bf21b[_0x23b394(0x542)]&&(msg[_0x23b394(0x18b)][_0x23b394(0x26a)]=_0x2bf21b);}_0x2c8760[_0x23b394(0x104)]&&(msg[_0x23b394(0x148)][_0x23b394(0x10a)]=_0x2c8760['autoSyncObject']);}_0x2c8760[_0x23b394(0x4d7)]!==![]?msg[_0x23b394(0x148)][_0x23b394(0x420)]=!![]:msg[_0x23b394(0x148)][_0x23b394(0x420)]=![];_0x2c8760[_0x23b394(0x279)]?msg[_0x23b394(0x148)][_0x23b394(0x279)]=!![]:msg[_0x23b394(0x148)][_0x23b394(0x279)]=![];if(_0x2c8760[_0x23b394(0x135)])msg[_0x23b394(0x148)][_0x23b394(0x333)]=_0x2c8760['obsControls'];else{if(_0x2c8760['obsControls']===![])msg[_0x23b394(0x148)][_0x23b394(0x333)]=![];else _0x2c8760[_0x23b394(0x2af)]&&!_0x2c8760[_0x23b394(0x3c4)]?msg[_0x23b394(0x148)][_0x23b394(0x333)]=![]:msg[_0x23b394(0x148)][_0x23b394(0x333)]=null;}_0x2c8760[_0x23b394(0x71e)]&&(msg['info'][_0x23b394(0x71e)]=!![]);msg['info'][_0x23b394(0x24f)]=_0x2c8760[_0x23b394(0x56d)];_0x2c8760[_0x23b394(0x565)]?msg[_0x23b394(0x128)]=_0x2c8760['screenShareState']:msg['screenShareState']=![];msg['info'][_0x23b394(0x85d)]=_0x2c8760['width'],msg['info'][_0x23b394(0x1b5)]=_0x2c8760[_0x23b394(0x5e4)],msg[_0x23b394(0x148)][_0x23b394(0x8c0)]=_0x2c8760[_0x23b394(0x36d)],msg[_0x23b394(0x148)]['maxvb_url']=_0x2c8760[_0x23b394(0x88c)],msg['info'][_0x23b394(0x68f)]=_0x2c8760[_0x23b394(0x1e1)],msg['info'][_0x23b394(0x175)]=_0x2c8760['stereo'],msg[_0x23b394(0x148)][_0x23b394(0x7f7)]=_0x2c8760['echoCancellation'],msg[_0x23b394(0x148)]['agc_url']=_0x2c8760[_0x23b394(0x3ba)],msg[_0x23b394(0x148)][_0x23b394(0x6dc)]=_0x2c8760['noiseSuppression'],msg[_0x23b394(0x148)][_0x23b394(0x642)]=_0x2c8760[_0x23b394(0x642)],msg[_0x23b394(0x148)]['recording_audio_gain']=_0x2c8760[_0x23b394(0x6ec)],msg['info'][_0x23b394(0x610)]=_0x2c8760[_0x23b394(0x671)],msg['info'][_0x23b394(0x5ff)]=_0x2c8760[_0x23b394(0x41b)],msg['info'][_0x23b394(0x443)]=_0x2c8760[_0x23b394(0x473)],msg[_0x23b394(0x148)]['recording_audio_pipeline']=!_0x2c8760['disableWebAudio'],msg['info'][_0x23b394(0x67f)]=_0x2c8760[_0x23b394(0x6cb)],msg['info'][_0x23b394(0x747)]=_0x2c8760[_0x23b394(0x66c)],msg['info'][_0x23b394(0x527)]=_0x2c8760[_0x23b394(0x447)];_0x2c8760['stats']['network_type']&&(msg[_0x23b394(0x148)]['conn_type']=_0x2c8760[_0x23b394(0x744)][_0x23b394(0x502)]);_0x2c8760['forceRotate']!==![]?_0x2c8760[_0x23b394(0x531)]?msg['info'][_0x23b394(0x187)]=_0x2c8760[_0x23b394(0xe1)]+parseInt(_0x2c8760['rotate']):msg[_0x23b394(0x148)][_0x23b394(0x187)]=_0x2c8760[_0x23b394(0xe1)]:msg[_0x23b394(0x148)]['rotate_video']=_0x2c8760['rotate'];msg['info']['rotate_video']&&msg[_0x23b394(0x148)][_0x23b394(0x187)]>=0x168&&(msg[_0x23b394(0x148)][_0x23b394(0x187)]-=0x168);try{navigator&&navigator[_0x23b394(0x1d3)]&&(msg['info']['useragent']=navigator[_0x23b394(0x1d3)]);navigator&&navigator[_0x23b394(0x88)]&&(msg[_0x23b394(0x148)][_0x23b394(0x88)]=navigator['platform']);msg[_0x23b394(0x148)][_0x23b394(0x35c)]=gpgpuSupport;if(SafariVersion)msg[_0x23b394(0x148)][_0x23b394(0x7d4)]=_0x23b394(0x895);else{if(getChromeVersion()>0x3c)msg[_0x23b394(0x148)][_0x23b394(0x7d4)]=_0x23b394(0x3b4)+getChromeVersion();else{if(userAgent[_0x23b394(0x1db)](_0x23b394(0x8ef))>=0x0)msg[_0x23b394(0x148)][_0x23b394(0x7d4)]='Firefox';else userAgent[_0x23b394(0x1db)](_0x23b394(0x54a))>=0x0?msg[_0x23b394(0x148)][_0x23b394(0x7d4)]=_0x23b394(0x8c2):msg[_0x23b394(0x148)][_0x23b394(0x7d4)]=_0x23b394(0x5ba);}}}catch(_0x4a25b4){};_0x2c8760[_0x23b394(0xd0)]&&(_0x23b394(0x84f)in _0x2c8760['batteryState']&&(typeof _0x2c8760['batteryState'][_0x23b394(0x84f)]==_0x23b394(0x2ee)?msg[_0x23b394(0x148)][_0x23b394(0x359)]=parseInt(_0x2c8760[_0x23b394(0xd0)]['level']*0x64):msg[_0x23b394(0x148)][_0x23b394(0x359)]=_0x2c8760[_0x23b394(0xd0)][_0x23b394(0x84f)]),_0x23b394(0x6e4)in _0x2c8760[_0x23b394(0xd0)]&&(msg['info'][_0x23b394(0x2f0)]=_0x2c8760[_0x23b394(0xd0)]['charging']));_0x2c8760['cpuLimited']&&(msg[_0x23b394(0x148)]['cpuLimited']=_0x2c8760['cpuLimited']);try{_0x2c8760['info'][_0x23b394(0x74)]&&(msg[_0x23b394(0x700)]={},msg[_0x23b394(0x700)]['out']={},msg[_0x23b394(0x700)]['out']['c']=_0x2c8760[_0x23b394(0x148)][_0x23b394(0x74)]['c']);}catch(_0x3b37b4){}_0x2c8760[_0x23b394(0x205)](msg,_0x258807),pokeIframeAPI(_0x23b394(0x85e),!![],_0x258807),pokeIframeAPI(_0x23b394(0x54c),!![],_0x258807),updateUserList();},_0x2c8760['pcs'][_0x258807]['sendChannel'][_0x302e0b(0x482)]=()=>{var _0x302c16=_0x302e0b;pokeIframeAPI(_0x302c16(0x85e),![],_0x258807),_0x2c8760[_0x302c16(0x7ec)](),warnlog('send\x20channel\x20closed');return;},_0x2c8760[_0x302e0b(0x847)][_0x258807][_0x302e0b(0x460)][_0x302e0b(0x8b1)]=async function(_0x39646f){var _0x581fd1=_0x302e0b;log(_0x581fd1(0x43f));try{var _0x366287=JSON[_0x581fd1(0x2bc)](_0x39646f[_0x581fd1(0x547)]);}catch(_0x39edab){warnlog('Couldn\x27t\x20parse\x20JSON;\x20will\x20attempt\x20as\x20ArrayBuffer\x20UINT8ARRAY'),log(_0x39646f[_0x581fd1(0x547)]);try{var _0x5d2c3e=new TextDecoder()[_0x581fd1(0x4ef)](_0x39646f[_0x581fd1(0x547)]),_0x366287=JSON['parse'](_0x5d2c3e);}catch(_0x1a3a0b){try{var _0x366287=await new Response(_0x39646f['data'])[_0x581fd1(0x5e3)]();_0x366287=JSON[_0x581fd1(0x2bc)](_0x366287);}catch(_0x5664e3){return;}}}log(_0x366287);if('remote'in _0x366287)try{_0x366287=await _0x2c8760[_0x581fd1(0x6a4)](_0x366287);if(!_0x366287)return;}catch(_0x101b03){errorlor(_0x101b03);}'altUUID'in _0x366287?await _0x2c8760[_0x581fd1(0x1d2)](_0x366287,_0x258807+_0x581fd1(0x2cb)):await _0x2c8760['processPCSOnMessage'](_0x366287,_0x258807);};}_0x85a639(![]),_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x8da)]=function(_0x18f9a4){var _0x2a6b94=_0x275280;warnlog(_0x2a6b94(0x78b)),warnlog(_0x18f9a4);if(_0x18f9a4[_0x2a6b94(0x606)][_0x2a6b94(0x751)]&&_0x18f9a4[_0x2a6b94(0x606)][_0x2a6b94(0x751)]!=='sendChannel'){_0x2c8760[_0x2a6b94(0x885)](_0x2c8760[_0x2a6b94(0x186)],_0x258807,_0x18f9a4[_0x2a6b94(0x606)]);return;}},_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x41c)]=function(_0x3f6760){var _0x289846=_0x275280;log(_0x289846(0x711)),_0x2c8760[_0x289846(0x6f8)](_0x258807);},_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x223)]=_0x58c666=>{errorlog('Publisher\x20is\x20being\x20sent\x20a\x20video\x20stream???\x20NOT\x20EXPECTED!');},_0x2c8760[_0x275280(0x847)][_0x258807][_0x275280(0x618)]=null,_0x2c8760['pcs'][_0x258807]['iceBundle']=[],_0x2c8760['pcs'][_0x258807][_0x275280(0x15f)]=function(_0x5de8c4){var _0xae1775=_0x275280;if(_0x5de8c4[_0xae1775(0x182)]==null){log(_0xae1775(0x23e));return;}log(_0x5de8c4);try{if(_0x2c8760[_0xae1775(0x219)]){if(_0x5de8c4[_0xae1775(0x182)]['candidate'][_0xae1775(0x1db)](_0x2c8760[_0xae1775(0x219)])===-0x1){log(_0xae1775(0x87a));return;}else log(_0x5de8c4[_0xae1775(0x182)]);}}catch(_0x41f298){errorlog(_0x41f298);}if(_0x2c8760['pcs'][_0x258807][_0xae1775(0x618)]!==null){_0x2c8760[_0xae1775(0x847)][_0x258807][_0xae1775(0x535)][_0xae1775(0x20d)](_0x5de8c4[_0xae1775(0x182)]);return;}_0x2c8760['pcs'][_0x258807][_0xae1775(0x535)][_0xae1775(0x20d)](_0x5de8c4[_0xae1775(0x182)]),_0x2c8760[_0xae1775(0x847)][_0x258807][_0xae1775(0x618)]=setTimeout(function(_0x298dd9){var _0x48d7b9=_0xae1775;try{_0x2c8760[_0x48d7b9(0x847)][_0x298dd9][_0x48d7b9(0x618)]=null;}catch(_0x4a49eb){warnlog(_0x48d7b9(0x18e));return;}var _0x324a7d={};_0x324a7d[_0x48d7b9(0x86c)]=_0x298dd9,_0x324a7d['type']=_0x48d7b9(0x67d),_0x324a7d['candidates']=_0x2c8760['pcs'][_0x298dd9][_0x48d7b9(0x535)],_0x324a7d[_0x48d7b9(0x4d0)]=_0x2c8760[_0x48d7b9(0x847)][_0x298dd9]['session'],_0x2c8760[_0x48d7b9(0x847)][_0x298dd9]['iceBundle']=[],_0x2c8760[_0x48d7b9(0x55a)]?_0x2c8760[_0x48d7b9(0x60a)](JSON[_0x48d7b9(0xd4)](_0x324a7d['candidates']))['then'](function(_0x232e32){_0x324a7d['candidates']=_0x232e32[0x0],_0x324a7d['vector']=_0x232e32[0x1],_0x2c8760['anysend'](_0x324a7d);})[_0x48d7b9(0x538)](errorlog):_0x2c8760[_0x48d7b9(0x4ad)](_0x324a7d);},0xc8,_0x258807);},_0x2c8760[_0x275280(0x1d2)]=async function(_0x2e1be9,_0x1d0707){var _0x14af91=_0x275280;_0x2e1be9[_0x14af91(0x86c)]=_0x1d0707;if(_0x2e1be9[_0x14af91(0x80c)]){_0x2c8760[_0x14af91(0x412)](_0x2e1be9);return;}else{if(_0x2e1be9['candidate']){log('GOT\x20ICE!!'),_0x2c8760[_0x14af91(0x4e9)](_0x2e1be9);return;}else{if(_0x2e1be9[_0x14af91(0x7a5)]){log(_0x14af91(0x826)),_0x2c8760[_0x14af91(0x730)](_0x2e1be9);return;}else{if(_0x14af91(0x7ec)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x3fe)]=_0x2e1be9[_0x14af91(0x7ec)],_0x2c8760['sendMessage'](_0x2d4c23,_0x1d0707),warnlog(_0x14af91(0x856));return;}else{if('pong'in _0x2e1be9){warnlog(_0x14af91(0x3f7));return;}else{if('bye'in _0x2e1be9){warnlog(_0x14af91(0x904)),log(_0x14af91(0x2b0)),_0x2c8760[_0x14af91(0x8db)](_0x1d0707);return;}}}}}}if(_0x2c8760[_0x14af91(0x3c4)]){if(_0x14af91(0x2d8)in _0x2e1be9&&_0x14af91(0x4e8)in _0x2e1be9){if(_0x2c8760[_0x14af91(0x416)])_0x2c8760[_0x14af91(0x791)]?_0x2c8760['decryptMessage'](_0x2e1be9['requestCoDirector'],_0x2e1be9['vector'],_0x2c8760[_0x14af91(0x791)])[_0x14af91(0x414)](function(_0x32bc36){var _0x3aa32a=_0x14af91;if(_0x32bc36===_0x2c8760[_0x3aa32a(0x791)]){_0x2c8760[_0x3aa32a(0x847)][_0x1d0707][_0x3aa32a(0x3b8)]=!![],getById('container_'+_0x1d0707)[_0x3aa32a(0x60b)][_0x3aa32a(0x48f)](_0x3aa32a(0x804)),_0x2c8760[_0x3aa32a(0x670)](_0x1d0707);var _0x4dfdcb={};_0x4dfdcb[_0x3aa32a(0x7c2)]=_0x3aa32a(0x2d8),_0x2c8760[_0x3aa32a(0x205)](_0x4dfdcb,_0x1d0707);}else{warnlog('codirector\x20request\x20hash\x20failed');var _0x4dfdcb={};_0x4dfdcb['rejected']=_0x3aa32a(0x2d8),_0x2c8760[_0x3aa32a(0x205)](_0x4dfdcb,_0x1d0707);}})[_0x14af91(0x538)](function(){var _0x34b85c=_0x14af91;warnlog(_0x34b85c(0x5ad));var _0x539fd3={};_0x539fd3[_0x34b85c(0x5d6)]='requestCoDirector',_0x2c8760[_0x34b85c(0x205)](_0x539fd3,_0x1d0707);}):generateHash(_0x2c8760['directorPassword']+_0x2c8760[_0x14af91(0x6ad)]+_0x14af91(0x6e),0xc)[_0x14af91(0x414)](function(_0x481aaa){var _0x1ec17c=_0x14af91;_0x2c8760[_0x1ec17c(0x791)]=_0x481aaa,_0x2c8760[_0x1ec17c(0x655)](_0x2e1be9[_0x1ec17c(0x2d8)],_0x2e1be9[_0x1ec17c(0x4e8)],_0x2c8760[_0x1ec17c(0x791)])[_0x1ec17c(0x414)](function(_0x8d4140){var _0x4bcc99=_0x1ec17c;if(_0x8d4140===_0x2c8760[_0x4bcc99(0x791)]){_0x2c8760[_0x4bcc99(0x847)][_0x1d0707]['coDirector']=!![],getById(_0x4bcc99(0x2e9)+_0x1d0707)[_0x4bcc99(0x60b)]['add'](_0x4bcc99(0x804)),_0x2c8760[_0x4bcc99(0x670)](_0x1d0707);var _0x25d151={};_0x25d151[_0x4bcc99(0x7c2)]=_0x4bcc99(0x2d8),_0x2c8760['sendRequest'](_0x25d151,_0x1d0707);}else{warnlog(_0x4bcc99(0x72e));var _0x25d151={};_0x25d151[_0x4bcc99(0x5d6)]='requestCoDirector',_0x2c8760[_0x4bcc99(0x3fd)](_0x25d151,_0x1d0707);}})['catch'](function(){var _0x199b7f=_0x1ec17c;warnlog('Failed\x20attempt\x20to\x20connect\x20as\x20co-director');var _0x34afb4={};_0x34afb4[_0x199b7f(0x5d6)]=_0x199b7f(0x2d8),_0x2c8760[_0x199b7f(0x3fd)](_0x34afb4,_0x1d0707);});return;})[_0x14af91(0x538)](errorlog);else{warnlog(_0x14af91(0x408));var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x2d8),_0x2c8760[_0x14af91(0x3fd)](_0x2d4c23,_0x1d0707);}}if('migrate'in _0x2e1be9&&'roomid'in _0x2e1be9){log(_0x14af91(0x1c8));if(_0x2c8760[_0x14af91(0x721)]){if(_0x1d0707 in _0x2c8760[_0x14af91(0x847)]&&_0x2c8760[_0x14af91(0x847)][_0x1d0707]['coDirector']===!![]){log(_0x14af91(0x486));var _0x2d4c23={};if(_0x2e1be9['transferSettings']&&_0x2e1be9[_0x14af91(0x50d)][_0x14af91(0x564)]){_0x2d4c23[_0x14af91(0x10b)]=_0x14af91(0x799),_0x2d4c23[_0x14af91(0x50d)]=_0x2e1be9[_0x14af91(0x50d)],log(_0x2d4c23);if(_0x2c8760[_0x14af91(0x3fd)](_0x2d4c23,_0x2e1be9[_0x14af91(0x799)][_0x14af91(0x4fe)]())){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x10b)]='migrate',_0x2d4c23[_0x14af91(0x2af)]=_0x2e1be9[_0x14af91(0x2af)],_0x2d4c23[_0x14af91(0x52a)]=_0x2e1be9[_0x14af91(0x799)][_0x14af91(0x4fe)](),_0x2c8760[_0x14af91(0x100)](_0x2d4c23);}log(_0x2d4c23);}else{if(_0x2e1be9['transferSettings']&&_0x14af91(0x4d7)in _0x2e1be9[_0x14af91(0x50d)]){_0x2d4c23[_0x14af91(0x10b)]=_0x14af91(0x799),_0x2d4c23[_0x14af91(0x50d)]=_0x2e1be9[_0x14af91(0x50d)],delete _0x2d4c23[_0x14af91(0x50d)][_0x14af91(0x2af)],delete _0x2d4c23[_0x14af91(0x50d)][_0x14af91(0x680)],log(_0x2d4c23);if(_0x2c8760[_0x14af91(0x3fd)](_0x2d4c23,_0x2e1be9[_0x14af91(0x799)]['toString']())){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x10b)]='migrate',_0x2d4c23[_0x14af91(0x2af)]=_0x2e1be9[_0x14af91(0x2af)],_0x2d4c23[_0x14af91(0x52a)]=_0x2e1be9['migrate']['toString'](),_0x2c8760[_0x14af91(0x100)](_0x2d4c23);}log(_0x2d4c23);}else _0x2d4c23[_0x14af91(0x10b)]=_0x14af91(0x799),_0x2d4c23[_0x14af91(0x2af)]=_0x2e1be9[_0x14af91(0x2af)],_0x2d4c23['target']=_0x2e1be9[_0x14af91(0x799)][_0x14af91(0x4fe)](),_0x2c8760[_0x14af91(0x100)](_0x2d4c23);}pokeIframeAPI(_0x14af91(0x6e1),_0x2e1be9[_0x14af91(0x2af)],_0x2e1be9[_0x14af91(0x799)]['toString']());}}else{var _0x2d4c23={};_0x2d4c23['rejected']=_0x14af91(0x6db),_0x2c8760[_0x14af91(0x3fd)](_0x2d4c23,_0x1d0707);}}}if(_0x14af91(0x49a)in _0x2e1be9){if(!_0x2e1be9[_0x14af91(0x86c)]){log(_0x14af91(0x80b));return;}var _0x23533b=_0x2e1be9['requestAs'];if(!_0x2c8760[_0x14af91(0x847)][_0x23533b]){log(_0x14af91(0x194));return;}if(_0x2c8760['directorList'][_0x14af91(0x1db)](_0x23533b)>=0x0){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x49a),_0x2c8760['sendMessage'](_0x2d4c23,_0x2e1be9[_0x14af91(0x86c)]),warnlog(_0x14af91(0x319));return;}if(_0x2c8760[_0x14af91(0x279)]){if(_0x14af91(0x279)in _0x2e1be9&&_0x2e1be9[_0x14af91(0x279)]===_0x2c8760['remote']&&_0x2c8760['remote']){}else{if(_0x2c8760[_0x14af91(0x279)]===!![]){}}}else{if(_0x2c8760[_0x14af91(0x807)]['indexOf'](_0x2e1be9[_0x14af91(0x86c)])>=0x0){}else return;}_0x14af91(0x7b4)in _0x2e1be9&&_0x2c8760[_0x14af91(0x7b4)](_0x23533b,_0x2e1be9['targetBitrate']);'targetAudioBitrate'in _0x2e1be9&&_0x2c8760[_0x14af91(0x2d3)](_0x23533b,_0x2e1be9[_0x14af91(0x2d3)]);if(_0x14af91(0x41f)in _0x2e1be9)try{_0x2e1be9[_0x14af91(0x41f)]['s']?_0x2c8760[_0x14af91(0x4af)](_0x23533b,_0x2e1be9[_0x14af91(0x41f)]['w'],_0x2e1be9[_0x14af91(0x41f)]['h'],!![]):_0x2c8760['setResolution'](_0x23533b,_0x2e1be9[_0x14af91(0x41f)]['w'],_0x2e1be9[_0x14af91(0x41f)]['h'],![]);}catch(_0xe2fff3){errorlog(_0xe2fff3);}return;}try{if(_0x14af91(0x148)in _0x2e1be9){_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x744)][_0x14af91(0x148)]=_0x2e1be9['info'];'label'in _0x2e1be9[_0x14af91(0x148)]&&(typeof _0x2e1be9[_0x14af91(0x148)][_0x14af91(0x751)]=='string'?_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x751)]=sanitizeLabel(_0x2e1be9[_0x14af91(0x148)]['label']):_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x751)]=![]);if(_0x1d0707===_0x2c8760['directorUUID'])try{_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x744)][_0x14af91(0x148)][_0x14af91(0x3c4)]=!![];}catch(_0x368e32){}else{if(_0x2c8760['directorList']['indexOf'](_0x1d0707)>=0x0)try{_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x744)]['info'][_0x14af91(0x3b8)]=!![];}catch(_0x53df4d){}}if(Firefox)try{_0x14af91(0x21b)in _0x2e1be9['info']&&(_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x137)]===![]&&(_0x2e1be9['info'][_0x14af91(0x21b)]&&parseInt(_0x2e1be9[_0x14af91(0x148)][_0x14af91(0x21b)])>0x0&&(_0x2c8760[_0x14af91(0x847)][_0x1d0707]['savedBitrate']=parseInt(_0x2e1be9[_0x14af91(0x148)][_0x14af91(0x21b)]),_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x867)]&&clearTimeout(_0x2c8760['pcs'][_0x1d0707]['bitrateTimeout']),_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x867)]=setTimeout(function(_0x2c0a07){var _0x3d2bd2=_0x14af91;_0x2c8760[_0x3d2bd2(0x85f)](_0x2c0a07,null);},0x3e8,_0x1d0707))));}catch(_0x2dd452){errorlog(_0x2dd452);}pokeIframeAPI(_0x14af91(0x3ee),_0x2e1be9[_0x14af91(0x148)],_0x1d0707);}if(_0x14af91(0x534)in _0x2e1be9){if(_0x2c8760[_0x14af91(0x584)])try{_0x2c8760[_0x14af91(0x584)][_0x14af91(0x810)](_0x14af91(0x8fb))&&processIframeSyncFeedback(_0x2e1be9['ifs'],_0x1d0707);}catch(_0x4ba729){errorlog(_0x4ba729);}}_0x14af91(0x479)in _0x2e1be9&&_0x2c8760[_0x14af91(0x5f2)](_0x2e1be9[_0x14af91(0x479)],_0x1d0707);'autoSync'in _0x2e1be9&&(_0x2c8760['autoSyncObject']=_0x2e1be9[_0x14af91(0x10a)],_0x2c8760[_0x14af91(0x6f6)](_0x1d0707));'optimizedBitrate'in _0x2e1be9&&(_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x5b2)]=parseInt(_0x2e1be9[_0x14af91(0x5b2)]));_0x14af91(0x9f)in _0x2e1be9&&_0x2c8760[_0x14af91(0x14f)](_0x1d0707,_0x2e1be9['audioBitrate']);_0x14af91(0x4ca)in _0x2e1be9&&_0x2c8760['limitBitrate'](_0x1d0707,_0x2e1be9['bitrate']);_0x14af91(0x7b4)in _0x2e1be9&&_0x2c8760[_0x14af91(0x7b4)](_0x1d0707,_0x2e1be9[_0x14af91(0x7b4)]);_0x14af91(0x2d3)in _0x2e1be9&&_0x2c8760[_0x14af91(0x2d3)](_0x1d0707,_0x2e1be9[_0x14af91(0x2d3)]);if('hangup'in _0x2e1be9){if('remote'in _0x2e1be9){if(_0x2e1be9['remote']===_0x2c8760['remote']&&_0x2c8760['remote']||_0x2c8760[_0x14af91(0x279)]===!![]){_0x2c8760[_0x14af91(0x5a6)]();return;}}}if(_0x14af91(0x41a)in _0x2e1be9){if(_0x14af91(0x279)in _0x2e1be9){if(_0x2e1be9[_0x14af91(0x279)]===_0x2c8760['remote']&&_0x2c8760['remote']||_0x2c8760['remote']===!![]){_0x2c8760[_0x14af91(0x5a6)](!![]);return;}}}if('requestStats'in _0x2e1be9){if(_0x2c8760[_0x14af91(0x807)]['indexOf'](_0x1d0707)>=0x0){var _0xade854={};if(_0x2c8760['mc'][_0x14af91(0x744)])_0xade854['meshcast']=_0x2c8760['mc'][_0x14af91(0x744)];else for(var _0x5ab576 in _0x2c8760[_0x14af91(0x847)]){if(_0x5ab576===_0x1d0707)continue;_0xade854[_0x5ab576]=_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)];}var _0x2d4c23={};_0x2d4c23[_0x14af91(0x404)]=_0xade854,_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x279)in _0x2e1be9){if(_0x2e1be9['remote']===_0x2c8760[_0x14af91(0x279)]&&_0x2c8760[_0x14af91(0x279)]||_0x2c8760[_0x14af91(0x279)]===!![]){var _0xade854={};if(_0x2c8760['mc'][_0x14af91(0x744)])_0xade854[_0x14af91(0x331)]=_0x2c8760['mc'][_0x14af91(0x744)];else for(var _0x5ab576 in _0x2c8760[_0x14af91(0x847)]){if(_0x5ab576===_0x1d0707)continue;_0xade854[_0x5ab576]=_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)];}var _0x2d4c23={};_0x2d4c23[_0x14af91(0x404)]=_0xade854,_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}}else{var _0xade854={};if(_0x2c8760['mc']['stats'])_0xade854[_0x14af91(0x331)]=_0x2c8760['mc']['stats'];else for(var _0x5ab576 in _0x2c8760['pcs']){if(_0x5ab576===_0x1d0707)continue;if(!_0x2c8760[_0x14af91(0x847)][_0x5ab576]['stats'])continue;if(_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x2f8)])continue;if(_0x2c8760[_0x14af91(0x2af)]){if(_0x14af91(0x54d)in _0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)]){if(_0x2c8760[_0x14af91(0x847)][_0x5ab576]['stats'][_0x14af91(0x54d)]===![])continue;}else continue;}_0xade854[_0x5ab576]={},_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)][_0x14af91(0x328)]&&(_0xade854[_0x5ab576][_0x14af91(0x328)]=_0x2c8760[_0x14af91(0x847)][_0x5ab576]['stats']['video_bitrate_kbps']),_0x2c8760['pcs'][_0x5ab576][_0x14af91(0x744)][_0x14af91(0x518)]&&(_0xade854[_0x5ab576][_0x14af91(0x518)]=_0x2c8760[_0x14af91(0x847)][_0x5ab576]['stats'][_0x14af91(0x518)]),_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)][_0x14af91(0x77e)]&&(_0xade854[_0x5ab576][_0x14af91(0x77e)]=_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)]['available_outgoing_bitrate_kbps']),_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)]['scene']&&(_0xade854[_0x5ab576][_0x14af91(0x54d)]=_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)][_0x14af91(0x54d)]),_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x751)]&&(_0xade854[_0x5ab576][_0x14af91(0x751)]=_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x751)]),_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)]['resolution']&&(_0xade854[_0x5ab576][_0x14af91(0x1dc)]=_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)][_0x14af91(0x1dc)]),_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)][_0x14af91(0x2f9)]&&(_0xade854[_0x5ab576][_0x14af91(0x2f9)]=_0x2c8760[_0x14af91(0x847)][_0x5ab576]['stats'][_0x14af91(0x2f9)]);}var _0x2d4c23={};_0x2d4c23[_0x14af91(0x404)]=_0xade854,_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}}}if(_0x14af91(0x693)in _0x2e1be9){clearInterval(_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x666)]);if(_0x2c8760[_0x14af91(0x807)][_0x14af91(0x1db)](_0x1d0707)>=0x0){if(_0x2e1be9[_0x14af91(0x693)]){_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x666)]=setInterval(function(_0x219f3b){var _0x667195=_0x14af91,_0x4c3dd9={};if(_0x2c8760['mc'][_0x667195(0x744)])_0x4c3dd9[_0x667195(0x331)]=_0x2c8760['mc'][_0x667195(0x744)];else for(var _0x15302e in _0x2c8760[_0x667195(0x847)]){if(_0x15302e===_0x219f3b)continue;if(!_0x2c8760[_0x667195(0x847)][_0x15302e][_0x667195(0x744)])continue;if(_0x2c8760[_0x667195(0x847)][_0x15302e]['guest'])continue;_0x4c3dd9[_0x15302e]=_0x2c8760[_0x667195(0x847)][_0x15302e][_0x667195(0x744)];}var _0x33ae69={};_0x33ae69[_0x667195(0x404)]=_0x4c3dd9,_0x2c8760[_0x667195(0x205)](_0x33ae69,_0x219f3b);},0xbb8,_0x1d0707);var _0xade854={};if(_0x2c8760['mc'][_0x14af91(0x744)])_0xade854[_0x14af91(0x331)]=_0x2c8760['mc']['stats'];else for(var _0x5ab576 in _0x2c8760['pcs']){if(_0x5ab576===_0x1d0707)continue;if(!_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)])continue;if(_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x2f8)])continue;_0xade854[_0x5ab576]=_0x2c8760['pcs'][_0x5ab576][_0x14af91(0x744)];}var _0x2d4c23={};_0x2d4c23[_0x14af91(0x404)]=_0xade854,_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}}else{if(_0x14af91(0x279)in _0x2e1be9){if(_0x2e1be9[_0x14af91(0x279)]===_0x2c8760['remote']&&_0x2c8760['remote']||_0x2c8760['remote']===!![]){if(_0x2e1be9[_0x14af91(0x693)]){_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x666)]=setInterval(function(_0x3e080d){var _0x307806=_0x14af91,_0x4252d8={};if(_0x2c8760['mc']['stats'])_0x4252d8[_0x307806(0x331)]=_0x2c8760['mc'][_0x307806(0x744)];else for(var _0xd36fb1 in _0x2c8760[_0x307806(0x847)]){if(_0xd36fb1===_0x3e080d)continue;if(!_0x2c8760[_0x307806(0x847)][_0xd36fb1][_0x307806(0x744)])continue;if(_0x2c8760[_0x307806(0x847)][_0xd36fb1][_0x307806(0x2f8)])continue;_0x4252d8[_0xd36fb1]=_0x2c8760[_0x307806(0x847)][_0xd36fb1][_0x307806(0x744)];}var _0x397e63={};_0x397e63[_0x307806(0x404)]=_0x4252d8,_0x2c8760[_0x307806(0x205)](_0x397e63,_0x3e080d);},0xbb8,_0x1d0707);var _0xade854={};if(_0x2c8760['mc'][_0x14af91(0x744)])_0xade854[_0x14af91(0x331)]=_0x2c8760['mc'][_0x14af91(0x744)];else for(var _0x5ab576 in _0x2c8760['pcs']){if(_0x5ab576===_0x1d0707)continue;if(!_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)])continue;if(_0x2c8760['pcs'][_0x5ab576]['guest'])continue;_0xade854[_0x5ab576]=_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)];}var _0x2d4c23={};_0x2d4c23[_0x14af91(0x404)]=_0xade854,_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}}}else{if(_0x2e1be9[_0x14af91(0x693)]){_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x666)]=setInterval(function(_0x6c260){var _0x462f56=_0x14af91,_0x2a2007={};if(_0x2c8760['mc'][_0x462f56(0x744)])_0x2a2007['meshcast']=_0x2c8760['mc']['stats'];else for(var _0x215980 in _0x2c8760[_0x462f56(0x847)]){if(_0x215980===_0x6c260)continue;if(!_0x2c8760[_0x462f56(0x847)][_0x215980][_0x462f56(0x744)])continue;if(_0x2c8760[_0x462f56(0x847)][_0x215980][_0x462f56(0x2f8)])continue;if(_0x2c8760[_0x462f56(0x2af)]){if(_0x462f56(0x54d)in _0x2c8760['pcs'][_0x215980][_0x462f56(0x744)]){if(_0x2c8760[_0x462f56(0x847)][_0x215980][_0x462f56(0x744)][_0x462f56(0x54d)]===![])continue;}else continue;}_0x2a2007[_0x215980]={},_0x2c8760['pcs'][_0x215980]['stats'][_0x462f56(0x328)]&&(_0x2a2007[_0x215980][_0x462f56(0x328)]=_0x2c8760[_0x462f56(0x847)][_0x215980][_0x462f56(0x744)][_0x462f56(0x328)]),_0x2c8760[_0x462f56(0x847)][_0x215980][_0x462f56(0x744)][_0x462f56(0x518)]&&(_0x2a2007[_0x215980][_0x462f56(0x518)]=_0x2c8760[_0x462f56(0x847)][_0x215980][_0x462f56(0x744)][_0x462f56(0x518)]),_0x2c8760[_0x462f56(0x847)][_0x215980][_0x462f56(0x744)][_0x462f56(0x77e)]&&(_0x2a2007[_0x215980]['available_outgoing_bitrate_kbps']=_0x2c8760['pcs'][_0x215980][_0x462f56(0x744)][_0x462f56(0x77e)]),_0x2c8760[_0x462f56(0x847)][_0x215980][_0x462f56(0x744)][_0x462f56(0x54d)]&&(_0x2a2007[_0x215980][_0x462f56(0x54d)]=_0x2c8760[_0x462f56(0x847)][_0x215980]['stats'][_0x462f56(0x54d)]),_0x2c8760[_0x462f56(0x847)][_0x215980][_0x462f56(0x751)]&&(_0x2a2007[_0x215980][_0x462f56(0x751)]=_0x2c8760[_0x462f56(0x847)][_0x215980][_0x462f56(0x751)]),_0x2c8760['pcs'][_0x215980]['stats'][_0x462f56(0x1dc)]&&(_0x2a2007[_0x215980][_0x462f56(0x1dc)]=_0x2c8760[_0x462f56(0x847)][_0x215980]['stats']['resolution']),_0x2c8760[_0x462f56(0x847)][_0x215980]['stats'][_0x462f56(0x2f9)]&&(_0x2a2007[_0x215980]['video_encoder']=_0x2c8760[_0x462f56(0x847)][_0x215980][_0x462f56(0x744)][_0x462f56(0x2f9)]);}var _0x499d94={};_0x499d94['remoteStats']=_0x2a2007,_0x2c8760['sendMessage'](_0x499d94,_0x6c260);},0xbb8,_0x1d0707);var _0xade854={};if(_0x2c8760['mc']['stats'])_0xade854['meshcast']=_0x2c8760['mc'][_0x14af91(0x744)];else for(var _0x5ab576 in _0x2c8760['pcs']){if(_0x5ab576===_0x1d0707)continue;if(!_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)])continue;if(_0x2c8760['pcs'][_0x5ab576][_0x14af91(0x2f8)])continue;if(_0x2c8760['roomid']){if('scene'in _0x2c8760[_0x14af91(0x847)][_0x5ab576]['stats']){if(_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)][_0x14af91(0x54d)]===![])continue;}else continue;}_0xade854[_0x5ab576]={},_0x2c8760[_0x14af91(0x847)][_0x5ab576]['stats'][_0x14af91(0x328)]&&(_0xade854[_0x5ab576][_0x14af91(0x328)]=_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)][_0x14af91(0x328)]),_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)]['nacks_per_second']&&(_0xade854[_0x5ab576][_0x14af91(0x518)]=_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)][_0x14af91(0x518)]),_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)][_0x14af91(0x77e)]&&(_0xade854[_0x5ab576][_0x14af91(0x77e)]=_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)][_0x14af91(0x77e)]),_0x2c8760['pcs'][_0x5ab576]['stats'][_0x14af91(0x54d)]&&(_0xade854[_0x5ab576]['scene']=_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)]['scene']),_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x751)]&&(_0xade854[_0x5ab576][_0x14af91(0x751)]=_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x751)]),_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)]['resolution']&&(_0xade854[_0x5ab576][_0x14af91(0x1dc)]=_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)]['resolution']),_0x2c8760['pcs'][_0x5ab576][_0x14af91(0x744)][_0x14af91(0x2f9)]&&(_0xade854[_0x5ab576]['video_encoder']=_0x2c8760[_0x14af91(0x847)][_0x5ab576][_0x14af91(0x744)]['video_encoder']);}var _0x2d4c23={};_0x2d4c23[_0x14af91(0x404)]=_0xade854,_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}}}}if(_0x14af91(0x41f)in _0x2e1be9)try{_0x2e1be9[_0x14af91(0x41f)]['s']?_0x2c8760[_0x14af91(0x4af)](_0x2e1be9[_0x14af91(0x86c)],_0x2e1be9[_0x14af91(0x41f)]['w'],_0x2e1be9[_0x14af91(0x41f)]['h'],!![]):_0x2c8760[_0x14af91(0x4af)](_0x2e1be9['UUID'],_0x2e1be9[_0x14af91(0x41f)]['w'],_0x2e1be9[_0x14af91(0x41f)]['h'],![]);}catch(_0x3b14f2){errorlog(_0x3b14f2);}_0x14af91(0x312)in _0x2e1be9&&(_0x2e1be9[_0x14af91(0x54d)]?_0x2c8760[_0x14af91(0x807)][_0x14af91(0x1db)](_0x1d0707)>=0x0?_0x2c8760[_0x14af91(0x427)]():errorlog(_0x14af91(0x70f)):_0x2c8760['forcePLI'](_0x1d0707));if(_0x14af91(0x166)in _0x2e1be9){var _0x2c326f=![],_0x5a6253=![];_0x2c8760[_0x14af91(0x807)][_0x14af91(0x1db)](_0x1d0707)>=0x0&&(_0x2c326f=!![],_0x14af91(0x728)in _0x2e1be9&&(_0x2e1be9[_0x14af91(0x728)]==!![]&&(_0x5a6253=!![]))),log(_0x14af91(0x827)+_0x2c326f),getChatMessage(_0x2e1be9[_0x14af91(0x166)],_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x751)],_0x2c326f,_0x5a6253);}if('order'in _0x2e1be9){_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x77)]=parseInt(_0x2e1be9[_0x14af91(0x77)])||0x0;_0x1d0707 in _0x2c8760['rpcs']&&(_0x2c8760[_0x14af91(0x186)][_0x1d0707][_0x14af91(0x77)]=_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x77)]);if(_0x2c8760[_0x14af91(0x3c4)]){var _0x4cab9f=document[_0x14af91(0x233)](_0x14af91(0x890)+_0x1d0707+'\x22]');log(_0x4cab9f),_0x4cab9f[0x0]&&(_0x4cab9f[0x0][_0x14af91(0x780)]=parseInt(_0x2e1be9[_0x14af91(0x77)])||0x0);}updateMixer();}_0x14af91(0x555)in _0x2e1be9&&_0x2c8760[_0x14af91(0x235)](_0x1d0707,parseFloat(_0x2e1be9[_0x14af91(0x555)])||0x0);if(_0x2c8760['director']&&_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x3b8)]&&_0x14af91(0x4c8)in _0x2e1be9){log(_0x2e1be9),_0x2c8760['syncState']=_0x2e1be9[_0x14af91(0x4c8)];for(var _0x3096f4 in _0x2c8760[_0x14af91(0x23c)]){syncSceneState(_0x3096f4),syncOtherState(_0x3096f4);}}if(_0x2c8760[_0x14af91(0x807)][_0x14af91(0x1db)](_0x1d0707)==-0x1){if('requestAudioHack'in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x4d6),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if('requestVideoRecord'in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]='requestVideoRecord',_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x36a)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23['rejected']=_0x14af91(0x36a),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x766)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23['rejected']=_0x14af91(0x766),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x239)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x239),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if('requestChangeEQ'in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x248),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x4ae)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]='requestChangeGating',_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x1b6)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x1b6),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x79f)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]='requestChangeSubGain',_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x7ce)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x7ce),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x6c5)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23['rejected']=_0x14af91(0x6c5),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x5a6)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x5a6),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x4b0)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x4b0),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x820)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x820),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x1d5)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x1d5),_0x2c8760['sendMessage'](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x725)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]='micIsolated',_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if('requestUpload'in _0x2e1be9){var _0x2d4c23={};_0x2d4c23['rejected']=_0x14af91(0x83),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if('stopClock'in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]='stopClock',_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x7c4)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x7c4),_0x2c8760['sendMessage'](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x773)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]='setClock',_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if('hideClock'in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x65d),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if('showClock'in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x3c3),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x2ed)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x2ed),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x912)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x912),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if(_0x14af91(0x441)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23['rejected']=_0x14af91(0x441),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}else{if('group'in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x5d6)]=_0x14af91(0x5e5),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x1d0707);}}}}}}}}}}}}}}}}}}}}}}}}}}}else{if('requestAudioHack'in _0x2e1be9){var _0x1f46d9=_0x2c8760[_0x14af91(0x29c)][_0x14af91(0x556)]();_0x1f46d9[_0x14af91(0x542)]&&(_0x14af91(0x4e6)in _0x2e1be9?applyAudioHack(_0x2e1be9[_0x14af91(0xa5)],_0x2e1be9[_0x14af91(0x295)],_0x2e1be9[_0x14af91(0x4e6)]):applyAudioHack(_0x2e1be9[_0x14af91(0xa5)],_0x2e1be9[_0x14af91(0x295)]));}if(_0x14af91(0x722)in _0x2e1be9){if(_0x2e1be9['requestVideoRecord']){if(_0x2c8760[_0x14af91(0x850)]){var _0x12420c=0x1770;_0x2e1be9['value']&&(_0x12420c=parseInt(_0x2e1be9[_0x14af91(0x295)])),recordLocalVideo(_0x14af91(0x608),_0x12420c);}}else _0x2c8760[_0x14af91(0x850)]&&recordLocalVideo(_0x14af91(0xee));}if('changeOrder'in _0x2e1be9){_0x2c8760[_0x14af91(0x77)]==![]&&(_0x2c8760[_0x14af91(0x77)]=0x0);_0x2c8760['order']+=parseInt(_0x2e1be9[_0x14af91(0x36a)])||0x0;var _0x2d4c23={};_0x2d4c23={},_0x2d4c23[_0x14af91(0x77)]=_0x2c8760['order'],_0x2c8760[_0x14af91(0xdc)](_0x2d4c23),updateMixer();}'changeURL'in _0x2e1be9&&changeURL(_0x2e1be9[_0x14af91(0x766)]);_0x14af91(0x777)in _0x2e1be9&&stopClock();_0x14af91(0x7c4)in _0x2e1be9&&resumeClock();_0x14af91(0x773)in _0x2e1be9&&setClock(_0x2e1be9[_0x14af91(0x773)]);_0x14af91(0x65d)in _0x2e1be9&&hideClock();'showClock'in _0x2e1be9&&showClock();_0x14af91(0x2ed)in _0x2e1be9&&startClock();'pauseClock'in _0x2e1be9&&pauseClock();if(_0x14af91(0x441)in _0x2e1be9){if(_0x2c8760[_0x14af91(0x441)]!==![]){if(_0x2e1be9[_0x14af91(0x441)]&&!_0x2c8760['showTime'])toggleClock();else!_0x2e1be9[_0x14af91(0x441)]&&_0x2c8760[_0x14af91(0x441)]&&toggleClock();}}'requestUpload'in _0x2e1be9&&toggleFileshare(_0x1d0707);if(_0x14af91(0x5e5)in _0x2e1be9)try{_0x2c8760['sendMessage']({'group':_0x2e1be9[_0x14af91(0x5e5)]}),_0x2e1be9[_0x14af91(0x5e5)]?_0x2c8760['group']=_0x2e1be9['group'][_0x14af91(0x75e)](','):_0x2c8760[_0x14af91(0x5e5)]=[],updateMixer(),pokeIframeAPI(_0x14af91(0x825),_0x2c8760[_0x14af91(0x5e5)]);}catch(_0x54f238){}if(_0x14af91(0x239)in _0x2e1be9){if(_0x14af91(0x295)in _0x2e1be9){if(typeof _0x2e1be9[_0x14af91(0x295)]==_0x14af91(0x6b3)){_0x2c8760['label']=sanitizeLabel(_0x2e1be9[_0x14af91(0x295)]),log('New\x20Label:\x20'+_0x2c8760['label']);if(_0x2c8760[_0x14af91(0x3c4)]){var _0x4cab9f=getById(_0x14af91(0x6f2)+_0x1d0707);if(_0x2c8760[_0x14af91(0x751)])_0x4cab9f[_0x14af91(0x780)]=_0x2c8760['label'],_0x4cab9f[_0x14af91(0x60b)][_0x14af91(0x8ec)](_0x14af91(0x405));else _0x2c8760['directorUUID']===_0x1d0707?(_0x4cab9f[_0x14af91(0x780)]=miscTranslations[_0x14af91(0x481)],_0x4cab9f[_0x14af91(0x60b)][_0x14af91(0x8ec)](_0x14af91(0x405))):(_0x4cab9f[_0x14af91(0x780)]=miscTranslations[_0x14af91(0x710)],_0x4cab9f[_0x14af91(0x60b)][_0x14af91(0x48f)](_0x14af91(0x405)));}else _0x2c8760[_0x14af91(0x7c)]&&updateMixer();!_0x2c8760[_0x14af91(0x3c4)]&&(_0x2c8760[_0x14af91(0x751)]?document[_0x14af91(0x833)]=_0x2c8760[_0x14af91(0x751)]:document[_0x14af91(0x833)]=location[_0x14af91(0x63b)]);var _0x17cdea=encodeURIComponent(_0x2c8760[_0x14af91(0x751)]);urlParams[_0x14af91(0x612)]('l')?updateURL('l='+_0x17cdea,!![],![]):updateURL(_0x14af91(0x781)+_0x17cdea,!![],![]);var _0x2d4c23={};_0x2d4c23[_0x14af91(0x239)]=!![],_0x2d4c23['value']=_0x2c8760[_0x14af91(0x751)],_0x2c8760[_0x14af91(0x205)](_0x2d4c23);}else{_0x2c8760['label']=![];var _0x2d4c23={};_0x2d4c23['changeLabel']=!![],_0x2d4c23['value']=_0x2c8760[_0x14af91(0x751)],_0x2c8760[_0x14af91(0x205)](_0x2d4c23);if(_0x2c8760[_0x14af91(0x3c4)]){var _0x4cab9f=getById(_0x14af91(0x6f2)+_0x1d0707);_0x2c8760[_0x14af91(0x8a8)]===_0x1d0707?(_0x4cab9f['innerText']=miscTranslations[_0x14af91(0x481)],_0x4cab9f[_0x14af91(0x60b)][_0x14af91(0x8ec)](_0x14af91(0x405))):(_0x4cab9f['innerText']=miscTranslations[_0x14af91(0x710)],_0x4cab9f[_0x14af91(0x60b)]['add']('addALabel'));}else _0x2c8760[_0x14af91(0x7c)]?(document['title']=location['hostname'],updateMixer()):document['title']=location[_0x14af91(0x63b)];}}}if(_0x14af91(0x248)in _0x2e1be9){if(_0x2e1be9['keyname']=='low')changeLowEQ(parseFloat(_0x2e1be9['value']),_0x2e1be9['track']);else{if(_0x2e1be9['keyname']==_0x14af91(0x56e))changeMidEQ(parseFloat(_0x2e1be9[_0x14af91(0x295)]),_0x2e1be9[_0x14af91(0x124)]);else _0x2e1be9[_0x14af91(0xa5)]=='high'&&changeHighEQ(parseFloat(_0x2e1be9['value']),_0x2e1be9['track']);}}if(_0x14af91(0x4ae)in _0x2e1be9){var _0x16ef33=_0x2c8760[_0x14af91(0x46f)];if(_0x2e1be9[_0x14af91(0x295)]===_0x14af91(0x78))_0x2c8760[_0x14af91(0x46f)]=![],log(_0x14af91(0x59a));else _0x2e1be9['value']===_0x14af91(0x647)?(_0x2c8760[_0x14af91(0x46f)]=!![],log(_0x14af91(0x3c7))):_0x2c8760[_0x14af91(0x46f)]=_0x2e1be9[_0x14af91(0x295)];_0x2c8760[_0x14af91(0x46f)]!==_0x16ef33&&senderAudioUpdate();}if(_0x14af91(0x1b6)in _0x2e1be9){var _0x16ef33=_0x2c8760['compressor'];if(_0x2e1be9['value']==='false')_0x2c8760[_0x14af91(0x671)]=![],log(_0x14af91(0x59a));else{if(_0x2e1be9[_0x14af91(0x295)]==='1')_0x2c8760['compressor']=0x1,log(_0x14af91(0x3c7));else _0x2e1be9[_0x14af91(0x295)]==='2'?(_0x2c8760['compressor']=0x2,log(_0x14af91(0x3c7))):_0x2c8760[_0x14af91(0x671)]=parseInt(_0x2e1be9['value'])||![];}_0x2c8760['compressor']!==_0x16ef33&&senderAudioUpdate();}_0x14af91(0x7ce)in _0x2e1be9&&(_0x2c8760['micDelay']===![]?(_0x2c8760['micDelay']=parseInt(_0x2e1be9[_0x14af91(0x295)])||0x0,senderAudioUpdate()):(_0x2c8760[_0x14af91(0x41b)]=parseInt(_0x2e1be9[_0x14af91(0x295)])||0x0,changeMicDelay(_0x2c8760['micDelay'],_0x2e1be9[_0x14af91(0x4e6)])));_0x14af91(0x79f)in _0x2e1be9&&changeSubGain(parseFloat(_0x2e1be9[_0x14af91(0x295)]),_0x2e1be9[_0x14af91(0x4e6)]);_0x14af91(0x6c5)in _0x2e1be9&&(_0x2c8760[_0x14af91(0x8a5)]&&lowerhand());if(_0x14af91(0x8e5)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x86c)]=_0x1d0707,_0x2d4c23[_0x14af91(0x490)]=listAudioSettingsPrep(),sendMediaDevices(_0x2d4c23['UUID']),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x2d4c23[_0x14af91(0x86c)]);}if(_0x14af91(0x708)in _0x2e1be9){var _0x2d4c23={};_0x2d4c23['UUID']=_0x1d0707,_0x2d4c23[_0x14af91(0x6be)]=listVideoSettingsPrep(),sendMediaDevices(_0x2d4c23[_0x14af91(0x86c)]),_0x2c8760[_0x14af91(0x205)](_0x2d4c23,_0x2d4c23[_0x14af91(0x86c)]);}'changeSpeaker'in _0x2e1be9&&changeAudioOutputDeviceById(_0x2e1be9['changeSpeaker'],_0x1d0707);'changeMicrophone'in _0x2e1be9&&changeAudioDeviceById(_0x2e1be9[_0x14af91(0x7f2)],_0x1d0707);_0x14af91(0x12a)in _0x2e1be9&&changeVideoDeviceById(_0x2e1be9[_0x14af91(0x12a)],_0x1d0707);_0x14af91(0x65b)in _0x2e1be9&&(_0x14af91(0x338)in _0x2e1be9&&_0x2e1be9['ctrl']?updateCameraConstraints(_0x2e1be9[_0x14af91(0xa5)],_0x2e1be9[_0x14af91(0x295)],!![],_0x1d0707):updateCameraConstraints(_0x2e1be9[_0x14af91(0xa5)],_0x2e1be9[_0x14af91(0x295)],![],![]));'requestChangeLowcut'in _0x2e1be9&&changeLowCut(parseFloat(_0x2e1be9['value']),_0x2e1be9[_0x14af91(0x124)]);'requestChangeLowcut'in _0x2e1be9&&changeLowCut(parseFloat(_0x2e1be9[_0x14af91(0x295)]),_0x2e1be9[_0x14af91(0x124)]);_0x14af91(0x5a6)in _0x2e1be9&&(_0x2c8760['directorUUID']&&_0x2c8760[_0x14af91(0x5a6)]());if('mute'in _0x2e1be9){}if(_0x14af91(0x1d5)in _0x2e1be9){var _0x235271=parseInt(_0x2e1be9[_0x14af91(0x1d5)])/0x64||0x0;_0x2c8760[_0x14af91(0x6ec)]=parseInt(_0x2e1be9[_0x14af91(0x1d5)])||0x0;try{for(var _0x1fd301 in _0x2c8760[_0x14af91(0x768)]){log(_0x14af91(0x184)),_0x2c8760[_0x14af91(0x768)][_0x1fd301]['gainNode'][_0x14af91(0x485)][_0x14af91(0x49f)](_0x235271,_0x2c8760[_0x14af91(0x768)][_0x1fd301][_0x14af91(0x8c7)][_0x14af91(0x7b3)]);}}catch(_0x22e4c0){}updateVolume(!![]);}if(_0x14af91(0x511)in _0x2e1be9){if(_0x2e1be9['micIsolate'])_0x2c8760[_0x14af91(0x807)]['indexOf'](_0x1d0707)>=0x0&&(_0x2c8760[_0x14af91(0x725)][_0x14af91(0x20d)](_0x1d0707),_0x2c8760[_0x14af91(0x712)]());else{var _0x240f6c=_0x2c8760[_0x14af91(0x725)][_0x14af91(0x1db)](_0x1d0707);_0x240f6c>-0x1&&(_0x2c8760['micIsolated'][_0x14af91(0x664)](_0x240f6c,0x1),_0x2c8760[_0x14af91(0x712)]());}}if(_0x14af91(0x63d)in _0x2e1be9){if(_0x2e1be9[_0x14af91(0x63d)])_0x2c8760[_0x14af91(0x807)]['indexOf'](_0x1d0707)>=0x0&&(_0x2c8760[_0x14af91(0x63d)][_0x14af91(0x20d)](_0x1d0707),_0x2c8760[_0x14af91(0x3da)]());else{var _0x240f6c=_0x2c8760[_0x14af91(0x63d)]['indexOf'](_0x1d0707);_0x240f6c>-0x1&&(_0x2c8760[_0x14af91(0x63d)][_0x14af91(0x664)](_0x240f6c,0x1),_0x2c8760[_0x14af91(0x3da)]());}}'speakerMute'in _0x2e1be9&&(_0x2e1be9['speakerMute']?(_0x2c8760[_0x14af91(0x273)]=!![],_0x2c8760[_0x14af91(0x4a0)]()):(_0x2c8760[_0x14af91(0x273)]=![],_0x2c8760[_0x14af91(0x4a0)]())),_0x14af91(0x4b0)in _0x2e1be9&&(_0x2e1be9[_0x14af91(0x4b0)]?(_0x2c8760[_0x14af91(0x6da)]=!![],_0x2c8760[_0x14af91(0x1a5)]()):(_0x2c8760[_0x14af91(0x6da)]=![],_0x2c8760['directorDisplayMute']())),_0x14af91(0x5be)in _0x2e1be9&&applyNewParams(_0x2e1be9[_0x14af91(0x5be)]);}if(_0x2c8760[_0x14af91(0x8a8)]===_0x1d0707){_0x2e1be9[_0x14af91(0x10b)]===_0x14af91(0x799)&&(warnlog(_0x14af91(0x44e)),'transferSettings'in _0x2e1be9&&('roomenc'in _0x2e1be9[_0x14af91(0x50d)]&&(_0x2c8760[_0x14af91(0x680)]=_0x2e1be9['roomenc']),_0x14af91(0x4d7)in _0x2e1be9[_0x14af91(0x50d)]&&(_0x2e1be9[_0x14af91(0x50d)][_0x14af91(0x4d7)]===!![]||_0x2e1be9['transferSettings'][_0x14af91(0x4d7)]===null?(_0x2c8760['broadcast']=null,_0x2c8760['minipreview']===![]&&(_0x2c8760['minipreview']=0x2),_0x2c8760[_0x14af91(0x83f)]===![]&&(_0x2c8760['style']=0x1),_0x2c8760['showList']===null&&(_0x2c8760['showList']=!![])):_0x2c8760[_0x14af91(0x4d7)]=_0x2e1be9['transferSettings'][_0x14af91(0x4d7)],_0x2e1be9[_0x14af91(0x50d)]['updateurl']&&(_0x2c8760[_0x14af91(0x4d7)]!==![]?updateURL(_0x14af91(0x4d7),!![]):updateURL('broadcast=false',!![]))),_0x14af91(0x2af)in _0x2e1be9[_0x14af91(0x50d)]&&(_0x2c8760[_0x14af91(0x2af)]=_0x2e1be9[_0x14af91(0x50d)][_0x14af91(0x2af)],_0x2e1be9[_0x14af91(0x50d)][_0x14af91(0x564)]&&updateURL('room='+_0x2c8760['roomid'],!![]))));try{if(_0x14af91(0x18b)in _0x2e1be9&&_0x14af91(0x26a)in _0x2e1be9[_0x14af91(0x18b)])for(var _0x45f797=0x0;_0x45f797<_0x2e1be9[_0x14af91(0x18b)][_0x14af91(0x26a)][_0x14af91(0x542)];_0x45f797++){if(!_0x2c8760['directorList'][_0x14af91(0x4cc)](_0x2e1be9[_0x14af91(0x18b)][_0x14af91(0x26a)][_0x45f797][_0x14af91(0x4fe)])){_0x2c8760[_0x14af91(0x807)][_0x14af91(0x20d)](_0x2e1be9['directorSettings'][_0x14af91(0x26a)][_0x45f797][_0x14af91(0x4fe)]());var _0x3bc362=getById(_0x14af91(0x2e9)+_0x2e1be9[_0x14af91(0x18b)][_0x14af91(0x26a)][_0x45f797][_0x14af91(0x4fe)]());_0x3bc362&&_0x3bc362[_0x14af91(0x60b)]['add'](_0x14af91(0x804));}}}catch(_0x31d93f){errorlog(_0x31d93f);}}if(_0x14af91(0x1f3)in _0x2e1be9){if(_0x2c8760[_0x14af91(0x279)]){if(_0x14af91(0x279)in _0x2e1be9&&_0x2e1be9['remote']===_0x2c8760[_0x14af91(0x279)]&&_0x2c8760[_0x14af91(0x279)])_0x2c8760[_0x14af91(0x6d0)](parseFloat(_0x2e1be9['zoom']));else _0x2c8760[_0x14af91(0x279)]===!![]&&_0x2c8760['remoteZoom'](parseFloat(_0x2e1be9[_0x14af91(0x1f3)]));}else{if(_0x2c8760[_0x14af91(0x807)][_0x14af91(0x1db)](_0x1d0707)>=0x0)_0x2c8760[_0x14af91(0x6d0)](parseFloat(_0x2e1be9[_0x14af91(0x1f3)]));else return;}}if('focus'in _0x2e1be9){if(_0x2c8760[_0x14af91(0x279)]){if(_0x14af91(0x279)in _0x2e1be9&&_0x2e1be9[_0x14af91(0x279)]===_0x2c8760['remote']&&_0x2c8760[_0x14af91(0x279)])_0x2c8760[_0x14af91(0x8e0)](parseFloat(_0x2e1be9[_0x14af91(0x615)]));else _0x2c8760[_0x14af91(0x279)]===!![]&&_0x2c8760['remoteFocus'](parseFloat(_0x2e1be9[_0x14af91(0x615)]));}else{if(_0x2c8760[_0x14af91(0x807)]['indexOf'](_0x1d0707)>=0x0)_0x2c8760[_0x14af91(0x8e0)](parseFloat(_0x2e1be9[_0x14af91(0x615)]));else return;}}if(_0x14af91(0x395)in _0x2e1be9){log(_0x14af91(0x395));try{_0x2c8760['sendFile'](_0x1d0707,_0x2e1be9['requestFile']);}catch(_0x33d4dc){errorlog(_0x33d4dc);}}_0x14af91(0x72f)in _0x2e1be9&&playbackMIDI(_0x2e1be9[_0x14af91(0x72f)],!![]);}catch(_0x268835){errorlog(_0x268835);}manageSceneState(_0x2e1be9,_0x1d0707);if(_0x14af91(0x5d6)in _0x2e1be9){if(_0x2e1be9[_0x14af91(0x5d6)]=='obsCommand'){if(_0x2c8760[_0x14af91(0x279)])warnUser(_0x14af91(0x3f3),0xbb8);else document[_0x14af91(0x39d)](_0x14af91(0x36f))&&document[_0x14af91(0x39d)](_0x14af91(0x36f))[_0x14af91(0x295)]?warnUser('Invalid\x20remote\x20control\x20code.\x0a\x0aThe\x20remote\x20OBS\x20system\x20needs\x20a\x20matching\x20passcode\x20set\x20using\x20&remote.\x0a\x0aSee\x20the\x20documentation\x20for\x20help..',0x1b58):warnUser('The\x20request\x20was\x20rejected.\x0a\x0aThe\x20remote\x20OBS\x20system\x20needs\x20a\x20matching\x20passcode\x20set\x20using\x20&remote.\x0a\x0aSee\x20the\x20documentation\x20for\x20help.',0x2710);getById(_0x14af91(0x3a1))[_0x14af91(0x60b)][_0x14af91(0x8ec)](_0x14af91(0x30f));}else{if(_0x2c8760[_0x14af91(0x3c4)])!_0x2c8760['cleanOutput']&&warnUser('The\x20request\x20('+_0x2e1be9['rejected']+_0x14af91(0x167),0x1388);else!_0x2c8760[_0x14af91(0x7d7)]&&(_0x2c8760[_0x14af91(0x279)]?warnUser('The\x20remote\x20request\x20failed;\x20the\x20&remote\x20token\x20did\x20not\x20match\x20or\x20the\x20remote\x20user\x20does\x20not\x20allow\x20remote\x20control.',0x1388):warnUser(_0x14af91(0x5ed),0x1388));}errorlog(_0x14af91(0x46b)+_0x2e1be9[_0x14af91(0x5d6)]+',\x20isDirector:\x20'+_0x2c8760['director']);}if(_0x14af91(0x6ee)in _0x2e1be9||_0x14af91(0x456)in _0x2e1be9){log(_0x14af91(0x152));_0x2e1be9[_0x14af91(0x6ee)]&&(_0x2c8760[_0x14af91(0x847)][_0x1d0707]['allowAudio']=!![]);if(_0x2c8760[_0x14af91(0xfd)]&&_0x14af91(0x69d)in _0x2e1be9&&_0x2e1be9['allowwebp']!==![])_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x5f6)]=_0x2e1be9['allowwebp'],_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x466)]=![],setTimeout(function(){makeImages(!![]);},0x3e8);else _0x2e1be9['video']&&(_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x466)]=!![]);_0x14af91(0x4d7)in _0x2e1be9&&_0x2e1be9['broadcast']!==![]&&(_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x785)]=_0x2e1be9['broadcast']);_0x14af91(0x37d)in _0x2e1be9&&_0x2e1be9['iframe']!==![]&&(_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x621)]=_0x2e1be9[_0x14af91(0x37d)]);'allowmidi'in _0x2e1be9&&_0x2e1be9['allowmidi']!==![]&&(_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x687)]=_0x2e1be9['allowmidi']);'downloads'in _0x2e1be9&&_0x2e1be9[_0x14af91(0x916)]!==![]&&(_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x727)]=_0x2e1be9['downloads']);_0x14af91(0x573)in _0x2e1be9&&_0x2e1be9[_0x14af91(0x573)]!==![]&&(_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x5b7)]=!![]);_0x14af91(0x249)in _0x2e1be9&&_0x2e1be9[_0x14af91(0x249)]!==![]&&(_0x2c8760[_0x14af91(0x847)][_0x1d0707]['preferVideoCodec']=_0x2e1be9[_0x14af91(0x249)][_0x14af91(0x18f)]());_0x14af91(0x8b6)in _0x2e1be9&&_0x2e1be9['preferAudioCodec']!==![]&&(_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x8b6)]=_0x2e1be9[_0x14af91(0x8b6)][_0x14af91(0x18f)]());if(_0x2c8760[_0x14af91(0x331)]){if(_0x2c8760[_0x14af91(0x331)]==_0x14af91(0x456))_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x466)]=![];else{if(_0x2c8760['meshcast']=='audio')_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x6d7)]=![];else _0x2c8760[_0x14af91(0x847)][_0x1d0707]['allowVideo']==![]?_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x331)]=![]:(_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x6d7)]=![],_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x466)]=![]);}}if(_0x2c8760['promptAccess']){playtone(),window['focus']();var _0x253502=![];_0x1d0707 in _0x2c8760[_0x14af91(0x186)]&&_0x2c8760['rpcs'][_0x1d0707][_0x14af91(0x751)]&&(_0x253502=_0x2c8760['rpcs'][_0x1d0707][_0x14af91(0x751)]||_0x2c8760['rpcs'][_0x1d0707][_0x14af91(0x85a)]||![]);_0x253502=_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x751)]||_0x253502||_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x85a)]||_0x1d0707||_0x14af91(0x12e);var _0x41c7c2=await confirmAlt(_0x253502+miscTranslations['prompt-access-request'],!![]);if(!_0x41c7c2){try{log(_0x14af91(0x3e4)),_0x2c8760['closePC'](_0x1d0707);}catch(_0x5e30ee){}return;}}_0x14af91(0x2f8)in _0x2e1be9&&(_0x2e1be9[_0x14af91(0x2f8)]==!![]&&(_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x2f8)]=!![],_0x2c8760['beepToNotify']&&(playtone(![],_0x14af91(0x58e)),showNotification('A\x20Guest\x20joined\x20the\x20room','')),pokeIframeAPI(_0x14af91(0x374),_0x2e1be9[_0x14af91(0x3c4)],_0x1d0707)));_0x14af91(0x3c4)in _0x2e1be9&&(_0x2e1be9[_0x14af91(0x3c4)]==!![]&&((iOS||iPad)&&(_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x7e9)]==!![]&&(_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x2f8)]=!![])),_0x2c8760['beepToNotify']&&(playtone(![],'jointone'),showNotification(_0x14af91(0x69c),_0x14af91(0xbe))),pokeIframeAPI(_0x14af91(0x870),_0x2e1be9[_0x14af91(0x3c4)],_0x1d0707)));_0x14af91(0x7e9)in _0x2e1be9&&(_0x2e1be9[_0x14af91(0x7e9)]===!![]&&(_0x2c8760[_0x14af91(0x847)][_0x1d0707]['forceios']=!![]));_0x14af91(0x616)in _0x2e1be9&&(_0x2e1be9[_0x14af91(0x616)]==!![]&&(_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x6f4)]=!![]));_0x14af91(0x82a)in _0x2e1be9&&(_0x2e1be9[_0x14af91(0x82a)]==!![]&&(_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x767)]=!![]));_0x2e1be9[_0x14af91(0x448)]&&(_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x7f0)]=_0x2e1be9['degrade']);if(_0x14af91(0x641)in _0x2e1be9)try{_0x2c8760['pcs'][_0x1d0707]['keyframeRate']=_0x2e1be9['keyframeRate'],_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x641)]&&setTimeout(function(){var _0x1ddb4f=_0x14af91;_0x2c8760[_0x1ddb4f(0x6b6)](_0x1d0707);},0x1388);}catch(_0x490ebc){warnlog(_0x490ebc);}_0x14af91(0x52c)in _0x2e1be9&&(_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x52c)]=_0x2e1be9['solo']);_0x14af91(0x8f6)in _0x2e1be9&&(_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x8f6)]=_0x2e1be9['layout'],pokeIframeAPI(_0x14af91(0x512),_0x2e1be9[_0x14af91(0x8f6)],_0x1d0707));if(_0x14af91(0x54d)in _0x2e1be9){if(_0x2e1be9[_0x14af91(0x54d)]!==![]){try{typeof _0x2e1be9[_0x14af91(0x54d)]==='string'?_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x54d)]=_0x2e1be9[_0x14af91(0x54d)][_0x14af91(0x15c)](/[\W]+/g,'_'):_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x54d)]=(parseInt(_0x2e1be9[_0x14af91(0x54d)])||0x0)+'',_0x2c8760[_0x14af91(0x847)][_0x1d0707]['stats']['scene']=_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x54d)],updateSceneList(_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x54d)]);}catch(_0x105616){errorlog(_0x105616);}_0x14af91(0x437)in _0x2e1be9&&(_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x437)]=_0x2e1be9[_0x14af91(0x437)]);if(_0x14af91(0x437)in _0x2e1be9&&_0x2e1be9['showDirector'])_0x2e1be9[_0x14af91(0x437)]==0x2&&(_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x6d7)]=![]);else{if(_0x2c8760[_0x14af91(0x3c4)]&&_0x2c8760['showDirector']==![])_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x6d7)]=![],_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x466)]=![],_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x621)]=![],_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x331)]=![],_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x5f6)]=![];else _0x2c8760[_0x14af91(0x3c4)]&&(_0x2c8760[_0x14af91(0x437)]==0x2&&(_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x6d7)]=![]),_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x621)]=![]);}_0x2c8760['pcs'][_0x1d0707][_0x14af91(0x52c)]?pokeIframeAPI(_0x14af91(0x8c4),_0x2e1be9['scene'],_0x1d0707):pokeIframeAPI(_0x14af91(0x821),_0x2e1be9[_0x14af91(0x54d)],_0x1d0707);}}if(_0x2c8760['director']==!![]){var _0x2d4c23={};_0x2d4c23[_0x14af91(0x18b)]=getDirectorSettings(_0x2c8760[_0x14af91(0x847)][_0x1d0707][_0x14af91(0x54d)]),'director'in _0x2e1be9&&(_0x2e1be9[_0x14af91(0x3c4)]==!![]&&(_0x2d4c23[_0x14af91(0x4c8)]=getDetailedState())),_0x2c8760['sendMessage'](_0x2d4c23,_0x1d0707);}_0x2c8760['initialPublish'](_0x1d0707);}},_0x2c8760['initialPublish']=function(_0x21cd7e){var _0x57d34e=_0x275280;log(_0x57d34e(0x3f5)+_0x21cd7e);if(_0x21cd7e in _0x2c8760['pcs']){}else{errorlog(_0x57d34e(0x849));return;}getSenders2(_0x21cd7e)[_0x57d34e(0x542)]&&errorlog(_0x57d34e(0x8f1)+getSenders2(_0x21cd7e)['length']);if(_0x2c8760[_0x57d34e(0x847)][_0x21cd7e]['allowIframe']===!![]){if(_0x2c8760[_0x57d34e(0x584)]){var _0x3408c9={};_0x3408c9[_0x57d34e(0x584)]=_0x2c8760['iframeSrc'],_0x2c8760[_0x57d34e(0x8ed)]&&_0x2c8760[_0x57d34e(0x8ed)]['sendOnNewConnect']&&(_0x2c8760[_0x57d34e(0x584)][_0x57d34e(0x810)](_0x57d34e(0x8fb))&&(_0x3408c9[_0x57d34e(0x584)]+='&start='+parseInt(Math[_0x57d34e(0x70e)](_0x2c8760[_0x57d34e(0x8ed)][_0x57d34e(0x8b3)][_0x57d34e(0x534)]['t']))+'')),_0x2c8760['sendMessage'](_0x3408c9,_0x21cd7e);}}_0x2c8760[_0x57d34e(0x847)][_0x21cd7e][_0x57d34e(0x727)]===!![]&&_0x2c8760[_0x57d34e(0x2d7)](_0x21cd7e);if(_0x2c8760[_0x57d34e(0x3b6)]){_0x2c8760['chunkedStream'](_0x21cd7e);return;}var _0x39b5d9=_0x2c8760['getLocalStream']();log(_0x57d34e(0xd2)),log(_0x39b5d9[_0x57d34e(0x81d)]());if(_0x2c8760[_0x57d34e(0x5e2)]&&_0x2c8760[_0x57d34e(0x847)][_0x21cd7e][_0x57d34e(0x331)]===null){_0x2c8760[_0x57d34e(0x847)][_0x21cd7e][_0x57d34e(0x331)]=!![];var _0x3408c9={};_0x3408c9['meshcast']=_0x2c8760[_0x57d34e(0x5e2)],_0x2c8760[_0x57d34e(0x205)](_0x3408c9,_0x21cd7e),warnlog(_0x3408c9);}_0x2c8760[_0x57d34e(0x847)][_0x21cd7e]['allowScreen']&&createSecondStream2(_0x21cd7e);var _0x3d786a=![];_0x39b5d9[_0x57d34e(0x454)]()[_0x57d34e(0x648)](_0x5ba9ed=>{var _0x49f2fc=_0x57d34e;try{_0x2c8760['pcs'][_0x21cd7e][_0x49f2fc(0x466)]===!![]&&(_0x5ba9ed[_0x49f2fc(0x8d5)]=='video'&&(_0x2c8760[_0x49f2fc(0x847)][_0x21cd7e][_0x49f2fc(0x2f8)]===!![]&&_0x2c8760[_0x49f2fc(0x824)]===0x0?log(_0x49f2fc(0x830)):(_0x2c8760[_0x49f2fc(0x847)][_0x21cd7e]['addTrack'](_0x5ba9ed,_0x39b5d9),warnlog(_0x49f2fc(0x5d5)),_0x3d786a=!![],setTimeout(function(_0x2f33d1){try{_0x2c8760['optimizeBitrate'](_0x2f33d1);}catch(_0x34dae2){warnlog(_0x34dae2);}},_0x2c8760[_0x49f2fc(0x5ce)],_0x21cd7e))));}catch(_0x5026fe){errorlog(_0x5026fe);}});_0x2c8760[_0x57d34e(0x3ea)]&&(_0x39b5d9=mixMinusAudio(_0x21cd7e));_0x2c8760[_0x57d34e(0x847)][_0x21cd7e][_0x57d34e(0x6d7)]&&(_0x39b5d9[_0x57d34e(0x556)]()[_0x57d34e(0x648)](_0x295296=>{var _0x334de1=_0x57d34e;try{_0x295296[_0x334de1(0x8d5)]=='audio'&&(_0x2c8760[_0x334de1(0x847)][_0x21cd7e][_0x334de1(0x2ad)](_0x295296,_0x39b5d9),warnlog(_0x334de1(0x140)));}catch(_0x44b697){errorlog(_0x44b697);}}),log(_0x57d34e(0x432)),_0x39b5d9[_0x57d34e(0x556)]()[_0x57d34e(0x542)]&&(_0x2c8760[_0x57d34e(0x6bb)](),log(_0x57d34e(0x4b7)),_0x2c8760['pcs'][_0x21cd7e]['preferAudioCodec']==_0x57d34e(0x907)&&lyraEncode(_0x21cd7e),_0x2c8760[_0x57d34e(0x847)][_0x21cd7e][_0x57d34e(0x6f4)]===!![]&&(warnlog(_0x57d34e(0x180)),setTimeout(_0x2c8760[_0x57d34e(0x7ef)],0x3e8,_0x21cd7e,0x7d00,0x0)),_0x2c8760['pcs'][_0x21cd7e][_0x57d34e(0x767)]===!![]&&setTimeout(_0x2c8760['enhanceAudioEncoder'],0x3e8,_0x21cd7e)));if(_0x2c8760['pcs'][_0x21cd7e]['degradationPreference'])setTimeout(_0x2c8760[_0x57d34e(0x7f0)],0x3e8,_0x21cd7e,_0x2c8760[_0x57d34e(0x847)][_0x21cd7e][_0x57d34e(0x7f0)]);else{if(_0x2c8760[_0x57d34e(0x90b)]&&SafariVersion){if(_0x2c8760[_0x57d34e(0x90b)]==_0x57d34e(0x530))setTimeout(_0x2c8760[_0x57d34e(0x7f0)],0x3e8,_0x21cd7e,'maintain-resolution');else _0x2c8760['contentHint']=='motion'&&setTimeout(_0x2c8760[_0x57d34e(0x7f0)],0x3e8,_0x21cd7e,_0x57d34e(0x8d0));}}if(iOS||iPad){if(SafariVersion&&SafariVersion<=0xd){}else _0x3d786a&&(setTimeout(function(_0x5bf4ed){var _0x3296e9=_0x57d34e;_0x2c8760[_0x3296e9(0x235)](_0x5bf4ed,null);},0x7d0,_0x21cd7e),setTimeout(function(_0x3c461d){var _0x2a3e36=_0x57d34e,_0x569332=0x64;_0x2c8760[_0x2a3e36(0x847)][_0x3c461d]['scale']&&(_0x569332=_0x2c8760[_0x2a3e36(0x847)][_0x3c461d][_0x2a3e36(0x555)]),_0x2c8760[_0x2a3e36(0x235)](_0x3c461d,_0x569332);},0x1388,_0x21cd7e));}};function _0x4f5fda(_0x923617,_0x31a0c8,_0x300b94){var _0x4f1ca2=_0x275280,_0x3469fd=new Blob([_0x923617],{'type':'text/plain'}),_0x2c8f87=new FileReader();_0x2c8f87['onload']=function(_0x227299){var _0x373924=_0x9870;_0x300b94(_0x227299[_0x373924(0x52a)][_0x373924(0x65e)]);},_0x2c8f87[_0x4f1ca2(0x7cf)](_0x3469fd,_0x31a0c8);}_0x2c8760[_0x275280(0x2d7)]=function(_0x36b1ba){var _0xd4751d=_0x275280;log(_0xd4751d(0x558));if(!_0x2c8760[_0xd4751d(0x7d6)]||!_0x2c8760[_0xd4751d(0x7d6)][_0xd4751d(0x542)])return;var _0x3ac155={},_0x410c9f=[];for(var _0x11ca1b=0x0;_0x11ca1b<_0x2c8760[_0xd4751d(0x7d6)][_0xd4751d(0x542)];_0x11ca1b++){(_0x2c8760[_0xd4751d(0x7d6)][_0x11ca1b][_0xd4751d(0x203)]===![]||_0x2c8760[_0xd4751d(0x7d6)][_0x11ca1b][_0xd4751d(0x203)]===_0x36b1ba)&&_0x410c9f[_0xd4751d(0x20d)]({'id':_0x2c8760[_0xd4751d(0x7d6)][_0x11ca1b]['id'],'name':_0x2c8760[_0xd4751d(0x7d6)][_0x11ca1b][_0xd4751d(0x42d)],'size':_0x2c8760['hostedFiles'][_0x11ca1b][_0xd4751d(0x64c)]});}_0x3ac155[_0xd4751d(0x269)]=_0x410c9f;if(_0x36b1ba in _0x2c8760[_0xd4751d(0x847)])_0x2c8760['sendMessage'](_0x3ac155,_0x36b1ba);else _0x36b1ba in _0x2c8760[_0xd4751d(0x186)]&&_0x2c8760[_0xd4751d(0x3fd)](_0x3ac155,_0x36b1ba);log(_0x3ac155);},_0x2c8760['pcs'][_0x258807][_0x275280(0xdf)]=function(_0x32fa68){var _0x58afbb=_0x275280;if(!(_0x258807 in _0x2c8760[_0x58afbb(0x847)]))return;try{if(this[_0x58afbb(0x778)]===_0x58afbb(0x146))log(_0x58afbb(0x806));else{if(this[_0x58afbb(0x778)]==='disconnected')log('PCS:\x20ICE\x20Disconnected;\x20wait\x20for\x20retry?\x20pcs');else{if(this[_0x58afbb(0x778)]===_0x58afbb(0x2c3))log(_0x58afbb(0x652)),_0x2c8760[_0x58afbb(0x847)][_0x258807][_0x58afbb(0x790)]?_0x2c8760[_0x58afbb(0x847)][_0x258807][_0x58afbb(0x790)]():_0x2c8760[_0x58afbb(0x6f8)](_0x258807,!![]);else this[_0x58afbb(0x778)]===_0x58afbb(0x5d1)?log(_0x58afbb(0x71d)):log(this[_0x58afbb(0x778)]);}}}catch(_0x10b9a1){errorlog(_0x10b9a1);}},_0x2c8760['pcs'][_0x258807][_0x275280(0x283)]=function(_0x42917d){var _0x42e45f=_0x275280;switch(_0x2c8760[_0x42e45f(0x847)][_0x258807]['connectionState']){case _0x42e45f(0x5d1):log('CONNECTEED!'),clearTimeout(_0x2c8760['pcs'][_0x258807]['closeTimeout']);if(_0x2c8760[_0x42e45f(0x829)]){if(_0x2c8760['ws']['readyState']!==0x1){_0x2c8760['ws'][_0x42e45f(0x7f8)]();break;}_0x2c8760['ws']['close'](),setTimeout(function(){var _0x545c83=_0x42e45f;_0x2c8760[_0x545c83(0x7d7)]!=!![]&&warnUser(_0x545c83(0x82e));},0x1);}break;case'disconnected':log(_0x42e45f(0x156)),clearTimeout(_0x2c8760[_0x42e45f(0x847)][_0x258807]['closeTimeout']),_0x2c8760['pcs'][_0x258807]['closeTimeout']=setTimeout(function(_0x5d83db){var _0x1f52c4=_0x42e45f;_0x5d83db in _0x2c8760['pcs']?(warnlog(_0x1f52c4(0x4c9)),log(_0x1f52c4(0x4d4)),_0x2c8760[_0x1f52c4(0x8db)](_0x5d83db)):errorlog(_0x1f52c4(0x4f1));},0x2710,_0x258807);break;case'failed':warnlog(_0x42e45f(0x853)),clearTimeout(_0x2c8760[_0x42e45f(0x847)][_0x258807][_0x42e45f(0x35b)]),_0x2c8760[_0x42e45f(0x847)][_0x258807][_0x42e45f(0x35b)]=setTimeout(function(_0x54e049){var _0x197cd1=_0x42e45f;_0x54e049 in _0x2c8760[_0x197cd1(0x847)]?(warnlog(_0x197cd1(0x4c9)),log(_0x197cd1(0x6a9)),_0x2c8760[_0x197cd1(0x8db)](_0x54e049)):errorlog('\x20---\x20PC\x20TIMED\x20OUT\x20and\x20already\x20deleted.\x20shouldn\x27t\x20happen');},0xbb8,_0x258807);break;case _0x42e45f(0x146):warnlog(_0x42e45f(0x84d)),log(_0x42e45f(0xb1)),_0x2c8760[_0x42e45f(0x8db)](_0x258807);break;default:log(_0x42e45f(0x713)+_0x2c8760[_0x42e45f(0x847)][_0x258807][_0x42e45f(0x2a3)]),clearTimeout(_0x2c8760[_0x42e45f(0x847)][_0x258807]['closeTimeout']);break;}},_0x2c8760['pcs'][_0x258807][_0x275280(0x482)]=function(_0x4fd06f){var _0x136ca5=_0x275280;warnlog(_0x136ca5(0x17d)),log(_0x136ca5(0x86f)),_0x2c8760['closePC'](_0x258807);},_0x2c8760['pcs'][_0x258807][_0x275280(0x350)]=function _0x3853f9(){var _0x1d7148=_0x275280;log(_0x1d7148(0x880));};},_0x2c8760['processDescription2']=function(_0x48d600){var _0x303426=_0x2f8f35;if(_0x48d600['description'][_0x303426(0x16c)]==_0x303426(0x37a))_0x2c8760[_0x303426(0x554)](_0x48d600),_0x2c8760['connectPeer'](_0x48d600);else try{if(!(_0x48d600[_0x303426(0x86c)]in _0x2c8760[_0x303426(0x847)]))return;var _0x3c7c16=_0x2c8760[_0x303426(0x88c)];if(_0x2c8760[_0x303426(0x64a)]&&_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]]['guest']==!![]&&_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x7e9)]==![]){if(_0x3c7c16===![]||_0x3c7c16>_0x2c8760[_0x303426(0x31d)]){var _0x212799=Object[_0x303426(0x4a2)](_0x2c8760[_0x303426(0x847)])[_0x303426(0x542)];if(_0x2c8760[_0x303426(0x362)])_0x3c7c16=_0x2c8760[_0x303426(0x31d)];else{if(_0x212799>0x4)_0x3c7c16=_0x2c8760['lowMobileBitrate'];else(iOS||iPad)&&SafariVersion&&SafariVersion<=0xd?_0x3c7c16=_0x2c8760[_0x303426(0xc3)]:_0x3c7c16=_0x2c8760[_0x303426(0x31d)];}}(iOS||iPad)&&(_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]]['setBitrate']=_0x3c7c16,_0x48d600['description'][_0x303426(0x3ab)]=CodecsHandler['preferCodec'](_0x48d600[_0x303426(0x80c)]['sdp'],'vp8'),_0x48d600[_0x303426(0x80c)]['sdp']=CodecsHandler[_0x303426(0x369)](_0x48d600['description'][_0x303426(0x3ab)],{'min':parseInt(_0x3c7c16/0xa)||0x1,'max':_0x3c7c16}),_0x3c7c16=![]);}else{if(_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x2f8)]==!![])_0x3c7c16!==![]?_0x2c8760['roombitrate']!==![]&&(_0x2c8760[_0x303426(0x824)]<_0x3c7c16&&(_0x3c7c16=_0x2c8760[_0x303426(0x824)])):_0x3c7c16=_0x2c8760[_0x303426(0x824)],(iOS||iPad)&&_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x7e9)]&&(_0x2c8760[_0x303426(0x847)][_0x48d600['UUID']][_0x303426(0x192)]=!![]);else{if(iOS||iPad){var _0x131c3a=0x0;for(var _0x156e93 in _0x2c8760[_0x303426(0x847)]){_0x48d600[_0x303426(0x86c)]!==_0x156e93&&(_0x2c8760['pcs'][_0x156e93][_0x303426(0x192)]===!![]&&(_0x131c3a+=0x1));}if(_0x131c3a>=0x3){if(_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x7e9)])_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x192)]=!![],_0x2c8760['pcs'][_0x48d600[_0x303426(0x86c)]]['preferVideoCodec']&&_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x249)]===_0x303426(0x147)&&(_0x48d600['description'][_0x303426(0x3ab)]=CodecsHandler[_0x303426(0x389)](_0x48d600[_0x303426(0x80c)][_0x303426(0x3ab)],_0x303426(0x147)),log(_0x303426(0x5c4)+_0x2c8760[_0x303426(0x847)][_0x48d600['UUID']][_0x303426(0x249)]+_0x303426(0x7c5)));else _0x2c8760['pcs'][_0x48d600[_0x303426(0x86c)]][_0x303426(0x249)]&&_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]]['preferVideoCodec']==='vp9'?(_0x48d600['description']['sdp']=CodecsHandler[_0x303426(0x389)](_0x48d600[_0x303426(0x80c)][_0x303426(0x3ab)],_0x303426(0x4a7)),log(_0x303426(0x5c4)+_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]]['preferVideoCodec']+_0x303426(0x7c5)),_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x192)]=![]):(_0x48d600[_0x303426(0x80c)][_0x303426(0x3ab)]=CodecsHandler[_0x303426(0x389)](_0x48d600[_0x303426(0x80c)]['sdp'],_0x303426(0x292)),log('Setting\x20Codec\x20to\x20vp8'),_0x2c8760['pcs'][_0x48d600[_0x303426(0x86c)]][_0x303426(0x192)]=![]);}else _0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x249)]&&_0x2c8760[_0x303426(0x847)][_0x48d600['UUID']][_0x303426(0x249)]!==_0x303426(0x147)?_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x249)]===_0x303426(0x4a7)||_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x249)]===_0x303426(0x292)?(_0x48d600[_0x303426(0x80c)][_0x303426(0x3ab)]=CodecsHandler['preferCodec'](_0x48d600[_0x303426(0x80c)][_0x303426(0x3ab)],_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x249)]),log(_0x303426(0x5c4)+_0x2c8760['pcs'][_0x48d600['UUID']]['preferVideoCodec']+_0x303426(0x7c5)),_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]]['encoder']=![]):_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x192)]=!![]:(_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]]['encoder']=!![],_0x2c8760['pcs'][_0x48d600['UUID']][_0x303426(0x249)]&&_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x249)]===_0x303426(0x147)&&(_0x48d600[_0x303426(0x80c)][_0x303426(0x3ab)]=CodecsHandler[_0x303426(0x389)](_0x48d600['description'][_0x303426(0x3ab)],'h264'),log(_0x303426(0x5c4)+_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]]['preferVideoCodec']+_0x303426(0x7c5))));}else _0x2c8760[_0x303426(0x847)][_0x48d600['UUID']][_0x303426(0x249)]&&(_0x48d600['description'][_0x303426(0x3ab)]=CodecsHandler[_0x303426(0x389)](_0x48d600['description']['sdp'],_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]]['preferVideoCodec']),log(_0x303426(0x5c4)+_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x249)]+_0x303426(0x7c5)));}}if(_0x3c7c16){var _0x4019f5=CodecsHandler[_0x303426(0x7d9)](_0x48d600['description'][_0x303426(0x3ab)]);log(_0x303426(0x21c)+_0x4019f5);if(_0x4019f5!==![]&&_0x4019f5>_0x3c7c16){var _0x23051a=CodecsHandler['getOpusBitrate'](_0x48d600['description']['sdp'])||0x0;_0x48d600[_0x303426(0x80c)][_0x303426(0x3ab)]=CodecsHandler[_0x303426(0x369)](_0x48d600[_0x303426(0x80c)][_0x303426(0x3ab)],{'min':parseInt(_0x3c7c16/0xa)||0x1,'max':parseInt(_0x3c7c16+_0x23051a/0x400)}),_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x7a)]=_0x3c7c16;}else{if(_0x4019f5===![]){var _0x23051a=CodecsHandler[_0x303426(0x7e7)](_0x48d600[_0x303426(0x80c)]['sdp'])||0x0;_0x48d600['description'][_0x303426(0x3ab)]=CodecsHandler[_0x303426(0x369)](_0x48d600['description'][_0x303426(0x3ab)],{'min':parseInt(_0x3c7c16/0xa)||0x1,'max':parseInt(_0x3c7c16+_0x23051a/0x400)});if(_0x2c8760[_0x303426(0x848)]&&_0x2c8760[_0x303426(0x848)]>_0x3c7c16)_0x2c8760['pcs'][_0x48d600[_0x303426(0x86c)]][_0x303426(0x7a)]=_0x3c7c16;else _0x2c8760['outboundVideoBitrate']?_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]]['setBitrate']=_0x2c8760[_0x303426(0x848)]:_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x137)]=0x9c4;}else _0x2c8760[_0x303426(0x847)][_0x48d600['UUID']][_0x303426(0x7a)]=_0x4019f5;}}else{if(_0x2c8760['outboundVideoBitrate']!==![]){var _0x4019f5=CodecsHandler[_0x303426(0x7d9)](_0x48d600['description']['sdp']);log('BITRATE\x202:\x20'+_0x4019f5);if(_0x4019f5===![]){var _0x23051a=CodecsHandler['getOpusBitrate'](_0x48d600['description'][_0x303426(0x3ab)])||0x0;_0x48d600['description'][_0x303426(0x3ab)]=CodecsHandler['setVideoBitrates'](_0x48d600[_0x303426(0x80c)][_0x303426(0x3ab)],{'min':parseInt(_0x2c8760['outboundVideoBitrate']/0xa)||0x1,'max':parseInt(_0x2c8760['outboundVideoBitrate']+_0x23051a/0x400)});}else _0x2c8760[_0x303426(0x847)][_0x48d600['UUID']]['setBitrate']===![]&&(_0x2c8760['pcs'][_0x48d600['UUID']]['setBitrate']=_0x4019f5);}else _0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x7a)]===![]&&(_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x7a)]=CodecsHandler[_0x303426(0x7d9)](_0x48d600[_0x303426(0x80c)][_0x303426(0x3ab)]),log(_0x303426(0x23f)+_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x7a)]));}_0x2c8760[_0x303426(0x3f9)]&&(_0x48d600[_0x303426(0x80c)][_0x303426(0x3ab)]=CodecsHandler[_0x303426(0x1b9)](_0x48d600[_0x303426(0x80c)][_0x303426(0x3ab)],{'maxaveragebitrate':_0x2c8760[_0x303426(0x3f9)]*0x400,'cbr':_0x2c8760[_0x303426(0x68e)]}));if(_0x303426(0x4d0)in _0x48d600&&_0x48d600[_0x303426(0x4d0)]!=_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]]['session']){errorlog('Answer\x20SDP\x20does\x20not\x20have\x20a\x20matching\x20session\x20ID');return;}_0x2c8760[_0x303426(0x847)][_0x48d600[_0x303426(0x86c)]][_0x303426(0x690)](_0x48d600[_0x303426(0x80c)])[_0x303426(0x414)]()[_0x303426(0x538)](errorlog);}catch(_0x393b06){errorlog(_0x393b06);}},_0x2c8760['processDescription']=function(_0x5cb2ce){var _0x4eece1=_0x2f8f35;_0x2c8760['password']&&_0x4eece1(0x4e8)in _0x5cb2ce?_0x2c8760[_0x4eece1(0x655)](_0x5cb2ce[_0x4eece1(0x80c)],_0x5cb2ce[_0x4eece1(0x4e8)])[_0x4eece1(0x414)](function(_0x5c0c16){var _0x3fd3f5=_0x4eece1;_0x5cb2ce['description']=JSON[_0x3fd3f5(0x2bc)](_0x5c0c16),_0x2c8760[_0x3fd3f5(0x46e)](_0x5cb2ce);}):_0x2c8760[_0x4eece1(0x46e)](_0x5cb2ce);},_0x2c8760[_0x2f8f35(0x4e9)]=function(_0x42e162){var _0x6ec452=_0x2f8f35;_0x2c8760['password']&&_0x6ec452(0x4e8)in _0x42e162?_0x2c8760[_0x6ec452(0x655)](_0x42e162[_0x6ec452(0x182)],_0x42e162[_0x6ec452(0x4e8)])[_0x6ec452(0x414)](function(_0x16bcc2){var _0x1cf7a4=_0x6ec452;_0x42e162[_0x1cf7a4(0x182)]=JSON[_0x1cf7a4(0x2bc)](_0x16bcc2),_0x2c8760[_0x1cf7a4(0x504)](_0x42e162);}):_0x2c8760[_0x6ec452(0x504)](_0x42e162);},_0x2c8760['processIce2']=function(_0x5c46fd){var _0x302713=_0x2f8f35;try{if(_0x2c8760[_0x302713(0x219)]){if(_0x5c46fd[_0x302713(0x182)][_0x302713(0x182)][_0x302713(0x1db)](_0x2c8760[_0x302713(0x219)])===-0x1){log(_0x302713(0x87a)),log(_0x5c46fd[_0x302713(0x182)]);return;}else log(_0x302713(0x45c)),log(_0x5c46fd[_0x302713(0x182)]);}}catch(_0x1aafa1){errorlog(_0x1aafa1);}if(_0x5c46fd['candidate']&&_0x302713(0x182)in _0x5c46fd['candidate']&&_0x5c46fd[_0x302713(0x182)]['candidate']=='')return;if(_0x5c46fd[_0x302713(0x86c)]in _0x2c8760['pcs']&&_0x5c46fd['type']==_0x302713(0x279)){log(_0x302713(0x1f0));if(_0x302713(0x4d0)in _0x5c46fd&&_0x2c8760[_0x302713(0x847)][_0x5c46fd[_0x302713(0x86c)]][_0x302713(0x4d0)]!=_0x5c46fd[_0x302713(0x4d0)]){errorlog('Incoming\x20Ice\x20Offer\x20does\x20not\x20match\x20Session');return;}_0x2c8760['pcs'][_0x5c46fd['UUID']][_0x302713(0x1d6)](_0x5c46fd[_0x302713(0x182)])[_0x302713(0x414)]()[_0x302713(0x538)](function(_0x3d3ad2){errorlog(_0x3d3ad2),errorlog(_0x5c46fd);});}else{if(_0x5c46fd[_0x302713(0x86c)]in _0x2c8760[_0x302713(0x186)]&&_0x5c46fd[_0x302713(0x16c)]=='local'){log(_0x302713(0x2f4));if('session'in _0x5c46fd&&_0x2c8760['rpcs'][_0x5c46fd[_0x302713(0x86c)]][_0x302713(0x4d0)]!=_0x5c46fd[_0x302713(0x4d0)]){errorlog('Incoming\x20Ice\x20Offer\x20does\x20not\x20match\x20Session');return;}if(_0x2c8760[_0x302713(0x186)][_0x5c46fd[_0x302713(0x86c)]]===null)return;_0x2c8760[_0x302713(0x186)][_0x5c46fd[_0x302713(0x86c)]][_0x302713(0x1d6)](_0x5c46fd['candidate'])['then']()[_0x302713(0x538)](function(_0x8de94a){errorlog(_0x8de94a),errorlog(_0x5c46fd);});}else warnlog(_0x5c46fd),warnlog(_0x302713(0x793));}},_0x2c8760[_0x2f8f35(0x730)]=function(_0x294000){var _0x235edc=_0x2f8f35;if(_0x2c8760[_0x235edc(0x55a)]&&_0x235edc(0x4e8)in _0x294000)_0x2c8760[_0x235edc(0x655)](_0x294000[_0x235edc(0x7a5)],_0x294000[_0x235edc(0x4e8)])[_0x235edc(0x414)](function(_0x187843){var _0x33e342=_0x235edc;_0x294000[_0x33e342(0x7a5)]=JSON['parse'](_0x187843);var _0x4de19d={};_0x4de19d[_0x33e342(0x86c)]=_0x294000[_0x33e342(0x86c)],_0x4de19d['type']=_0x294000[_0x33e342(0x16c)];for(var _0x7be701=0x0;_0x7be701<_0x294000['candidates'][_0x33e342(0x542)];_0x7be701++){_0x4de19d[_0x33e342(0x182)]=_0x294000[_0x33e342(0x7a5)][_0x7be701],_0x2c8760[_0x33e342(0x504)](_0x4de19d);}});else{var _0x53a53a={};_0x53a53a['UUID']=_0x294000[_0x235edc(0x86c)],_0x53a53a['type']=_0x294000[_0x235edc(0x16c)];for(var _0x52d348=0x0;_0x52d348<_0x294000[_0x235edc(0x7a5)][_0x235edc(0x542)];_0x52d348++){_0x53a53a[_0x235edc(0x182)]=_0x294000[_0x235edc(0x7a5)][_0x52d348],_0x2c8760[_0x235edc(0x504)](_0x53a53a);}}},_0x2c8760[_0x2f8f35(0x261)]=function(_0x1b6659){var _0x5ad919=_0x2f8f35;'screen'in _0x1b6659&&(_0x2c8760['rpcs'][_0x1b6659['UUID']][_0x5ad919(0x8b8)]=_0x1b6659[_0x5ad919(0x8c9)],log(_0x5ad919(0x2c8)),log(_0x1b6659[_0x5ad919(0x8c9)])),_0x2c8760[_0x5ad919(0x186)][_0x1b6659[_0x5ad919(0x86c)]][_0x5ad919(0x690)](_0x1b6659[_0x5ad919(0x80c)])[_0x5ad919(0x414)](function(){var _0x45e2ae=_0x5ad919;if(_0x2c8760[_0x45e2ae(0x186)][_0x1b6659[_0x45e2ae(0x86c)]][_0x45e2ae(0x1a2)][_0x45e2ae(0x16c)]===_0x45e2ae(0x37a))_0x2c8760[_0x45e2ae(0x186)][_0x1b6659[_0x45e2ae(0x86c)]][_0x45e2ae(0x44f)]()[_0x45e2ae(0x414)](function(_0x5c12ea){var _0x4ad151=_0x45e2ae;log('creating\x20answer');if(!_0x2c8760[_0x4ad151(0x3c4)]&&_0x2c8760[_0x4ad151(0x376)]==0x5)_0x5c12ea[_0x4ad151(0x3ab)]=CodecsHandler['setOpusAttributes'](_0x5c12ea[_0x4ad151(0x3ab)],{'stereo':0x1,'maxaveragebitrate':(_0x2c8760['audiobitrate']||0x100)*0x400,'cbr':_0x2c8760[_0x4ad151(0x68e)],'useinbandfec':_0x2c8760[_0x4ad151(0x71b)]?0x0:0x1,'maxptime':_0x2c8760[_0x4ad151(0x8cc)],'minptime':_0x2c8760[_0x4ad151(0x375)],'ptime':_0x2c8760[_0x4ad151(0x8ee)],'dtx':_0x2c8760['dtx']}),log('stereo\x20inbound\x20enabled');else{if(_0x2c8760[_0x4ad151(0x658)]&&Firefox)_0x2c8760[_0x4ad151(0x25d)]?_0x5c12ea[_0x4ad151(0x3ab)]=CodecsHandler[_0x4ad151(0x1b9)](_0x5c12ea[_0x4ad151(0x3ab)],{'stereo':0x0,'maxaveragebitrate':_0x2c8760[_0x4ad151(0x25d)]*0x400,'cbr':_0x2c8760[_0x4ad151(0x68e)],'useinbandfec':_0x2c8760[_0x4ad151(0x71b)]?0x0:0x1,'maxptime':_0x2c8760[_0x4ad151(0x8cc)],'minptime':_0x2c8760[_0x4ad151(0x375)],'ptime':_0x2c8760[_0x4ad151(0x8ee)],'dtx':_0x2c8760[_0x4ad151(0x6f3)]}):_0x5c12ea[_0x4ad151(0x3ab)]=CodecsHandler[_0x4ad151(0x1b9)](_0x5c12ea[_0x4ad151(0x3ab)],{'stereo':0x0,'useinbandfec':_0x2c8760[_0x4ad151(0x71b)]?0x0:0x1,'maxptime':_0x2c8760[_0x4ad151(0x8cc)],'minptime':_0x2c8760[_0x4ad151(0x375)],'ptime':_0x2c8760[_0x4ad151(0x8ee)],'dtx':_0x2c8760[_0x4ad151(0x6f3)]});else{if(_0x2c8760[_0x4ad151(0x376)]==0x1||_0x2c8760[_0x4ad151(0x376)]==0x2||_0x2c8760['stereo']==0x5)_0x5c12ea['sdp']=CodecsHandler[_0x4ad151(0x1b9)](_0x5c12ea['sdp'],{'stereo':0x1,'maxaveragebitrate':(_0x2c8760[_0x4ad151(0x25d)]||0x100)*0x400,'cbr':_0x2c8760['cbr'],'useinbandfec':_0x2c8760['noFEC']?0x0:0x1,'maxptime':_0x2c8760[_0x4ad151(0x8cc)],'minptime':_0x2c8760['minptime'],'ptime':_0x2c8760[_0x4ad151(0x8ee)],'dtx':_0x2c8760[_0x4ad151(0x6f3)]}),log(_0x4ad151(0x749));else{if(_0x2c8760['stereo']==0x4)_0x5c12ea['sdp']=CodecsHandler[_0x4ad151(0x1b9)](_0x5c12ea[_0x4ad151(0x3ab)],{'stereo':0x2,'maxaveragebitrate':(_0x2c8760['audiobitrate']||0x100)*0x400,'cbr':_0x2c8760[_0x4ad151(0x68e)],'useinbandfec':_0x2c8760['noFEC']?0x0:0x1,'maxptime':_0x2c8760[_0x4ad151(0x8cc)],'minptime':_0x2c8760[_0x4ad151(0x375)],'ptime':_0x2c8760[_0x4ad151(0x8ee)],'dtx':_0x2c8760[_0x4ad151(0x6f3)]});else{if(_0x2c8760[_0x4ad151(0x25d)])_0x5c12ea[_0x4ad151(0x3ab)]=CodecsHandler['setOpusAttributes'](_0x5c12ea[_0x4ad151(0x3ab)],{'maxaveragebitrate':_0x2c8760[_0x4ad151(0x25d)]*0x400,'cbr':_0x2c8760['cbr'],'useinbandfec':_0x2c8760['noFEC']?0x0:0x1,'maxptime':_0x2c8760['maxptime'],'minptime':_0x2c8760[_0x4ad151(0x375)],'ptime':_0x2c8760[_0x4ad151(0x8ee)],'dtx':_0x2c8760[_0x4ad151(0x6f3)]});else{if(_0x2c8760[_0x4ad151(0x71b)])_0x5c12ea[_0x4ad151(0x3ab)]=CodecsHandler[_0x4ad151(0x1b9)](_0x5c12ea[_0x4ad151(0x3ab)],{'useinbandfec':0x0,'maxptime':_0x2c8760[_0x4ad151(0x8cc)],'minptime':_0x2c8760[_0x4ad151(0x375)],'ptime':_0x2c8760['ptime'],'dtx':_0x2c8760[_0x4ad151(0x6f3)]});else _0x2c8760[_0x4ad151(0x6f3)]&&(_0x5c12ea[_0x4ad151(0x3ab)]=CodecsHandler[_0x4ad151(0x1b9)](_0x5c12ea[_0x4ad151(0x3ab)],{'maxptime':_0x2c8760[_0x4ad151(0x8cc)],'minptime':_0x2c8760[_0x4ad151(0x375)],'ptime':_0x2c8760[_0x4ad151(0x8ee)],'dtx':_0x2c8760[_0x4ad151(0x6f3)]}));}}}}}if(_0x2c8760[_0x4ad151(0x2e2)])try{if(_0x2c8760[_0x4ad151(0x2e2)]===_0x4ad151(0x907))_0x5c12ea['sdp']=CodecsHandler['modifyDescLyra'](_0x5c12ea[_0x4ad151(0x3ab)]);else{if(_0x2c8760[_0x4ad151(0x2e2)]===_0x4ad151(0x4d3)){if(_0x2c8760[_0x4ad151(0x658)])_0x5c12ea[_0x4ad151(0x3ab)]=CodecsHandler[_0x4ad151(0x31b)](_0x5c12ea['sdp'],_0x2c8760[_0x4ad151(0x66c)]||0xbb80,![],_0x2c8760[_0x4ad151(0x8ee)]);else _0x2c8760[_0x4ad151(0x376)]?_0x5c12ea['sdp']=CodecsHandler[_0x4ad151(0x31b)](_0x5c12ea['sdp'],_0x2c8760[_0x4ad151(0x66c)]||0x7d00,!![],_0x2c8760[_0x4ad151(0x8ee)]):_0x5c12ea['sdp']=CodecsHandler[_0x4ad151(0x31b)](_0x5c12ea[_0x4ad151(0x3ab)],_0x2c8760[_0x4ad151(0x66c)]||0xbb80,![],_0x2c8760[_0x4ad151(0x8ee)]);}else _0x5c12ea[_0x4ad151(0x3ab)]=CodecsHandler['preferAudioCodec'](_0x5c12ea[_0x4ad151(0x3ab)],_0x2c8760[_0x4ad151(0x2e2)]);}}catch(_0x77a133){errorlog(_0x77a133),warnlog(_0x4ad151(0x28f));}_0x2c8760[_0x4ad151(0x22c)]&&(_0x5c12ea[_0x4ad151(0x3ab)]=CodecsHandler[_0x4ad151(0x389)](_0x5c12ea[_0x4ad151(0x3ab)],_0x2c8760[_0x4ad151(0x22c)]));_0x2c8760['h264profile']&&(_0x5c12ea[_0x4ad151(0x3ab)]=_0x5c12ea[_0x4ad151(0x3ab)][_0x4ad151(0x15c)](/42e01f/gi,_0x2c8760['h264profile']),_0x5c12ea[_0x4ad151(0x3ab)]=_0x5c12ea['sdp'][_0x4ad151(0x15c)](/42001f/gi,_0x2c8760[_0x4ad151(0xe5)]),_0x5c12ea[_0x4ad151(0x3ab)]=_0x5c12ea[_0x4ad151(0x3ab)]['replace'](/420029/gi,_0x2c8760[_0x4ad151(0xe5)]),_0x5c12ea['sdp']=_0x5c12ea[_0x4ad151(0x3ab)][_0x4ad151(0x15c)](/42a01e/gi,_0x2c8760['h264profile']),_0x5c12ea[_0x4ad151(0x3ab)]=_0x5c12ea[_0x4ad151(0x3ab)][_0x4ad151(0x15c)](/42a014/gi,_0x2c8760[_0x4ad151(0xe5)]),_0x5c12ea[_0x4ad151(0x3ab)]=_0x5c12ea[_0x4ad151(0x3ab)][_0x4ad151(0x15c)](/42a00b/gi,_0x2c8760['h264profile']),_0x5c12ea[_0x4ad151(0x3ab)]=_0x5c12ea[_0x4ad151(0x3ab)][_0x4ad151(0x15c)](/640c1f/gi,_0x2c8760[_0x4ad151(0xe5)]));_0x2c8760[_0x4ad151(0x763)]&&(log(_0x5c12ea[_0x4ad151(0x3ab)]),_0x5c12ea[_0x4ad151(0x3ab)]=CodecsHandler[_0x4ad151(0x8aa)](_0x5c12ea['sdp']));_0x2c8760['noPLIs']&&(_0x5c12ea['sdp']=CodecsHandler[_0x4ad151(0x5cd)](_0x5c12ea[_0x4ad151(0x3ab)]));_0x2c8760[_0x4ad151(0x5ac)]&&(_0x5c12ea[_0x4ad151(0x3ab)]=CodecsHandler['disableREMB'](_0x5c12ea[_0x4ad151(0x3ab)]));if(_0x2c8760['rpcs'][_0x1b6659['UUID']]['manualBandwidth'])log(_0x4ad151(0x864)),_0x5c12ea['sdp']=_0x4b48aa(_0x5c12ea[_0x4ad151(0x3ab)],_0x2c8760[_0x4ad151(0x186)][_0x1b6659[_0x4ad151(0x86c)]][_0x4ad151(0x373)]);else _0x2c8760[_0x4ad151(0x4ca)]&&(log('bit\x20rate\x20being\x20munged'),_0x5c12ea[_0x4ad151(0x3ab)]=_0x4b48aa(_0x5c12ea[_0x4ad151(0x3ab)],_0x2c8760[_0x4ad151(0x4ca)]));return _0x2c8760[_0x4ad151(0x186)][_0x1b6659['UUID']][_0x4ad151(0x6e0)](_0x5c12ea);})[_0x45e2ae(0x414)](function _0x44e89f(){var _0x34703a=_0x45e2ae;log(_0x34703a(0x6ea));var _0x1006c3={};_0x1006c3['UUID']=_0x1b6659[_0x34703a(0x86c)],_0x1006c3[_0x34703a(0x80c)]=_0x2c8760[_0x34703a(0x186)][_0x1b6659[_0x34703a(0x86c)]][_0x34703a(0xc7)],_0x1006c3[_0x34703a(0x4d0)]=_0x2c8760[_0x34703a(0x186)][_0x1b6659[_0x34703a(0x86c)]][_0x34703a(0x4d0)],_0x2c8760['password']?_0x2c8760[_0x34703a(0x60a)](JSON[_0x34703a(0xd4)](_0x1006c3[_0x34703a(0x80c)]))[_0x34703a(0x414)](function(_0x28ee72){var _0x58a828=_0x34703a;_0x1006c3[_0x58a828(0x80c)]=_0x28ee72[0x0],_0x1006c3[_0x58a828(0x4e8)]=_0x28ee72[0x1],_0x2c8760[_0x58a828(0x50b)](_0x1006c3);})['catch'](errorlog):_0x2c8760[_0x34703a(0x50b)](_0x1006c3);})['catch'](errorlog);else _0x2c8760['rpcs'][_0x1b6659['UUID']][_0x45e2ae(0x1a2)][_0x45e2ae(0x16c)]===_0x45e2ae(0x8cf)&&errorlog(_0x45e2ae(0x5c5));})[_0x5ad919(0x538)](errorlog);},_0x2c8760['getLocalStream']=function(){var _0x9b0e58=_0x2f8f35;if(_0x2c8760['videoElement']['srcObject'])return _0x2c8760[_0x9b0e58(0x850)]['srcObject'];else return _0x2c8760[_0x9b0e58(0x850)][_0x9b0e58(0x26e)]&&_0x2c8760['streamSrc']?_0x2c8760['streamSrc']:(log(_0x9b0e58(0x8e8)),checkBasicStreamsExist(),_0x2c8760[_0x9b0e58(0x850)]['srcObject']);};var _0x594689={},_0x9283a8=![],_0x4e37b6=[];_0x2c8760[_0x2f8f35(0x590)]=function(_0x3d46ac,_0x3e3a3c){var _0x45eb48=_0x2f8f35;log(_0x45eb48(0x6ae)+_0x3e3a3c+'\x20'+_0x3d46ac);var _0x10e617=new FileReader(),_0x55713b=![];for(var _0x5b6272=0x0;_0x5b6272<_0x2c8760[_0x45eb48(0x7d6)][_0x45eb48(0x542)];_0x5b6272++){if(_0x2c8760['hostedFiles'][_0x5b6272]['id']===_0x3e3a3c){_0x55713b=_0x5b6272;break;}}if(_0x55713b===![]){warnlog('requested\x20file\x20was\x20not\x20found');return;}else{if(_0x2c8760[_0x45eb48(0x7d6)][_0x55713b]['state']==0x0){warnlog(_0x45eb48(0x221));return;}else{if(!(_0x2c8760[_0x45eb48(0x7d6)][_0x55713b][_0x45eb48(0x203)]===![]||_0x2c8760[_0x45eb48(0x7d6)][_0x55713b]['restricted']===_0x3d46ac)){warnlog(_0x45eb48(0x6e8));return;}}}var _0x215b55=0x4000,_0x42a851=0x0,_0x1ff357=_0x55713b;_0x1ff357===_0x45eb48(0x460)&&(_0x1ff357=_0x45eb48(0x7a9)+_0x2c8760[_0x45eb48(0x45e)](0x5));if(_0x3d46ac in _0x2c8760[_0x45eb48(0x847)])var _0xf698f6=_0x2c8760[_0x45eb48(0x847)][_0x3d46ac][_0x45eb48(0x31f)](_0x1ff357);else{if(_0x3d46ac in _0x2c8760[_0x45eb48(0x186)])var _0xf698f6=_0x2c8760[_0x45eb48(0x186)][_0x3d46ac][_0x45eb48(0x31f)](_0x1ff357);else{warnlog(_0x45eb48(0x7fe));return;}}_0xf698f6[_0x45eb48(0x733)]=_0x45eb48(0x87);var _0x51a273=_0x2c8760['hostedFiles'][_0x55713b][_0x45eb48(0x688)](0x0,_0x215b55);_0xf698f6[_0x45eb48(0x350)]=()=>{var _0x3db89b=_0x45eb48;_0xf698f6[_0x3db89b(0x6eb)](JSON['stringify']({'type':_0x3db89b(0x13d),'size':_0x2c8760[_0x3db89b(0x7d6)][_0x55713b][_0x3db89b(0x64c)],'filename':_0x2c8760[_0x3db89b(0x7d6)][_0x55713b][_0x3db89b(0x42d)],'id':_0x2c8760[_0x3db89b(0x7d6)][_0x55713b]['id']})),_0x10e617['readAsArrayBuffer'](_0x51a273);},_0xf698f6['onclose']=()=>{var _0x4a1300=_0x45eb48;try{var _0x8807af=_0x2c8760[_0x4a1300(0xda)][_0x4a1300(0x1db)](_0xf698f6);_0x8807af>-0x1&&_0x2c8760[_0x4a1300(0xda)][_0x4a1300(0x664)](_0x8807af,0x1);}catch(_0x56e0e9){errorlog(_0x56e0e9);}log(_0x4a1300(0x43b)),_0xf698f6=null;},_0xf698f6[_0x45eb48(0x8b1)]=_0x5fc259=>{},_0x2c8760[_0x45eb48(0xda)][_0x45eb48(0x20d)](_0xf698f6),_0x10e617['onload']=function(){var _0x345194=_0x45eb48;if(_0x2c8760[_0x345194(0x7d6)][_0x55713b][_0x345194(0x13e)]==0x0)return;var _0x5691a2=_0x10e617['result'];log(_0x5691a2);try{_0xf698f6['send'](_0x5691a2);}catch(_0x33c19a){try{_0xf698f6[_0x345194(0x7f8)]();}catch(_0x36735e){}warnlog(_0x33c19a);return;}_0x42a851+=0x1;if(_0x42a851*_0x215b55<_0x2c8760[_0x345194(0x7d6)][_0x55713b][_0x345194(0x64c)])try{log(_0x345194(0x59d)+_0x42a851),_0x51a273=_0x2c8760[_0x345194(0x7d6)][_0x55713b]['slice'](_0x42a851*_0x215b55,(_0x42a851+0x1)*_0x215b55),_0x10e617[_0x345194(0x64e)](_0x51a273);}catch(_0x406d1c){errorlog(_0x406d1c);}else _0xf698f6[_0x345194(0x6eb)](_0x345194(0x214)),_0xf698f6[_0x345194(0x7f8)]();};},_0x2c8760[_0x2f8f35(0x22b)]=null,_0x2c8760['chunkedAudioEnabled']=null,_0x2c8760['webCodec']=async function(_0x6994=null){var _0x2cfa46=_0x2f8f35;if(_0x2c8760[_0x2cfa46(0x22b)]!==null)return;else _0x2c8760['chunkedVideoEnabled']=![];!_0x6994&&_0x2c8760['stats']['Chunked_video']&&(_0x6994=_0x2c8760[_0x2cfa46(0x744)]['Chunked_video']);let _0x429020=0x0;var _0x2ac1aa=_0x2c8760['streamSrc'][_0x2cfa46(0x454)]()[0x0];if(!_0x2ac1aa){_0x2c8760[_0x2cfa46(0x22b)]=null;return;}var _0x17ef16=new MediaStreamTrackProcessor(_0x2ac1aa),_0x43bc19=_0x17ef16[_0x2cfa46(0x5c0)];const _0x40752d=_0x43bc19['getReader']();var _0x4a811b=![],_0x20d8d0=-0x1;const _0x45a9c0={'output':_0x382485=>{var _0xabdb07=_0x2cfa46;if(_0x382485[_0xabdb07(0x631)][_0xabdb07(0x42d)]=='EncodedVideoChunk'){let _0x353319=new Uint8Array(_0x382485[_0xabdb07(0x363)]);_0x382485[_0xabdb07(0x1c6)](_0x353319),_0x4e37b6[_0xabdb07(0x20d)]([_0x382485[_0xabdb07(0x627)]-_0x4b0e83,_0x382485[_0xabdb07(0x16c)]]),_0x4e37b6['push'](_0x353319),_0x9283a8[_0xabdb07(0x38f)]();}},'error':_0xfcd144=>{errorlog(_0xfcd144);}};let _0x483a95=new VideoEncoder(_0x45a9c0);_0x483a95[_0x2cfa46(0x585)](_0x6994),_0x2c8760[_0x2cfa46(0x744)][_0x2cfa46(0x897)]=_0x6994,_0x2c8760[_0x2cfa46(0x22b)]=!![];var _0x4b0e83=-0x1;_0x40752d['read']()[_0x2cfa46(0x414)](function _0x2e3ca0({done:_0x54100c,value:_0x5763b8}){var _0x4f8c6a=_0x2cfa46;if(_0x54100c||_0x4a811b){_0x483a95['close']();_0x5763b8&&_0x5763b8[_0x4f8c6a(0x7f8)]();_0x2c8760['chunkedVideoEnabled']=null;return;}_0x4b0e83==-0x1&&(_0x4b0e83=_0x5763b8[_0x4f8c6a(0x627)]);_0x20d8d0==_0x5763b8[_0x4f8c6a(0x627)]&&(_0x5763b8[_0x4f8c6a(0x627)]+=0x1,warnlog(_0x4f8c6a(0x290)));if(!_0x4a811b){_0x20d8d0=_0x5763b8[_0x4f8c6a(0x627)],_0x429020++;if(_0x9283a8[_0x4f8c6a(0x47c)]){const _0x5c84f2=_0x429020>=0x3c;_0x5c84f2&&(_0x429020=0x0,_0x9283a8[_0x4f8c6a(0x47c)]=![],warnlog(_0x4f8c6a(0x5a5))),_0x483a95['encode'](_0x5763b8,{'keyFrame':_0x5c84f2});}else _0x483a95[_0x4f8c6a(0x86d)](_0x5763b8,{'keyFrame':![]});}_0x5763b8['close'](),_0x40752d['read']()['then'](_0x2e3ca0);});},_0x2c8760[_0x2f8f35(0x528)]=async function(_0x37fdeb){var _0x19e154=_0x2f8f35;if(_0x2c8760['chunkedAudioEnabled']!==null)return;else _0x2c8760[_0x19e154(0x808)]=![];!_0x37fdeb&&_0x2c8760[_0x19e154(0x744)][_0x19e154(0x677)]&&(_0x37fdeb=_0x2c8760[_0x19e154(0x744)][_0x19e154(0x677)]);var _0x4d0508=_0x2c8760[_0x19e154(0x850)][_0x19e154(0x548)][_0x19e154(0x556)]()[0x0];if(!_0x4d0508){_0x2c8760[_0x19e154(0x808)]=null;return;}var _0x1b9fd9=_0x4d0508[_0x19e154(0x244)]();_0x37fdeb[_0x19e154(0x837)]>_0x1b9fd9[_0x19e154(0x73d)]&&(_0x37fdeb[_0x19e154(0x837)]=_0x1b9fd9[_0x19e154(0x73d)],_0x37fdeb[_0x19e154(0x495)]=_0x1b9fd9[_0x19e154(0x73d)]);_0x37fdeb[_0x19e154(0x66c)]>_0x1b9fd9['sampleRate']&&(_0x37fdeb['sampleRate']=_0x1b9fd9[_0x19e154(0x66c)]);var _0x40f0f7=new MediaStreamTrackProcessor(_0x4d0508),_0x35357d=_0x40f0f7[_0x19e154(0x5c0)];const _0x19bb85=_0x35357d[_0x19e154(0x81b)]();var _0x3a8bfc=![],_0x2059f9=-0x1,_0x12f208=-0x1;const _0x36a372={'output':_0x3d7c2a=>{var _0x493642=_0x19e154;if(_0x3d7c2a[_0x493642(0x631)]['name']==_0x493642(0x1c4)){let _0x4fe419=new Uint8Array(_0x3d7c2a[_0x493642(0x363)]);_0x3d7c2a['copyTo'](_0x4fe419),_0x4e37b6[_0x493642(0x20d)]([_0x3d7c2a[_0x493642(0x627)]-_0x12f208,'audio']),_0x4e37b6[_0x493642(0x20d)](_0x4fe419),_0x9283a8[_0x493642(0x38f)]();}},'error':_0x5dbc47=>{errorlog(_0x5dbc47);}};let _0x2359ae=new AudioEncoder(_0x36a372);_0x37fdeb[_0x19e154(0x66c)]=0xbb80*_0x37fdeb['numberOfChannels'],_0x2359ae[_0x19e154(0x585)](_0x37fdeb),_0x2c8760[_0x19e154(0x744)][_0x19e154(0x677)]={},_0x2c8760['stats'][_0x19e154(0x677)][_0x19e154(0x22c)]=_0x37fdeb['codec'],_0x2c8760[_0x19e154(0x744)]['Chunked_audio'][_0x19e154(0x837)]=_0x37fdeb[_0x19e154(0x837)],_0x2c8760[_0x19e154(0x744)][_0x19e154(0x677)][_0x19e154(0x66c)]=_0x37fdeb[_0x19e154(0x66c)],_0x2c8760[_0x19e154(0x744)][_0x19e154(0x677)][_0x19e154(0x4ca)]=_0x37fdeb['tuning'][_0x19e154(0x4ca)],_0x2c8760[_0x19e154(0x808)]=!![],_0x19bb85[_0x19e154(0x274)]()[_0x19e154(0x414)](function _0x2323fd({done:_0x32c7ed,value:_0x3ca108}){var _0x4ce9ed=_0x19e154;if(_0x32c7ed||_0x3a8bfc){_0x2359ae[_0x4ce9ed(0x7f8)]();_0x3ca108&&_0x3ca108[_0x4ce9ed(0x7f8)]();_0x2c8760['chunkedAudioEnabled']=null;return;}_0x12f208==-0x1&&(_0x12f208=_0x3ca108[_0x4ce9ed(0x627)]),_0x2059f9==_0x3ca108['timestamp']&&(_0x3ca108[_0x4ce9ed(0x627)]+=0x1),!_0x3a8bfc&&(_0x2059f9=_0x3ca108[_0x4ce9ed(0x627)],_0x2359ae[_0x4ce9ed(0x86d)](_0x3ca108)),_0x3ca108['close'](),_0x19bb85['read']()[_0x4ce9ed(0x414)](_0x2323fd);});},_0x2c8760[_0x2f8f35(0x689)]=function(_0x17e5f9){var _0xafd9fe=_0x2f8f35;warnlog('PCM\x20STARTED');const _0x419de3=window[_0xafd9fe(0x281)]||window[_0xafd9fe(0x507)],_0x131bb9=new _0x419de3(),_0x1f8ab2=_0x131bb9[_0xafd9fe(0x81f)](_0x17e5f9),_0x17a9c1=0x800,_0x3ccee2=(_0x131bb9['createScriptProcessor']||_0x131bb9[_0xafd9fe(0x629)])[_0xafd9fe(0x44d)](_0x131bb9,_0x17a9c1,0x1,0x1);return _0x3ccee2[_0xafd9fe(0x8d8)]=function(_0xe469fa){var _0x7478e0=_0xafd9fe,_0x17c1e9=new Uint8Array(_0xe469fa[_0x7478e0(0x229)][_0x7478e0(0x3c5)](0x0)[_0x7478e0(0xd7)]);_0x4e37b6['push']([0x0,_0x7478e0(0x4d3)]),_0x4e37b6[_0x7478e0(0x20d)](_0x17c1e9),_0x9283a8[_0x7478e0(0x38f)]();},_0x1f8ab2[_0xafd9fe(0x7d2)](_0x3ccee2),_0x3ccee2['connect'](_0x131bb9[_0xafd9fe(0x407)]),_0x3ccee2;},_0x2c8760[_0x2f8f35(0x4ac)]=function(_0x91c8a7){var _0xf48747=_0x2f8f35;log(_0xf48747(0x1b1)+_0x91c8a7);!_0x2c8760[_0xf48747(0x22b)]&&_0x2c8760[_0xf48747(0x744)]['Chunked_video']&&(config=_0x2c8760[_0xf48747(0x744)]['Chunked_video'],_0x2c8760[_0xf48747(0x176)](config));!_0x2c8760['chunkedAudioEnabled']&&_0x2c8760['stats'][_0xf48747(0x677)]&&(config=_0x2c8760[_0xf48747(0x744)][_0xf48747(0x677)],_0x2c8760['webCodecAudio'](config));if(_0x91c8a7 in _0x594689)return;if(!_0x9283a8){var _0x2a1a21=_0x2c8760[_0xf48747(0x831)](),_0x21d399=_0x2c8760[_0xf48747(0x3b6)],_0x39065e=null;_0x2c8760[_0xf48747(0x88c)]&&_0x2c8760[_0xf48747(0x88c)]<_0x21d399&&(_0x21d399=_0x2c8760[_0xf48747(0x88c)]);var _0x222860={'codec':_0xf48747(0x605),'width':0x780,'height':0x438,'bitrate':parseInt(_0x21d399*0x3e8),'frameRate':0x1e},_0x49ce5e=_0x2a1a21[_0xf48747(0x454)]();if(_0x49ce5e[_0xf48747(0x542)]){var _0x23af88=_0x49ce5e[0x0]['getSettings']();_0x23af88[_0xf48747(0x33e)]&&(_0x222860[_0xf48747(0x33e)]=_0x23af88['width']),_0x23af88[_0xf48747(0x5e4)]&&(_0x222860[_0xf48747(0x5e4)]=_0x23af88[_0xf48747(0x5e4)]),_0x23af88[_0xf48747(0x640)]&&(_0x222860['frameRate']=_0x23af88['frameRate']);}else _0x222860=![];if(_0x21d399<0x259){var _0x541975=_0x222860['width']*_0x222860[_0xf48747(0x5e4)]/(0x280*0x168);if(_0x541975>=0x2)_0x222860[_0xf48747(0x33e)]=parseInt(_0x222860[_0xf48747(0x33e)]/0x2),_0x222860['height']=parseInt(_0x222860[_0xf48747(0x5e4)]/0x2);else _0x541975>=1.5&&(_0x222860['width']=parseInt(_0x222860[_0xf48747(0x33e)]/1.5),_0x222860['height']=parseInt(_0x222860[_0xf48747(0x5e4)]/1.5));}var _0x37d834={'codec':_0xf48747(0x503),'numberOfChannels':0x2,'channels':0x2,'sampleRate':0xbb80,'bitrate':0xfa00,'tuning':{'bitrate':0xfa00}};if(_0x21d399>0xbb8)var _0x37d834={'codec':_0xf48747(0x503),'numberOfChannels':0x2,'channels':0x2,'sampleRate':0xbb80,'tuning':{'bitrate':0x1f400}};else{if(_0x21d399<0x259)var _0x37d834={'codec':_0xf48747(0x503),'numberOfChannels':0x1,'channels':0x1,'sampleRate':0xbb80,'tuning':{'bitrate':0x7d00}};}_0x2c8760[_0xf48747(0x4d3)]&&(_0x37d834[_0xf48747(0x22c)]=_0xf48747(0x4d3));!_0x2a1a21[_0xf48747(0x556)]()[_0xf48747(0x542)]&&(_0x37d834=![]);if(!_0x37d834&&!_0x222860)return;_0x9283a8={},_0x9283a8[_0xf48747(0x47c)]=!![],_0x9283a8['configVideo']=_0x222860||![],_0x9283a8['configAudio']=_0x37d834||![],_0x9283a8[_0xf48747(0x4a6)]&&_0x2c8760[_0xf48747(0x176)](_0x9283a8['configVideo']),_0x9283a8[_0xf48747(0x61c)]&&(_0x9283a8[_0xf48747(0x61c)][_0xf48747(0x22c)]==_0xf48747(0x4d3)?_0x2c8760[_0xf48747(0x689)](_0x2a1a21):_0x2c8760[_0xf48747(0x528)](_0x9283a8[_0xf48747(0x61c)])),_0x9283a8[_0xf48747(0x38f)]=function(){var _0x3fd054=_0xf48747;if(_0x39065e)return;_0x39065e=!![];while(_0x4e37b6[_0x3fd054(0x542)]){if(!Object['keys'](_0x594689)[_0x3fd054(0x542)]){_0x4e37b6=[],_0x39065e=null;return;}var _0x2d687d=_0x4e37b6[_0x3fd054(0x286)]();if(_0x2d687d['length']===0x2){_0x2d687d['push'](_0x4e37b6['length']);var _0x4da4ed=JSON['stringify'](_0x2d687d);for(var _0x3822c1 in _0x594689){try{_0x594689[_0x3822c1][_0x3fd054(0xcd)]===_0x3fd054(0x873)&&_0x594689[_0x3822c1][_0x3fd054(0x6eb)](_0x4da4ed);}catch(_0x258b47){}}}else{if(_0x2d687d[_0x3fd054(0x363)]>0x40000){for(var _0x3822c1 in _0x594689){try{_0x594689[_0x3822c1][_0x3fd054(0xcd)]==='open'&&_0x594689[_0x3822c1]['send'](_0x2d687d[_0x3fd054(0x688)](0x0,0x40000));}catch(_0x1e8e71){}}_0x4e37b6[_0x3fd054(0x491)](_0x2d687d[_0x3fd054(0x688)](0x40000));}else for(var _0x3822c1 in _0x594689){try{_0x594689[_0x3822c1]['readyState']===_0x3fd054(0x873)&&_0x594689[_0x3822c1][_0x3fd054(0x6eb)](_0x2d687d);}catch(_0x14d936){}}}_0x2c8760[_0x3fd054(0x744)][_0x3fd054(0x787)]=_0x594689[_0x3822c1][_0x3fd054(0x4c5)];}_0x39065e=null;},_0x2a1a21[_0xf48747(0x8d2)]=function(_0x408bc4){};}var _0x5a9b7d=_0xf48747(0x3b6);if(_0x91c8a7 in _0x2c8760['pcs'])_0x594689[_0x91c8a7]=_0x2c8760['pcs'][_0x91c8a7]['createDataChannel'](_0x5a9b7d);else{if(_0x91c8a7 in _0x2c8760[_0xf48747(0x186)])_0x594689[_0x91c8a7]=_0x2c8760[_0xf48747(0x186)][_0x91c8a7][_0xf48747(0x31f)](_0x5a9b7d);else{warnlog(_0xf48747(0x7fe));return;}}_0x594689[_0x91c8a7][_0xf48747(0x1fc)]=_0xf48747(0x4f4),_0x594689[_0x91c8a7]['binaryType']=_0xf48747(0x87),_0x594689[_0x91c8a7]['header']=![],_0x594689[_0x91c8a7][_0xf48747(0x350)]=()=>{var _0x11c847=_0xf48747;log(_0x11c847(0x163)),_0x594689[_0x91c8a7][_0x11c847(0x6eb)](JSON['stringify']({'type':_0x11c847(0x626),'size':0x5af3107a3fff,'configVideo':_0x9283a8[_0x11c847(0x4a6)],'configAudio':_0x9283a8[_0x11c847(0x61c)],'recordType':_0x2c8760[_0x11c847(0x3b6)],'filename':_0x5a9b7d+_0x11c847(0x719),'id':_0x5a9b7d}));},_0x594689[_0x91c8a7][_0xf48747(0x482)]=()=>{var _0x5d13e9=_0xf48747;try{var _0x647a4e=_0x2c8760['hostedTransfers'][_0x5d13e9(0x1db)](_0x594689[_0x91c8a7]);_0x647a4e>-0x1&&_0x2c8760['hostedTransfers'][_0x5d13e9(0x664)](_0x647a4e,0x1);}catch(_0x33345a){errorlog(_0x33345a);}log('Transfer\x20ended'),_0x594689[_0x91c8a7]=null,delete _0x594689[_0x91c8a7];var _0x228e33=![];for(var _0x4cdeb9=0x0;_0x4cdeb9<_0x2c8760[_0x5d13e9(0xda)][_0x5d13e9(0x542)];_0x4cdeb9++){if(_0x5d13e9(0x1fc)in _0x2c8760[_0x5d13e9(0xda)][_0x4cdeb9]&&_0x2c8760[_0x5d13e9(0xda)][_0x4cdeb9][_0x5d13e9(0x1fc)]==_0x5d13e9(0x4f4)){_0x228e33=!![];break;}}if(_0x228e33)try{_0x9283a8[_0x5d13e9(0xee)]();}catch(_0x32d332){}},_0x594689[_0x91c8a7][_0xf48747(0x8b1)]=_0x43f6ae=>{var _0x419d67=_0xf48747;if(_0x43f6ae[_0x419d67(0x547)])try{var _0x3ec7d7=JSON['parse'](_0x43f6ae[_0x419d67(0x547)]);_0x3ec7d7['kf']&&(log(_0x419d67(0x7c9)),_0x9283a8[_0x419d67(0x47c)]=!![]);}catch(_0x388f63){}},_0x2c8760[_0xf48747(0xda)]['push'](_0x594689[_0x91c8a7]);},_0x2c8760[_0x2f8f35(0x885)]=async function(_0x2c44ed,_0x580142,_0xfe94dc){var _0x1a798c=_0x2f8f35;log(_0x1a798c(0x7fa));var _0xa0e463=_0xfe94dc;_0xa0e463[_0x1a798c(0x733)]='arraybuffer';var _0x447c33='',_0x58b5a6=0x0,_0x2bd3fe=![],_0x14db23=![],_0x404c5c=0x0,_0x5b5246={};_0xa0e463[_0x1a798c(0x350)]=_0x19a23b=>{var _0x728028=_0x1a798c;log(_0x728028(0x1cb));},_0xa0e463[_0x1a798c(0x8b1)]=_0x47b011=>{var _0x37670a=_0x1a798c;if(!_0x2bd3fe)try{_0x2bd3fe=JSON[_0x37670a(0x2bc)](_0x47b011[_0x37670a(0x547)]);if(_0x2bd3fe[_0x37670a(0x16c)]==_0x37670a(0x13d)){var {readable:_0x5a9e0e,writable:_0x38ef1b}=new TransformStream({'transform':(_0x15ce55,_0x3e4f64)=>_0x15ce55[_0x37670a(0x1f6)]()[_0x37670a(0x414)](_0x458100=>_0x3e4f64[_0x37670a(0x165)](new Uint8Array(_0x458100)))});_0x5b5246[_0x37670a(0x25e)]=_0x38ef1b['getWriter']();;_0x5a9e0e[_0x37670a(0x651)](streamSaver['createWriteStream'](_0x2bd3fe[_0x37670a(0x6d4)]));for(var _0x25ce2d=0x0;_0x25ce2d{var _0x3b202b=_0x1a798c;_0x404c5c<=0x0&&(_0x5b5246['writer']&&setTimeout(function(_0x1213d4,_0x2b68f5){_0x2b68f5<=0x0?(_0x1213d4['close'](),_0x1213d4=null):setTimeout(function(_0x577841,_0x274748){_0x577841['close'](),_0x577841=null;},0x1388,_0x1213d4);},0x3e8,_0x5b5246[_0x3b202b(0x25e)],_0x404c5c));_0xa0e463=null;return;};return;};async function _0x25bd24(_0x1f5257,_0x5e6bd0=![]){var _0x49e988=_0x2f8f35;_0x1f5257[_0x49e988(0x691)][_0x49e988(0x4ef)](_0x1f5257[_0x49e988(0x8c)][_0x49e988(0x286)]());if(_0x1f5257['nextQueue']===null&&!_0x5e6bd0)return;_0x1f5257[_0x49e988(0x6e2)]=setTimeout(function(_0x360489){_0x25bd24(_0x360489);},0x21,_0x1f5257);}return _0x2c8760[_0x2f8f35(0x1ed)]=async function(_0x1f4b0a,_0x5203fe,_0x5a0699){var _0x39f875=_0x2f8f35;log(_0x39f875(0x7fa));var _0x5e7f28=_0x5a0699;_0x5e7f28['binaryType']=_0x39f875(0x87);var _0x411d1a='',_0x1bdfe4=0x0,_0x1c7c2d=![],_0x186ad7=![],_0x5685f2={};_0x5e7f28[_0x39f875(0x350)]=_0x28d685=>{var _0x3c7e21=_0x39f875;log(_0x3c7e21(0x1cb)),_0x2c8760['rpcs'][_0x5203fe]['stats']['chunked_mode']={};},_0x5e7f28[_0x39f875(0x482)]=async function(_0x5900c1){var _0x1089a9=_0x39f875;if(_0x5685f2[_0x1089a9(0x16f)]){if(_0x5685f2[_0x1089a9(0x850)][_0x1089a9(0x4d9)]){await delay(0x3e8);try{await _0x5685f2[_0x1089a9(0x850)]['stopWriter']();}catch(_0x51ce9d){}}}_0x5e7f28=null;_0x2c8760[_0x1089a9(0x186)][_0x5203fe]&&(_0x2c8760['rpcs'][_0x5203fe][_0x1089a9(0x744)][_0x1089a9(0x786)]=_0x1089a9(0x48a));return;};async function _0x54df91(){var _0x4413ca=_0x39f875,_0x52fe7e=await window[_0x4413ca(0x2c4)]({'startIn':'videos','suggestedName':_0x4413ca(0x6cf),'types':[{'description':'Video\x20File','accept':{'video/webm':[_0x4413ca(0x719)]}}]}),_0x2ea69c=await _0x52fe7e[_0x4413ca(0x7ae)]();return _0x5685f2['writer_config']['fileWriter']=_0x2ea69c,_0x5685f2[_0x4413ca(0x16f)]=new WebMWriter(_0x5685f2['writer_config']),_0x5685f2[_0x4413ca(0x850)][_0x4413ca(0x4d9)]=async function(){var _0x376a78=_0x4413ca;_0x5685f2[_0x376a78(0x850)]['stopWriter']=![],clearInterval(_0x5685f2[_0x376a78(0x1a8)]),await _0x5685f2[_0x376a78(0x16f)]['complete'](),_0x5685f2['writer_config'][_0x376a78(0x8a3)]['close']();},_0x5685f2[_0x4413ca(0x16f)];}_0x5e7f28[_0x39f875(0x8b1)]=async function(_0x1883a6){var _0x1a1df1=_0x39f875;if(!_0x1c7c2d)try{_0x1c7c2d=JSON[_0x1a1df1(0x2bc)](_0x1883a6[_0x1a1df1(0x547)]);if(_0x1c7c2d[_0x1a1df1(0x16c)]==_0x1a1df1(0x626)){log(_0x1a1df1(0x76d)),log(_0x1c7c2d),_0x5685f2[_0x1a1df1(0x86c)]=_0x5203fe,_0x5685f2[_0x1a1df1(0x18d)]=0x0,_0x5685f2[_0x1a1df1(0x16e)]=0x2,_0x5685f2[_0x1a1df1(0x637)]=Date[_0x1a1df1(0x6b5)](),_0x5685f2['dc']=_0x5e7f28,_0x5685f2['id']=_0x1c7c2d['id'],_0x5685f2[_0x1a1df1(0x70d)]={},_0x5685f2[_0x1a1df1(0x70d)][_0x1a1df1(0x456)]=![],_0x5685f2[_0x1a1df1(0x70d)][_0x1a1df1(0x6ee)]=![],_0x5685f2[_0x1a1df1(0x25a)]=![],_0x5685f2[_0x1a1df1(0x4a4)]=![];_0x1c7c2d[_0x1a1df1(0x4a6)]&&(_0x5685f2['stream_configVideo']={},_0x5685f2[_0x1a1df1(0x25a)][_0x1a1df1(0x33e)]=_0x1c7c2d[_0x1a1df1(0x4a6)][_0x1a1df1(0x33e)]+''||_0x1a1df1(0x2fd),_0x5685f2['stream_configVideo'][_0x1a1df1(0x5e4)]=_0x1c7c2d['configVideo'][_0x1a1df1(0x5e4)]+''||'720',_0x5685f2[_0x1a1df1(0x25a)][_0x1a1df1(0x22c)]=_0x1c7c2d[_0x1a1df1(0x4a6)][_0x1a1df1(0x22c)]||_0x1a1df1(0x605),_0x5685f2['writer_config'][_0x1a1df1(0x456)]=!![],_0x5685f2[_0x1a1df1(0x70d)][_0x1a1df1(0x33e)]=parseInt(_0x5685f2[_0x1a1df1(0x25a)][_0x1a1df1(0x33e)]),_0x5685f2[_0x1a1df1(0x70d)][_0x1a1df1(0x5e4)]=parseInt(_0x5685f2[_0x1a1df1(0x25a)]['height']),_0x1c7c2d['configVideo'][_0x1a1df1(0x22c)]==_0x1a1df1(0x605)?_0x5685f2[_0x1a1df1(0x70d)][_0x1a1df1(0x22c)]=_0x1a1df1(0x540):_0x5685f2[_0x1a1df1(0x70d)][_0x1a1df1(0x22c)]=_0x1a1df1(0x540),_0x2c8760[_0x1a1df1(0x186)][_0x5203fe][_0x1a1df1(0x744)]['chunked_mode_video']=_0x1c7c2d[_0x1a1df1(0x4a6)]);_0x1c7c2d[_0x1a1df1(0x61c)]&&(_0x5685f2[_0x1a1df1(0x4a4)]=_0x1c7c2d[_0x1a1df1(0x61c)],_0x5685f2['writer_config'][_0x1a1df1(0x6ee)]=!![],_0x5685f2[_0x1a1df1(0x70d)][_0x1a1df1(0x384)]=_0x1c7c2d[_0x1a1df1(0x61c)][_0x1a1df1(0x66c)]||0xbb80,_0x5685f2[_0x1a1df1(0x70d)][_0x1a1df1(0x495)]=_0x1c7c2d['configAudio'][_0x1a1df1(0x837)]||0x1,_0x2c8760['rpcs'][_0x5203fe][_0x1a1df1(0x744)][_0x1a1df1(0x89)]=_0x1c7c2d[_0x1a1df1(0x61c)]);_0x5685f2[_0x1a1df1(0xd7)]=![],_0x5685f2[_0x1a1df1(0x850)]=createVideoElement(),_0x5685f2[_0x1a1df1(0x850)][_0x1a1df1(0x284)]=!![],_0x5685f2[_0x1a1df1(0x850)][_0x1a1df1(0xc0)]=![],_0x5685f2[_0x1a1df1(0x850)][_0x1a1df1(0x226)](_0x1a1df1(0x8ce),''),_0x5685f2['videoElement']['dataset'][_0x1a1df1(0x86c)]=_0x5203fe,_0x5685f2[_0x1a1df1(0x850)]['chunkedtransfer']=!![],_0x5685f2[_0x1a1df1(0x850)][_0x1a1df1(0x548)]=new MediaStream(),_0x5685f2[_0x1a1df1(0x16f)]=![],_0x5685f2['frameMeta']=![],_0x5685f2[_0x1a1df1(0x72a)]=![],_0x5685f2[_0x1a1df1(0x59c)]=![],_0x5685f2[_0x1a1df1(0x456)]=![],_0x5685f2['audio']=![];_0x5685f2[_0x1a1df1(0x25a)]&&(_0x5685f2[_0x1a1df1(0x72a)]={'output':_0x347725=>{var _0x453657=_0x1a1df1;_0x5685f2[_0x453657(0x456)][_0x453657(0x3d4)][_0x453657(0x536)](_0x347725);},'error':_0x1fdd62=>{var _0x103f15=_0x1a1df1;_0x5685f2[_0x103f15(0x456)]['decoder'][_0x103f15(0x13e)]==_0x103f15(0x146)?warnlog(_0x103f15(0x663)):errorlog(_0x1fdd62[_0x103f15(0x6a6)]);}},_0x5685f2[_0x1a1df1(0x456)]={},_0x5685f2[_0x1a1df1(0x456)][_0x1a1df1(0xe7)]=new MediaStreamTrackGenerator({'kind':_0x1a1df1(0x456)}),_0x5685f2['video'][_0x1a1df1(0x2c6)]=new MediaStream([_0x5685f2[_0x1a1df1(0x456)][_0x1a1df1(0xe7)]]),_0x5685f2[_0x1a1df1(0x456)][_0x1a1df1(0x3d4)]=_0x5685f2['video']['generator']['writable'][_0x1a1df1(0x2d1)](),_0x5685f2[_0x1a1df1(0x456)]['decoder']=new VideoDecoder(_0x5685f2[_0x1a1df1(0x72a)]),_0x5685f2[_0x1a1df1(0x456)]['decoder']['configure'](_0x5685f2[_0x1a1df1(0x25a)]),_0x5685f2[_0x1a1df1(0x456)]['queue']=[],_0x5685f2[_0x1a1df1(0x456)][_0x1a1df1(0x6e2)]=null,_0x5685f2[_0x1a1df1(0x850)]['srcObject'][_0x1a1df1(0x2ad)](_0x5685f2[_0x1a1df1(0x456)][_0x1a1df1(0x2c6)][_0x1a1df1(0x454)]()[0x0]));_0x5685f2[_0x1a1df1(0x4a4)]&&(_0x5685f2[_0x1a1df1(0x4a4)]['codec']&&_0x5685f2[_0x1a1df1(0x4a4)][_0x1a1df1(0x22c)]==_0x1a1df1(0x4d3)?(!_0x5685f2[_0x1a1df1(0x407)]?_0x5685f2[_0x1a1df1(0x407)]=_0x2c8760[_0x1a1df1(0x55c)][_0x1a1df1(0x232)]():_0x5685f2['videoElement'][_0x1a1df1(0x548)][_0x1a1df1(0x556)]()[_0x1a1df1(0x648)](_0x1ac484=>{var _0x307b78=_0x1a1df1;_0x5685f2[_0x307b78(0x850)][_0x307b78(0x548)][_0x307b78(0x101)](_0x1ac484);}),_0x5685f2[_0x1a1df1(0x407)][_0x1a1df1(0x2c6)]['getAudioTracks']()['forEach'](_0x213bde=>{var _0x1a559e=_0x1a1df1;_0x5685f2[_0x1a559e(0x850)][_0x1a559e(0x548)][_0x1a559e(0x2ad)](_0x213bde);}),_0x5685f2[_0x1a1df1(0x48b)]=!![]):(_0x5685f2['init_audio']={'output':_0xac4ddf=>{var _0x1766ea=_0x1a1df1;_0x5685f2[_0x1766ea(0x6ee)]['frameWriter'][_0x1766ea(0x536)](_0xac4ddf);},'error':_0x1d4b99=>{var _0x4705ba=_0x1a1df1;_0x5685f2[_0x4705ba(0x6ee)][_0x4705ba(0x691)]['state']=='closed'?warnlog(_0x4705ba(0x663)):errorlog(_0x1d4b99['message']);}},_0x5685f2[_0x1a1df1(0x6ee)]={},_0x5685f2[_0x1a1df1(0x6ee)][_0x1a1df1(0xe7)]=new MediaStreamTrackGenerator({'kind':_0x1a1df1(0x6ee)}),_0x5685f2[_0x1a1df1(0x6ee)][_0x1a1df1(0x2c6)]=new MediaStream([_0x5685f2[_0x1a1df1(0x6ee)][_0x1a1df1(0xe7)]]),_0x5685f2[_0x1a1df1(0x6ee)][_0x1a1df1(0x3d4)]=_0x5685f2[_0x1a1df1(0x6ee)]['generator']['writable'][_0x1a1df1(0x2d1)](),_0x5685f2[_0x1a1df1(0x6ee)][_0x1a1df1(0x691)]=new AudioDecoder(_0x5685f2[_0x1a1df1(0x59c)]),_0x5685f2['audio'][_0x1a1df1(0x691)]['configure'](_0x5685f2[_0x1a1df1(0x4a4)]),_0x5685f2[_0x1a1df1(0x6ee)][_0x1a1df1(0x8c)]=[],_0x5685f2[_0x1a1df1(0x6ee)][_0x1a1df1(0x6e2)]=null,_0x5685f2[_0x1a1df1(0x6ee)]['stream'][_0x1a1df1(0x556)]()[_0x1a1df1(0x648)](_0xfee505=>{var _0x2c8c4b=_0x1a1df1;_0x5685f2[_0x2c8c4b(0x850)][_0x2c8c4b(0x548)][_0x2c8c4b(0x2ad)](_0xfee505);})));log(_0x5685f2),_0x5685f2['playbackheader']=![],_0x5685f2['header']=![],_0x5685f2[_0x1a1df1(0x62f)]=0x0,_0x5685f2[_0x1a1df1(0x850)]['addEventListener']('error',function(_0x1be07d){errorlog(_0x1be07d);}),_0x5685f2[_0x1a1df1(0x850)][_0x1a1df1(0x4df)]=_0x54df91,_0x5685f2['videoElement'][_0x1a1df1(0x63a)]=function(){updateMixer();},_0x5685f2[_0x1a1df1(0x4eb)]=0x2;_0x1c7c2d[_0x1a1df1(0x4eb)]&&(_0x5685f2['chunkTime']=parseFloat(_0x1c7c2d['chunkTime'])||0x2);_0x2c8760[_0x1a1df1(0x186)][_0x5203fe][_0x1a1df1(0x29c)]=_0x5685f2['videoElement'][_0x1a1df1(0x548)],_0x2c8760['rpcs'][_0x5203fe][_0x1a1df1(0x850)]=_0x5685f2[_0x1a1df1(0x850)],setupIncomingVideoTracking(_0x2c8760['rpcs'][_0x5203fe][_0x1a1df1(0x850)],_0x5203fe);if(_0x5685f2[_0x1a1df1(0x6ee)]&&_0x5685f2['video'])updateIncomingVideoElement(_0x5203fe);else{if(_0x5685f2[_0x1a1df1(0x456)])updateIncomingVideoElement(_0x5203fe,!![],![]);else _0x5685f2[_0x1a1df1(0x6ee)]&&updateIncomingVideoElement(_0x5203fe,![],!![]);}_0x5685f2[_0x1a1df1(0x7d)]=async function(_0x50537f){var _0x398fc9=_0x1a1df1;_0x2c8760[_0x398fc9(0x186)][_0x5203fe][_0x398fc9(0x744)]['chunked_mode']['my_time']=_0x50537f[_0x398fc9(0x627)]/0xf4240;if(_0x50537f['type']==_0x398fc9(0x6ee)){await _0x5685f2[_0x398fc9(0x91)](_0x50537f);return;}else{if(_0x50537f['type']==_0x398fc9(0x4d3)){var _0xf4c923=_0x2c8760[_0x398fc9(0x55c)][_0x398fc9(0x27d)]();_0xf4c923['connect'](_0x5685f2['destination']),_0xf4c923[_0x398fc9(0x1d1)]=function(){var _0x576181=_0x398fc9;this[_0x576181(0x8e6)]();};var _0x43a932=_0x2c8760[_0x398fc9(0x55c)][_0x398fc9(0x5c3)](0x2,_0x50537f[_0x398fc9(0x547)][_0x398fc9(0x542)],_0x2c8760['audioCtx'][_0x398fc9(0x66c)]/0x2);_0xf4c923[_0x398fc9(0xd7)]=_0x43a932;var _0x18ec38=_0x43a932['getChannelData'](0x0)['set'](_0x50537f['data']);_0xf4c923[_0x398fc9(0x608)](0x0);return;}}try{_0x50537f=new EncodedVideoChunk(_0x50537f);}catch(_0x46c233){errorlog(_0x46c233),errorlog(_0x50537f);return;}if(_0x5685f2['videoWriter']&&_0x5685f2[_0x398fc9(0x850)][_0x398fc9(0x4d9)]){if(!_0x5685f2['header']&&_0x50537f[_0x398fc9(0x16c)]!==_0x398fc9(0x656))log(_0x398fc9(0x58f)),log(_0x50537f),!_0x5685f2['requestKeyframe']&&(_0x5e7f28[_0x398fc9(0x6eb)](JSON[_0x398fc9(0xd4)]({'kf':!![]})),_0x5685f2[_0x398fc9(0x7f6)]=setTimeout(function(){var _0x249ca1=_0x398fc9;clearTimeout(_0x5685f2[_0x249ca1(0x7f6)]),_0x5685f2[_0x249ca1(0x7f6)]=null;},0x3e8));else!_0x5685f2[_0x398fc9(0x628)]?(_0x5685f2[_0x398fc9(0x628)]=Date[_0x398fc9(0x6b5)](),_0x5685f2['videoWriter'][_0x398fc9(0x3aa)](_0x50537f),log(_0x398fc9(0x2bb)),_0x2c8760['director']&&(_0x5685f2[_0x398fc9(0x1a8)]=setInterval(function(_0x268ee2){var _0x43246b=_0x398fc9,_0x53b523=(Date['now']()-_0x5685f2['header'])/0x3e8,_0x23822c=Math[_0x43246b(0x7c7)](_0x53b523/0x3c),_0x18ac63=Math[_0x43246b(0x7c7)](_0x53b523-_0x23822c*0x3c);try{document[_0x43246b(0x39d)](_0x43246b(0x76)+_0x268ee2+'\x27]')[_0x43246b(0x29f)]=_0x43246b(0x3b2)+_0x23822c+_0x43246b(0x23b)+zpadTime(_0x18ac63)+'s';}catch(_0xfd202a){log(_0x43246b(0x73a));}},0x3e8,_0x5203fe))):_0x5685f2[_0x398fc9(0x16f)][_0x398fc9(0x3aa)](_0x50537f);}_0x5685f2[_0x398fc9(0x433)]&&_0x5685f2['video']&&_0x5685f2['video'][_0x398fc9(0x691)][_0x398fc9(0x13e)]==='closed'&&(warnlog(_0x398fc9(0x2c7)),_0x5685f2[_0x398fc9(0x433)]=![],_0x5685f2[_0x398fc9(0x456)][_0x398fc9(0x691)]=new VideoDecoder(_0x5685f2[_0x398fc9(0x72a)]),await _0x5685f2[_0x398fc9(0x456)]['decoder'][_0x398fc9(0x585)](_0x5685f2[_0x398fc9(0x25a)]),_0x5685f2['playbackheader']=![]);if(_0x5685f2[_0x398fc9(0x433)]||_0x50537f['type']===_0x398fc9(0x656)){_0x5685f2[_0x398fc9(0x433)]=!![];_0x50537f[_0x398fc9(0x16c)]===_0x398fc9(0x656)?_0x5685f2['delta']=0x0:_0x5685f2['delta']+=0x1;try{_0x2c8760[_0x398fc9(0xd7)]||_0x2c8760['sync']?(clearTimeout(_0x5685f2[_0x398fc9(0x456)][_0x398fc9(0x6e2)]),_0x5685f2['video']['queue']['length']?_0x50537f[_0x398fc9(0x627)]-_0x5685f2[_0x398fc9(0x456)][_0x398fc9(0x8c)][0x0][_0x398fc9(0x627)]>0x3e8*((_0x2c8760['buffer']||0x0)+(_0x2c8760[_0x398fc9(0x83d)]||0x0))?(_0x25bd24(_0x5685f2[_0x398fc9(0x456)],!![]),_0x5685f2['video']['queue'][_0x398fc9(0x20d)](_0x50537f)):_0x5685f2['video'][_0x398fc9(0x8c)][_0x398fc9(0x20d)](_0x50537f):_0x5685f2[_0x398fc9(0x456)][_0x398fc9(0x8c)][_0x398fc9(0x20d)](_0x50537f)):_0x5685f2[_0x398fc9(0x456)]['decoder'][_0x398fc9(0x4ef)](_0x50537f);}catch(_0x42ea2a){errorlog(_0x42ea2a),_0x5685f2[_0x398fc9(0x433)]=![];}}!_0x5685f2[_0x398fc9(0x433)]&&(!_0x5685f2[_0x398fc9(0x7f6)]&&(_0x5e7f28['send'](JSON[_0x398fc9(0xd4)]({'kf':!![]})),_0x5685f2[_0x398fc9(0x7f6)]=setTimeout(function(){var _0x2cc8a5=_0x398fc9;clearTimeout(_0x5685f2[_0x2cc8a5(0x7f6)]),_0x5685f2[_0x2cc8a5(0x7f6)]=null;},0x3e8)));},_0x5685f2[_0x1a1df1(0x91)]=async function(_0x6cd09){var _0x193c69=_0x1a1df1;if(!_0x5685f2[_0x193c69(0x6ee)]){errorlog('Audio\x20isn\x27t\x20setup\x20yet.');return;}try{_0x6cd09['type']=_0x193c69(0x656),_0x6cd09=new EncodedAudioChunk(_0x6cd09);}catch(_0x1b27bf){return;}_0x5685f2[_0x193c69(0x16f)]&&_0x5685f2['header']&&_0x5685f2[_0x193c69(0x850)]['stopWriter']&&_0x5685f2[_0x193c69(0x16f)][_0x193c69(0x3aa)](_0x6cd09),_0x5685f2[_0x193c69(0x6ee)][_0x193c69(0x691)][_0x193c69(0x13e)]===_0x193c69(0x146)&&(_0x5685f2[_0x193c69(0x6ee)][_0x193c69(0x691)]=new AudioDecoder(_0x5685f2[_0x193c69(0x59c)]),_0x5685f2[_0x193c69(0x6ee)][_0x193c69(0x691)][_0x193c69(0x585)](_0x5685f2[_0x193c69(0x4a4)])),_0x2c8760[_0x193c69(0xd7)]||_0x2c8760[_0x193c69(0x83d)]?(clearTimeout(_0x5685f2['audio'][_0x193c69(0x6e2)]),_0x5685f2[_0x193c69(0x6ee)][_0x193c69(0x8c)][_0x193c69(0x542)]?_0x6cd09[_0x193c69(0x627)]-_0x5685f2[_0x193c69(0x6ee)][_0x193c69(0x8c)][0x0][_0x193c69(0x627)]>(_0x2c8760[_0x193c69(0xd7)]||0x0)+(_0x2c8760[_0x193c69(0x83d)]||0x0)?(_0x25bd24(_0x5685f2[_0x193c69(0x6ee)]),_0x5685f2[_0x193c69(0x6ee)]['queue'][_0x193c69(0x20d)](_0x6cd09)):_0x5685f2['audio']['queue'][_0x193c69(0x20d)](_0x6cd09):_0x5685f2['audio'][_0x193c69(0x8c)][_0x193c69(0x20d)](_0x6cd09)):_0x5685f2[_0x193c69(0x6ee)][_0x193c69(0x691)]['decode'](_0x6cd09);},transferList[_0x1a1df1(0x20d)](_0x5685f2),_0x186ad7=transferList[_0x1a1df1(0x542)]-0x1,updateDownloadLink(_0x186ad7);}else errorlog(_0x1c7c2d);return;}catch(_0x50493d){errorlog(_0x50493d);}try{var _0x13ed38=_0x1883a6[_0x1a1df1(0x547)];if(typeof _0x13ed38==_0x1a1df1(0x6b3)){if(_0x5685f2[_0x1a1df1(0xd7)]){var _0x3986a8=new Int8Array(_0x13ed38[_0x1a1df1(0xd7)]);_0x5685f2[_0x1a1df1(0xd7)]=![],await _0x5685f2['processFrame']({'data':_0x3986a8,'timestamp':_0x5685f2['frameMeta'][0x0],'type':_0x5685f2[_0x1a1df1(0x149)][0x1]});}_0x5685f2[_0x1a1df1(0x149)]=JSON['parse'](_0x13ed38);}else{try{if(_0x13ed38[_0x1a1df1(0x363)]>=0x40000){if(_0x5685f2['buffer']){_0x13ed38=new Int8Array(_0x13ed38);var _0x3986a8=new Int8Array(_0x5685f2[_0x1a1df1(0xd7)][_0x1a1df1(0x542)]+_0x13ed38['length']);_0x3986a8[_0x1a1df1(0x567)](_0x5685f2[_0x1a1df1(0xd7)]),_0x3986a8[_0x1a1df1(0x567)](_0x13ed38,_0x5685f2[_0x1a1df1(0xd7)][_0x1a1df1(0x542)]),_0x5685f2[_0x1a1df1(0xd7)]=_0x3986a8;}else _0x5685f2['buffer']=new Int8Array(_0x13ed38);return;}else{if(_0x5685f2[_0x1a1df1(0xd7)]){_0x13ed38=new Int8Array(_0x13ed38);var _0x3986a8=new Int8Array(_0x5685f2[_0x1a1df1(0xd7)][_0x1a1df1(0x542)]+_0x13ed38[_0x1a1df1(0x542)]);_0x3986a8[_0x1a1df1(0x567)](_0x5685f2[_0x1a1df1(0xd7)]),_0x3986a8[_0x1a1df1(0x567)](_0x13ed38,_0x5685f2['buffer'][_0x1a1df1(0x542)]),_0x5685f2[_0x1a1df1(0xd7)]=![],await _0x5685f2['processFrame']({'data':_0x3986a8,'timestamp':_0x5685f2[_0x1a1df1(0x149)][0x0],'type':_0x5685f2[_0x1a1df1(0x149)][0x1]});}else await _0x5685f2[_0x1a1df1(0x7d)]({'data':new Uint8Array(_0x13ed38),'timestamp':_0x5685f2['frameMeta'][0x0],'type':_0x5685f2[_0x1a1df1(0x149)][0x1]});}}catch(_0x1bd8b2){errorlog(_0x1bd8b2);}return;}}catch(_0x279c2d){errorlog(_0x279c2d);}};return;},_0x2c8760[_0x2f8f35(0x554)]=async function(_0x53ee7a){var _0x1c1fbb=_0x2f8f35;log(_0x1c1fbb(0x914));var _0x2eb09b=_0x53ee7a[_0x1c1fbb(0x86c)];if(_0x2eb09b in _0x2c8760[_0x1c1fbb(0x186)]){if(_0x1c1fbb(0x4d0)in _0x53ee7a){if(_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x4d0)]==_0x53ee7a[_0x1c1fbb(0x4d0)]){log(_0x1c1fbb(0x400));return;}_0x2c8760[_0x1c1fbb(0x9b)](_0x2eb09b);}}else log('MAKING\x20A\x20NEW\x20RPCS\x20RTC\x20CONNECTION');try{for(var _0x447ba6 in _0x2c8760['rpcs']){_0x2c8760[_0x1c1fbb(0x186)][_0x447ba6][_0x1c1fbb(0x85a)]==_0x53ee7a['streamID']&&(_0x2c8760[_0x1c1fbb(0x186)][_0x447ba6][_0x1c1fbb(0x850)]&&(_0x2c8760[_0x1c1fbb(0x186)][_0x447ba6][_0x1c1fbb(0x850)][_0x1c1fbb(0x83f)][_0x1c1fbb(0x5c1)]=_0x1c1fbb(0x263)),_0x2c8760['closeRPC'](_0x447ba6),_0x447ba6!==_0x2eb09b&&(_0x447ba6 in _0x2c8760[_0x1c1fbb(0x847)]&&(_0x53ee7a[_0x1c1fbb(0x4d0)]&&_0x53ee7a['session']['substring'](0x0,0x6)!==_0x2c8760[_0x1c1fbb(0x901)]?(warnlog('CLOSING\x20SECONDARY\x20CONNECTION;\x20matched\x20stream\x20ID\x20has\x20re-connected'),log(_0x1c1fbb(0x5a9)),_0x2c8760[_0x1c1fbb(0x8db)](_0x447ba6,![])):warnlog(_0x1c1fbb(0x134)))));}document['getElementById'](_0x1c1fbb(0x173))&&document['getElementById'](_0x1c1fbb(0x173))['parentNode'][_0x1c1fbb(0x6c1)](document[_0x1c1fbb(0x21f)](_0x1c1fbb(0x173)));}catch(_0x33ef48){errorlog(_0x33ef48);}if(_0x2c8760[_0x1c1fbb(0x7f)]!==![]){if(Object[_0x1c1fbb(0x4a2)](_0x2c8760[_0x1c1fbb(0x186)])[_0x1c1fbb(0x542)]>=_0x2c8760[_0x1c1fbb(0x7f)]){warnlog(_0x1c1fbb(0x131));return;}}else{if(_0x2c8760[_0x1c1fbb(0x141)]!==![]){if(Object[_0x1c1fbb(0x4a2)](_0x2c8760[_0x1c1fbb(0x186)])[_0x1c1fbb(0x542)]+Object['keys'](_0x2c8760[_0x1c1fbb(0x847)])[_0x1c1fbb(0x542)]>=_0x2c8760[_0x1c1fbb(0x141)]){warnlog(_0x1c1fbb(0x131));return;}}}if(_0x2c8760[_0x1c1fbb(0x8c)]){if(_0x2c8760['director'])!(_0x2eb09b in _0x2c8760[_0x1c1fbb(0x847)])&&_0x2c8760[_0x1c1fbb(0x326)](_0x2eb09b);else{if(_0x2c8760[_0x1c1fbb(0x807)][_0x1c1fbb(0x1db)](_0x2eb09b)==-0x1)return;}}!_0x2c8760['configuration']&&await chooseBestTURN();_0x2c8760['encodedInsertableStreams']&&(_0x2c8760[_0x1c1fbb(0x2dc)][_0x1c1fbb(0x1d7)]=!![]);try{_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]=new RTCPeerConnection(_0x2c8760[_0x1c1fbb(0x2dc)]);}catch(_0xb63ead){!_0x2c8760['cleanOutput']&&warnUser(_0x1c1fbb(0x72b));errorlog(_0xb63ead);return;}if(_0x2c8760[_0x1c1fbb(0x829)]){if(Object[_0x1c1fbb(0x4a2)](_0x2c8760[_0x1c1fbb(0x186)])['length']>0x1){warnlog(_0x1c1fbb(0x4d1)),log(_0x2c8760['rpcs']),delete _0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b],updateUserList();return;}else warnlog(_0x1c1fbb(0x439));}_0x53ee7a[_0x1c1fbb(0x85a)]in _0x2c8760['waitingWatchList']&&delete _0x2c8760[_0x1c1fbb(0x4d2)][_0x53ee7a[_0x1c1fbb(0x85a)]];try{_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x85a)]=_0x53ee7a['streamID'];}catch(_0x2fbc2b){errorlog(_0x2fbc2b);return;}_0x53ee7a['session']?_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['session']=_0x53ee7a[_0x1c1fbb(0x4d0)]:_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x4d0)]=null;_0x2c8760['rpcs'][_0x2eb09b]['activelySpeaking']=![],_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0xb3)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['allowMIDI']=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['allowGraphs']=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x744)]={},_0x2c8760['rpcs'][_0x2eb09b]['slot']=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['stats'][_0x1c1fbb(0x67a)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x437)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x6cc)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['canvasIntervalAction']=null,_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0xaa)]=-0x1,_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x544)]=![],_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x5d9)]=![],_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x8bb)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x5f1)]=-0x1,_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x373)]=![],_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x850)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['imageElement']=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x28b)]=![],_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x5e5)]=[],_0x2c8760['rpcs'][_0x2eb09b]['videoMuted']=![],_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x74e)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x24a)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x53b)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x86b)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x3de)]=![],_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x478)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x35b)]=null,_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['mutedState']=null,_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['mutedStateMixer']=null,_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x130)]=null,_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['rotate']=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x843)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x34b)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x11e)]=![],_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x29b)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['signalMeter']=![],_0x2c8760['rpcs'][_0x2eb09b]['volumeControl']=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['streamSrc']=null,_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x8b8)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x128)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x3c4)]=null,_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x264)]=![],_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x1ec)]=0x64,_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x322)]=0x0,_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['nackCount']=0x0,_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x3cc)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x56a)]='1',_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['opacityMuted']='1',_0x2c8760['rpcs'][_0x2eb09b]['obsControl']=![],_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x42a)]=0x0,_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x751)]=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x77)]=![],_0x2c8760['rpcs'][_0x2eb09b]['canvasCtx']=null,_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x258)]=null,_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x277)]={},_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x584)]=![],_0x2c8760['rpcs'][_0x2eb09b]['iframeEle']=![],_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['startTime']=Date[_0x1c1fbb(0x6b5)](),_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x15d)]=_0x2c8760[_0x1c1fbb(0x15d)];(_0x2c8760[_0x1c1fbb(0x8c6)]==0x2||_0x2c8760[_0x1c1fbb(0x8c6)]==0x4)&&(_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['loudest']=!![]);if(_0x2c8760[_0x1c1fbb(0x410)]){var _0x49d521=createRichVideoElement(_0x2eb09b);_0x49d521[_0x1c1fbb(0x83f)][_0x1c1fbb(0x5c1)]=_0x1c1fbb(0x25f);}if(_0x2c8760['director']){if(_0x2c8760[_0x1c1fbb(0xd8)]&&_0x1c1fbb(0x33a)in _0x53ee7a&&_0x53ee7a[_0x1c1fbb(0x33a)]!==![]){}else{var _0xd86c9=soloLinkGenerator(_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x85a)]);createControlBox(_0x2eb09b,_0xd86c9,_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x85a)]);}}_0x2c8760['rpcs'][_0x2eb09b]['UUID']=_0x2eb09b;if(_0x1c1fbb(0x85a)in _0x53ee7a){_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x85a)]=_0x53ee7a[_0x1c1fbb(0x85a)];try{if(_0x2c8760[_0x1c1fbb(0x265)]){if(_0x2c8760['view_set'][_0x1c1fbb(0x4cc)](_0x2c8760['rpcs'][_0x2eb09b]['streamID'])){if(_0x2c8760[_0x1c1fbb(0x18a)]!==![]){let _0x5519c0=_0x2c8760[_0x1c1fbb(0x265)][_0x1c1fbb(0x1db)](_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['streamID']);_0x2c8760[_0x1c1fbb(0x18a)]['length']>_0x5519c0&&(_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['manualBandwidth']=parseInt(_0x2c8760['bitrate_set'][_0x5519c0]),_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x373)]<=0x0&&(_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x373)]=![]));}}}}catch(_0x4e3494){errorlog(_0x4e3494);}}_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x482)]=function(_0x23971f){_0x2c8760['closeRPC'](_0x2eb09b);},_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x618)]=null,_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x535)]=[],_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x15f)]=function(_0x55a50a){var _0x3a83fe=_0x1c1fbb;if(_0x55a50a['candidate']==null){log(_0x3a83fe(0x409));return;}try{if(_0x2c8760[_0x3a83fe(0x219)]){if(_0x55a50a['candidate'][_0x3a83fe(0x182)]['indexOf'](_0x2c8760[_0x3a83fe(0x219)])===-0x1){log('dropped\x20candidate\x20due\x20to\x20filter');return;}else log(_0x55a50a[_0x3a83fe(0x182)]);}}catch(_0x4a3ebc){errorlog(_0x4a3ebc);}if(_0x2c8760[_0x3a83fe(0x186)][_0x2eb09b][_0x3a83fe(0x618)]!==null){_0x2c8760['rpcs'][_0x2eb09b][_0x3a83fe(0x535)][_0x3a83fe(0x20d)](_0x55a50a[_0x3a83fe(0x182)]);return;}_0x2c8760[_0x3a83fe(0x186)][_0x2eb09b][_0x3a83fe(0x535)]['push'](_0x55a50a['candidate']),_0x2c8760[_0x3a83fe(0x186)][_0x2eb09b]['iceTimer']=setTimeout(function(){var _0x4001a8=_0x3a83fe;if(!(_0x2eb09b in _0x2c8760[_0x4001a8(0x186)]))return;_0x2c8760[_0x4001a8(0x186)][_0x2eb09b][_0x4001a8(0x618)]=null;if(_0x2c8760[_0x4001a8(0x186)][_0x2eb09b][_0x4001a8(0x535)]==[])return;var _0xa3dcfa={};_0xa3dcfa[_0x4001a8(0x86c)]=_0x2eb09b,_0xa3dcfa[_0x4001a8(0x16c)]=_0x4001a8(0x279),_0xa3dcfa[_0x4001a8(0x7a5)]=_0x2c8760[_0x4001a8(0x186)][_0x2eb09b][_0x4001a8(0x535)],_0xa3dcfa[_0x4001a8(0x4d0)]=_0x2c8760['rpcs'][_0x2eb09b][_0x4001a8(0x4d0)],_0x2c8760[_0x4001a8(0x186)][_0x2eb09b][_0x4001a8(0x535)]=[],_0x2c8760[_0x4001a8(0x55a)]?_0x2c8760[_0x4001a8(0x60a)](JSON[_0x4001a8(0xd4)](_0xa3dcfa['candidates']))['then'](function(_0x1993f9){_0xa3dcfa['candidates']=_0x1993f9[0x0],_0xa3dcfa['vector']=_0x1993f9[0x1],_0x2c8760['anyrequest'](_0xa3dcfa);})[_0x4001a8(0x538)](errorlog):_0x2c8760['anyrequest'](_0xa3dcfa);},0x190);},_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b][_0x1c1fbb(0x283)]=function(_0x32ac69){var _0x448fba=_0x1c1fbb;switch(this['connectionState']){case'new':log(_0x448fba(0x51e)),log(_0x448fba(0xde)),clearInterval(_0x2c8760['rpcs'][this['UUID']][_0x448fba(0x35b)]);case _0x448fba(0x2e4):log(_0x448fba(0x2e4)),log(_0x448fba(0x72c)),clearInterval(_0x2c8760[_0x448fba(0x186)][this[_0x448fba(0x86c)]][_0x448fba(0x35b)]);case _0x448fba(0x5d1):log(_0x448fba(0x60c)),log('closeTimeout\x20cancelled;\x204'),clearInterval(_0x2c8760[_0x448fba(0x186)][this[_0x448fba(0x86c)]][_0x448fba(0x35b)]);if(_0x2c8760['security']){if(_0x2c8760['ws'][_0x448fba(0xcd)]!==0x1){_0x2c8760['ws'][_0x448fba(0x7f8)]();break;}_0x2c8760['ws'][_0x448fba(0x7f8)](),setTimeout(function(){var _0xd66cdb=_0x448fba;_0x2c8760['cleanOutput']!=!![]&&warnUser(_0xd66cdb(0x82e));},0x1);}break;case _0x448fba(0x195):log('closeTimeout\x20cancelled;\x205'),warnlog('rpcs\x20onconnectionstatechange\x20Disconnected;\x20retry\x20in\x205s'),clearInterval(_0x2c8760[_0x448fba(0x186)][this[_0x448fba(0x86c)]][_0x448fba(0x35b)]);this['UUID']in _0x2c8760['rpcs']?_0x2c8760[_0x448fba(0x186)][this['UUID']][_0x448fba(0x35b)]=setTimeout(function(_0x5549d3){var _0x54930a=_0x448fba;_0x2c8760[_0x54930a(0x9b)](_0x5549d3);},0x1388,this[_0x448fba(0x86c)]):log(_0x448fba(0x774));break;case _0x448fba(0x2c3):warnlog('FAIL\x20rpcs\x20onconnectionstatechange'),log(_0x448fba(0x234)),clearInterval(_0x2c8760['rpcs'][this[_0x448fba(0x86c)]][_0x448fba(0x35b)]);this[_0x448fba(0x86c)]in _0x2c8760[_0x448fba(0x186)]?_0x2c8760[_0x448fba(0x186)][this[_0x448fba(0x86c)]][_0x448fba(0x35b)]=setTimeout(function(_0xba9f22){var _0x275afd=_0x448fba;_0x2c8760[_0x275afd(0x9b)](_0xba9f22);},0xbb8,this['UUID']):log('UUID\x20not\x20found;\x20can\x27t\x20close.');break;case _0x448fba(0x146):warnlog('RTC\x20closed'),_0x2c8760['closeRPC'](this[_0x448fba(0x86c)]);break;default:log(_0x448fba(0xa8)),clearInterval(_0x2c8760[_0x448fba(0x186)][this[_0x448fba(0x86c)]][_0x448fba(0x35b)]);break;}},_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0xdf)]=function(){var _0x33db4e=_0x1c1fbb;try{if(this['iceConnectionState']=='closed')errorlog('CLOSED');else{if(this['iceConnectionState']==_0x33db4e(0x195))warnlog('ICE\x20DISCONNECTED'),_0x2c8760[_0x33db4e(0x186)][_0x2eb09b][_0x33db4e(0x56a)]='0',_0x2c8760[_0x33db4e(0x186)][_0x2eb09b][_0x33db4e(0x850)]['style'][_0x33db4e(0x271)]='0',_0x2c8760[_0x33db4e(0x186)][_0x2eb09b][_0x33db4e(0x207)]=setTimeout(function(_0x596593){updateMixer();},0x1f4,_0x2eb09b);else this[_0x33db4e(0x778)]==_0x33db4e(0x2c3)?errorlog(_0x33db4e(0x911)):(log('ICE:\x20'+this[_0x33db4e(0x778)]),_0x2c8760[_0x33db4e(0x186)][_0x2eb09b]['disconnectedTimeout']&&clearTimeout(_0x2c8760[_0x33db4e(0x186)][_0x2eb09b][_0x33db4e(0x207)]),_0x2c8760[_0x33db4e(0x186)][_0x2eb09b][_0x33db4e(0x850)]&&'opacity'in _0x2c8760[_0x33db4e(0x186)][_0x2eb09b][_0x33db4e(0x850)]['style']?_0x2c8760[_0x33db4e(0x186)][_0x2eb09b][_0x33db4e(0x56a)]=='0'&&_0x2c8760['rpcs'][_0x2eb09b][_0x33db4e(0x69e)]=='1'?(_0x2c8760[_0x33db4e(0x186)][_0x2eb09b]['videoElement'][_0x33db4e(0x83f)][_0x33db4e(0x271)]='1',_0x2c8760['rpcs'][_0x2eb09b]['opacityDisconnect']='1',updateMixer()):_0x2c8760['rpcs'][_0x2eb09b][_0x33db4e(0x56a)]='1':_0x2c8760[_0x33db4e(0x186)][_0x2eb09b][_0x33db4e(0x56a)]='1');}}catch(_0x163004){}},_0x2c8760['rpcs'][_0x2eb09b][_0x1c1fbb(0x8da)]=function(_0x27adad){var _0x140c95=_0x1c1fbb;log(_0x27adad);if(_0x27adad[_0x140c95(0x606)][_0x140c95(0x751)]&&_0x27adad[_0x140c95(0x606)]['label']!==_0x140c95(0x460)){if(_0x2c8760[_0x140c95(0x1be)]['includes'](_0x2c8760[_0x140c95(0x186)][_0x2eb09b][_0x140c95(0x85a)]))return;_0x27adad[_0x140c95(0x606)][_0x140c95(0x751)]===_0x140c95(0x3b6)?_0x2c8760[_0x140c95(0x1ed)](_0x2c8760[_0x140c95(0x186)],_0x2eb09b,_0x27adad[_0x140c95(0x606)]):_0x2c8760[_0x140c95(0x885)](_0x2c8760[_0x140c95(0x186)],_0x2eb09b,_0x27adad[_0x140c95(0x606)]);return;}_0x2c8760['rpcs'][_0x2eb09b]['receiveChannel']=_0x27adad[_0x140c95(0x606)],_0x2c8760[_0x140c95(0x186)][_0x2eb09b][_0x140c95(0x23a)][_0x140c95(0x86c)]=_0x2eb09b,_0x2c8760[_0x140c95(0x186)][_0x2eb09b][_0x140c95(0x23a)][_0x140c95(0x350)]=_0x1d595c=>{var _0x1e3af0=_0x140c95,_0x13368e={};_0x13368e[_0x1e3af0(0x916)]=![],_0x13368e['allowmidi']=![],_0x13368e[_0x1e3af0(0x37d)]=![],_0x13368e[_0x1e3af0(0x6ee)]=![],_0x13368e[_0x1e3af0(0x456)]=![],_0x13368e['broadcast']=![],_0x13368e[_0x1e3af0(0x69d)]=![],_0x13368e[_0x1e3af0(0x573)]=![];_0x2c8760[_0x1e3af0(0x2e2)]&&(_0x2c8760[_0x1e3af0(0x2e2)]===_0x1e3af0(0x3f1)||_0x2c8760[_0x1e3af0(0x2e2)]===_0x1e3af0(0x907))&&(_0x13368e['preferAudioCodec']=_0x2c8760[_0x1e3af0(0x2e2)]);try{if(_0x2c8760[_0x1e3af0(0x344)]!==![])_0x2c8760[_0x1e3af0(0x344)][_0x1e3af0(0x4cc)](_0x2c8760['rpcs'][_0x2eb09b][_0x1e3af0(0x85a)])?_0x13368e[_0x1e3af0(0x456)]=!![]:_0x13368e['video']=![];else{if(_0x2c8760['broadcast']!==![]){if(_0x2c8760[_0x1e3af0(0x4d7)]!==null)_0x2c8760[_0x1e3af0(0x186)][_0x2eb09b][_0x1e3af0(0x85a)]===_0x2c8760[_0x1e3af0(0x4d7)]?(_0x13368e[_0x1e3af0(0x4d7)]=!![],_0x13368e['video']=!![]):_0x13368e[_0x1e3af0(0x456)]=![];else _0x2c8760[_0x1e3af0(0x8a8)]&&(_0x2eb09b==_0x2c8760[_0x1e3af0(0x8a8)]?(_0x13368e['broadcast']=!![],_0x13368e[_0x1e3af0(0x456)]=!![]):_0x13368e[_0x1e3af0(0x456)]=![]);}else _0x2c8760['exclude']!==![]?_0x2c8760[_0x1e3af0(0x6d1)][_0x1e3af0(0x4cc)](_0x2c8760[_0x1e3af0(0x186)][_0x2eb09b][_0x1e3af0(0x85a)])?_0x13368e['video']=![]:_0x13368e[_0x1e3af0(0x456)]=!![]:_0x13368e[_0x1e3af0(0x456)]=!![];}_0x2c8760[_0x1e3af0(0x366)]!==![]?_0x2c8760['noaudio']['includes'](_0x2c8760[_0x1e3af0(0x186)][_0x2eb09b]['streamID'])?_0x13368e[_0x1e3af0(0x6ee)]=!![]:_0x13368e[_0x1e3af0(0x6ee)]=![]:_0x13368e[_0x1e3af0(0x6ee)]=!![];_0x2c8760[_0x1e3af0(0x546)]!==![]?_0x2c8760['noiframe'][_0x1e3af0(0x4cc)](_0x2c8760[_0x1e3af0(0x186)][_0x2eb09b]['streamID'])?_0x13368e[_0x1e3af0(0x37d)]=!![]:_0x13368e[_0x1e3af0(0x37d)]=![]:_0x13368e[_0x1e3af0(0x37d)]=!![];if(_0x2c8760[_0x1e3af0(0x5b7)]!==![]){if(_0x2c8760[_0x1e3af0(0x5b7)]===!![])_0x13368e[_0x1e3af0(0x573)]=!![];else _0x2c8760[_0x1e3af0(0x5b7)][_0x1e3af0(0x4cc)](_0x2c8760['rpcs'][_0x2eb09b]['streamID'])?_0x13368e[_0x1e3af0(0x573)]=!![]:_0x13368e['allowscreen']=![];}else _0x13368e[_0x1e3af0(0x573)]=!![];_0x2c8760[_0x1e3af0(0x572)]!==![]&&(!_0x2c8760[_0x1e3af0(0x572)][_0x1e3af0(0x4cc)](_0x2c8760[_0x1e3af0(0x186)][_0x2eb09b]['streamID'])&&(_0x13368e[_0x1e3af0(0x456)]=![],_0x13368e['audio']=![]));(_0x2c8760['midiIn']||_0x2c8760['midiRemote'])&&(_0x13368e[_0x1e3af0(0x3ca)]=_0x2c8760[_0x1e3af0(0x6fe)]||_0x2c8760[_0x1e3af0(0x1fe)]);_0x13368e['downloads']=!![];_0x2c8760[_0x1e3af0(0x715)]&&(_0x13368e['downloads']=![]);_0x2c8760[_0x1e3af0(0x22c)]&&(_0x2c8760[_0x1e3af0(0x22c)]==_0x1e3af0(0xfd)||_0x2c8760['codec']==_0x1e3af0(0x706)||_0x2c8760[_0x1e3af0(0x22c)]==_0x1e3af0(0x1a6))&&(_0x13368e[_0x1e3af0(0x69d)]=!![]);_0x2c8760[_0x1e3af0(0x8f6)]&&(_0x13368e[_0x1e3af0(0x8f6)]=!![]);if(_0x2c8760['badStreamList'][_0x1e3af0(0x4cc)](_0x2c8760[_0x1e3af0(0x186)][_0x2eb09b][_0x1e3af0(0x85a)])){warnlog(_0x1e3af0(0x4e3)),_0x13368e['downloads']=![],_0x13368e[_0x1e3af0(0x3ca)]=![],_0x13368e[_0x1e3af0(0x37d)]=![],_0x13368e[_0x1e3af0(0x6ee)]=![],_0x13368e[_0x1e3af0(0x456)]=![],_0x13368e[_0x1e3af0(0x4d7)]=![],_0x13368e[_0x1e3af0(0x69d)]=![];;}}catch(_0x4fdb4b){errorlog(_0x4fdb4b);}try{_0x13368e['info']={},_0x13368e[_0x1e3af0(0x148)][_0x1e3af0(0x751)]=_0x2c8760[_0x1e3af0(0x751)],_0x13368e[_0x1e3af0(0x148)][_0x1e3af0(0x77)]=_0x2c8760[_0x1e3af0(0x77)],_0x13368e[_0x1e3af0(0x148)][_0x1e3af0(0x175)]=_0x2c8760['stereo'],_0x13368e['info'][_0x1e3af0(0x21b)]=_0x2c8760[_0x1e3af0(0x4ca)],_0x13368e['info']['ab_url']=_0x2c8760['audiobitrate'],_0x13368e[_0x1e3af0(0x148)][_0x1e3af0(0x57e)]=_0x2c8760['codec'];_0x2c8760[_0x1e3af0(0x2e2)]&&(_0x13368e[_0x1e3af0(0x148)][_0x1e3af0(0x75b)]=_0x2c8760['audioCodec']);_0x13368e[_0x1e3af0(0x148)][_0x1e3af0(0x642)]=_0x2c8760[_0x1e3af0(0x642)],_0x13368e['info'][_0x1e3af0(0x7e9)]=_0x2c8760[_0x1e3af0(0x7e9)],_0x13368e['info'][_0x1e3af0(0x126)]=_0x2c8760[_0x1e3af0(0x462)],_0x13368e[_0x1e3af0(0x148)][_0x1e3af0(0x8ee)]=_0x2c8760[_0x1e3af0(0x8ee)],_0x13368e['info'][_0x1e3af0(0x375)]=_0x2c8760['minptime'],_0x13368e[_0x1e3af0(0x148)][_0x1e3af0(0x8cc)]=_0x2c8760[_0x1e3af0(0x8cc)];navigator&&navigator[_0x1e3af0(0x1d3)]&&(_0x13368e['info'][_0x1e3af0(0x694)]=navigator[_0x1e3af0(0x1d3)]);navigator&&navigator[_0x1e3af0(0x88)]&&(_0x13368e['info']['platform']=navigator[_0x1e3af0(0x88)]);if(_0x2c8760[_0x1e3af0(0x256)]===![]){if(window[_0x1e3af0(0x16a)]){_0x13368e[_0x1e3af0(0x148)][_0x1e3af0(0x413)]=window['obsstudio'][_0x1e3af0(0x5a2)];try{_0x13368e=_0x2c8760['getOBSOptimization'](_0x13368e,_0x2eb09b);}catch(_0x382c81){errorlog(_0x382c81),warnUser(_0x382c81[_0x1e3af0(0x6a6)]);}}else _0x13368e['info']['obs']=![];}else _0x13368e[_0x1e3af0(0x148)][_0x1e3af0(0x413)]=![];}catch(_0x1c1f6c){};_0x13368e[_0x1e3af0(0x2f8)]=![],_0x13368e[_0x1e3af0(0x54d)]=![],_0x13368e[_0x1e3af0(0x3c4)]=![],_0x13368e['limitaudio']=![],_0x13368e[_0x1e3af0(0x7e9)]=![];_0x2c8760['enhance']&&(_0x13368e['enhanceaudio']=!![]);_0x2c8760[_0x1e3af0(0x448)]&&(_0x13368e[_0x1e3af0(0x448)]=_0x2c8760[_0x1e3af0(0x448)]);_0x2c8760['solo']&&(_0x13368e[_0x1e3af0(0x52c)]=_0x2c8760['solo']);_0x2c8760[_0x1e3af0(0x641)]!==![]&&(_0x13368e[_0x1e3af0(0x641)]=_0x2c8760[_0x1e3af0(0x641)]);if(_0x2c8760[_0x1e3af0(0x3c4)]){_0x13368e[_0x1e3af0(0x3c4)]=!![],_0x13368e[_0x1e3af0(0x7e9)]=_0x2c8760['forceios'];if(_0x2c8760['directorUUID']&&_0x2c8760[_0x1e3af0(0x8a8)]===_0x2eb09b)_0x2c8760[_0x1e3af0(0x6e7)]();else{var _0x1b5d50={};_0x1b5d50[_0x1e3af0(0x26a)]=[];for(var _0x5101b0 in _0x2c8760['pcs']){_0x2c8760['pcs'][_0x5101b0][_0x1e3af0(0x3b8)]===!![]&&_0x1b5d50[_0x1e3af0(0x26a)][_0x1e3af0(0x20d)](_0x5101b0);}_0x1b5d50['addCoDirector']['length']&&(_0x13368e['directorSettings']=_0x1b5d50);}if(_0x2c8760['roomTimer']&&_0x2c8760['roomTimer']>0x0)_0x13368e['setClock']=_0x2c8760[_0x1e3af0(0xce)]-Date['now']()/0x3e8,_0x13368e[_0x1e3af0(0x3c3)]=!![],_0x13368e['startClock']=!![];else _0x2c8760[_0x1e3af0(0xce)]&&_0x2c8760['roomTimer']<0x0&&(_0x13368e['setClock']=_0x2c8760['roomTimer']*-0x1,_0x13368e[_0x1e3af0(0x3c3)]=!![],_0x13368e[_0x1e3af0(0x2ed)]=!![],_0x13368e[_0x1e3af0(0x912)]=!![]);_0x2c8760[_0x1e3af0(0x696)]&&(_0x13368e[_0x1e3af0(0x441)]=!![]);}else{if(_0x2c8760[_0x1e3af0(0x54d)]!==![])_0x13368e[_0x1e3af0(0x54d)]=_0x2c8760['scene'],_0x2c8760[_0x1e3af0(0x437)]&&(_0x13368e[_0x1e3af0(0x437)]=_0x2c8760[_0x1e3af0(0x437)]);else _0x2c8760[_0x1e3af0(0x2af)]!==![]&&_0x2c8760[_0x1e3af0(0x2af)]!==''&&(_0x13368e[_0x1e3af0(0x7e9)]=_0x2c8760[_0x1e3af0(0x7e9)],_0x13368e[_0x1e3af0(0x2f8)]=!![]);}!_0x2c8760[_0x1e3af0(0x2af)]&&(_0x2c8760[_0x1e3af0(0x3a2)]&&(playtone(![],_0x1e3af0(0x58e)),showNotification(_0x1e3af0(0x3a3)))),_0x2c8760[_0x1e3af0(0x186)][_0x2eb09b][_0x1e3af0(0x3cc)]=_0x13368e,_0x2c8760[_0x1e3af0(0x3fd)](_0x13368e,_0x2eb09b)?log(_0x1e3af0(0x4ea)):errorlog(_0x1e3af0(0x56b)),pokeIframeAPI(_0x1e3af0(0xbd),!![],_0x2eb09b),pokeIframeAPI(_0x1e3af0(0x82d),!![],_0x2eb09b),pokeAPI('newViewConnection',_0x2c8760[_0x1e3af0(0x186)][_0x2eb09b][_0x1e3af0(0x85a)]);},_0x2c8760[_0x140c95(0x186)][_0x2eb09b][_0x140c95(0x23a)][_0x140c95(0x8b1)]=async _0x4acf53=>{var _0x4e22fa=_0x140c95;if(typeof _0x4acf53[_0x4e22fa(0x547)]==_0x4e22fa(0x769)){if(!_0x2c8760['rpcs'][_0x2eb09b]['imageElement']){_0x2c8760['rpcs'][_0x2eb09b][_0x4e22fa(0x882)]=document[_0x4e22fa(0x19b)](_0x4e22fa(0x7b8)),_0x2c8760['rpcs'][_0x2eb09b][_0x4e22fa(0x882)][_0x4e22fa(0x33e)]=0x10,_0x2c8760[_0x4e22fa(0x186)][_0x2eb09b][_0x4e22fa(0x882)][_0x4e22fa(0x5e4)]=0x9,_0x2c8760[_0x4e22fa(0x186)][_0x2eb09b][_0x4e22fa(0x882)][_0x4e22fa(0x83f)][_0x4e22fa(0x7a0)]='contain',_0x2c8760[_0x4e22fa(0x186)][_0x2eb09b][_0x4e22fa(0x882)]['dataset'][_0x4e22fa(0x86c)]=_0x2eb09b;try{_0x2c8760['rpcs'][_0x2eb09b]['imageElement'][_0x4e22fa(0x88a)][_0x4e22fa(0x8f4)]=_0x2c8760['rpcs'][_0x2eb09b]['streamID'];}catch(_0x55abdf){}_0x2c8760['rpcs'][_0x2eb09b][_0x4e22fa(0x882)][_0x4e22fa(0x30f)]=![],_0x2c8760[_0x4e22fa(0x186)][_0x2eb09b][_0x4e22fa(0x882)]['addEventListener'](_0x4e22fa(0xa4),function(_0x2bf194){var _0x2a8f0a=_0x4e22fa;log(_0x2a8f0a(0x26f));try{if(_0x2bf194[_0x2a8f0a(0x164)]||_0x2bf194[_0x2a8f0a(0x6ab)]){_0x2bf194[_0x2a8f0a(0x1f4)]();var _0x1bea4f=_0x2bf194[_0x2a8f0a(0x484)][_0x2a8f0a(0x88a)][_0x2a8f0a(0x86c)];if(_0x2a8f0a(0x744)in _0x2c8760[_0x2a8f0a(0x186)][_0x1bea4f]){var [_0xf6626,_0x2d086c]=statsMenuCreator();printViewStats(_0x2d086c,_0x1bea4f),_0xf6626['interval']=setInterval(printViewStats,_0x2c8760[_0x2a8f0a(0x144)],_0x2d086c,_0x1bea4f);}return _0x2bf194['stopPropagation'](),![];}}catch(_0xd4efae){errorlog(_0xd4efae);}}),updateMixer();}else _0x2c8760['rpcs'][_0x2eb09b]['imageElement'][_0x4e22fa(0x30f)]&&(_0x2c8760[_0x4e22fa(0x186)][_0x2eb09b][_0x4e22fa(0x882)][_0x4e22fa(0x30f)]=![],_0x2c8760[_0x4e22fa(0x186)][_0x2eb09b][_0x4e22fa(0x882)][_0x4e22fa(0x83f)]['visibility']=_0x4e22fa(0x98));_0x2c8760[_0x4e22fa(0x186)][_0x2eb09b][_0x4e22fa(0x882)][_0x4e22fa(0x26e)]=window['URL'][_0x4e22fa(0x4e5)](new Blob([new Uint8Array(_0x4acf53[_0x4e22fa(0x547)])],{'type':_0x4e22fa(0x293)}));return;}try{var _0xf65f5=JSON[_0x4e22fa(0x2bc)](_0x4acf53[_0x4e22fa(0x547)]);}catch(_0x3b582b){_0xf65f5=_0x3b582b[_0x4e22fa(0x547)];}_0xf65f5[_0x4e22fa(0x86c)]=_0x2eb09b,_0x4e22fa(0x563)in _0xf65f5?await _0x2c8760[_0x4e22fa(0x34f)](_0xf65f5,_0x2eb09b+_0x4e22fa(0x2cb)):await _0x2c8760[_0x4e22fa(0x34f)](_0xf65f5,_0x2eb09b);},_0x2c8760[_0x140c95(0x34f)]=async function(_0x255c84,_0x15f64d){var _0x8b5262=_0x140c95;if(_0x8b5262(0x161)in _0x255c84){warnlog('BYE\x20RPCS'),_0x2c8760[_0x8b5262(0x9b)](_0x15f64d,!![]);return;}else{if(_0x8b5262(0x7ec)in _0x255c84){var _0x67d2ec={};_0x67d2ec['pong']=_0x255c84['ping'],_0x2c8760[_0x8b5262(0x3fd)](_0x67d2ec,_0x15f64d),warnlog('PINGED');return;}else{if('pong'in _0x255c84){warnlog(_0x8b5262(0x3f7));return;}}}var _0x2fa41b=![],_0x3882cd=![];if('rejected'in _0x255c84){if(_0x2c8760[_0x8b5262(0x3c4)])!_0x2c8760[_0x8b5262(0x7d7)]&&warnUser('The\x20request\x20('+_0x255c84[_0x8b5262(0x5d6)]+')\x20failed\x20due\x20to\x20permissions\x20or\x20it\x20was\x20rejected\x20by\x20the\x20user',0x1388);else!_0x2c8760[_0x8b5262(0x7d7)]&&(_0x2c8760['remote']?warnUser(_0x8b5262(0xf1),0x1388):warnUser(_0x8b5262(0x5ed),0x1388));errorlog('ACTION\x20REJECTED:\x20'+_0x255c84[_0x8b5262(0x5d6)]+_0x8b5262(0x913)+_0x2c8760['director']);}if(_0x8b5262(0x80c)in _0x255c84)_0x2c8760[_0x8b5262(0x412)](_0x255c84);else{if(_0x8b5262(0x182)in _0x255c84)_0x255c84[_0x8b5262(0x86c)]=_0x15f64d,log(_0x8b5262(0x204)),_0x2c8760['processIce'](_0x255c84);else _0x8b5262(0x7a5)in _0x255c84&&(_0x255c84[_0x8b5262(0x86c)]=_0x15f64d,log(_0x8b5262(0x3d5)),_0x2c8760[_0x8b5262(0x730)](_0x255c84));}if('iframeSrc'in _0x255c84)try{_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x584)]=_0x255c84[_0x8b5262(0x584)]||![];if(_0x2c8760[_0x8b5262(0x3c4)]){if(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x584)]){var _0x4708d2=document[_0x8b5262(0x19b)]('div');_0x4708d2[_0x8b5262(0x780)]=_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x584)],_0x4708d2[_0x8b5262(0x780)]=_0x4708d2[_0x8b5262(0x29f)],_0x4708d2=_0x4708d2[_0x8b5262(0x52d)]||_0x4708d2['innerText']||'',getById('iframeDetails_'+_0x15f64d)[_0x8b5262(0x29f)]=_0x8b5262(0x36e)+_0x4708d2+_0x8b5262(0x662)+_0x4708d2+_0x8b5262(0x582),getById(_0x8b5262(0x367)+_0x15f64d)[_0x8b5262(0x60b)]['remove'](_0x8b5262(0x30f));}else getById('iframeDetails_'+_0x15f64d)[_0x8b5262(0x60b)][_0x8b5262(0x48f)](_0x8b5262(0x30f)),getById(_0x8b5262(0x367)+_0x15f64d)[_0x8b5262(0x780)]='';}else{if(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x584)]==![]){try{_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x8ed)][_0x8b5262(0x8ec)]();}catch(_0x12cc41){errorlog(_0x12cc41);}_0x2c8760['rpcs'][_0x15f64d]['iframeVideo']&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x74e)][_0x8b5262(0x8ec)](),_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x74e)]=![]);_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x8ed)]=![],_0x2fa41b=!![];if(_0x2c8760[_0x8b5262(0x4d7)]!==![]){if(_0x2c8760[_0x8b5262(0x4d7)]!==null)_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x85a)]===_0x2c8760[_0x8b5262(0x4d7)]&&(_0x2c8760[_0x8b5262(0x7e5)]=![]);else _0x15f64d==_0x2c8760[_0x8b5262(0x8a8)]&&(_0x2c8760[_0x8b5262(0x7e5)]=![]);}}else{if(_0x2c8760[_0x8b5262(0x4d7)]!==![]){if(_0x2c8760['broadcast']!==null){if(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['streamID']===_0x2c8760['broadcast']){if(_0x2c8760[_0x8b5262(0x546)]===![])_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x8ed)]=loadIframe(_0x255c84[_0x8b5262(0x584)],_0x15f64d),_0x2fa41b=!![],_0x2c8760[_0x8b5262(0x7e5)]=_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x8ed)],_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x85a)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['iframeEle']['dataset'][_0x8b5262(0x8f4)]=_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x85a)]);else _0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x85a)]in _0x2c8760[_0x8b5262(0x546)]&&(_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x8ed)]=loadIframe(_0x255c84[_0x8b5262(0x584)],_0x15f64d),_0x2fa41b=!![],_0x2c8760[_0x8b5262(0x7e5)]=_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x8ed)],_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x85a)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x8ed)][_0x8b5262(0x88a)][_0x8b5262(0x8f4)]=_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['streamID']));}}else{if(_0x2c8760[_0x8b5262(0x8a8)]){if(_0x15f64d==_0x2c8760[_0x8b5262(0x8a8)]){if(_0x2c8760[_0x8b5262(0x546)]===![])_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x8ed)]=loadIframe(_0x255c84['iframeSrc'],_0x15f64d),_0x2fa41b=!![],_0x2c8760[_0x8b5262(0x7e5)]=_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x8ed)],_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x85a)]&&(_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x8ed)][_0x8b5262(0x88a)][_0x8b5262(0x8f4)]=_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x85a)]);else _0x2c8760['rpcs'][_0x15f64d]['streamID']in _0x2c8760[_0x8b5262(0x546)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['iframeEle']=loadIframe(_0x255c84[_0x8b5262(0x584)],_0x15f64d),_0x2fa41b=!![],_0x2c8760[_0x8b5262(0x7e5)]=_0x2c8760['rpcs'][_0x15f64d]['iframeEle'],_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x85a)]&&(_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x8ed)]['dataset'][_0x8b5262(0x8f4)]=_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['streamID']));}}}}else{if(_0x2c8760['noiframe']===![])_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x8ed)]=loadIframe(_0x255c84['iframeSrc'],_0x15f64d),_0x2fa41b=!![],_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x85a)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x8ed)]['dataset'][_0x8b5262(0x8f4)]=_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x85a)]);else _0x2c8760[_0x8b5262(0x186)][_0x15f64d]['streamID']in _0x2c8760[_0x8b5262(0x546)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['iframeEle']=loadIframe(_0x255c84[_0x8b5262(0x584)],_0x15f64d),_0x2fa41b=!![],_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x85a)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x8ed)]['dataset']['sid']=_0x2c8760['rpcs'][_0x15f64d]['streamID']));}}}}catch(_0x40405d){errorlog(_0x40405d);}else{if('ifs'in _0x255c84){if(_0x2c8760['rpcs'][_0x15f64d]['iframeEle'])try{_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x584)][_0x8b5262(0x810)]('https://www.youtube.com/')&&processIframeSyncUpdates(_0x255c84[_0x8b5262(0x534)],_0x15f64d);}catch(_0xb992f7){errorlog(_0xb992f7);}}}if(_0x8b5262(0x279)in _0x255c84)try{_0x255c84=await _0x2c8760[_0x8b5262(0x6a4)](_0x255c84);if(!_0x255c84)return;}catch(_0x34a368){errorlor(_0x34a368);}_0x8b5262(0xa1)in _0x255c84&&processOBSCommand(_0x255c84);if(_0x8b5262(0x166)in _0x255c84){var _0x45d4e6=![],_0x5a1dc7=![];_0x2c8760[_0x8b5262(0x8a8)]===_0x15f64d&&(_0x45d4e6=!![],_0x8b5262(0x728)in _0x255c84&&(_0x255c84[_0x8b5262(0x728)]==!![]&&(_0x5a1dc7=!![])));if(_0x2c8760[_0x8b5262(0x3c4)]){if(_0x255c84[_0x8b5262(0x166)]==_0x8b5262(0x115))_0x2c8760[_0x8b5262(0x3a2)]&&playtone(),getById('hands_'+_0x15f64d)[_0x8b5262(0x83f)][_0x8b5262(0x5c1)]='block',_0x2c8760['rpcs'][_0x15f64d]['remoteRaisedHandElement'][_0x8b5262(0x83f)][_0x8b5262(0x5c1)]=_0x8b5262(0x794);else _0x255c84[_0x8b5262(0x166)]=='Lowered\x20hand'&&(getById('hands_'+_0x15f64d)[_0x8b5262(0x83f)][_0x8b5262(0x5c1)]=_0x8b5262(0x263),_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x252)][_0x8b5262(0x83f)][_0x8b5262(0x5c1)]=_0x8b5262(0x263));}log('isDirector\x20'+_0x45d4e6),getChatMessage(_0x255c84[_0x8b5262(0x166)],_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x751)],_0x45d4e6,_0x5a1dc7);}'pipe'in _0x255c84&&_0x2c8760[_0x8b5262(0x5f2)](_0x255c84['pipe'],_0x15f64d);'autoSync'in _0x255c84&&(_0x2c8760[_0x8b5262(0x104)]=_0x255c84['autoSync'],_0x2c8760[_0x8b5262(0x6f6)](_0x15f64d));'effectsData'in _0x255c84&&log(_0x255c84);if(_0x8b5262(0x5e5)in _0x255c84){log(_0x255c84);_0x255c84[_0x8b5262(0x5e5)]?_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x5e5)]=_0x255c84[_0x8b5262(0x5e5)][_0x8b5262(0x75e)](','):_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x5e5)]=[];log(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]),_0x2fa41b=!![];if(_0x2c8760['director']&&_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x85a)])try{syncGroup(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x5e5)],_0x15f64d);}catch(_0x4d40b0){errorlog(_0x4d40b0);}pokeIframeAPI(_0x8b5262(0x262),_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x5e5)],_0x15f64d);}_0x8b5262(0x288)in _0x255c84&&(log(_0x255c84),_0x2c8760[_0x8b5262(0x581)]&&updateClosedCaptions(_0x255c84,_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['label'],_0x15f64d));_0x8b5262(0x3ca)in _0x255c84&&_0x255c84['allowmidi']!==![]&&(_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x687)]=_0x255c84['allowmidi']);_0x2c8760[_0x8b5262(0x3c4)]&&('audioOptions'in _0x255c84&&updateDirectorsAudio(_0x255c84['audioOptions'],_0x15f64d),_0x8b5262(0x1d8)in _0x255c84&&gotDevicesRemote(_0x255c84[_0x8b5262(0x1d8)],_0x15f64d),_0x8b5262(0x6be)in _0x255c84&&updateDirectorsVideo(_0x255c84['videoOptions'],_0x15f64d),_0x8b5262(0x8a0)in _0x255c84&&updateRemoteRecordButton(_0x15f64d,_0x255c84[_0x8b5262(0x8a0)]),'timer'in _0x255c84&&updateRemoteTimerButton(_0x15f64d,_0x255c84[_0x8b5262(0x569)]));_0x8b5262(0x331)in _0x255c84&&meshcastWatch(_0x15f64d,_0x255c84[_0x8b5262(0x331)]);_0x8b5262(0x6c5)in _0x255c84&&(_0x2c8760[_0x8b5262(0x807)][_0x8b5262(0x1db)](_0x15f64d)>=0x0&&(_0x2c8760[_0x8b5262(0x8a5)]&&lowerhand()));_0x8b5262(0x8f6)in _0x255c84&&(_0x2c8760[_0x8b5262(0x807)][_0x8b5262(0x1db)](_0x15f64d)>=0x0&&(_0x2c8760[_0x8b5262(0x8f6)]=_0x255c84[_0x8b5262(0x8f6)],pokeIframeAPI(_0x8b5262(0x755),_0x2c8760[_0x8b5262(0x8f6)]),_0x2fa41b=!![]));if('infocus'in _0x255c84){if(_0x2c8760['broadcast']===![]){log(_0x255c84);if(_0x2c8760[_0x8b5262(0x807)]['indexOf'](_0x15f64d)>=0x0){if(_0x255c84['infocus']!==![]){if(_0x255c84[_0x8b5262(0x1f8)]===_0x2c8760[_0x8b5262(0x85a)])_0x2c8760[_0x8b5262(0x1f8)]=!![];else{if(_0x2c8760[_0x8b5262(0x265)][_0x8b5262(0x542)]&&!(_0x255c84[_0x8b5262(0x1f8)]in _0x2c8760[_0x8b5262(0x265)]))warnlog(_0x8b5262(0x77a)),_0x2c8760[_0x8b5262(0x1f8)]=![];else{if(_0x2c8760[_0x8b5262(0x571)]&&_0x2c8760[_0x8b5262(0x571)]!==_0x255c84[_0x8b5262(0x1f8)])warnlog(_0x8b5262(0x1e3)),_0x2c8760[_0x8b5262(0x1f8)]=![];else{if(_0x2c8760[_0x8b5262(0x54d)]!==![]&&_0x2c8760[_0x8b5262(0x8a8)]&&_0x2c8760[_0x8b5262(0x8a8)]in _0x2c8760['rpcs']&&!_0x2c8760[_0x8b5262(0x186)][_0x2c8760[_0x8b5262(0x8a8)]][_0x8b5262(0x437)]&&_0x255c84[_0x8b5262(0x1f8)]===_0x2c8760[_0x8b5262(0x186)][_0x2c8760[_0x8b5262(0x8a8)]][_0x8b5262(0x85a)])warnlog(_0x8b5262(0x2b3)),_0x2c8760[_0x8b5262(0x1f8)]=![];else{for(var _0x1c61ae in _0x2c8760[_0x8b5262(0x186)]){if(_0x2c8760[_0x8b5262(0x186)][_0x1c61ae]['streamID']===_0x255c84['infocus']){_0x2c8760[_0x8b5262(0x1f8)]=_0x1c61ae;break;}}warnlog('ON\x20FOCUS\x20NOT\x20FOUND');}}}}}else _0x2c8760[_0x8b5262(0x1f8)]=![];_0x2fa41b=!![],_0x3882cd=!![];}}}'sensors'in _0x255c84&&(log(_0x255c84),_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)][_0x8b5262(0x47a)]=_0x255c84[_0x8b5262(0x47a)],isIFrame&&parent[_0x8b5262(0x352)]({'sensors':_0x255c84[_0x8b5262(0x47a)]},_0x2c8760[_0x8b5262(0x2e0)]));_0x8b5262(0x72f)in _0x255c84&&playbackMIDI(_0x255c84[_0x8b5262(0x72f)]);'fileList'in _0x255c84&&_0x255c84[_0x8b5262(0x269)]&&addDownloadLink(_0x255c84[_0x8b5262(0x269)],_0x15f64d,_0x2c8760['rpcs']);_0x8b5262(0x187)in _0x255c84&&(_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x531)]!=_0x255c84[_0x8b5262(0x187)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x531)]=_0x255c84['rotate_video'],_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x850)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x850)][_0x8b5262(0x11b)]=_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['rotate']),_0x2fa41b=!![]));if(_0x8b5262(0x148)in _0x255c84){warnlog(_0x255c84),_0x2c8760['rpcs'][_0x15f64d]['stats']['info']=_0x255c84['info'];_0x255c84[_0x8b5262(0x148)]['autoSync']&&(!_0x2c8760['autoSyncObject']&&(_0x2c8760[_0x8b5262(0x104)]=_0x255c84[_0x8b5262(0x148)][_0x8b5262(0x10a)],_0x2c8760[_0x8b5262(0x6f6)](_0x15f64d)));if(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x2eb)]){if(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['stats']['info'][_0x8b5262(0x230)])_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x2eb)][_0x8b5262(0x88a)][_0x8b5262(0x324)]='1';else'cpuLimited'in _0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)][_0x8b5262(0x148)]&&(_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x2eb)][_0x8b5262(0x88a)][_0x8b5262(0x324)]='0');}'obs_control'in _0x255c84[_0x8b5262(0x148)]&&(_0x255c84['info'][_0x8b5262(0x333)]!==![]?(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x7fd)]=_0x255c84[_0x8b5262(0x148)][_0x8b5262(0x333)],_0x2c8760[_0x8b5262(0x59e)](_0x8b5262(0x90d),_0x15f64d)):_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x7fd)]=![]);if(_0x8b5262(0x751)in _0x255c84[_0x8b5262(0x148)]){typeof _0x255c84[_0x8b5262(0x148)]['label']==_0x8b5262(0x6b3)?_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['label']=sanitizeLabel(_0x255c84[_0x8b5262(0x148)]['label']):_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x751)]=![];applyStyleEffect(_0x15f64d);if(_0x2c8760[_0x8b5262(0x3c4)]){var _0x1cfa63=getById('label_'+_0x15f64d);if(_0x1cfa63){_0x1cfa63[_0x8b5262(0x83f)][_0x8b5262(0xa0)]='left',_0x1cfa63[_0x8b5262(0x83f)][_0x8b5262(0x365)]=_0x8b5262(0x5b4),_0x1cfa63[_0x8b5262(0x83f)]['marginLeft']=_0x8b5262(0x1ca),_0x1cfa63['style'][_0x8b5262(0x2d0)]=_0x8b5262(0x44b),_0x1cfa63[_0x8b5262(0x83f)][_0x8b5262(0x31e)]=_0x8b5262(0x2b5),_0x1cfa63[_0x8b5262(0x88a)][_0x8b5262(0x86c)]=_0x15f64d;if(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x751)])_0x1cfa63[_0x8b5262(0x780)]=_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x751)],_0x1cfa63['classList'][_0x8b5262(0x8ec)](_0x8b5262(0x405));else _0x2c8760[_0x8b5262(0x8a8)]===_0x15f64d?(_0x1cfa63[_0x8b5262(0x780)]=miscTranslations[_0x8b5262(0x481)],_0x1cfa63[_0x8b5262(0x60b)][_0x8b5262(0x8ec)]('addALabel')):(_0x1cfa63[_0x8b5262(0x780)]=miscTranslations[_0x8b5262(0x710)],_0x1cfa63[_0x8b5262(0x60b)]['add'](_0x8b5262(0x405)));_0x1cfa63['onclick']=async function(_0x15794d){var _0x1d9dab=_0x8b5262,_0x138ee8=_0x15794d[_0x1d9dab(0x52a)][_0x1d9dab(0x780)];_0x2c8760['rpcs'][_0x15794d[_0x1d9dab(0x52a)][_0x1d9dab(0x88a)][_0x1d9dab(0x86c)]][_0x1d9dab(0x751)]===![]&&(_0x138ee8='');window[_0x1d9dab(0x615)]();var _0x49b97d=await promptAlt(miscTranslations[_0x1d9dab(0x915)],![],![],_0x138ee8);if(_0x49b97d!==null){_0x49b97d==''?(_0x49b97d=![],_0x2c8760['directorUUID']===_0x15f64d?(_0x15794d[_0x1d9dab(0x52a)][_0x1d9dab(0x780)]=miscTranslations[_0x1d9dab(0x481)],_0x15794d[_0x1d9dab(0x52a)]['classList'][_0x1d9dab(0x8ec)](_0x1d9dab(0x405))):(_0x15794d['target'][_0x1d9dab(0x780)]=miscTranslations[_0x1d9dab(0x710)],_0x15794d['target']['classList'][_0x1d9dab(0x48f)](_0x1d9dab(0x405)))):(_0x15794d[_0x1d9dab(0x52a)][_0x1d9dab(0x780)]=_0x49b97d,_0x15794d['target'][_0x1d9dab(0x60b)][_0x1d9dab(0x8ec)](_0x1d9dab(0x405)));var _0x405e2c={};_0x405e2c[_0x1d9dab(0x86c)]=_0x15794d[_0x1d9dab(0x52a)][_0x1d9dab(0x88a)][_0x1d9dab(0x86c)],_0x405e2c[_0x1d9dab(0x239)]=!![],_0x405e2c[_0x1d9dab(0x295)]=_0x49b97d,_0x2c8760[_0x1d9dab(0x3fd)](_0x405e2c,_0x405e2c['UUID']);}};}}}if(_0x8b5262(0x77)in _0x255c84['info']){_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x77)]=parseInt(_0x255c84[_0x8b5262(0x148)][_0x8b5262(0x77)])||0x0;if(_0x2c8760[_0x8b5262(0x3c4)]){var _0x32d044=document['querySelectorAll']('[data-action-type=\x22order-value\x22][data--u-u-i-d=\x22'+_0x15f64d+'\x22]');_0x32d044[0x0]&&(_0x32d044[0x0][_0x8b5262(0x780)]=_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x77)]);}}else _0x2c8760[_0x8b5262(0x186)][_0x15f64d]['order']=0x0;if(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['batteryMeter']){if('power_level'in _0x255c84['info']){if(_0x255c84[_0x8b5262(0x148)][_0x8b5262(0x359)]!==null){var _0x5e0a9e=_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0xed)]['querySelector'](_0x8b5262(0x537));if(_0x5e0a9e){var _0x59a898=parseInt(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)]['info'][_0x8b5262(0x359)])||0x0;_0x59a898>0x64&&(_0x59a898=0x64);_0x59a898<0x0&&(_0x59a898=0x0);_0x5e0a9e[_0x8b5262(0x83f)][_0x8b5262(0x5e4)]=parseInt(_0x59a898)+'%';if(_0x59a898<0xa)_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['batteryMeter'][_0x8b5262(0x60b)][_0x8b5262(0x8ec)](_0x8b5262(0x253)),_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['batteryMeter'][_0x8b5262(0x60b)]['add']('alert');else _0x59a898<0x19?(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0xed)]['classList'][_0x8b5262(0x8ec)](_0x8b5262(0x43d)),_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0xed)][_0x8b5262(0x60b)][_0x8b5262(0x48f)](_0x8b5262(0x253))):(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['batteryMeter']['classList'][_0x8b5262(0x8ec)](_0x8b5262(0x43d)),_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0xed)][_0x8b5262(0x60b)]['remove'](_0x8b5262(0x253)));_0x59a898<0x64&&_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0xed)][_0x8b5262(0x60b)]['remove'](_0x8b5262(0x30f)),_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0xed)][_0x8b5262(0x833)]=_0x59a898+_0x8b5262(0x3fb);}}}_0x8b5262(0x2f0)in _0x255c84[_0x8b5262(0x148)]&&(_0x255c84[_0x8b5262(0x148)][_0x8b5262(0x2f0)]===![]?(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['batteryMeter'][_0x8b5262(0x88a)][_0x8b5262(0x89b)]='0',_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0xed)][_0x8b5262(0x60b)]['remove'](_0x8b5262(0x30f))):_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0xed)][_0x8b5262(0x88a)][_0x8b5262(0x89b)]='1');}if(_0x8b5262(0x61b)in _0x255c84[_0x8b5262(0x148)]){_0x255c84['info'][_0x8b5262(0x61b)]?_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x5e5)]=_0x255c84[_0x8b5262(0x148)][_0x8b5262(0x61b)][_0x8b5262(0x75e)](','):_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x5e5)]=[];if(_0x2c8760['director']){var _0x32d044=document[_0x8b5262(0x233)](_0x8b5262(0x260)+_0x15f64d+'\x22]');for(var _0x5d2658=0x0;_0x5d2658<_0x32d044['length'];_0x5d2658++){_0x32d044[_0x5d2658]['classList']['remove'](_0x8b5262(0x6f9));for(var _0x15b9c2=0x0;_0x15b9c2<_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x5e5)][_0x8b5262(0x542)];_0x15b9c2++){_0x32d044[_0x5d2658][_0x8b5262(0x88a)][_0x8b5262(0x5e5)]===_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x5e5)][_0x15b9c2]&&_0x32d044[_0x5d2658]['classList'][_0x8b5262(0x48f)](_0x8b5262(0x6f9));}}_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x5e5)][_0x8b5262(0x542)]&&syncGroup(_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x5e5)],_0x15f64d);}else _0x2fa41b=!![];}_0x8b5262(0xc0)in _0x255c84[_0x8b5262(0x148)]&&(_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x3de)]=_0x255c84[_0x8b5262(0x148)][_0x8b5262(0xc0)],_0x2c8760[_0x8b5262(0x54d)]===![]&&(_0x2c8760['roomid']&&((!_0x2c8760[_0x8b5262(0x7d7)]||_0x2c8760[_0x8b5262(0x3c4)])&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['remoteMuteElement']?_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['remoteMuteState']?_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['remoteMuteElement'][_0x8b5262(0x83f)]['display']=_0x8b5262(0x25f):_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x478)]['style'][_0x8b5262(0x5c1)]=_0x8b5262(0x263):(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x478)]=getById(_0x8b5262(0x2ae))[_0x8b5262(0x4e2)](!![]),_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x478)]['id']=_0x8b5262(0x2ba)+_0x15f64d,_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x3de)]?_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x478)][_0x8b5262(0x83f)][_0x8b5262(0x5c1)]='block':_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x478)][_0x8b5262(0x83f)]['display']=_0x8b5262(0x263),_0x2fa41b=!![])))),pokeIframeAPI(_0x8b5262(0x851),_0x2c8760['rpcs'][_0x15f64d]['remoteMuteState'],_0x15f64d));if(_0x2c8760[_0x8b5262(0x3c4)]){if('recording_audio_pipeline'in _0x255c84[_0x8b5262(0x148)]){if(_0x255c84['info']['recording_audio_pipeline']==![]){var _0x32d044=document['querySelectorAll'](_0x8b5262(0x247)+_0x15f64d+'\x22]');_0x32d044[0x0]&&(_0x32d044[0x0][_0x8b5262(0x5e7)]=!![],_0x32d044[0x0][_0x8b5262(0x833)]=miscTranslations[_0x8b5262(0x475)]);var _0x32d044=document[_0x8b5262(0x233)](_0x8b5262(0x803)+_0x15f64d+'\x22]');_0x32d044[0x0]&&(_0x32d044[0x0][_0x8b5262(0x5e7)]=!![],_0x32d044[0x0][_0x8b5262(0x833)]=title=miscTranslations[_0x8b5262(0x475)],_0x32d044[0x0][_0x8b5262(0x83f)]['opacity']=0.2);}}if(_0x8b5262(0x15e)in _0x255c84[_0x8b5262(0x148)]){if(_0x255c84[_0x8b5262(0x148)][_0x8b5262(0x15e)]!==![]){var _0x568849=parseInt(_0x255c84[_0x8b5262(0x148)][_0x8b5262(0x15e)])||0x0;if(_0x568849===0x0){var _0x32d044=document[_0x8b5262(0x233)](_0x8b5262(0x247)+_0x15f64d+'\x22]');_0x32d044[0x0]&&(_0x32d044[0x0][_0x8b5262(0x295)]=0x1,_0x32d044[0x0]['className']='pressed',_0x32d044[0x0]['children'][0x1]['innerHTML']=miscTranslations[_0x8b5262(0x321)],_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['directorMutedState']=0x1),pokeIframeAPI(_0x8b5262(0x5a1),!![],_0x15f64d);}else{var _0x32d044=document['querySelectorAll'](_0x8b5262(0x803)+_0x15f64d+'\x22]');_0x32d044[0x0]&&(_0x32d044[0x0][_0x8b5262(0x295)]=_0x568849,_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x1ec)]=_0x568849,remoteVolumeUI(_0x32d044[0x0]));}}}_0x8b5262(0x273)in _0x255c84[_0x8b5262(0x148)]&&(_0x255c84[_0x8b5262(0x148)][_0x8b5262(0x273)]&&updateRemoteSpeakerMute(_0x15f64d)),'directorDisplayMuted'in _0x255c84[_0x8b5262(0x148)]&&(_0x255c84[_0x8b5262(0x148)]['directorDisplayMuted']&&updateRemoteDisplayMute(_0x15f64d));}_0x8b5262(0x264)in _0x255c84[_0x8b5262(0x148)]&&(_0x2c8760[_0x8b5262(0x3c4)]?_0x255c84[_0x8b5262(0x148)][_0x8b5262(0x264)]&&updateDirectorVideoMute(_0x15f64d):(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x264)]=_0x255c84[_0x8b5262(0x148)][_0x8b5262(0x264)],_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x264)]&&(_0x15f64d in _0x2c8760[_0x8b5262(0x186)]&&_0x2c8760[_0x8b5262(0x526)](0x0,_0x15f64d))));_0x8b5262(0x549)in _0x255c84[_0x8b5262(0x148)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x402)]=_0x255c84[_0x8b5262(0x148)]['video_muted_init'],_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['videoMuted']&&(_0x2c8760[_0x8b5262(0x3c4)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['remoteVideoMuteElement'][_0x8b5262(0x83f)][_0x8b5262(0x5c1)]=_0x8b5262(0x25f))),pokeIframeAPI(_0x8b5262(0x372),_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x402)],_0x15f64d));_0x8b5262(0x187)in _0x255c84[_0x8b5262(0x148)]&&(_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x531)]!=_0x255c84['info'][_0x8b5262(0x187)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['rotate']=_0x255c84[_0x8b5262(0x148)][_0x8b5262(0x187)],_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x850)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x850)][_0x8b5262(0x11b)]=_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['rotate']),_0x2fa41b=!![]));_0x8b5262(0xa2)in _0x255c84[_0x8b5262(0x148)]&&(_0x255c84['info']['room_init']===![]&&document[_0x8b5262(0x233)](_0x8b5262(0x2e9)+_0x15f64d)[_0x8b5262(0x648)](_0x30c459=>{var _0x521152=_0x8b5262;_0x30c459[_0x521152(0x233)](_0x521152(0x381))[_0x521152(0x648)](_0x59e7ed=>{var _0x1b75b3=_0x521152,_0x205eb9=soloLinkGenerator(_0x2c8760['rpcs'][_0x15f64d][_0x1b75b3(0x85a)],![]);_0x59e7ed['value']=_0x205eb9,_0x59e7ed[_0x1b75b3(0x660)]=_0x205eb9,_0x59e7ed[_0x1b75b3(0x780)]=_0x205eb9;});}));if(_0x15f64d===_0x2c8760[_0x8b5262(0x8a8)])try{_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)][_0x8b5262(0x148)][_0x8b5262(0x3c4)]=!![],getById('container_'+_0x15f64d)[_0x8b5262(0x60b)][_0x8b5262(0x48f)]('directorBox');}catch(_0x595bb1){}else{if(_0x2c8760[_0x8b5262(0x807)][_0x8b5262(0x1db)](_0x15f64d)>=0x0)try{_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x744)]['info'][_0x8b5262(0x3b8)]=!![],getById(_0x8b5262(0x2e9)+_0x15f64d)['classList'][_0x8b5262(0x48f)]('directorBlue');}catch(_0x1106e5){}}_0x3882cd=!![],pokeAPI(_0x8b5262(0x90d),getDetailedState(_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x85a)])),pokeIframeAPI(_0x8b5262(0x8b9),_0x255c84[_0x8b5262(0x148)],_0x15f64d);}if('miniInfo'in _0x255c84){if(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)]&&_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)][_0x8b5262(0x148)]){_0x8b5262(0x88f)in _0x255c84[_0x8b5262(0x700)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)]['info'][_0x8b5262(0x8cb)]=_0x255c84['miniInfo'][_0x8b5262(0x88f)]);'con'in _0x255c84[_0x8b5262(0x700)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)][_0x8b5262(0x148)][_0x8b5262(0x7b)]=_0x255c84[_0x8b5262(0x700)][_0x8b5262(0x1c1)]);if('cpu'in _0x255c84[_0x8b5262(0x700)]){_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)][_0x8b5262(0x148)][_0x8b5262(0x230)]=_0x255c84['miniInfo'][_0x8b5262(0x324)];if(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x2eb)]){if(_0x255c84[_0x8b5262(0x700)][_0x8b5262(0x324)])_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['signalMeter'][_0x8b5262(0x88a)][_0x8b5262(0x324)]='1';else _0x8b5262(0x324)in _0x255c84[_0x8b5262(0x700)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x2eb)]['dataset'][_0x8b5262(0x324)]='0');}}'hw_enc'in _0x255c84['miniInfo']&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)][_0x8b5262(0x148)][_0x8b5262(0x327)]=_0x255c84[_0x8b5262(0x700)][_0x8b5262(0x57d)]);_0x8b5262(0x90e)in _0x255c84['miniInfo']&&(typeof _0x255c84[_0x8b5262(0x700)][_0x8b5262(0x90e)]=='number'?_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['stats'][_0x8b5262(0x148)][_0x8b5262(0x359)]=_0x255c84['miniInfo'][_0x8b5262(0x90e)]*0x64:_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)]['info'][_0x8b5262(0x359)]=null);_0x8b5262(0x5eb)in _0x255c84[_0x8b5262(0x700)]&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)]['info'][_0x8b5262(0x2f0)]=_0x255c84[_0x8b5262(0x700)][_0x8b5262(0x5eb)]);_0x8b5262(0x74)in _0x255c84[_0x8b5262(0x700)]&&'c'in _0x255c84[_0x8b5262(0x700)]['out']&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)][_0x8b5262(0x148)][_0x8b5262(0x868)]=_0x255c84[_0x8b5262(0x700)][_0x8b5262(0x74)]['c'],_0x2c8760[_0x8b5262(0x40a)]&&_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['connectionDetails']&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x105)]['innerText']='🔗'+_0x2c8760['rpcs'][_0x15f64d]['stats'][_0x8b5262(0x148)][_0x8b5262(0x868)],_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x105)][_0x8b5262(0x88a)][_0x8b5262(0x295)]=_0x2c8760['rpcs'][_0x15f64d]['stats'][_0x8b5262(0x148)]['total_outbound_p2p_connections']));if(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0xed)]){if(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['stats'][_0x8b5262(0x148)]&&_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)][_0x8b5262(0x148)][_0x8b5262(0x359)]!==null){var _0x5e0a9e=_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0xed)]['querySelector'](_0x8b5262(0x537));if(_0x5e0a9e){var _0x59a898=_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)][_0x8b5262(0x148)][_0x8b5262(0x359)];_0x59a898>0x64&&(_0x59a898=0x64);_0x59a898<0x0&&(_0x59a898=0x0);_0x5e0a9e[_0x8b5262(0x83f)][_0x8b5262(0x5e4)]=parseInt(_0x59a898)+'%';if(_0x59a898<0xa)_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0xed)][_0x8b5262(0x60b)]['remove'](_0x8b5262(0x253)),_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0xed)][_0x8b5262(0x60b)][_0x8b5262(0x48f)](_0x8b5262(0x43d));else _0x59a898<0x19?(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0xed)][_0x8b5262(0x60b)]['remove']('alert'),_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0xed)]['classList'][_0x8b5262(0x48f)](_0x8b5262(0x253))):(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0xed)][_0x8b5262(0x60b)][_0x8b5262(0x8ec)](_0x8b5262(0x43d)),_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0xed)][_0x8b5262(0x60b)][_0x8b5262(0x8ec)](_0x8b5262(0x253)));_0x59a898<0x64&&_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0xed)]['classList']['remove'](_0x8b5262(0x30f)),_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0xed)][_0x8b5262(0x833)]=_0x59a898+_0x8b5262(0x3fb);}}_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)][_0x8b5262(0x148)]&&'plugged_in'in _0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x744)]['info']&&_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)][_0x8b5262(0x148)]['plugged_in']===![]?(_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0xed)][_0x8b5262(0x88a)][_0x8b5262(0x89b)]='0',_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['batteryMeter'][_0x8b5262(0x60b)]['remove'](_0x8b5262(0x30f))):_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0xed)]['dataset']['plugged']='1';}}}if(_0x8b5262(0x18b)in _0x255c84){_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x3c4)]=!![];if(_0x2c8760[_0x8b5262(0x8a8)]===_0x15f64d){_0x8b5262(0x82b)in _0x255c84[_0x8b5262(0x18b)]&&(_0x2c8760[_0x8b5262(0x82b)]=parseInt(_0x255c84[_0x8b5262(0x18b)][_0x8b5262(0x82b)])||0x0,_0x2fa41b=!![]);if(_0x255c84[_0x8b5262(0x18b)]['soloVideo']){if(_0x2c8760[_0x8b5262(0x4d7)]===![]){if(_0x255c84[_0x8b5262(0x18b)][_0x8b5262(0x2da)]===_0x2c8760[_0x8b5262(0x85a)])_0x2c8760[_0x8b5262(0x1f8)]=!![];else for(var _0x1c61ae in _0x2c8760[_0x8b5262(0x186)]){if(_0x2c8760[_0x8b5262(0x186)][_0x1c61ae][_0x8b5262(0x85a)]===_0x255c84[_0x8b5262(0x18b)]['soloVideo']){if((_0x2c8760[_0x8b5262(0x807)]['includes'](_0x1c61ae)||_0x2c8760['rpcs'][_0x1c61ae]['director'])&&!_0x2c8760[_0x8b5262(0x437)])break;_0x2c8760[_0x8b5262(0x1f8)]=_0x1c61ae;break;}}_0x2fa41b=!![],_0x3882cd=!![];}}if(_0x8b5262(0x437)in _0x255c84[_0x8b5262(0x18b)]){if(_0x2c8760[_0x8b5262(0x54d)]!==![]){if(_0x2c8760[_0x8b5262(0x437)])_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['showDirector']=_0x2c8760[_0x8b5262(0x437)];else _0x255c84[_0x8b5262(0x18b)]['showDirector']&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['showDirector']=_0x255c84[_0x8b5262(0x18b)][_0x8b5262(0x437)]);}}if(_0x2c8760['scene']!==![]){if(_0x255c84[_0x8b5262(0x18b)][_0x8b5262(0x54d)])for(var _0x1c61ae in _0x255c84[_0x8b5262(0x18b)][_0x8b5262(0x54d)]){setTimeout(function(_0x25d5fe){var _0x2dd4f0=_0x8b5262;_0x2c8760[_0x2dd4f0(0x828)](_0x25d5fe);},0x3e8,_0x255c84[_0x8b5262(0x18b)][_0x8b5262(0x54d)][_0x1c61ae]);}if(_0x255c84['directorSettings'][_0x8b5262(0x3d0)])for(var _0x1c61ae in _0x255c84[_0x8b5262(0x18b)]['mute']){setTimeout(function(_0x568d2f){var _0x3c728a=_0x8b5262;_0x2c8760[_0x3c728a(0x828)](_0x568d2f);},0x3e8,_0x255c84[_0x8b5262(0x18b)]['mute'][_0x1c61ae]);}}if(_0x8b5262(0x26a)in _0x255c84[_0x8b5262(0x18b)])for(var _0x5d2658=0x0;_0x5d2658<_0x255c84[_0x8b5262(0x18b)]['addCoDirector']['length'];_0x5d2658++){if(!_0x2c8760[_0x8b5262(0x807)][_0x8b5262(0x4cc)](_0x255c84[_0x8b5262(0x18b)][_0x8b5262(0x26a)][_0x5d2658][_0x8b5262(0x4fe)])){_0x2c8760['directorList']['push'](_0x255c84[_0x8b5262(0x18b)][_0x8b5262(0x26a)][_0x5d2658]['toString']());var _0x2b84d6=getById('container_'+_0x255c84[_0x8b5262(0x18b)][_0x8b5262(0x26a)][_0x5d2658][_0x8b5262(0x4fe)]());_0x2b84d6&&_0x2b84d6[_0x8b5262(0x60b)]['add'](_0x8b5262(0x804));}}}}if(_0x2c8760[_0x8b5262(0x807)][_0x8b5262(0x1db)](_0x15f64d)>=0x0){_0x2c8760[_0x8b5262(0x54d)]!==![]&&('action'in _0x255c84&&_0x2c8760[_0x8b5262(0x828)](_0x255c84));_0x8b5262(0x18b)in _0x255c84&&_0x255c84[_0x8b5262(0x18b)][_0x8b5262(0x1ce)]&&(!_0x2c8760[_0x8b5262(0x3c4)]&&(_0x2c8760['scene']===![]&&(_0x2c8760[_0x8b5262(0x6da)]=!![],_0x2c8760[_0x8b5262(0x1a5)]())));if(_0x8b5262(0x4c8)in _0x255c84){_0x2c8760['syncState']=_0x255c84[_0x8b5262(0x4c8)],log(_0x255c84);for(var _0xb4557 in _0x2c8760['syncState']){syncSceneState(_0xb4557),syncOtherState(_0xb4557);}}}if(_0x8b5262(0x5d6)in _0x255c84){if(_0x2c8760[_0x8b5262(0x3c4)]){if(_0x255c84[_0x8b5262(0x5d6)]===_0x8b5262(0x2d8))_0x2c8760[_0x8b5262(0x4c8)]=![],pokeAPI(_0x8b5262(0x3c4),![]),pokeIframeAPI('director',![]),!_0x2c8760['cleanOutput']&&(warnUser(_0x8b5262(0x201),0xbb8),getById('head4')[_0x8b5262(0x29f)]=miscTranslations[_0x8b5262(0x77d)]);else{if(_0x255c84[_0x8b5262(0x5d6)]==='requestCoMigrate')!_0x2c8760['cleanOutput']&&warnUser('Only\x20the\x20main\x20director\x20can\x20transfer\x20this\x20guest',0xbb8);else{if(!_0x2c8760[_0x8b5262(0x7d7)]){if(_0x2c8760['directorUUID']===_0x15f64d)warnUser(_0x8b5262(0x889),0x1388);else _0x2c8760['remote']&&!_0x2c8760[_0x8b5262(0x3c4)]?warnUser('The\x20remote\x20request\x20failed;\x20the\x20remote\x20token\x20did\x20not\x20match\x20or\x20the\x20remote\x20user\x20does\x20not\x20allow\x20remote\x20control.',0x1388):warnUser(_0x8b5262(0x7d5),0x1388);}}}}warnlog(_0x8b5262(0x46b)+_0x255c84[_0x8b5262(0x5d6)]+_0x8b5262(0x913)+_0x2c8760[_0x8b5262(0x3c4)]);}if('approved'in _0x255c84){if(_0x255c84[_0x8b5262(0x7c2)]==='requestCoDirector'){if(_0x2c8760['director']){try{_0x2c8760[_0x8b5262(0x751)]===![]&&(document[_0x8b5262(0x833)]=miscTranslations[_0x8b5262(0xb7)]);}catch(_0x573c77){errorlog(_0x573c77);};!_0x2c8760['cleanOutput']&&!_0x2c8760[_0x8b5262(0x4c8)]&&(warnUser(_0x8b5262(0x676),0xbb8),getById(_0x8b5262(0x1c9))[_0x8b5262(0x29f)]=_0x8b5262(0x43c)),_0x2c8760[_0x8b5262(0x4c8)]=!![],pokeAPI('director',!![]),pokeIframeAPI(_0x8b5262(0x3c4),!![]);}}}if(_0x8b5262(0x77)in _0x255c84){_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x77)]=parseInt(_0x255c84['order'])||0x0;_0x15f64d in _0x2c8760['pcs']&&(_0x2c8760[_0x8b5262(0x847)][_0x15f64d][_0x8b5262(0x77)]=parseInt(_0x255c84[_0x8b5262(0x77)])||0x0);if(_0x2c8760[_0x8b5262(0x3c4)]){var _0x32d044=document[_0x8b5262(0x233)](_0x8b5262(0x890)+_0x15f64d+'\x22]');_0x32d044[0x0]&&(_0x32d044[0x0][_0x8b5262(0x780)]=parseInt(_0x255c84[_0x8b5262(0x77)])||0x0);}_0x2fa41b=!![];}if(_0x8b5262(0x239)in _0x255c84){log(_0x8b5262(0x3bc));if('value'in _0x255c84){log(_0x8b5262(0x552));if(typeof _0x255c84[_0x8b5262(0x295)]==_0x8b5262(0x6b3)){_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['label']=sanitizeLabel(_0x255c84[_0x8b5262(0x295)]);_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x751)][_0x8b5262(0x542)]==0x0&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['label']=![]);applyStyleEffect(_0x15f64d);if(_0x2c8760[_0x8b5262(0x3c4)]){var _0x32d044=getById(_0x8b5262(0x6f2)+_0x15f64d);if(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x751)])_0x32d044[_0x8b5262(0x780)]=_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['label'],_0x32d044[_0x8b5262(0x60b)][_0x8b5262(0x8ec)]('addALabel');else _0x2c8760[_0x8b5262(0x8a8)]===_0x15f64d?(_0x32d044[_0x8b5262(0x780)]=miscTranslations['main-director'],_0x32d044[_0x8b5262(0x60b)][_0x8b5262(0x8ec)]('addALabel')):(_0x32d044[_0x8b5262(0x780)]=miscTranslations[_0x8b5262(0x710)],_0x32d044[_0x8b5262(0x60b)][_0x8b5262(0x48f)](_0x8b5262(0x405)));}else _0x2c8760[_0x8b5262(0x7c)]&&(_0x2fa41b=!![]);}else{_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x751)]=![],applyStyleEffect(_0x15f64d);if(_0x2c8760['director']){var _0x32d044=getById('label_'+_0x15f64d);_0x2c8760[_0x8b5262(0x8a8)]===_0x15f64d?(_0x32d044[_0x8b5262(0x780)]=miscTranslations[_0x8b5262(0x481)],_0x32d044[_0x8b5262(0x60b)]['remove'](_0x8b5262(0x405))):(_0x32d044[_0x8b5262(0x780)]=miscTranslations[_0x8b5262(0x710)],_0x32d044[_0x8b5262(0x60b)][_0x8b5262(0x48f)](_0x8b5262(0x405)));}else _0x2c8760[_0x8b5262(0x7c)]&&(_0x2fa41b=!![]);}_0x3882cd=!![],pokeIframeAPI(_0x8b5262(0x2d2),_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['label'],_0x15f64d);}}_0x8b5262(0x391)in _0x255c84&&(log(_0x255c84),_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x3de)]=_0x255c84[_0x8b5262(0x391)],_0x2c8760[_0x8b5262(0x526)](![],_0x15f64d),_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['stats']['info']&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x744)][_0x8b5262(0x148)][_0x8b5262(0xc0)]=_0x2c8760['rpcs'][_0x15f64d]['remoteMuteState']),_0x2c8760[_0x8b5262(0x54d)]===![]&&(_0x2c8760[_0x8b5262(0x2af)]&&((!_0x2c8760[_0x8b5262(0x7d7)]||_0x2c8760[_0x8b5262(0x3c4)])&&(_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x478)]?_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x3de)]?_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x478)][_0x8b5262(0x83f)][_0x8b5262(0x5c1)]='block':_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['remoteMuteElement']['style']['display']=_0x8b5262(0x263):(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x478)]=getById('muteStateTemplate')['cloneNode'](!![]),_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x478)]['id']='remoteMuteState_'+_0x15f64d,_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x3de)]?_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x478)][_0x8b5262(0x83f)][_0x8b5262(0x5c1)]=_0x8b5262(0x25f):_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x478)][_0x8b5262(0x83f)]['display']=_0x8b5262(0x263),_0x2fa41b=!![]),_0x3882cd=!![]))),pokeAPI('remoteMuted',_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x3de)],_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x85a)]),pokeIframeAPI('remote-mute-state',_0x255c84['muteState'],_0x15f64d));if('requestSceneUpdate'in _0x255c84){var _0x262960=getChromeVersion();_0x262960&&(_0x262960<0x50&&(_0x2fa41b=!![]));}if('videoMuted'in _0x255c84){log(_0x8b5262(0x5de)+_0x255c84[_0x8b5262(0x402)]),_0x2c8760['rpcs'][_0x15f64d][_0x8b5262(0x402)]=_0x255c84[_0x8b5262(0x402)];!_0x2c8760[_0x8b5262(0x3c4)]?(_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['videoMuted']?(!_0x2c8760[_0x8b5262(0x4c4)]&&_0x2c8760['requestRateLimit'](0x0,_0x15f64d),_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['imageElement']&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x882)][_0x8b5262(0x30f)]=!![],_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x882)][_0x8b5262(0x83f)][_0x8b5262(0x3fc)]='hidden')):updateIncomingVideoElement(_0x15f64d,!![],![]),_0x2fa41b=!![]):_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x402)]?_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x819)][_0x8b5262(0x83f)]['display']=_0x8b5262(0x794):_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x819)][_0x8b5262(0x83f)][_0x8b5262(0x5c1)]='none';if(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x894)]&&_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x402)])setTimeout(function(){activeSpeaker();},0x0);else!_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['videoMuted']&&setTimeout(function(){activeSpeaker();},0x0);_0x3882cd=!![],pokeAPI(_0x8b5262(0x6ff),_0x2c8760[_0x8b5262(0x186)][_0x15f64d]['videoMuted'],_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x85a)]),pokeIframeAPI('remote-video-mute-state',_0x255c84[_0x8b5262(0x402)],_0x15f64d);}if(_0x8b5262(0x4da)in _0x255c84){if(_0x15f64d+_0x8b5262(0x2cb)in _0x2c8760['rpcs']){_0x2c8760[_0x8b5262(0x186)][_0x15f64d+_0x8b5262(0x2cb)][_0x8b5262(0x86b)]=_0x255c84[_0x8b5262(0x4da)];if(_0x2c8760[_0x8b5262(0x3c4)]){_0x2c8760[_0x8b5262(0x186)][_0x15f64d+_0x8b5262(0x2cb)][_0x8b5262(0x402)]=!_0x255c84[_0x8b5262(0x4da)];try{pokeAPI(_0x8b5262(0x6ff),_0x2c8760[_0x8b5262(0x186)][_0x15f64d+'_screen'][_0x8b5262(0x402)],_0x2c8760[_0x8b5262(0x186)][_0x15f64d+_0x8b5262(0x2cb)][_0x8b5262(0x85a)]);}catch(_0x366a5d){}_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x402)]?_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x819)][_0x8b5262(0x83f)][_0x8b5262(0x5c1)]='inline-block':_0x2c8760['rpcs'][_0x15f64d]['remoteVideoMuteElement'][_0x8b5262(0x83f)]['display']=_0x8b5262(0x263);}else _0x2c8760[_0x8b5262(0x186)][_0x15f64d+_0x8b5262(0x2cb)]['virtualHangup']=_0x255c84[_0x8b5262(0x4da)],_0x2fa41b=!![];_0x3882cd=!![];}}_0x8b5262(0x128)in _0x255c84&&(_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x128)]=_0x255c84[_0x8b5262(0x128)],_0x2fa41b=!![],pokeIframeAPI(_0x8b5262(0x909),_0x255c84[_0x8b5262(0x128)],_0x15f64d));if(_0x8b5262(0x2c5)in _0x255c84){if(!_0x2c8760[_0x8b5262(0x3c4)]){if(_0x8b5262(0x52a)in _0x255c84){if(_0x2c8760['directorList'][_0x8b5262(0x1db)](_0x15f64d)>=0x0){var _0x43e237=_0x255c84[_0x8b5262(0x52a)];if(_0x43e237===!![])_0x2c8760[_0x8b5262(0x264)]=_0x255c84[_0x8b5262(0x2c5)];else _0x43e237 in _0x2c8760[_0x8b5262(0x186)]&&(_0x2c8760[_0x8b5262(0x186)][_0x43e237][_0x8b5262(0x264)]=_0x255c84[_0x8b5262(0x2c5)],_0x2c8760[_0x8b5262(0x186)][_0x43e237]['directorVideoMuted']&&_0x2c8760[_0x8b5262(0x526)](0x0,_0x43e237),_0x2fa41b=!![]);}}}_0x3882cd=!![];}_0x8b5262(0x86b)in _0x255c84&&(!_0x2c8760[_0x8b5262(0x3c4)]&&(_0x2c8760[_0x8b5262(0x807)]['indexOf'](_0x15f64d)>=0x0&&(_0x15f64d in _0x2c8760[_0x8b5262(0x186)]&&(_0x2c8760['rpcs'][_0x15f64d]['virtualHangup']=_0x255c84[_0x8b5262(0x86b)],_0x2c8760[_0x8b5262(0x186)][_0x15f64d][_0x8b5262(0x86b)]&&(_0x15f64d in _0x2c8760['rpcs']&&_0x2c8760['requestRateLimit'](0x0,_0x15f64d)),_0x2fa41b=!![]))),_0x3882cd=!![]);if('requestFile'in _0x255c84){log('requestFile\x20in\x20reverse');try{_0x2c8760['sendFile'](_0x15f64d,_0x255c84[_0x8b5262(0x395)]);}catch(_0x24ecea){errorlog(_0x24ecea);}}_0x8b5262(0x404)in _0x255c84&&remoteStats(_0x255c84,_0x15f64d);if(_0x2fa41b)setTimeout(function(){updateMixer(),updateUserList();},0x1);else _0x3882cd&&updateUserList();},_0x2c8760[_0x140c95(0x186)][_0x2eb09b][_0x140c95(0x23a)][_0x140c95(0x482)]=()=>{warnlog('rpc\x20datachannel\x20closed');};},_0x2c8760[_0x1c1fbb(0x186)][_0x2eb09b]['ontrack']=_0x3d6ba8=>{var _0x13a949=_0x1c1fbb;warnlog(_0x13a949(0x83e)),_0x2c8760[_0x13a949(0x14b)](_0x3d6ba8,_0x2eb09b);},log(_0x1c1fbb(0x8ca));},_0x2c8760[_0x2f8f35(0x1a1)]=function(_0x15d40f,_0x354ed6){var _0x1ed10c=_0x2f8f35;log(_0x1ed10c(0x51d)),!_0x2c8760[_0x1ed10c(0x186)][_0x354ed6][_0x1ed10c(0x7aa)]?(_0x2c8760['rpcs'][_0x354ed6][_0x1ed10c(0x7aa)]=createVideoElement(),_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)]={},_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x4fd)]=_0x354ed6,_0x2c8760[_0x1ed10c(0x186)][_0x354ed6][_0x1ed10c(0x85a)]&&(_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+'_screen'][_0x1ed10c(0x85a)]=_0x2c8760[_0x1ed10c(0x186)][_0x354ed6][_0x1ed10c(0x85a)]+':s'),_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x744)]={},_0x2c8760[_0x1ed10c(0x186)][_0x354ed6][_0x1ed10c(0x744)][_0x1ed10c(0x67a)]=![],_0x2c8760['rpcs'][_0x354ed6+'_screen'][_0x1ed10c(0x22d)]=function(){return new Promise((_0x475cc8,_0x141d7b)=>{_0x475cc8([]);});},_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+'_screen']['allowGraphs']=![],_0x2c8760['rpcs'][_0x354ed6+_0x1ed10c(0x2cb)]['allowMIDI']=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x4f2)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0xb3)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+'_screen']['canvasIntervalAction']=null,_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+'_screen'][_0x1ed10c(0x6cc)]=![],_0x2c8760['rpcs'][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0xaa)]=-0x1,_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x544)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x437)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x5d9)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x8bb)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x5f1)]=-0x1,_0x2c8760['rpcs'][_0x354ed6+'_screen']['manualBandwidth']=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+'_screen'][_0x1ed10c(0x850)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)]['imageElement']=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x28b)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x5e5)]=_0x2c8760[_0x1ed10c(0x186)][_0x354ed6]['group']||[],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x402)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x74e)]=![],_0x2c8760['rpcs'][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x264)]=![],_0x2c8760['rpcs'][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x86b)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+'_screen']['remoteMuteState']=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)]['remoteMuteElement']=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x24a)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)]['lockedAudioBitrate']=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)]['closeTimeout']=null,_0x2c8760['rpcs'][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x559)]=null,_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)]['mutedStateMixer']=null,_0x2c8760['rpcs'][_0x354ed6+_0x1ed10c(0x2cb)]['mutedStateScene']=null,_0x2c8760['rpcs'][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x34b)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x11e)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x29b)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x245)]=![],_0x2c8760['rpcs'][_0x354ed6+'_screen'][_0x1ed10c(0x2eb)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x2a0)]=![],_0x2c8760['rpcs'][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x29c)]=null,_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x8b8)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+'_screen']['screenShareState']=!![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x1ec)]=0x64,_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)]['directorMutedState']=0x0,_0x2c8760['rpcs'][_0x354ed6+_0x1ed10c(0x2cb)]['nackCount']=0x0,_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x56a)]='1',_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x69e)]='1',_0x2c8760['rpcs'][_0x354ed6+_0x1ed10c(0x2cb)]['obsControl']=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+'_screen'][_0x1ed10c(0x42a)]=0x0,_0x2c8760['rpcs'][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x751)]=![],_0x2c8760['rpcs'][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x77)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+'_screen'][_0x1ed10c(0x8bc)]=null,_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+'_screen'][_0x1ed10c(0x258)]=null,_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x277)]={},_0x2c8760['rpcs'][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x584)]=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)]['iframeEle']=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x5c6)]=Date[_0x1ed10c(0x6b5)](),_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)]['settings']=![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+'_screen']['savedVolume']=![],(_0x2c8760[_0x1ed10c(0x8c6)]==0x2||_0x2c8760[_0x1ed10c(0x8c6)]==0x4)&&(_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+'_screen'][_0x1ed10c(0xb3)]=!![]),_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x850)]=_0x2c8760[_0x1ed10c(0x186)][_0x354ed6]['screenElement'],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)]['videoElement'][_0x1ed10c(0x88a)]['UUID']=_0x354ed6+_0x1ed10c(0x2cb),_0x2c8760['rpcs'][_0x354ed6+'_screen'][_0x1ed10c(0x850)]['id']='videosource_'+_0x354ed6+_0x1ed10c(0x2cb),_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x85a)]&&(_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x850)]['dataset'][_0x1ed10c(0x8f4)]=_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x85a)]),_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x850)][_0x1ed10c(0x56d)]=![],_0x2c8760['rpcs'][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x28b)]=![],setupIncomingScreenTracking(_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x850)],_0x354ed6+_0x1ed10c(0x2cb)),_0x2c8760[_0x1ed10c(0x186)][_0x354ed6][_0x1ed10c(0x7aa)]['srcObject']=createMediaStream(),_0x15d40f[_0x1ed10c(0x648)](function(_0x2b56d0){var _0x16a47c=_0x1ed10c;_0x2c8760[_0x16a47c(0x186)][_0x354ed6][_0x16a47c(0x7aa)]['srcObject'][_0x16a47c(0x2ad)](_0x2b56d0);}),_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x850)][_0x1ed10c(0x284)]=!![],_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x850)][_0x1ed10c(0x226)](_0x1ed10c(0x8ce),''),mediaSourceUpdated(_0x354ed6+_0x1ed10c(0x2cb),_0x2c8760[_0x1ed10c(0x186)][_0x354ed6+_0x1ed10c(0x2cb)][_0x1ed10c(0x85a)])):_0x15d40f['forEach'](function(_0x222314){var _0x2c5a71=_0x1ed10c,_0x206c7b=![];_0x2c8760[_0x2c5a71(0x186)][_0x354ed6][_0x2c5a71(0x7aa)][_0x2c5a71(0x548)]['getTracks']()['forEach'](function(_0x3c5964){_0x3c5964['id']==_0x222314['id']&&(_0x206c7b=!![]);}),!_0x206c7b&&_0x2c8760[_0x2c5a71(0x186)][_0x354ed6][_0x2c5a71(0x7aa)][_0x2c5a71(0x548)][_0x2c5a71(0x2ad)](_0x222314);});},_0x2c8760['onTrack']=function(_0x317b5d,_0x2b8a7e){var _0x18c298=_0x2f8f35;if(_0x2c8760['badStreamList'][_0x18c298(0x4cc)](_0x2c8760[_0x18c298(0x186)][_0x2b8a7e][_0x18c298(0x85a)])){errorlog('new\x20connection\x20is\x20contained\x20in\x20badStreamList\x202!\x20This\x20shouldn\x27t\x20happen');return;}var _0xdaccf7=[],_0x2448f0=![];if(_0x317b5d[_0x18c298(0x191)]&&_0x317b5d[_0x18c298(0x191)][0x0])_0x2448f0=_0x317b5d[_0x18c298(0x191)][0x0],_0xdaccf7=_0x2448f0['getTracks']();else{if(_0x317b5d['track'])_0xdaccf7[_0x18c298(0x20d)](_0x317b5d[_0x18c298(0x124)]);else{errorlog(_0x18c298(0x108));return;}}if(_0x2c8760[_0x18c298(0x186)][_0x2b8a7e][_0x18c298(0x29c)]){var _0x522c7=_0x2c8760['rpcs'][_0x2b8a7e][_0x18c298(0x29c)][_0x18c298(0x81d)]();_0xdaccf7[_0x18c298(0x648)](function(_0x5cc119){var _0x4c8056=_0x18c298;_0x522c7[_0x4c8056(0x648)](function(_0x41fc4a){if(_0x5cc119['id']==_0x41fc4a['id']){var _0x8e8613=_0xdaccf7['indexOf'](_0x5cc119);_0x8e8613>-0x1&&_0xdaccf7['splice'](_0x8e8613,0x1);}});});}var _0x321a42=![];if(_0x2c8760['rpcs'][_0x2b8a7e]['screenIndexes']&&_0x2c8760[_0x18c298(0x186)][_0x2b8a7e][_0x18c298(0x8b8)]['length']){log(_0x18c298(0x842)+_0x2c8760['rpcs'][_0x2b8a7e][_0x18c298(0x8b8)]);var _0x5f2cdc=_0x2c8760[_0x18c298(0x186)][_0x2b8a7e][_0x18c298(0x75c)]();for(var _0x4b6d90=0x0;_0x4b6d90<_0x5f2cdc[_0x18c298(0x542)];_0x4b6d90++){for(var _0x2ca30e=0x0;_0x2ca30e<_0xdaccf7['length'];_0x2ca30e++){if(_0x5f2cdc[_0x4b6d90][_0x18c298(0x124)]&&_0x5f2cdc[_0x4b6d90][_0x18c298(0x124)]['id']==_0xdaccf7[_0x2ca30e]['id'])for(var _0x32c823=0x0;_0x32c823<_0x2c8760[_0x18c298(0x186)][_0x2b8a7e]['screenIndexes']['length'];_0x32c823++){if(_0x2c8760[_0x18c298(0x186)][_0x2b8a7e][_0x18c298(0x8b8)][_0x32c823]==_0x4b6d90){_0x321a42=!![];break;}}if(_0x321a42)break;}if(_0x321a42)break;}}log(_0x18c298(0x336)+_0x321a42);try{var _0x4f7b5a=_0xdaccf7[_0x18c298(0x542)];while(_0x4f7b5a--){if(_0xdaccf7[_0x4f7b5a][_0x18c298(0x8d5)]==_0x18c298(0x456)){if(_0x2c8760[_0x18c298(0x344)]!==![]&&!_0x2c8760[_0x18c298(0x344)][_0x18c298(0x4cc)](_0x2c8760[_0x18c298(0x186)][_0x2b8a7e]['streamID'])){_0xdaccf7[_0x18c298(0x664)](_0x4f7b5a,0x1);continue;}else{if(_0x2c8760['rpcs'][_0x2b8a7e]['settings']&&_0x2c8760['rpcs'][_0x2b8a7e]['settings'][_0x18c298(0x573)]&&_0x321a42)continue;else{if(_0x2c8760[_0x18c298(0x186)][_0x2b8a7e]['settings']&&!_0x2c8760[_0x18c298(0x186)][_0x2b8a7e][_0x18c298(0x3cc)][_0x18c298(0x456)]){_0xdaccf7['splice'](_0x4f7b5a,0x1);continue;}}}}else{if(_0xdaccf7[_0x4f7b5a][_0x18c298(0x8d5)]==_0x18c298(0x6ee)){if(_0x2c8760[_0x18c298(0x366)]!==![]&&!_0x2c8760[_0x18c298(0x366)][_0x18c298(0x4cc)](_0x2c8760[_0x18c298(0x186)][_0x2b8a7e][_0x18c298(0x85a)])){_0xdaccf7[_0x18c298(0x664)](_0x4f7b5a,0x1);continue;}else{if(_0x2c8760[_0x18c298(0x186)][_0x2b8a7e][_0x18c298(0x3cc)]&&_0x2c8760[_0x18c298(0x186)][_0x2b8a7e]['settings'][_0x18c298(0x573)]&&_0x321a42)continue;else{if(_0x2c8760[_0x18c298(0x186)][_0x2b8a7e][_0x18c298(0x3cc)]&&!_0x2c8760['rpcs'][_0x2b8a7e][_0x18c298(0x3cc)][_0x18c298(0x6ee)]){_0xdaccf7[_0x18c298(0x664)](_0x4f7b5a,0x1);continue;}}}}}}}catch(_0x3888e0){errorlog(_0x3888e0);}if(!_0xdaccf7[_0x18c298(0x542)]){log('NO\x20NEW\x20TRACKS?');return;}if(_0x321a42){_0x2c8760[_0x18c298(0x1a1)](_0xdaccf7,_0x2b8a7e);return;}_0x2c8760['buffer']!==![]&&playoutdelay(_0x2b8a7e);_0x2c8760['directorSpeakerMute'](),_0x2c8760[_0x18c298(0x1a5)]();_0x2448f0&&(_0x2448f0[_0x18c298(0x1af)]=function(_0x1a8a47){var _0x1e49bc=_0x18c298;try{warnlog('Track\x20was\x20removed'),_0x2c8760[_0x1e49bc(0x186)][_0x2b8a7e][_0x1e49bc(0x29c)][_0x1e49bc(0x81d)]()[_0x1e49bc(0x648)](_0x2142c5=>{var _0xfcbbe0=_0x1e49bc;_0x2142c5['id']==_0x1a8a47['track']['id']&&_0x2c8760[_0xfcbbe0(0x186)][_0x2b8a7e][_0xfcbbe0(0x29c)][_0xfcbbe0(0x101)](_0x2142c5);}),_0x1a8a47[_0x1e49bc(0x124)][_0x1e49bc(0x8d5)]=='video'?updateIncomingVideoElement(_0x2b8a7e,!![],![]):updateIncomingVideoElement(_0x2b8a7e,![],!![]),updateIncomingVideoElement(_0x2b8a7e),setTimeout(function(){updateMixer();},0x1);}catch(_0x455fa1){}},_0x2448f0[_0x18c298(0x4c1)]=function(_0x3b4665){var _0x524d5f=_0x18c298;errorlog(_0x3b4665);try{warnlog(_0x524d5f(0x317)),_0x2c8760[_0x524d5f(0x186)][_0x2b8a7e]['streamSrc'][_0x524d5f(0x81d)]()[_0x524d5f(0x648)](_0xdb8c1e=>{var _0x38f21a=_0x524d5f;try{_0xdb8c1e['id']==_0x3b4665[_0x38f21a(0x124)]['id']&&_0x2c8760[_0x38f21a(0x186)][_0x2b8a7e]['streamSrc'][_0x38f21a(0x101)](_0xdb8c1e);}catch(_0x39b2ea){}}),_0x3b4665[_0x524d5f(0x124)][_0x524d5f(0x8d5)]==_0x524d5f(0x456)?updateIncomingVideoElement(_0x2b8a7e,!![],![]):updateIncomingVideoElement(_0x2b8a7e,![],!![]),setTimeout(function(){updateMixer();},0x1);}catch(_0x2d11fe){errorlog(_0x2d11fe);}});createRichVideoElement(_0x2b8a7e);!_0x2c8760[_0x18c298(0x186)][_0x2b8a7e][_0x18c298(0x29c)]&&(_0x2c8760[_0x18c298(0x186)][_0x2b8a7e][_0x18c298(0x29c)]=createMediaStream(),mediaSourceUpdated(_0x2b8a7e,_0x2c8760[_0x18c298(0x186)][_0x2b8a7e]['streamID']));var _0x482e16=![],_0x5eb453=![];_0xdaccf7[_0x18c298(0x648)](_0x4186e8=>{var _0x276d5a=_0x18c298;if(_0x4186e8['kind']==_0x276d5a(0x456))_0x482e16=!![];else _0x4186e8[_0x276d5a(0x8d5)]=='audio'&&(_0x5eb453=!![]);log(_0x276d5a(0x303)),_0x2c8760[_0x276d5a(0x186)][_0x2b8a7e]['streamSrc'][_0x276d5a(0x2ad)](_0x4186e8);});isIFrame&&_0x2c8760[_0x18c298(0x80)]&&_0xdaccf7[_0x18c298(0x648)](_0x27b018=>{var _0x3b438b=_0x18c298;if(_0x27b018['kind']===_0x3b438b(0x456))log(_0x3b438b(0x667)),_0x27b018[_0x3b438b(0x4cd)]=new MediaStreamTrackProcessor(_0x27b018)[_0x3b438b(0x5c0)][_0x3b438b(0x81b)](),_0x27b018['frameReader'][_0x3b438b(0x274)]()[_0x3b438b(0x414)](function _0x4aa802({done:_0x1fce9f,value:_0x1507f9}){var _0x13a277=_0x3b438b;if(_0x1fce9f){_0x1507f9&&_0x1507f9['close']();return;}try{parent[_0x13a277(0x352)]({'frame':_0x1507f9,'UUID':_0x2b8a7e,'streamID':_0x2c8760['rpcs'][_0x2b8a7e][_0x13a277(0x85a)],'trackID':_0x27b018['id'],'kind':_0x13a277(0x456)},_0x2c8760[_0x13a277(0x80)],[_0x1507f9]);}catch(_0x2bb803){_0x1507f9[_0x13a277(0x7f8)]();return;}_0x1507f9['close'](),_0x27b018[_0x13a277(0x4cd)][_0x13a277(0x274)]()[_0x13a277(0x414)](_0x4aa802);});else _0x27b018[_0x3b438b(0x8d5)]==='audio'&&(log(_0x3b438b(0x183)),_0x27b018[_0x3b438b(0x4cd)]=new MediaStreamTrackProcessor(_0x27b018)[_0x3b438b(0x5c0)][_0x3b438b(0x81b)](),_0x27b018['frameReader']['read']()[_0x3b438b(0x414)](function _0x2167f9({done:_0x5734cb,value:_0x5174cf}){var _0x1ff53f=_0x3b438b;if(_0x5734cb){_0x5174cf&&_0x5174cf[_0x1ff53f(0x7f8)]();return;}try{parent[_0x1ff53f(0x352)]({'frame':_0x5174cf,'UUID':_0x2b8a7e,'streamID':_0x2c8760[_0x1ff53f(0x186)][_0x2b8a7e][_0x1ff53f(0x85a)],'trackID':_0x27b018['id'],'kind':_0x1ff53f(0x6ee)},_0x2c8760[_0x1ff53f(0x80)],[new ArrayBuffer(_0x5174cf)]);}catch(_0x32d505){_0x5174cf[_0x1ff53f(0x7f8)]();return;}_0x5174cf[_0x1ff53f(0x7f8)](),_0x27b018['frameReader'][_0x1ff53f(0x274)]()[_0x1ff53f(0x414)](_0x2167f9);}));});if(_0x5eb453&&_0x482e16)updateIncomingVideoElement(_0x2b8a7e);else{if(_0x482e16)updateIncomingVideoElement(_0x2b8a7e,!![],![]);else{if(_0x5eb453){try{_0x2c8760['audioCodec']=='lyra'&&lyraDecode(_0x317b5d[_0x18c298(0x246)]);}catch(_0x1917d0){errorlog(_0x1917d0);}updateIncomingVideoElement(_0x2b8a7e,![],!![]),!_0x2c8760[_0x18c298(0x2af)]&&_0x2c8760[_0x18c298(0x571)]&&!_0x2c8760[_0x18c298(0xe2)]&&setTimeout(function(){updateMixer();},0xa);}}}return _0x2c8760;},_0x2c8760;}());function getMeshcastCanvasTrack(){var _0x1617d9=_0x437dd4;!session['mc']&&errorlog(_0x1617d9(0x30b));!session['mc'][_0x1617d9(0x258)]&&(session['mc']['canvas']=document[_0x1617d9(0x19b)](_0x1617d9(0x258)),session['mc'][_0x1617d9(0x258)]['width']=0x140,session['mc'][_0x1617d9(0x258)][_0x1617d9(0x5e4)]=0xb4);!session['mc'][_0x1617d9(0x802)]&&(session['mc'][_0x1617d9(0x802)]=session['mc'][_0x1617d9(0x258)]['getContext']('2d',{'alpha':![]}),session['mc'][_0x1617d9(0x802)][_0x1617d9(0x21d)]=_0x1617d9(0x40f),session['mc']['ctx'][_0x1617d9(0x505)](0x0,0x0,session['mc']['canvas'][_0x1617d9(0x33e)],session['mc'][_0x1617d9(0x258)][_0x1617d9(0x5e4)]));!session['mc'][_0x1617d9(0x84c)]&&(function _0x4fe3d7(){var _0x4cb8fd=_0x1617d9;session['mc'][_0x4cb8fd(0x802)]['fillRect'](0x0,0x0,session['mc']['canvas'][_0x4cb8fd(0x33e)],session['mc'][_0x4cb8fd(0x258)][_0x4cb8fd(0x5e4)]),setTimeout(_0x4fe3d7,0xfa);}(),session['mc'][_0x1617d9(0x84c)]=session['mc']['canvas'][_0x1617d9(0xab)](0x4));var _0x6ba2a=session['mc'][_0x1617d9(0x84c)][_0x1617d9(0x454)]();if(_0x6ba2a[_0x1617d9(0x542)])return _0x6ba2a[0x0];return errorlog(_0x1617d9(0x8b2)),![];}var meshcastServer=![];function _0x1493(){var _0x5d2ce4=['signature','Reloading?\x20uh\x20oh.\x20Why\x20didn\x27t\x20it?','PINGED','shine','neck','waitImageTimeout','streamID','host','year','width_url','new-push-connection','limitBitrate','could\x20not\x20be\x20sent;\x20queuing\x20it','present','clear','estop','bit\x20rate\x20being\x20munged','learn','Pinging','bitrateTimeout','total_outbound_p2p_connections','ON\x20NEGO\x20NEEDED','backup.vdo.ninja/','virtualHangup','UUID','encode','score','closing\x2019','director-connected','never','death','open','SHA-256','subtract','matter','directorBlindAllGuests','vDav','game','dropped\x20candidate\x20due\x20to\x20filter','agree','borderRadius','turnlist','ran','led','WEBRTC\x20CONNECTION\x20OPEN','RTC\x20Connection\x20seems\x20to\x20be\x20dead\x20or\x20not\x20yet\x20open?\x204','imageElement','send\x20channel\x20open\x20pcs','keep','recieveFile','120GsSTLn','rose','speech','The\x20request\x20failed;\x20you\x20can\x27t\x20apply\x20this\x20action\x20to\x20the\x20main\x20director.','dataset','reject','maxvideobitrate','max_bandwidth_capped_kbps','record','qlr','[data-action-type=\x22order-value\x22][data--u-u-i-d=\x22','\x20is\x20not\x20defined;\x20skipping.','sentence','continent','defaultSpeaker','Safari','FORCING\x20A\x20CHUNKED\x20KEY\x20FRAME:\x20','Chunked_video','windowed','\x20(fail)','de1','plugged','mean','room-is-claimed','&code=','dog','recorder','effect','fly','fileWriter','content-type','raisehands','make','list','directorUUID','shop','disableNACK','Should\x20we\x20ask\x20to\x20play\x20the\x20stream\x20Again?','shoe',',\x20mc?:\x20','evening','stood','Transfer\x20was\x20cnacelled\x20by\x20remote\x20user;\x20parital\x20file\x20saved.','onmessage','Meschast\x20canvas\x20not\x20working','sendOnNewConnect','labelsize','sensorData','preferAudioCodec','turn:turn-usw2.vdo.ninja:3478','screenIndexes','view-connection-info','scale\x20set!','channelWidth','canvasCtx','point','/h264','bandwidth\x20set\x20d!\x20','quality_url','getParameters','Chrome\x20for\x20iOS','forceTcpMode','solo-scene-connected','streaming','activeSpeaker','audioContext','get','screen','setup\x20peer\x20complete','quality_limitation_reason','maxptime','\x20as\x20preferred\x20video\x20codec\x20by\x20viewer\x20via\x20API\x20(offer)','playsinline','answer','maintain-framerate','screenshareid','ended','power','food','kind','cleaning\x20up\x20lost\x20connection\x20--\x20disconnected\x20-\x20iOS\x20specific','transferred','onaudioprocess','edgelist','ondatachannel','closePC','utf-8','else','already\x20waiting\x20for\x20stream','discuss','remoteFocus','bought','yard','videosource','Remote\x20request\x20decoded\x20successfully','getAudioSettings','disconnect','gridlayout','checkBasicStreamsExist','gold','success','focusDistance','remove','iframeEle','ptime','Firefox','often','PROBLEM,\x20Senders\x20is\x20more\x20than\x200:\x20','whose','place','sid','course','layout','dataMode','video/webm','window','writeEBMLVarInt','https://www.youtube.com/','closing\x207','disableViewerWebAudioPipeline','json','line','more','loadoutID','did','early','BYE','sharp','pol1','lyra','EncodedVideoChunk','remote-screenshare-state','experience','contentHint','speedtest','details','bat','retryTimeout','directorView','ICE\x20FAILED','pauseClock',',\x20isDirector:\x20','SETUP\x20INCOMING','new-display-name','downloads','egg','fine','screenShareLabel','abc123','remoteInterfaceAPI','videoDevice','knew','listPromise','turn:turn-cae1.vdo.ninja:3478','out','encodeRemote','[data-action-type=\x27recorder-local\x27][data--u-u-i-d=\x27','order','false','closing\x203','setBitrate','conn_type','showlabels','processFrame','https://meshcast.io/view.html?id=','maxpublishers','sendframes','showSettings','SET\x20SCALING\x20IS\x20FIRING,\x20which\x20is\x20GOOD\x20!!!!!!','requestUpload','very','fullscreen','updateLocalStatsInterval','arraybuffer','platform','chunked_mode_audio','smile','little','queue','webrtc-is-blocked','Only\x20the\x20main\x20director\x20can\x20use\x20this\x20setting','midiDevice','car','processFrameAudio','reportbutton','hiddenSceneViewBitrate','copy','turns:turn.obs.ninja:443','proper','road','visible','dataOffset','most','closeRPC','getAsDataArray','options','ori','audioBitrate','float','obsCommand','room_init','after','click','keyname','play','suit','closeTimeout\x20cancelled;\x207','./media/bg_sample.webp','bandwidth','captureStream','wrong','recordedBlobs','war','span','tabernac','closing\x2018','outputDevice','loudest','wss://api.vdo.ninja:443','ocean','sure','control-room-co-director','country','similar','able','spring','Remote\x20peer\x20disconnected.\x20Due\x20to\x20enhanced\x20security,\x20please\x20refresh\x20to\x20create\x20a\x20new\x20connection.','new-view-connection','Trying\x20to\x20join\x20at\x20least','row','muted','trackNumber','test','lowMobileBitrate','sight','ask','173392ZYbhVc','localDescription','poem','getResponseHeader','lady','imagine','that','readyState','roomTimer','plant','batteryState','water','Does\x20Local\x20Stream\x20Source\x20EXIST?','pow','stringify','autorecordlocal','onreadystatechange','buffer','customWSS','Room\x20is\x20already\x20claimed\x20by\x20someone\x20else.','hostedTransfers','instrument','sendPeers','can\x27t\x20change\x20audio\x20bitrate;\x20no\x20audio\x20sender\x20found','closeTimeout\x20cancelled;\x202','oniceconnectionstatechange','human','forceRotate','permaid','Can\x27t\x20change\x20the\x20location\x20once\x20started\x20streaming','1011186TVkNXt','h264profile','controlRoomBitrate','generator','cross','cleanup','work','still','choose','batteryMeter','stop','spell','doNotSeed','The\x20remote\x20request\x20failed;\x20the\x20&remote\x20token\x20did\x20not\x20match\x20or\x20the\x20remote\x20user\x20does\x20not\x20allow\x20remote\x20control.','hanging\x20up','toward','error','excite','cut','requested-stream','introOnClean','wing','move','family','Meshcast\x20error:\x20432','webp','was','city','sendMsg','removeTrack','hssConnection','teeth','autoSyncObject','connectionDetails','though','listen','Something\x20went\x20wrong\x20with\x20incoming\x20track..','only','autoSync','request','describe','Checking\x20to\x20see\x20if\x20reconnectino\x20to\x20ws\x20lost\x20any\x20peers','subarray','setupYourOwnPlease','camp','setRequestHeader','instant','you','flipped','Raised\x20hand','side','blood','wood','writeBytes','equal','rotated','pair','sceneSync','scaleWidth','ruleOfThirds','getTimezoneOffset','orientation','InvalidOperationException','https://meshcast.io/view.html?api=','track','will','enhance_audio','Someone\x20Joined\x20the\x20Room','screenShareState','apiserver','changeCamera','guess','grabFaceData','seedPlz','Someone','writeU16BE','mutedStateScene','Publisher\x20will\x20be\x20ignored\x20due\x20to\x20max\x20connections\x20already\x20hit','POST','This\x20shouldn\x27t\x20happen','Websocket\x20connection\x20failed\x20or\x20something;\x20this\x20is\x20a\x20split\x20connection.\x20not\x20ideal,\x20as\x20it\x20could\x20be\x20unstable.','obsControls','large','savedBitrate','watch','element','setVideoScale','Bad\x20EBML\x20VINT\x20size\x20','atom','filetransfer','state','material','added\x20audio\x20track','maxconnections','operate','turn:www.turn.vdo.ninja:3478','statsInterval','cotton','closed','h264','info','frameMeta','location','onTrack','metal','watchTimeoutList','sendGenericData','limitAudioBitrate','\x20(good)','sky','ASKING\x20FOR\x20AUDIO\x20AND\x20VIDEO?','lead','deal','110rliBXL','onconnectionstatechange\x20pcs\x20ice\x20--\x20disconnected,\x20but\x20not\x20yet\x20closed?\x20','muted_savedState','setAudioBitrate','bar','fadein','skill','replace','wssid','recording_audio_gain','onicecandidate','store','bye','noisegateSettings','chunkedtransfer\x20OPEN','ctrlKey','enqueue','chat',')\x20failed\x20due\x20to\x20permissions\x20or\x20it\x20was\x20rejected\x20by\x20the\x20user','high','someonejoined','obsstudio','hidesololinks','type','throw','status','videoWriter','had','EastSideRepresentZ','welcomeMessage','mainmenu','vdoninja','stereo_url','webCodec','child','\x20(full)','gave','subject','website','url','WebRTC\x20Connection\x20Closed.\x20Clean\x20up.\x20657','street','touch','limiting\x20AudioEncoder','forceRetry','candidate','STARTING\x20NEW\x20AUDIO\x20TRACK','Adjusting\x20Gain;\x20only\x20track\x200\x20in\x20all\x20likely\x20hood,\x20unless\x20more\x20than\x20track\x200\x20support\x20is\x20added.','videoMargin','rpcs','rotate_video','show','Max\x20bandwidth\x20being\x20capped:\x20','bitrate_set','directorSettings','speed','completed','ice\x20timer\x20no\x20longer\x20exists','toLowerCase','iceServers','streams','encoder','energy','no\x20pcs[UUID]','disconnected','offsetChannel','joinroom','best','bright','friend','createElement','visit','maxaveragebitrate','subtle','broadcastChannelID','swim','setupScreenShareAddon','remoteDescription','rule','develop','directorDisplayMute','jpeg','pushLoudness','updateTime','ring','sand','milk','videoaddedtoroom','Requested_resolution','bed','onremovetrack','tainted','SENDING\x20CHUNKS\x20TO:\x20','quite','voiceMeterTemplate','form','height_url','requestChangeCompressor','disableMouseEvents','closing\x209','setOpusAttributes','UUID\x20not\x20found;\x20cant\x27\x20close','dry','why','cell','badStreamList','station','msg','con','Seeking\x20beyond\x20the\x20end\x20of\x20file\x20is\x20not\x20allowed','begin','EncodedAudioChunk','vowel','copyTo','differ','Someone\x20is\x20trying\x20to\x20transfer\x20a\x20guest','head4','5px','Opened\x20transfer\x20channel','RECONNECTING\x20to\x20HSS;\x20DISCONNECTING\x20FROM\x20TRANSFERRED\x20ROOM','room-is-claimed-codirector','blindAllGuests','ship','lone','onended','processPCSOnMessage','userAgent','reason','volume','addIceCandidate','encodedInsertableStreams','mediaDevices','bandwidth\x20set\x20g!\x20','promptAccess','indexOf','resolution','talk','interest','match','yellow','maxviewers','numeral','NOT\x20VIEW\x20TARGET','calculateScale','lowcut','canvasWebGL','spread','clean','/status','FORCE\x20KEYFRAME\x20FOR\x20SCENE','off','directorVolumeState','recieveChunkedStream','decrypt','fell','PCS\x20WINS\x20ICE','The\x20Director\x20has\x20disabled\x20your\x20vision\x20temporarily
','real','zoom','preventDefault','way','arrayBuffer','lot','infocus','suggest','night','stand','contentType','midiOut','midiRemote','yes','boy','The\x20main\x20director\x20denied\x20you\x20as\x20a\x20co-director','preLimitedBitrate','restricted','GOT\x20ICE!!','sendMessage','encodering\x20being\x20kicked','disconnectedTimeout','general','company','win','sink','codecGroupFlag','push','totalSceneBitrate','clothe','listing','udp','audioConstraints','claim','EOF1','some','privacy','story','bit','icefilter','ago','vb_url','BITRATE\x201:\x20','fillStyle','RPCS\x20for\x20MESHCAST\x20ISNT\x20MADE\x20YET??','getElementById','FORCING\x20A\x20KEY\x20FRAME:\x20','requested\x20file\x20has\x20been\x20removed.','dedicatedControlBarSpace','ontrack','thank','currentAudioConstraints','setAttribute','cleaning\x20up\x20lost\x20connection','history','inputBuffer','10px','chunkedVideoEnabled','codec','getStats','burn','measureEBMLVarInt','cpuLimited','queueList','createMediaStreamDestination','querySelectorAll','closeTimeout\x20cancelled;\x206\x27\x20retry\x20in\x203s?','setScale','range','town','roomclaimed','changeLabel','receiveChannel','m\x20:\x20','syncState','speakerMuted','empty\x20ice..','BITRATE\x203:\x20','selectImageTFLITE_contents','next','animatedMoves','stick','getSettings','slot','receiver','[data-action-type=\x22mute-guest\x22][data--u-u-i-d=\x22','requestChangeEQ','preferVideoCodec','lockedVideoBitrate','pushEffectsData','there','support','failed\x20to\x20send\x20focus\x20change\x20request','screenshare_url','reach','Stream\x20ID\x20is\x20already\x20in\x20use.','remoteRaisedHandElement','warn','writeU8','directorEnabledPPT','disableOBS','sing','canvas','system','stream_configVideo','separate','broadcastChannel','audiobitrate','writer','block','[data-action-type=\x22toggle-group\x22][data--u-u-i-d=\x22','connectPeer','remote-group-change','none','directorVideoMuted','view_set','free','wss','miconly','fileList','addCoDirector','setVideoBitrate','hope','dollar','src','clicked','done\x20setting\x20degrad\x20to\x20maintain-framerate','opacity','divide','directorSpeakerMuted','read','bind','screenShareElement','inboundAudioPipeline','least','remote','same','defaultIframeSrc','code','createBufferSource','layouts','steve','usual','AudioContext','modifyDescLyra','onconnectionstatechange','autoplay','stun:stun4.l.google.com:19302','shift','serve','transcript','space','EOF2','voiceMeter','audioChannels','special','done\x20clearing\x20audio','couldn\x27t\x20set\x20preferred\x20audio\x20codec','Timestamp\x20duplicated','quietOthers','vp8','image/webp','fire','value','with','transparent','over','organ','dress','scaleSnap','streamSrc','cover','defaultBackgroundImages','innerHTML','volumeControl','failed\x20to\x20disconnect','end-view-connection','connectionState','invite','already\x20closed\x20PCS','enc','postInterval','active','stay','Max\x20bandwidth\x20controlling\x20bitrate:\x20','ready','requestZoomChange','addTrack','muteStateTemplate','roomid','closing\x2012','feel','what','not\x20allowed\x20to\x20show\x20the\x20director','padStart','pointer','been','which','path','waitImageTimeoutObject','remoteMuteState_','start\x20writing\x20frames','parse','fun','bigmutebutton','mix','silent','decodeInvite','melody','failed','showSaveFilePicker','directVideoMuted','stream','Restarting\x20since\x20closed','SCREENS','probable','meshcastScale','_screen','screenshareVideoOnly','bread','drive','undefined','position','getWriter','remote-label-changed','targetAudioBitrate','de2','held','continue','provideFileList','requestCoDirector','optimize','soloVideo','joining-room','configuration','school','sendroom','TrackNumber\x20must\x20be\x20>\x200\x20and\x20<\x20127','iframetarget','bandwidth\x20set\x20h!\x20','audioCodec','can\x27t\x20change\x20bitrate;\x20no\x20video\x20sender\x20found','checking','print','Remote\x20TURN\x20LIST\x20Loaded\x20**\x20','wave','correct','container_','Max\x20bandwidth\x20NOT\x20being\x20capped:\x20','signalMeter','hard','startClock','number','leg','plugged_in','webm','roll','deltaY','RPCS\x20WINS\x20ICE','pixelFix','vdo.socialstream.ninja','localMuteElement','guest','video_encoder','silver','chair','rejoining\x20room','1280','black','hangupbutton','supply','trouble','sent','adding\x20track','forceScreenShareAspectRatio','well','custom\x20layout\x20being\x20applied','six','center','zoomedBitrate','writeDoubleBE','Meshcast\x20not\x20connected;\x20cant\x27\x20create\x20canvas\x20for\x20it','seem','said','gone','hidden','post','panning','keyframe','midiOffset','less','api','wonder','Track\x20threw\x20an\x20error;\x20going\x20to\x20reconnect\x20it','thing','Remote\x20user\x20is\x20a\x20director','minute','modifyDescPCM','coat','maxMobileBitrate','cursor','createDataChannel','vdAv','unmute-guest','directorMutedState','find','cpu','pop','offerSDP','hardware_video_encoder','video_bitrate_kbps','case','streamid-already-published','went','column','for','season','again','screenshareDenoise','meshcast','need','obs_control','WHY\x20ARE\x20YOU\x20GOD\x20DAMN\x20BEEPING','the','screenshare:\x20','IchBinSteveDerNinja','ctrl','labelstyle','isScene','molecule','took','cat','width','Not\x20a\x20scene','engine','bandwidth\x20set\x20b!\x20','guide','sitePassword','novideo','distant','ArrayBufferDataStream','screensharecursor','sourceActive','total','motion','scaleHeight','hair','coast','allowGraphs','processRPCSOnMessage','onopen','carry','postMessage','FileSystemWritableFileStream','fakeUser','huge','RTC\x20already\x20connected','cool','lay','power_level','danger','closeTimeout','gpGPU','hasOwnProperty','nature','were','region','closing\x204','flagship','byteLength','low','top','noaudio','iframeDetails_','spoke','setVideoBitrates','changeOrder','blow','isView','quality','Shared\x20website:\x20input','wrote','selectedIndex','remote-video-mute-state','manualBandwidth','guest-connected','minptime','stereo','base','please','law','offer','already\x20connected','verify','iframe','let','resolution\x20scale','nor','[data-sololink]','356135YYKrkZ','women','samplingFrequency','equate','either','plane','&id=','preferCodec','notice','exact','refreshScale','rtc.ninja','previewToggleState','sendChunks','midiHotkeys','muteState','A_OPUS','invent','week','requestFile','sail','modern','earth','encrypt','symbol','onload','exercise','querySelector','failed\x20to\x20send\x20zoom\x20change\x20request','available-speedtest-servers','ground','obsRemotePassword','beepToNotify','There\x27s\x20a\x20new\x20incoming\x20connection.','mykey','decrypted','BlobBuffer','neighbor','nation','already\x20watching\x20stream','addFrame','sdp','hash\x20is\x20','LOADING\x20UP\x20WAITING\x20WATCH\x20STREAM:\x20','micSampleRate','setMeshcastVideoBitrate','half','method','\x20','firstPlayTriggered','Chromium-based\x20v','other','chunked','circle','coDirector','verb','autoGainControl','can\x27t\x20change\x20bitrate;\x20no\x20video\x20senders\x20found','Change\x20Label','study','resolution\x20scale:\x20','meshcastAudioBitrate','nine','grand','horse','showClock','director','getChannelData','cost','noise\x20gate\x20on','Authorization','offset','allowmidi','EBML\x20VINT\x20size\x20not\x20supported\x20','settings','our','audioCtxOutbound','requestStream','mute','publishing\x20SDP\x20Offer:\x20','remoteHash','act','frameWriter','GOT\x20ICES!!','brown','phrase','pos','guestFeeds','applyIsolatedVolume','priority','how','every','remoteMuteState','say','arrive','stopping\x20some\x20preload\x20bitrate\x20','set-video-scale','moment','closing\x2013','event','quiet','one','dataReceived','weather','mixMinus','Bearer\x20','hear','Can\x27t\x20play\x20your\x20own\x20stream\x20ID','push-connection-info','OPEN','obs.ninja/','red','except','Invalid\x20remote\x20control\x20code.\x0a\x0aUse\x20the\x20field\x20below\x20to\x20try\x20again\x20with\x20a\x20different\x20passcode.','selected','INITIAL\x20PUBLISH\x20START:\x20','part','PONGED','wash','outboundAudioBitrate','forceRetryTimeout','%\x20battery\x20remaining','visibility','sendRequest','pong','board','SDP\x20Sessions\x20Match.\x20I\x20assume\x20ADDING\x20TRACKS.\x20RPCS','screenStream','videoMuted','people','remoteStats','addALabel','successfully\x20sent\x20message\x20vis\x20WebRTC\x20instead\x20of\x20WSS','destination','reject\x20co','null\x20ice\x20rpcs','showConnections','repeat','HANG\x20UP\x202\x20COMPLETE','writeUnsignedIntBE','stone','#000','showall','bandwidth\x20set\x20e!\x20','processDescription','obs','then','AndroidFix','directorPassword','ice','bitrateGroupFlag','hole','reload','micDelay','onnegotiationneeded','their','stretch','requestResolution','broadcast_mode','vary','servers','BROWER\x20DID\x20NOT\x20SUPPORT\x20LIMIT\x20BITRATE','scaleFactor','heard','Someone\x20published\x20a\x20video\x20to\x20the\x20Room','sendKeyFrameScenes','trade','nothing','pliCount','chatmessage','totalBitrate:\x20','name','turn:turn-eu4.vdo.ninja:3478','wire','setParameters','late','does\x20any\x20audio\x20exist?','playbackheader','noPLIs','addEventListener','fr1','showDirector','race','CONNECTED\x20TO\x20FIRST\x20PEER','room','Transfer\x20ended','You\x20are\x20a\x20co-director\x20of\x20this\x20room;\x20you\x20have\x20partial\x20director\x20control\x20assigned\x20to\x20you.','alert','statsMenu','received\x20data\x20from\x20viewer','basic','showTime','joinRoom','recording_audio_ctx_latency','summer','right','requestFocusChange','audioMeterGuest','degrade','quality_wb','wall','relative','seed','call','TRANSFERRING?','createAnswer','master','PUBLISHER\x27s\x20RTC\x20Connection\x20seems\x20to\x20be\x20dead?\x20','closing\x208','site-not-responsive','getVideoTracks','know','video','noExitPrompt','sheet','charge','blue','soon','PASSED','resolve','generateStreamID','getSenders','sendChannel','\x20(ok)','enhance','watchTimeoutList:','seeding\x20!!','gas','allowVideo','page','buy','retryWatchInterval','midiChannel','ACTION\x20REJECTED:\x20','https://turnservers.rtc.ninja/','practice','processDescription2','noisegate','pound','charAt','sense','audioLatency','ArrayBufferDataStream\x27s\x20pos\x20lies\x20beyond\x20end\x20of\x20buffer','Audio\x20processing\x20is\x20disabled\x20with\x20this\x20guest.\x20Can\x27t\x20mute\x20or\x20change\x20volume','surface','insect','remoteMuteElement','pipe','sensors','soloChatUUID','needKeyFrame','bandwidth\x20set\x20i!\x20','since','head','solution','main-director','onclose','party','currentTarget','gain','Valid\x20co\x20director\x20trying\x20to\x20transfer\x20a\x20guest','chatname','importKey','down','Chunked\x20Stream\x20Ended','PCMSource','RTCRtpSender','hidehome','house','add','audioOptions','unshift','strong','drink','also','channels','webPquality','focus\x20success','Generate\x20Some\x20Crypto\x20keys\x20first','dynamicScale','requestAs','measure','corner','told','green','setValueAtTime','directorSpeakerMute','no\x20video\x20track\x20to\x20control','keys','his','stream_configAudio','enhanceAudioEncoder','configVideo','vp9','allow','triangle','defaultMedia','fresh','chunkedStream','anysend','requestChangeGating','setResolution','displayMute','job','STREAM\x20ID\x20desalted\x202:','hurry','control','shall','GET','starting\x20kicker','screenshareType','made','band','always','canvasSource','teach','want','meant','screenshareStereo','onerror','getRandomValues','publicKey','manual','bufferedAmount','fruit','heavy','directorState','\x20---\x20PC\x20TIMED\x20OUT,\x20but\x20still\x20alive.\x20Killing\x20it.','bitrate','Offset\x20may\x20not\x20be\x20negative','includes','frameReader','two','change','session','TOO\x20MANY\x20PUBLISHING\x20PEERS','waitingWatchList','pcm','closing\x2014','fair','requestAudioHack','broadcast','no\x20audio\x20track\x20to\x20poke','stopWriter','screenStopped','finger','tail','limitMeshcastBitrate','iceTransportPolicy','startWriter','ontimeout','maxBitrate','cloneNode','new\x20connection\x20is\x20contained\x20in\x20badStreamList!\x20This\x20might\x20be\x20the\x20director\x27s\x20video/audio\x20->\x20this\x20a\x20scene?','bell','createObjectURL','deviceId','WebMWriter','vector','processIce','successfully\x20requested\x20audio\x20and\x20video','chunkTime','suffix','hundred','color','decode','meshcastScreenShareBitrate','\x20---\x20PC\x20TIMED\x20OUT\x20and\x20already\x20deleted.\x20shouldn\x27t\x20happen','activelySpeaking','enter','chunks','left','maxBandwidth','director-share','moon','session.limitMaxBandwidth\x20running:\x20','switchMode','property','character','realUUID','toString','check','far','err','network_type','opus','processIce2','fillRect','won\x27t','webkitAudioContext','slow','RSASSA-PKCS1-v1_5','slots','anyrequest','ten','transferSettings','appendChild','desaltStreamID','directMigrateIssue','micIsolate','layout-enabled','wild','Update\x20Mixer\x20Event\x20on\x20REsize\x20SET','island','steam','getWrittenSize','nacks_per_second','cleanish','equalizer','thus','gyro','session.setupScreenShareAddon','new','Unmute\x20video','abs','hat','signData','self','localVoiceMeter','screensharefps','requestRateLimit','playback_audio_volume_meter','webCodecAudio','responseText','target','strange','solo','textContent','Refreshing\x20scale','heat','detail','rotate','bandwidth\x20set\x20a!\x20','forceAspectRatio','ifs','iceBundle','write','.battery-level','catch','provide','substring','lockedAudioBitrate','heart','and','sceneType2','common','VP9','application/sdp','length','tell','bandwidthMuted','turn','noiframe','data','srcObject','video_muted_init','CriOS','writeEBMLVarIntWidth','push-connection','scene','inch','all','hash','obsfix','value\x20there','winter','setupIncoming','scale','getAudioTracks','recording','session.provideFileList','mutedState','password','limitMaxBandwidth','audioCtx','zoom\x20success','before','map','directorBox','light','join','altUUID','updateurl','notifyScreenShare','Mute\x20video\x203306','set','mark','timer','opacityDisconnect','Failed\x20to\x20request\x20video\x20and\x20audio;\x20iOS\x20device\x20asking?','speak','screenshare','mid','Audio\x20Bitrate\x20is\x20locked;\x20can\x27t\x20update','tire','view','allowVideos','allowscreen','snow','bank','mag','your','wide','complete','bad','iron','meat','hw_enc','codec_url','setFloat32','AES-CBC','closedCaptions','','audio\x20bandwidth\x20set\x20f!','iframeSrc','configure','gentle','science','stunServers','four','sending\x20message\x20via\x20WSS\x20as\x20WebRTC\x20failed\x20to\x20send\x20message','watchStream','maxsamplerate','message\x20could\x20not\x20be\x20sent;\x20queuing\x20it','jointone','waiting\x20for\x20keyframe','sendFile','straight','screensharebutton','electric','table','use1','broad','both','force','turn:turn-eu1.vdo.ninja:3478','noise\x20gate\x20off','land','init_audio','cid:','obsStateSync','obsState','Media','director-mute-state','pluginVersion','perhaps','rich','Keyframe\x20inserted','hangup','encodings','current','closing\x2020','iOS\x20devices\x20do\x20not\x20support\x20dynamic\x20bitrates\x20correctly;\x20skipping','happy','noREMB','Failed\x20attempt\x20to\x20connect\x20as\x20co-director','nose','actual\x20bitrate:','?ts=','scaleResolution','optimizedBitrate','42001f','2px','screenshareContentHint','-kbps','allowScreen','men','noun','Unknown','sister','devicePixelRatio','sea','changeParams','minimumRoomBitrate','readable','display','require','createBuffer','Trying\x20to\x20set\x20','Someone\x20sent\x20us\x20an\x20ANSWER\x20sdp??','startTime','during','eventPlayActive','word','original','resending\x20message','piece','disablePLI','rampUpTime','replaceAll','obsVisibility','connected','this','\x20(timeout)','locate','added\x20video\x20track','rejected','Video\x20Bitrate\x20is\x20locked;\x20can\x27t\x20update','press','channelOffset','cloud','use','joiningRoom','request\x20rate\x20limit:\x20','videoMuted:\x20','\x20x\x20','sensorDataFilter','dream','meshcastSettings','text','height','group','round','disabled','arrange','ptz','https://','chrg','among','The\x20remote\x20control\x20request\x20failed.','Unhandeled\x20Error\x20occured','tool','father','targetBandwidth','gotGenericData','term','generateRandomString','give','allowWebp','alpha','seven','introButton','Messaging\x20sent','mind','sending\x20message\x20via\x20WSS\x20as\x20WebRTC\x20failed\x20to\x20send\x20message;\x20RTC\x20peers\x20only','air','pretty','recording_audio_mic_delay','middle','scaleResolutionDownBy','old','postURL','bottom','vp09.00.10.08','channel','directorChat','start','digest','encryptMessage','classList','**\x20connected','soft','bitrate\x20timeout;\x20ios/firefox\x20specific:\x20','hand','recording_audio_compressor_type','42e01f','has','fat','tube','focus','limitaudio','meshcastCodec','iceTimer','done','starting\x20some\x20preload\x20bitrate\x20','initial_group','configAudio','walk','lost','many','sudden','allowIframe','randomize','fight','warm','114440FrcgXR','chunkedtransfer','timestamp','header','createJavaScriptNode','prototype','from','MESHCAST();','temperature','white','delta','any','constructor','random','tall','chord','surprise','paper','time','cent','effectValue','oncanplay','hostname','trip','lowerVolume','village','compare','frameRate','keyframeRate','version','prioritize-audio','prepare','animal','gun','true','forEach','possible','mobile','keyframeTimeout','size','requestRateLimit\x20RUN:\x20','readAsArrayBuffer','ROOMID\x20EANBLED','Bad\x20UINT\x20size\x20','pipeTo','ICE\x20FAILed.\x20bad?','measureUnsignedInt','raw','decryptMessage','key','Utf8','mono','busy','appear','requestVideoHack','depend','hideClock','result','seedAttempts','href','felt','\x27\x20target=\x27_blank\x27>','CLOSED','splice','help','requestedStatsInterval','STARTING\x20NEW\x20VIDEO\x20TRACK','unified-plan','travel','fraction','field','sampleRate','We\x20will\x20not\x20request\x20the\x20meshcast\x20as\x20no\x20audio\x20or\x20video\x20is\x20requested','./media/bg_sample2.webp','meterStyle','announceCoDirector','compressor','recordingVideoCodec','farm','drop','truck','The\x20director\x20approved\x20you\x20as\x20a\x20co-director','Chunked_audio','preloadbitrate','weight','Audio_Loudness','doctor','msg\x20size\x20error','local','autorecordremote','playback_audio_pipeline','roomenc','unit','hold','audioInputChannels','groupAudio','plural','stopping\x20old\x20track','allowMIDI','slice','getPCM','SEND\x20BYE','request\x20focus\x20change:\x20','short','virtualcam','cbr','maxviewers_url','setRemoteDescription','decoder','valley','requestStatsContinuous','useragent','scale\x20scale','showRoomTime','particular','think','face','isArray','oxygen','A\x20director\x20joined\x20the\x20room','allowwebp','opacityMuted','vDAv','roomhost','problem','bone','allowNoGroup','decodeRemote','videoMutedFlag','message','west','duck','closing\x2016','draw','metaKey','writeString','salt','SENDING\x20FILE:\x20','audioContentHint','reply','feed','against','string','OBSNINJAFORLIFE','now','forcePLI','pass','machine','seeding','wear','applySoloChat','box','dark','videoOptions','sticky','requestAudioRateLimit','removeChild','crowd','remoteFocusZoomRequest','oil','lowerhand','eight','climb','overlayNinja','indicate','https://turnservers.socialstream.ninja/','audioEffects','codirectorRequested','thin','recordLocal','myVideo.webm','remoteZoom','exclude','life','design','filename','bitrateTimeoutFirefox','between','allowAudio','hour','limitTotalBitrateGuests','directorDisplayMuted','requestCoMigrate','denoise_url','screenShareBitrate','\x20as\x20preferred\x20audio\x20codec\x20by\x20viewer\x20via\x20API\x20(offer)','together','setLocalDescription','transfer','nextQueue','several','charging','fall','cleanDirector','newMainDirectorSetup','user\x20didn\x27t\x20have\x20access\x20for\x20this\x20file.','what\x20is\x20this?','providing\x20answer','send','audioGain','Websockets\x20timed\x20out;\x2030\x20seconds','audio','million','pick','area','label_','dtx','limitAudio','writeByte','autoSyncCallback','port','createOffer','pressed','necessary','UN-MUTED','day','small','midiIn','remoteVideoMuted','miniInfo','woman','care','mcSetScale','setUint32','parent','images','vdav','getVideoSettings','Bad\x20EBML\x20datatype\x20','nocursor','cmd','pingTimeout','writer_config','ceil','Not\x20director','add-a-label','onnegotiationneeded\x20triggered;\x20creating\x20offer','applyIsolatedChat','rtc\x20state:\x20','AES','nodownloads','charCodeAt','max','picture','.webm','steel','noFEC','plain','iceConnectionState\x20==\x20connected','consent','came','multiply','codirector_transfer','requestVideoRecord','month','writeFloatBE','micIsolated','stead','allowDownloads','overlay','much','init_video','An\x20RTC\x20error\x20occured','closeTimeout\x20cancelled;\x203','each','codirector\x20request\x20hash\x20failed','midi','processIceBundle','echoCancellation','clock','binaryType','enabled','section','than','tfliteModule','slave','represent','not\x20record\x20button\x20detected;\x20can\x27t\x20update\x20time\x20since\x20started\x20recording','prove','lyraCodecModule','channelCount','king','miss','controls','turn:turn-eu2.obs.ninja:3478','determine','crypto','stats','darkmode','fast','playback_audio_samplerate','sceneType','stereo\x20inbound\x20enabled','noScaling','meshcastBitrate','border','log','iframeVideo','closing\x202','limitTotalBitrate','label','class','young','Content-Type','layout-updated','division','adaptivePtime','lin','favor','Someone\x20Joined\x20the\x20Room\x20with\x20a\x20video','audio_codec_url','getReceivers','borderColor','split','sceneList','watchTimeoutList2:','seat','RTC\x20Connection\x20seems\x20to\x20be\x20dead\x20or\x20not\x20yet\x20open?\x203','noNacks','mountain','timecode','changeURL','enhanceAudio','webAudios','object','door','captain','bring','CHUNKED\x20DETAILS','famous','liquid','rock','VDO-Ninja','sleep','setClock','UUID\x20not\x20found;\x20can\x27t\x20close.','screenshareAEC','noiseSuppression','stopClock','iceConnectionState','timeout','NOT\x20IN\x20VIEW\x20SET','opposite','coDirectorEnable','not-the-director','available_outgoing_bitrate_kbps','cae1','innerText','label=','finish','Meshcast\x20SET\x20SCALING\x20IS\x20FIRING,\x20which\x20is\x20GOOD\x20!!!!!!','proxy','allowBroadcast','chunked_mode','chunksInQueue','screenshareAutogain','certain','run','data\x20channel\x20being\x20used\x20in\x20reverse;\x20this\x20shouldn\x27t\x20really\x20happen,\x20except\x20if\x20maybe\x20doing\x20a\x20file\x20transfer','about','edge','create','try','restartIce','directorHash','Not\x20supported;\x20expected\x20\x27filetransfer\x27','ICE\x20DID\x20NOT\x20FIND\x20A\x20PC\x20OPTION?\x20peer\x20might\x20have\x20left\x20before\x20ICE\x20complete','inline-block','RTC\x20Connection\x20seems\x20to\x20be\x20dead\x20or\x20not\x20yet\x20open?\x201','flower','decide','48153gkkBSC','migrate','screensharequality','leavetone','frame','remember','garden','requestChangeSubGain','objectFit','http://','kill','TFJSModel','true\x20.','candidates','closing\x206','dictionary','even','sendChannel_','screenElement','sat','three','bear','createWritable','dear','girl','defaultPassword','follow','currentTime','targetBitrate','taintedSession','closing\x205','slip','img','showControls','soldier','action','seedStream','she','desert','question','cleanViewer','could','approved','directorBlindButton','resumeClock','\x20as\x20preferred\x20codec\x20by\x20viewer\x20via\x20API','autoadd','floor','product','KEY\x20FRAME\x20REQUESTED','shape','1vh','rest','If\x20self-hosting\x20VDO.Ninja,\x20please\x20contact\x20steve@seguin.email\x20to\x20request\x20having\x20access\x20to\x20Meshcast.','requestChangeMicDelay','readAsText','sign','corn','connect','vdo.ninja/','Browser','The\x20request\x20failed;\x20the\x20remote\x20user\x20did\x20not\x20recognize\x20you\x20as\x20the\x20director','hostedFiles','cleanOutput','hangupDirector','getVideoBitrates','those','token','relay','safemode','sceneDisplay','foot','nopreview','sort','born','plan','stereo\x20enabled','broadcastIFrame','screenShareStartPaused','getOpusBitrate','shell','forceios','arm','laugh','ping','4404429DBIvIg','Create\x20a\x20new\x20RTC\x20connection;\x20offering\x20SDP\x20on\x20request','limitAudioEncoder','degradationPreference','third','changeMicrophone','chatbutton','pip','application/json;\x20charset=utf-8','requestKeyframe','aec_url','close','studioSoftware','Created\x20transfer\x20channel','eye','useinbandfec','obsControl','UUID\x20does\x20not\x20exist','turns:www.turn.vdo.ninja:443','waitImage','home','ctx','[data-action-type=\x22volume\x22][data--u-u-i-d=\x22','directorBlue','maxframeRate_q2','ICE\x20closed?','directorList','chunkedAudioEnabled','5542232QdkXao','optimizeBitrate','no\x20UUID\x20in\x20msg','description','screenSrc','seek','ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789','startsWith','enemy','note','controlTimer','couldn\x27t\x20set\x20rate\x20limit','just','decimal','scaleDueToBitrate','joy','remoteVideoMuteElement','mass','getReader','afraid','getTracks','meshcastScreenShareCodec','createMediaStreamSource','speakerMute','scene-connected','rope','count','roombitrate','group-set-updated','GOT\x20ICEs!!','isDirector\x20','directorActions','security','enhanceaudio','totalRoomBitrate','square','view-connection','Remote\x20peer\x20connected\x20to\x20video\x20stream.\x0a\x0aConnection\x20to\x20handshake\x20server\x20being\x20killed\x20on\x20request.\x20This\x20increases\x20security,\x20but\x20the\x20peer\x20will\x20not\x20be\x20able\x20to\x20reconnect\x20automatically\x20on\x20connection\x20failure.\x0a\x0aPress\x20OK\x20to\x20start\x20the\x20stream!','directorViewBitrate','room\x20rate\x20restriction\x20detected.\x20No\x20videos\x20will\x20be\x20published\x20to\x20other\x20guests','getLocalStream','century','title','mouth','include','quality_ss','numberOfChannels','sell','dead','und','Failed\x20to\x20connect\x20to\x20service:\x20Error\x20503Possibly\x20too\x20many\x20connections\x20from\x20the\x20same\x20address\x20tried\x20to\x20connect.Visit\x20https://discord.vdo.ninja\x20for\x20support.','flow','sync','New\x20ON\x20TRACK\x20event','style','Unknown\x20Meshcast\x20error','ear','session.rpcs[UUID].screenIndexes:\x20','savedVolume','until','successfully\x20sent\x20message\x20vis\x20WebRTC\x20instead\x20of\x20WSS\x20to\x20all\x20RTC\x20Peers','networkPriority','pcs','outboundVideoBitrate','UUID\x20not\x20found\x20in\x20pcs','look','live','canvasStream','pcs\x20RTC\x20CLOSED','crease','level','videoElement','remote-mute-state','select','Setting\x20pc\x20connection\x20timeout\x20in\x205\x20seconds\x20??'];_0x1493=function(){return _0x5d2ce4;};return _0x1493();}function selectMeshcast(_0x4638ee){var _0x15472f=_0x437dd4;meshcastServer={};var _0xf9803f=_0x4638ee[_0x15472f(0x371)],_0x177e6f=_0x4638ee[_0x15472f(0x9d)];meshcastServer[_0x15472f(0x17c)]=_0x177e6f[_0xf9803f]['url'],meshcastServer[_0x15472f(0x27c)]=_0x177e6f[_0xf9803f][_0x15472f(0x27c)];}async function meshcast(_0x1ebbdb=![]){var _0x50b80f=_0x437dd4;async function _0x34bd82(_0x37b5ef,_0x14763f){var _0x39b1b5=_0x9870;const _0x4fb463=new XMLHttpRequest();_0x4fb463[_0x39b1b5(0x39b)]=function(){var _0x48f59f=_0x39b1b5;if(parseFloat(this['responseText'])>=0x0){if(parseFloat(this[_0x48f59f(0x529)])>0x32)_0x37b5ef[_0x48f59f(0x29f)]+=_0x48f59f(0x178);else{if(parseFloat(this['responseText'])>0xa)_0x37b5ef[_0x48f59f(0x29f)]+=_0x48f59f(0x461);else{if(parseFloat(this['responseText'])>0x0)_0x37b5ef[_0x48f59f(0x29f)]+=_0x48f59f(0x150);else{var _0x56d033=![];_0x37b5ef[_0x48f59f(0x3f4)]&&(_0x56d033=!![]),_0x37b5ef[_0x48f59f(0x5e7)]=!![],_0x37b5ef['innerHTML']+=_0x48f59f(0x899),document[_0x48f59f(0x21f)](_0x48f59f(0x8d9))[_0x48f59f(0x50e)](_0x37b5ef),_0x56d033&&(document[_0x48f59f(0x21f)]('edgelist')['options'][0x0][_0x48f59f(0x3f4)]=!![]);}}}}else{var _0x56d033=![];_0x37b5ef[_0x48f59f(0x3f4)]&&(_0x56d033=!![]),document[_0x48f59f(0x21f)](_0x48f59f(0x8d9))[_0x48f59f(0x50e)](_0x37b5ef),_0x37b5ef[_0x48f59f(0x29f)]+=_0x48f59f(0x899),_0x37b5ef[_0x48f59f(0x5e7)]=!![],_0x56d033&&(document[_0x48f59f(0x21f)](_0x48f59f(0x8d9))[_0x48f59f(0x9d)][0x0][_0x48f59f(0x3f4)]=!![]);}session[_0x48f59f(0x3c4)]&&!session[_0x48f59f(0x7d7)]&&!session[_0x48f59f(0x6e6)]&&document[_0x48f59f(0x21f)]('meshcastMenu')[_0x48f59f(0x60b)][_0x48f59f(0x8ec)](_0x48f59f(0x30f));},_0x4fb463[_0x39b1b5(0x4c1)]=function(){var _0x350246=_0x39b1b5,_0x52f856=![];_0x37b5ef['selected']&&(_0x52f856=!![]),document[_0x350246(0x21f)]('edgelist')[_0x350246(0x50e)](_0x37b5ef),_0x37b5ef[_0x350246(0x29f)]+=_0x350246(0x899),_0x37b5ef[_0x350246(0x5e7)]=!![],_0x52f856&&(document[_0x350246(0x21f)](_0x350246(0x8d9))[_0x350246(0x9d)][0x0]['selected']=!![]);},_0x4fb463[_0x39b1b5(0x873)](_0x39b1b5(0x4b6),_0x14763f,!![]),_0x4fb463[_0x39b1b5(0x779)]=0x3e8,_0x4fb463[_0x39b1b5(0x4e0)]=function(_0x4e2c9d){var _0xb47813=_0x39b1b5,_0x312075=![];_0x37b5ef[_0xb47813(0x3f4)]&&(_0x312075=!![]),document[_0xb47813(0x21f)](_0xb47813(0x8d9))[_0xb47813(0x50e)](_0x37b5ef),_0x37b5ef['innerHTML']+=_0xb47813(0x5d3),_0x312075&&(document[_0xb47813(0x21f)]('edgelist')[_0xb47813(0x9d)][0x0][_0xb47813(0x3f4)]=!![]);},_0x4fb463[_0x39b1b5(0x6eb)]();}async function _0x550420(_0x110e1f=![]){var _0x3bae59=_0x9870,_0x2f45d2=new Date(),_0x188629=_0x2f45d2[_0x3bae59(0x120)]();urlParams['has']('tz')&&(_0x188629=parseInt(urlParams[_0x3bae59(0x8c8)]('tz'))||_0x188629),fetch('https://meshcast.io/servers.json?ts='+Date[_0x3bae59(0x6b5)]())[_0x3bae59(0x414)](_0x1a2259=>_0x1a2259[_0x3bae59(0x8fe)]())[_0x3bae59(0x414)](async _0x4ee17d=>{var _0x256ad8=_0x3bae59;for(var _0x4b73b3=0x0;_0x4b73b3<_0x4ee17d[_0x256ad8(0x542)];_0x4b73b3++){var _0x130691=Math[_0x256ad8(0x520)](_0x4ee17d[_0x4b73b3]['tz']-_0x188629);Math['abs'](_0x130691-0x3c*0x18)<_0x130691&&(_0x130691=Math[_0x256ad8(0x520)](_0x130691-0x3c*0x18)),_0x4ee17d[_0x4b73b3][_0x256ad8(0x62f)]=_0x130691,session[_0x256ad8(0x331)]!==_0x4ee17d[_0x4b73b3][_0x256ad8(0x27c)]&&(_0x4ee17d[_0x4b73b3]['delta']+=0x3e8);}_0x4ee17d[_0x256ad8(0x7e1)](compare_deltas);for(var _0x4b73b3=0x0;_0x4b73b3<_0x4ee17d[_0x256ad8(0x542)];_0x4b73b3++){var _0x2723dd=document[_0x256ad8(0x19b)]('option');_0x2723dd[_0x256ad8(0x27c)]=_0x4ee17d[_0x4b73b3][_0x256ad8(0x27c)],_0x2723dd[_0x256ad8(0x17c)]=_0x4ee17d[_0x4b73b3][_0x256ad8(0x17c)],_0x2723dd[_0x256ad8(0x29f)]=_0x4ee17d[_0x4b73b3][_0x256ad8(0x751)],_0x34bd82(_0x2723dd,_0x4ee17d[_0x4b73b3][_0x256ad8(0x17c)]+_0x256ad8(0x1e9)),document[_0x256ad8(0x21f)](_0x256ad8(0x8d9))['appendChild'](_0x2723dd);}meshcastServer=_0x4ee17d[0x0],_0x110e1f&&_0x110e1f();});}if(_0x1ebbdb){_0x550420();return;}if(!session[_0x50b80f(0x331)])return;if(!session[_0x50b80f(0x850)][_0x50b80f(0x548)]||!session['videoElement'][_0x50b80f(0x548)]['getTracks']()[_0x50b80f(0x542)])return;if(session[_0x50b80f(0x5e2)]!==![])return;session['meshcastSettings']=null,errorlog(_0x50b80f(0x62c));var _0x2d28de=![];if(session[_0x50b80f(0x128)]&&session[_0x50b80f(0x81e)])_0x2d28de=session[_0x50b80f(0x81e)];else session[_0x50b80f(0x617)]&&(_0x2d28de=session['meshcastCodec']);function _0x33af73(_0x112b10){var _0x4d7d69=_0x50b80f;warnlog(_0x4d7d69(0x869)),warnlog(_0x112b10);try{session['mc'][_0x4d7d69(0x6f8)]()[_0x4d7d69(0x414)](function(_0x41d4bc){var _0x4a16ae=_0x4d7d69;return _0x41d4bc[_0x4a16ae(0x3ab)]=CodecsHandler[_0x4a16ae(0x1b9)](_0x41d4bc[_0x4a16ae(0x3ab)],{'stereo':0x1}),!_0x2d28de&&(_0x41d4bc['sdp']=_0x41d4bc[_0x4a16ae(0x3ab)]['replace'](/42001f/gi,'42e01f'),_0x41d4bc[_0x4a16ae(0x3ab)]=_0x41d4bc[_0x4a16ae(0x3ab)][_0x4a16ae(0x15c)](/420029/gi,'42e01f')),warnlog(_0x41d4bc),session['mc'][_0x4a16ae(0x6e0)](_0x41d4bc);})['then'](function(){var _0x31ead0=_0x4d7d69;log(session['mc'][_0x31ead0(0xc7)]),_0x41e866(session['mc']['localDescription'][_0x31ead0(0x3ab)],_0x31ead0(0x3ab));})[_0x4d7d69(0x538)](function(_0x243737){});}catch(_0x503f16){errorlog(_0x503f16);}}try{var _0x16cada=[],_0x4e1318=session['generateStreamID'](0xe);async function _0x2128aa(){var _0x171c6c=_0x50b80f;document[_0x171c6c(0x21f)](_0x171c6c(0x8d9))[_0x171c6c(0x5e7)]=!![],document[_0x171c6c(0x21f)](_0x171c6c(0x8d9))[_0x171c6c(0x833)]=_0x171c6c(0xe3);!session[_0x171c6c(0x2dc)]&&await chooseBestTURN();try{session['mc']=new RTCPeerConnection(session[_0x171c6c(0x2dc)]),session['mc']['stats']={},session['mc']['maxBandwidth']=null,session['mc'][_0x171c6c(0x555)]=![];}catch(_0x2fb3fe){!session[_0x171c6c(0x7d7)]&&warnUser(_0x171c6c(0x72b));}try{var _0x11401d=![];session[_0x171c6c(0x850)][_0x171c6c(0x548)]&&(_0x11401d=session[_0x171c6c(0x850)]['srcObject'][_0x171c6c(0x556)]());if(!_0x11401d||!_0x11401d[_0x171c6c(0x542)]){var _0x4335c7=new AudioContext(),_0x5f3d65=_0x4335c7[_0x171c6c(0x232)]();_0x5f3d65[_0x171c6c(0x2c6)][_0x171c6c(0x556)]()[_0x171c6c(0x648)](_0x130d12=>{_0x11401d=_0x130d12;});}else _0x11401d=_0x11401d[0x0];if(session[_0x171c6c(0x6af)]&&_0x11401d['kind']===_0x171c6c(0x6ee))try{_0x11401d[_0x171c6c(0x90b)]=session[_0x171c6c(0x6af)];}catch(_0x5283d7){errorlog(_0x5283d7);}session['mc'][_0x171c6c(0x2ad)](_0x11401d);var _0x11401d=![];session[_0x171c6c(0x850)]['srcObject']&&(_0x11401d=session[_0x171c6c(0x850)][_0x171c6c(0x548)][_0x171c6c(0x454)]());!_0x11401d||!_0x11401d[_0x171c6c(0x542)]?_0x11401d=getMeshcastCanvasTrack():_0x11401d=_0x11401d[0x0];if(session[_0x171c6c(0x128)]&&session[_0x171c6c(0x5b5)]&&_0x11401d[_0x171c6c(0x8d5)]==='video')try{_0x11401d[_0x171c6c(0x90b)]=session[_0x171c6c(0x5b5)];}catch(_0x486b73){errorlog(_0x486b73);}else{if(session[_0x171c6c(0x90b)]&&_0x11401d[_0x171c6c(0x8d5)]===_0x171c6c(0x456))try{_0x11401d[_0x171c6c(0x90b)]=session[_0x171c6c(0x90b)];}catch(_0x536cb6){errorlog(_0x536cb6);}}session['mc']['addTrack'](_0x11401d),session['mc']['onnegotiationneeded']=_0x33af73,session['mc']['onicecandidate']=function(_0x384bf1){var _0x42e485=_0x171c6c;if(_0x384bf1[_0x42e485(0x182)]==null)return;log(_0x384bf1[_0x42e485(0x182)]),_0x16cada['push'](_0x384bf1['candidate']);};}catch(_0x473498){errorlog(_0x473498);}}!meshcastServer?_0x550420(_0x2128aa):_0x2128aa();}catch(_0xd44886){errorlog(_0xd44886);}function _0x41e866(_0xba3bc5,_0x5cfc21,_0x4d4ea0=![]){var _0x227ff2=_0x50b80f;try{var _0x5ce359=new XMLHttpRequest();_0x5ce359[_0x227ff2(0xd6)]=function(){var _0x33c7a4=_0x227ff2;if(this[_0x33c7a4(0xcd)]==0x4&&this['status']==0xc8){var _0xc8e389=this[_0x33c7a4(0xc9)](_0x33c7a4(0x8a4));if(_0xc8e389==_0x33c7a4(0x541)){var _0x18c172={};_0x18c172[_0x33c7a4(0x3ab)]=this['responseText'],_0x18c172[_0x33c7a4(0x16c)]=_0x33c7a4(0x8cf);var _0xd828ab={};session[_0x33c7a4(0x376)]&&session['stereo']!==0x2?_0xd828ab['stereo']=0x1:_0xd828ab['stereo']=0x0;var _0x7b8810=0x40;session['meshcastAudioBitrate']&&(session[_0x33c7a4(0x3bf)]>0x1fe&&(session[_0x33c7a4(0x3bf)]=0x1fe),_0xd828ab[_0x33c7a4(0x19d)]=session[_0x33c7a4(0x3bf)]*0x400,_0xd828ab[_0x33c7a4(0x7fc)]=session['noFEC']?0x0:0x1,_0xd828ab[_0x33c7a4(0x6f3)]=session[_0x33c7a4(0x6f3)],_0xd828ab[_0x33c7a4(0x68e)]=session[_0x33c7a4(0x68e)],_0x7b8810=session[_0x33c7a4(0x3bf)]);_0x18c172['sdp']=CodecsHandler['setOpusAttributes'](_0x18c172[_0x33c7a4(0x3ab)],_0xd828ab);if(!_0x2d28de)_0x18c172['sdp']=_0x18c172[_0x33c7a4(0x3ab)][_0x33c7a4(0x15c)](/42001f/gi,'42e01f'),_0x18c172['sdp']=_0x18c172[_0x33c7a4(0x3ab)][_0x33c7a4(0x15c)](/420029/gi,_0x33c7a4(0x611));else _0x2d28de[_0x33c7a4(0x542)]==0x6&&(_0x18c172[_0x33c7a4(0x3ab)]=_0x18c172[_0x33c7a4(0x3ab)][_0x33c7a4(0x15c)](/42e01f/gi,_0x2d28de),_0x18c172['sdp']=_0x18c172['sdp'][_0x33c7a4(0x15c)](/42001f/gi,_0x2d28de),_0x18c172[_0x33c7a4(0x3ab)]=_0x18c172['sdp']['replace'](/420029/gi,_0x2d28de),_0x18c172[_0x33c7a4(0x3ab)]=_0x18c172[_0x33c7a4(0x3ab)][_0x33c7a4(0x15c)](/42a01e/gi,_0x2d28de),_0x18c172[_0x33c7a4(0x3ab)]=_0x18c172[_0x33c7a4(0x3ab)]['replace'](/42a014/gi,_0x2d28de),_0x18c172[_0x33c7a4(0x3ab)]=_0x18c172['sdp'][_0x33c7a4(0x15c)](/42a00b/gi,_0x2d28de),_0x18c172[_0x33c7a4(0x3ab)]=_0x18c172[_0x33c7a4(0x3ab)][_0x33c7a4(0x15c)](/640c1f/gi,_0x2d28de));if(session[_0x33c7a4(0x74b)])try{var _0x3026dc=_0x7b8810+session['meshcastBitrate'];_0x18c172[_0x33c7a4(0x3ab)]=CodecsHandler[_0x33c7a4(0x369)](_0x18c172[_0x33c7a4(0x3ab)],{'min':parseInt(_0x3026dc/0xa)||0x1,'max':_0x3026dc||0x1},_0x2d28de);}catch(_0x8cd021){}session['mc'][_0x33c7a4(0x690)](_0x18c172)[_0x33c7a4(0x414)](function(){var _0x24f182=_0x33c7a4;if(_0x16cada[_0x24f182(0x542)]){var _0x538486=JSON['stringify'](_0x16cada[_0x24f182(0x325)]());_0x41e866(_0x538486,_0x24f182(0x417),function(){var _0xcfb5c3=_0x24f182;session[_0xcfb5c3(0x703)](),_0x4a8756();});}})[_0x33c7a4(0x538)](function(_0x3d3e1d){log(_0x3d3e1d);});}else{if(_0xc8e389=='application/error')this[_0x33c7a4(0x529)]==0x1b0?warnUser(_0x33c7a4(0xfc)):warnUser(_0x33c7a4(0x840));else _0x4d4ea0&&_0x4d4ea0();}}};var _0x3dc458=0x9c4;session[_0x227ff2(0x74b)]!==![]&&(_0x3dc458=session[_0x227ff2(0x74b)]);session[_0x227ff2(0x128)]&&session['meshcastScreenShareBitrate']!==![]&&(_0x3dc458=session[_0x227ff2(0x4f0)]);session['mc']['savedBitrate']=_0x3dc458,session['mc'][_0x227ff2(0x7a)]=_0x3dc458;var _0x2c0a7b=parseInt(0x61a8/_0x3dc458)||0xa,_0xb564f8='';_0x2d28de&&(_0x2d28de[_0x227ff2(0x542)]==0x6?_0xb564f8=_0x227ff2(0x8be):_0xb564f8='/'+_0x2d28de),_0x5ce359[_0x227ff2(0x873)](_0x227ff2(0x132),meshcastServer['url']+'/'+_0x2c0a7b+_0xb564f8,!![]),_0x5ce359[_0x227ff2(0x111)](_0x227ff2(0x754),'application/'+_0x5cfc21+';\x20charset=utf-8'),_0x5ce359[_0x227ff2(0x111)](_0x227ff2(0x3c8),_0x227ff2(0x3eb)+_0x4e1318),_0x5ce359['onerror']=function(_0x147ac7){var _0x2f71e0=_0x227ff2;errorlog(_0x147ac7),warnUser('Meshcast\x20not\x20available.'),window[_0x2f71e0(0x14a)][_0x2f71e0(0x85b)]!=='vdo.ninja'?console[_0x2f71e0(0x253)](_0x2f71e0(0x7cd)):console[_0x2f71e0(0x253)]('Please\x20contact\x20steve@seguin.email\x20or\x20join\x20https://discord.vdo.ninja\x20if\x20Meshcast\x20is\x20not\x20working.');},_0x5ce359[_0x227ff2(0x6eb)](_0xba3bc5);}catch(_0x1fcc2e){errorlog(_0x1fcc2e);}}async function _0x4a8756(){var _0x4cc85f=_0x50b80f;if(meshcastServer[_0x4cc85f(0x27c)])var _0x2b7526=_0x4cc85f(0x123)+meshcastServer[_0x4cc85f(0x27c)]+_0x4cc85f(0x388)+_0x4e1318;else var _0x2b7526=_0x4cc85f(0x7e)+_0x4e1318;console[_0x4cc85f(0x74d)]('MESHCAST\x20LINK:\x20'+_0x2b7526),await sleep(0x1f4),session[_0x4cc85f(0x5e2)]={'token':_0x4e1318,'url':meshcastServer[_0x4cc85f(0x17c)]};for(var _0x594fce in session['pcs']){if(session[_0x4cc85f(0x847)][_0x594fce][_0x4cc85f(0x331)]===null){var _0x2dc11a={};_0x2dc11a[_0x4cc85f(0x331)]={'token':_0x4e1318,'url':meshcastServer[_0x4cc85f(0x17c)]},session[_0x4cc85f(0x205)](_0x2dc11a,_0x594fce)&&(session[_0x4cc85f(0x847)][_0x594fce]['meshcast']=!![]);}}}}function _0x9870(_0x527ec1,_0xd8713b){var _0x1493e3=_0x1493();return _0x9870=function(_0x987012,_0x56b41f){_0x987012=_0x987012-0x6e;var _0x7f5316=_0x1493e3[_0x987012];return _0x7f5316;},_0x9870(_0x527ec1,_0xd8713b);}async function meshcastWatch(_0x3f3afd,_0x45076c){var _0x518778=_0x437dd4;!(_0x3f3afd in session['rpcs'])&&(session['rpcs'][_0x3f3afd]={},session[_0x518778(0x186)][_0x3f3afd][_0x518778(0x744)]={},session['rpcs'][_0x3f3afd][_0x518778(0x34e)]=![],session[_0x518778(0x186)][_0x3f3afd]['inboundAudioPipeline']={},session[_0x518778(0x186)][_0x3f3afd][_0x518778(0x5d9)]=![],session[_0x518778(0x186)][_0x3f3afd][_0x518778(0x8bb)]=![],session['rpcs'][_0x3f3afd][_0x518778(0x3cc)]=![],session[_0x518778(0x186)][_0x3f3afd][_0x518778(0x24a)]=![],session[_0x518778(0x186)][_0x3f3afd][_0x518778(0x53b)]=![],errorlog(_0x518778(0x21e)));var _0x198c4d=!![],_0x266ce0=!![];if(session[_0x518778(0x344)]!==![]&&!session[_0x518778(0x344)]['includes'](session[_0x518778(0x186)][_0x3f3afd][_0x518778(0x85a)]))_0x198c4d=![];else session[_0x518778(0x186)][_0x3f3afd]['settings']&&!session[_0x518778(0x186)][_0x3f3afd][_0x518778(0x3cc)]['video']&&(_0x198c4d=![]);if(session[_0x518778(0x366)]!==![]&&!session[_0x518778(0x366)][_0x518778(0x4cc)](session[_0x518778(0x186)][_0x3f3afd][_0x518778(0x85a)]))_0x266ce0=![];else session[_0x518778(0x186)][_0x3f3afd][_0x518778(0x3cc)]&&!session[_0x518778(0x186)][_0x3f3afd][_0x518778(0x3cc)][_0x518778(0x6ee)]&&(_0x266ce0=![]);if(!_0x266ce0&&!_0x198c4d){errorlog(_0x518778(0x66d));return;}!session['configuration']&&await chooseBestTURN();try{session[_0x518778(0x186)][_0x3f3afd]['mc']=new RTCPeerConnection(session[_0x518778(0x2dc)]);}catch(_0x1d107b){!session['cleanOutput']&&warnUser('An\x20RTC\x20error\x20occured');}session[_0x518778(0x186)][_0x3f3afd]['mc'][_0x518778(0x223)]=function(_0x5cb9f0){var _0x5154be=_0x518778;session[_0x5154be(0x14b)](_0x5cb9f0,_0x3f3afd);};var _0x58a7c3=session[_0x518778(0x45e)](0xe),_0x2b90b8={};_0x2b90b8['streamID']=_0x45076c[_0x518778(0x7db)],_0x2b90b8[_0x518778(0x86c)]=_0x58a7c3;function _0x1c34eb(_0x5b67cf){var _0x3d8aaf=_0x518778,_0x21408d=new XMLHttpRequest();_0x21408d['onreadystatechange']=function(){var _0x22a2b2=_0x9870;if(this['readyState']==0x4&&this[_0x22a2b2(0x16e)]==0xc8){var _0x12bb09=this[_0x22a2b2(0xc9)](_0x22a2b2(0x8a4));if(_0x12bb09==_0x22a2b2(0x541)){var _0x59b10c={};_0x59b10c[_0x22a2b2(0x3ab)]=this[_0x22a2b2(0x529)],_0x59b10c[_0x22a2b2(0x16c)]=_0x22a2b2(0x37a),session['rpcs'][_0x3f3afd]['mc'][_0x22a2b2(0x690)](_0x59b10c)[_0x22a2b2(0x414)](function(){_0xe660e5();})[_0x22a2b2(0x538)](function(_0x422268){log(_0x422268);});}}else log(this);},_0x21408d[_0x3d8aaf(0x873)](_0x3d8aaf(0x132),_0x45076c[_0x3d8aaf(0x17c)],!![]),_0x21408d[_0x3d8aaf(0x111)](_0x3d8aaf(0x754),_0x3d8aaf(0x7f5)),_0x21408d[_0x3d8aaf(0x111)](_0x3d8aaf(0x3c8),_0x3d8aaf(0x3eb)+_0x45076c[_0x3d8aaf(0x7db)]),_0x21408d[_0x3d8aaf(0x6eb)](JSON[_0x3d8aaf(0xd4)](_0x5b67cf));}function _0xe660e5(){var _0x124a3d=_0x518778;session[_0x124a3d(0x186)][_0x3f3afd]['mc'][_0x124a3d(0x44f)]()[_0x124a3d(0x414)](function(_0x42c2a8){var _0x35d1d1=_0x124a3d;return _0x42c2a8['sdp']=CodecsHandler[_0x35d1d1(0x1b9)](_0x42c2a8['sdp'],{'stereo':0x1}),session['rpcs'][_0x3f3afd]['mc'][_0x35d1d1(0x6e0)](_0x42c2a8);})[_0x124a3d(0x414)](function(){var _0x387a4b=_0x124a3d,_0x1eb95c={};_0x1eb95c[_0x387a4b(0x86c)]=_0x58a7c3,_0x1eb95c['answer']=session[_0x387a4b(0x186)][_0x3f3afd]['mc'][_0x387a4b(0xc7)][_0x387a4b(0x3ab)],_0x1c34eb(_0x1eb95c);})['catch'](function(_0x329914){});}_0x1c34eb(_0x2b90b8);}(function(){'use strict';var _0x12220b=_0x437dd4;let _0x1923c3=function(_0x4ea6e2){this['data']=new Uint8Array(_0x4ea6e2),this['pos']=0x0;};_0x1923c3[_0x12220b(0x62a)][_0x12220b(0x80e)]=function(_0x5b7747){var _0x1c2091=_0x12220b;this[_0x1c2091(0x3d8)]=_0x5b7747;},_0x1923c3[_0x12220b(0x62a)][_0x12220b(0x119)]=function(_0x1af5e9){var _0x10bee2=_0x12220b;for(let _0x2e56c2=0x0;_0x2e56c2<_0x1af5e9[_0x10bee2(0x542)];_0x2e56c2++){this['data'][this[_0x10bee2(0x3d8)]++]=_0x1af5e9[_0x2e56c2];}},_0x1923c3[_0x12220b(0x62a)]['writeByte']=function(_0x43c174){var _0x2eb1c1=_0x12220b;this[_0x2eb1c1(0x547)][this[_0x2eb1c1(0x3d8)]++]=_0x43c174;},_0x1923c3['prototype'][_0x12220b(0x254)]=_0x1923c3[_0x12220b(0x62a)]['writeByte'],_0x1923c3[_0x12220b(0x62a)][_0x12220b(0x12f)]=function(_0x1024e5){var _0x50ca67=_0x12220b;this[_0x50ca67(0x547)][this['pos']++]=_0x1024e5>>0x8,this[_0x50ca67(0x547)][this[_0x50ca67(0x3d8)]++]=_0x1024e5;},_0x1923c3[_0x12220b(0x62a)][_0x12220b(0x30a)]=function(_0xd8a920){var _0xa5ca4d=_0x12220b;let _0x5f4eba=new Uint8Array(new Float64Array([_0xd8a920])[_0xa5ca4d(0xd7)]);for(let _0x3709b=_0x5f4eba[_0xa5ca4d(0x542)]-0x1;_0x3709b>=0x0;_0x3709b--){this[_0xa5ca4d(0x6f5)](_0x5f4eba[_0x3709b]);}},_0x1923c3['prototype'][_0x12220b(0x724)]=function(_0x363d95){var _0x20fa17=_0x12220b;let _0x3829bb=new Uint8Array(new Float32Array([_0x363d95])[_0x20fa17(0xd7)]);for(let _0x377e22=_0x3829bb[_0x20fa17(0x542)]-0x1;_0x377e22>=0x0;_0x377e22--){this[_0x20fa17(0x6f5)](_0x3829bb[_0x377e22]);}},_0x1923c3[_0x12220b(0x62a)][_0x12220b(0x6ac)]=function(_0x16a5fb){var _0x518e7d=_0x12220b;for(let _0x1378b4=0x0;_0x1378b4<_0x16a5fb[_0x518e7d(0x542)];_0x1378b4++){this[_0x518e7d(0x547)][this['pos']++]=_0x16a5fb['charCodeAt'](_0x1378b4);}},_0x1923c3['prototype'][_0x12220b(0x54b)]=function(_0x1f3c8e,_0x1f6667){var _0x48b13c=_0x12220b;switch(_0x1f6667){case 0x1:this['writeU8'](0x1<<0x7|_0x1f3c8e);break;case 0x2:this[_0x48b13c(0x254)](0x1<<0x6|_0x1f3c8e>>0x8),this[_0x48b13c(0x254)](_0x1f3c8e);break;case 0x3:this[_0x48b13c(0x254)](0x1<<0x5|_0x1f3c8e>>0x10),this[_0x48b13c(0x254)](_0x1f3c8e>>0x8),this['writeU8'](_0x1f3c8e);break;case 0x4:this[_0x48b13c(0x254)](0x1<<0x4|_0x1f3c8e>>0x18),this[_0x48b13c(0x254)](_0x1f3c8e>>0x10),this[_0x48b13c(0x254)](_0x1f3c8e>>0x8),this['writeU8'](_0x1f3c8e);break;case 0x5:this[_0x48b13c(0x254)](0x1<<0x3|_0x1f3c8e/0x100000000&0x7),this['writeU8'](_0x1f3c8e>>0x18),this['writeU8'](_0x1f3c8e>>0x10),this['writeU8'](_0x1f3c8e>>0x8),this[_0x48b13c(0x254)](_0x1f3c8e);break;default:throw new Error(_0x48b13c(0x13b)+_0x1f6667);}},_0x1923c3[_0x12220b(0x62a)]['measureEBMLVarInt']=function(_0x2507de){var _0x35c7b4=_0x12220b;if(_0x2507de<(0x1<<0x7)-0x1)return 0x1;else{if(_0x2507de<(0x1<<0xe)-0x1)return 0x2;else{if(_0x2507de<(0x1<<0x15)-0x1)return 0x3;else{if(_0x2507de<(0x1<<0x1c)-0x1)return 0x4;else{if(_0x2507de<0x7ffffffff)return 0x5;else throw new Error(_0x35c7b4(0x3cb)+_0x2507de);}}}}},_0x1923c3[_0x12220b(0x62a)][_0x12220b(0x8fa)]=function(_0x4224e8){var _0xb61bc6=_0x12220b;this[_0xb61bc6(0x54b)](_0x4224e8,this[_0xb61bc6(0x22f)](_0x4224e8));},_0x1923c3['prototype'][_0x12220b(0x40d)]=function(_0x3f051f,_0x25c591){var _0x1b27c8=_0x12220b;_0x25c591===undefined&&(_0x25c591=this[_0x1b27c8(0x653)](_0x3f051f));switch(_0x25c591){case 0x5:this[_0x1b27c8(0x254)](Math[_0x1b27c8(0x7c7)](_0x3f051f/0x100000000));case 0x4:this[_0x1b27c8(0x254)](_0x3f051f>>0x18);case 0x3:this[_0x1b27c8(0x254)](_0x3f051f>>0x10);case 0x2:this['writeU8'](_0x3f051f>>0x8);case 0x1:this[_0x1b27c8(0x254)](_0x3f051f);break;default:throw new Error(_0x1b27c8(0x650)+_0x25c591);}},_0x1923c3[_0x12220b(0x62a)][_0x12220b(0x653)]=function(_0x53d3a0){if(_0x53d3a0<0x1<<0x8)return 0x1;else{if(_0x53d3a0<0x1<<0x10)return 0x2;else{if(_0x53d3a0<0x1<<0x18)return 0x3;else return _0x53d3a0<0x100000000?0x4:0x5;}}},_0x1923c3[_0x12220b(0x62a)][_0x12220b(0x9c)]=function(){var _0x3eeab4=_0x12220b;if(this[_0x3eeab4(0x3d8)]this[_0x2eaacb(0x542)])throw new Error(_0x2eaacb(0x1c2));this[_0x2eaacb(0x3d8)]=_0x1e827f;},this[_0x2adc95(0x536)]=function(_0x16be04){var _0x46810e=_0x2adc95;let _0x326b31={'offset':this[_0x46810e(0x3d8)],'data':_0x16be04,'length':_0x4b8a65(_0x16be04)},_0x51c593=_0x326b31[_0x46810e(0x3c9)]>=this[_0x46810e(0x542)];this['pos']+=_0x326b31[_0x46810e(0x542)],this[_0x46810e(0x542)]=Math[_0x46810e(0x717)](this[_0x46810e(0x542)],this[_0x46810e(0x3d8)]),_0x421db3=_0x421db3[_0x46810e(0x414)](async function(){var _0x61f09f=_0x46810e;if(_0x4f3d05)return new Promise(function(_0x3e0df0,_0x15c1a7){var _0x1b7a99=_0x9870;_0x4cbb99(_0x326b31[_0x1b7a99(0x547)])[_0x1b7a99(0x414)](function(_0x3f6409){var _0x35ed05=_0x1b7a99;let _0x288089=0x0,_0x47f580=Buffer[_0x35ed05(0x62b)](_0x3f6409['buffer']),_0x634dc6=function(_0x5d3e6e,_0x2c847c,_0x4a0628){var _0x3b365a=_0x35ed05;_0x288089+=_0x2c847c,_0x288089>=_0x4a0628[_0x3b365a(0x542)]?_0x3e0df0():_0x4f5468[_0x3b365a(0x536)](_0x4f3d05,_0x4a0628,_0x288089,_0x4a0628[_0x3b365a(0x542)]-_0x288089,_0x326b31['offset']+_0x288089,_0x634dc6);};_0x4f5468[_0x35ed05(0x536)](_0x4f3d05,_0x47f580,0x0,_0x47f580[_0x35ed05(0x542)],_0x326b31[_0x35ed05(0x3c9)],_0x634dc6);});});else{if(_0x112144)return new Promise(function(_0x5542f5,_0x2581a7){var _0x33920c=_0x9870;_0x112144[_0x33920c(0x80e)](_0x326b31['offset'])[_0x33920c(0x414)](()=>{var _0x105b2f=_0x33920c;_0x112144[_0x105b2f(0x536)](new Blob([_0x326b31[_0x105b2f(0x547)]]));})[_0x33920c(0x414)](()=>{_0x5542f5();});});else{if(!_0x51c593)for(let _0x3429dc=0x0;_0x3429dc<_0x252164[_0x61f09f(0x542)];_0x3429dc++){let _0x32ca20=_0x252164[_0x3429dc];if(!(_0x326b31[_0x61f09f(0x3c9)]+_0x326b31[_0x61f09f(0x542)]<=_0x32ca20[_0x61f09f(0x3c9)]||_0x326b31[_0x61f09f(0x3c9)]>=_0x32ca20[_0x61f09f(0x3c9)]+_0x32ca20[_0x61f09f(0x542)])){if(_0x326b31[_0x61f09f(0x3c9)]<_0x32ca20[_0x61f09f(0x3c9)]||_0x326b31[_0x61f09f(0x3c9)]+_0x326b31[_0x61f09f(0x542)]>_0x32ca20[_0x61f09f(0x3c9)]+_0x32ca20[_0x61f09f(0x542)])throw new Error('Overwrite\x20crosses\x20blob\x20boundaries');if(_0x326b31[_0x61f09f(0x3c9)]==_0x32ca20['offset']&&_0x326b31[_0x61f09f(0x542)]==_0x32ca20[_0x61f09f(0x542)]){_0x32ca20['data']=_0x326b31[_0x61f09f(0x547)];return;}else return _0x4cbb99(_0x32ca20[_0x61f09f(0x547)])[_0x61f09f(0x414)](function(_0x574b15){var _0x557945=_0x61f09f;return _0x32ca20[_0x557945(0x547)]=_0x574b15,_0x4cbb99(_0x326b31[_0x557945(0x547)]);})[_0x61f09f(0x414)](function(_0x594b7e){var _0x24d1be=_0x61f09f;_0x326b31[_0x24d1be(0x547)]=_0x594b7e,_0x32ca20[_0x24d1be(0x547)]['set'](_0x326b31[_0x24d1be(0x547)],_0x326b31['offset']-_0x32ca20['offset']);});}}}}_0x252164[_0x61f09f(0x20d)](_0x326b31);});},this[_0x2adc95(0x579)]=function(_0x311fe0){var _0x12015a=_0x2adc95;return _0x4f3d05||_0x112144?_0x421db3=_0x421db3[_0x12015a(0x414)](function(){return null;}):_0x421db3=_0x421db3[_0x12015a(0x414)](function(){var _0x17dd68=_0x12015a;let _0xa970ad=[];for(let _0x4c8690=0x0;_0x4c8690<_0x252164[_0x17dd68(0x542)];_0x4c8690++){_0xa970ad[_0x17dd68(0x20d)](_0x252164[_0x4c8690]['data']);}return new Blob(_0xa970ad,{'type':_0x311fe0});}),_0x421db3;};};};window[_0x3ba3ac(0x3a6)]=_0x119ae7(null);}()),(function(){'use strict';var _0x9a6765=_0x437dd4;function _0x250615(_0x521e96){this['value']=_0x521e96;}function _0x334156(_0x45cfdb,_0x2de373){var _0x3053dc=_0x9870;let _0xba850e={};return[_0x45cfdb,_0x2de373][_0x3053dc(0x648)](function(_0x3f9843){var _0x5c2551=_0x3053dc;for(let _0x219bf5 in _0x3f9843){Object[_0x5c2551(0x62a)][_0x5c2551(0x35d)][_0x5c2551(0x44d)](_0x3f9843,_0x219bf5)&&(_0xba850e[_0x219bf5]=_0x3f9843[_0x219bf5]);}}),_0xba850e;}function _0xd91adc(_0x5ba2b4,_0x45d75d,_0x2f4ef2){var _0x4b6b31=_0x9870;if(Array[_0x4b6b31(0x69a)](_0x2f4ef2))for(let _0x4d4953=0x0;_0x4d4953<_0x2f4ef2[_0x4b6b31(0x542)];_0x4d4953++){_0xd91adc(_0x5ba2b4,_0x45d75d,_0x2f4ef2[_0x4d4953]);}else{if(typeof _0x2f4ef2==='string')_0x5ba2b4[_0x4b6b31(0x6ac)](_0x2f4ef2);else{if(_0x2f4ef2 instanceof Uint8Array)_0x5ba2b4[_0x4b6b31(0x119)](_0x2f4ef2);else{if(_0x2f4ef2['id']){_0x2f4ef2['offset']=_0x5ba2b4[_0x4b6b31(0x3d8)]+_0x45d75d,_0x5ba2b4[_0x4b6b31(0x40d)](_0x2f4ef2['id']);if(Array[_0x4b6b31(0x69a)](_0x2f4ef2[_0x4b6b31(0x547)])){let _0x4c2055,_0x359966,_0x556a14;_0x2f4ef2[_0x4b6b31(0x64c)]===-0x1?_0x5ba2b4['writeByte'](0xff):(_0x4c2055=_0x5ba2b4['pos'],_0x5ba2b4[_0x4b6b31(0x119)]([0x0,0x0,0x0,0x0])),_0x359966=_0x5ba2b4[_0x4b6b31(0x3d8)],_0x2f4ef2['dataOffset']=_0x359966+_0x45d75d,_0xd91adc(_0x5ba2b4,_0x45d75d,_0x2f4ef2[_0x4b6b31(0x547)]),_0x2f4ef2[_0x4b6b31(0x64c)]!==-0x1&&(_0x556a14=_0x5ba2b4[_0x4b6b31(0x3d8)],_0x2f4ef2[_0x4b6b31(0x64c)]=_0x556a14-_0x359966,_0x5ba2b4[_0x4b6b31(0x80e)](_0x4c2055),_0x5ba2b4['writeEBMLVarIntWidth'](_0x2f4ef2[_0x4b6b31(0x64c)],0x4),_0x5ba2b4[_0x4b6b31(0x80e)](_0x556a14));}else{if(typeof _0x2f4ef2['data']===_0x4b6b31(0x6b3))_0x5ba2b4[_0x4b6b31(0x8fa)](_0x2f4ef2[_0x4b6b31(0x547)]['length']),_0x2f4ef2[_0x4b6b31(0x99)]=_0x5ba2b4['pos']+_0x45d75d,_0x5ba2b4[_0x4b6b31(0x6ac)](_0x2f4ef2[_0x4b6b31(0x547)]);else{if(typeof _0x2f4ef2[_0x4b6b31(0x547)]===_0x4b6b31(0x2ee))!_0x2f4ef2[_0x4b6b31(0x64c)]&&(_0x2f4ef2['size']=_0x5ba2b4[_0x4b6b31(0x653)](_0x2f4ef2[_0x4b6b31(0x547)])),_0x5ba2b4[_0x4b6b31(0x8fa)](_0x2f4ef2['size']),_0x2f4ef2[_0x4b6b31(0x99)]=_0x5ba2b4[_0x4b6b31(0x3d8)]+_0x45d75d,_0x5ba2b4[_0x4b6b31(0x40d)](_0x2f4ef2[_0x4b6b31(0x547)],_0x2f4ef2[_0x4b6b31(0x64c)]);else{if(_0x2f4ef2['data']instanceof _0x250615)_0x5ba2b4['writeEBMLVarInt'](0x8),_0x2f4ef2[_0x4b6b31(0x99)]=_0x5ba2b4[_0x4b6b31(0x3d8)]+_0x45d75d,_0x5ba2b4['writeDoubleBE'](_0x2f4ef2['data']['value']);else{if(_0x2f4ef2['data']instanceof _0x250615)_0x5ba2b4[_0x4b6b31(0x8fa)](0x4),_0x2f4ef2['dataOffset']=_0x5ba2b4['pos']+_0x45d75d,_0x5ba2b4[_0x4b6b31(0x724)](_0x2f4ef2['data'][_0x4b6b31(0x295)]);else{if(_0x2f4ef2['data']instanceof Uint8Array)_0x5ba2b4[_0x4b6b31(0x8fa)](_0x2f4ef2[_0x4b6b31(0x547)][_0x4b6b31(0x363)]),_0x2f4ef2[_0x4b6b31(0x99)]=_0x5ba2b4[_0x4b6b31(0x3d8)]+_0x45d75d,_0x5ba2b4['writeBytes'](_0x2f4ef2['data']);else throw new Error('Bad\x20EBML\x20datatype\x20'+typeof _0x2f4ef2[_0x4b6b31(0x547)]);}}}}}}else throw new Error(_0x4b6b31(0x709)+typeof _0x2f4ef2[_0x4b6b31(0x547)]);}}}}let _0xab4d82=function(_0x5b5a36,_0x409961){return function(_0x2ff566){var _0x28e7fc=_0x9870;let _0x1169da=0x1388,_0xb314b4=![],_0x144309=0x0,_0x7de5c1=0x0,_0x148525=!![],_0x295cf5=0x0,_0x2b560f=0xbb80,_0x151ef9=0x1,_0x3d43cc=[],_0x150683=0x0,_0x40c41f=0x0,_0x1822a8=0x0,_0x3911b3={'fileWriter':null,'codec':'VP9'},_0x13ef06,_0x1d4207={'id':0x4489,'data':new _0x250615(0x0)},_0x45de2b=new _0x409961(_0x2ff566['fileWriter']);function _0x482dbd(_0x33a5ca,_0x5e66e3){return _0x5e66e3=new Uint8Array(_0x5e66e3),_0x126c2d(_0x2ef6b0(_0x33a5ca),_0x493aeb(_0x5e66e3['byteLength']),_0x5e66e3);}function _0x126c2d(){var _0x3c65db=_0x9870,_0x4e76d4,_0x5a384d=0x0,_0x5d3386;for(_0x4e76d4=0x0;_0x4e76d4>>0x18&0xff,_0x3675a8>>>0x10&0xff,_0x3675a8>>>0x8&0xff,_0x3675a8&0xff]);if((_0x3675a8&0xff0000)!=0x0)return new Uint8Array([_0x3675a8>>>0x10&0xff,_0x3675a8>>>0x8&0xff,_0x3675a8&0xff]);if((_0x3675a8&0xff00)!=0x0)return new Uint8Array([_0x3675a8>>>0x8&0xff,_0x3675a8&0xff]);if((_0x3675a8&0xff)!=0x0)return new Uint8Array([_0x3675a8&0xff]);throw _0x109e76(0x122);}function _0x493aeb(_0x1d4c06){if(_0x1d4c06<=0x7f)return new Uint8Array([0x80|_0x1d4c06&0x7f]);if(_0x1d4c06<=0x3fff)return new Uint8Array([0x40|_0x1d4c06>>0x8&0x3f,_0x1d4c06&0xff]);return new Uint8Array([0x8,_0x1d4c06>>>0x18&0xff,_0x1d4c06>>>0x10&0xff,_0x1d4c06>>>0x8&0xff,_0x1d4c06&0xff]);}function _0x47f4d5(_0x1376fe,_0x10a1c9){var _0x5302bc=_0x9870,_0x24fd7c=new DataView(new ArrayBuffer(0x4));return _0x24fd7c[_0x5302bc(0x57f)](0x0,_0x10a1c9,![]),_0x482dbd(_0x1376fe,new Uint8Array(_0x24fd7c[_0x5302bc(0xd7)]));}function _0x52c987(_0x4948ad){var _0x4ed0fc=_0x9870;if(_0x4948ad<=0xff)return new Uint8Array([_0x4948ad&0xff]);if(_0x4948ad<=0xffff)return new Uint8Array([_0x4948ad>>>0x8&0xff,_0x4948ad&0xff]);if(_0x4948ad<=0xffffff)return new Uint8Array([_0x4948ad>>0x10&0xff,_0x4948ad>>0x8&0xff,_0x4948ad&0xff]);return new Uint8Array([_0x4948ad>>>0x18&0xff,_0x4948ad>>>0x10&0xff,_0x4948ad>>>0x8&0xff,_0x4948ad&0xff]);var _0x5f659d=new DataView(new ArrayBuffer(0x4));return _0x5f659d[_0x4ed0fc(0x704)](0x0,_0x4948ad,![]),_0x5f659d;}function _0x5bb82b(_0x160db1,_0x56a068){return _0x482dbd(_0x160db1,_0x52c987(_0x56a068));}function _0x4ba6f9(_0x2b9e7f,_0x19e0c8){var _0x3f867f=_0x9870;return _0x482dbd(_0x2b9e7f,new TextEncoder()[_0x3f867f(0x86d)](_0x19e0c8));}function _0x1609bb(){var _0x247171=_0x9870;let _0x41f79a={'id':0x1a45dfa3,'data':[_0x5bb82b(0x4286,0x1),_0x5bb82b(0x42f7,0x1),_0x5bb82b(0x42f2,0x4),_0x5bb82b(0x42f3,0x8),_0x4ba6f9(0x4282,_0x247171(0x2f1)),_0x5bb82b(0x4287,0x4),_0x5bb82b(0x4285,0x2)]},_0x103eb5={'id':0x1549a966,'data':[_0x5bb82b(0x2ad7b1,0xf4240),_0x4ba6f9(0x4d80,_0x247171(0x771)),_0x4ba6f9(0x5741,_0x247171(0x771)),_0x1d4207]},_0x274f0e=[{'id':0xb0,'data':_0x144309},{'id':0xba,'data':_0x7de5c1}],_0x3af0ff={'id':0x1654ae6b,'data':[{'id':0xae,'data':[_0x5bb82b(0xd7,0x1),_0x5bb82b(0x73c5,0x1),_0x5bb82b(0x9c,0x0),_0x4ba6f9(0x22b59c,'und'),_0x4ba6f9(0x86,'V_'+_0x2ff566['codec']),_0x5bb82b(0x83,0x1),{'id':0xe0,'data':[_0x5bb82b(0xb0,_0x144309),_0x5bb82b(0xba,_0x7de5c1)]}]},{'id':0xae,'data':[_0x5bb82b(0xd7,0x2),_0x5bb82b(0x73c5,0x2),_0x5bb82b(0x9c,0x0),_0x4ba6f9(0x22b59c,_0x247171(0x83a)),_0x4ba6f9(0x86,_0x247171(0x392)),_0x5bb82b(0x83,0x2),{'id':0xe1,'data':[_0x47f4d5(0xb5,_0x2b560f),_0x5bb82b(0x9f,_0x151ef9)]},_0x482dbd(0x63a2,new Uint8Array(['O'['charCodeAt'](0x0),'p'[_0x247171(0x716)](0x0),'u'[_0x247171(0x716)](0x0),'s'[_0x247171(0x716)](0x0),'H'[_0x247171(0x716)](0x0),'e'[_0x247171(0x716)](0x0),'a'[_0x247171(0x716)](0x0),'d'[_0x247171(0x716)](0x0),0x1,_0x151ef9&0xff,0x38,0x1,_0x2b560f>>>0x0&0xff,_0x2b560f>>>0x8&0xff,_0x2b560f>>>0x10&0xff,_0x2b560f>>>0x18&0xff,0x0,0x0,0x0]))]}]};_0x13ef06={'id':0x18538067,'size':-0x1,'data':[_0x103eb5,_0x3af0ff]};let _0x32cba4=new _0x5b5a36(0x200);_0xd91adc(_0x32cba4,_0x45de2b['pos'],[_0x41f79a,_0x13ef06]),_0x45de2b[_0x247171(0x536)](_0x32cba4['getAsDataArray']()),_0xb314b4=!![];}function _0x3dbd05(_0x122da2){var _0x2c2d26=_0x9870;let _0x3d4106=new _0x5b5a36(0x1+0x2+0x1);if(!(_0x122da2['trackNumber']>0x0&&_0x122da2[_0x2c2d26(0xc1)]<0x7f))throw new Error(_0x2c2d26(0x2df));return _0x3d4106[_0x2c2d26(0x8fa)](_0x122da2[_0x2c2d26(0xc1)]),_0x3d4106[_0x2c2d26(0x12f)](_0x122da2[_0x2c2d26(0x765)]),_0x3d4106[_0x2c2d26(0x6f5)]((_0x122da2[_0x2c2d26(0x16c)]==_0x2c2d26(0x656)?0x1:0x0)<<0x7),{'id':0xa3,'data':[_0x3d4106[_0x2c2d26(0x9c)](),_0x122da2[_0x2c2d26(0x79c)]]};}function _0x64f6b0(_0x295515){var _0x507dee=_0x9870;return{'id':0x1f43b675,'data':[{'id':0xe7,'data':Math[_0x507dee(0x5e6)](_0x295515[_0x507dee(0x765)])}]};}function _0x4114c1(){var _0x32263c=_0x9870;if(_0x3d43cc[_0x32263c(0x542)]===0x0)return;let _0x301387=0x0;for(let _0x4ac336=0x0;_0x4ac336<_0x3d43cc[_0x32263c(0x542)];_0x4ac336++){_0x301387+=_0x3d43cc[_0x4ac336][_0x32263c(0x79c)][_0x32263c(0x363)];}let _0x4de6b3=new _0x5b5a36(_0x301387+_0x3d43cc[_0x32263c(0x542)]*0x40),_0x1cb2d8=_0x64f6b0({'timecode':Math['round'](_0x150683)});for(let _0x4f93c1=0x0;_0x4f93c1<_0x3d43cc[_0x32263c(0x542)];_0x4f93c1++){_0x1cb2d8['data'][_0x32263c(0x20d)](_0x3dbd05(_0x3d43cc[_0x4f93c1]));}_0xd91adc(_0x4de6b3,_0x45de2b[_0x32263c(0x3d8)],_0x1cb2d8),_0x45de2b[_0x32263c(0x536)](_0x4de6b3[_0x32263c(0x9c)]()),_0x3d43cc=[],_0x40c41f=0x0;}function _0x5b41fb(_0xfaf84a,_0x80a01f){var _0x591fd9=_0x9870;_0xfaf84a[_0x591fd9(0xc1)]=_0x80a01f;var _0x5b8d1b=_0xfaf84a['intime']/0x3e8;_0x148525?(_0x295cf5=_0x5b8d1b,_0x5b8d1b=0x0,_0x148525=![]):_0x5b8d1b=_0x5b8d1b-_0x295cf5;_0x1822a8=_0x5b8d1b;if(_0x40c41f==0x0)_0x150683=_0x5b8d1b;_0xfaf84a[_0x591fd9(0x765)]=Math[_0x591fd9(0x5e6)](_0x5b8d1b-_0x150683),_0x3d43cc[_0x591fd9(0x20d)](_0xfaf84a),_0x40c41f=_0xfaf84a[_0x591fd9(0x765)]+0x1,_0x40c41f>=_0x1169da&&_0x4114c1();}function _0x28ca66(){var _0x2a2148=_0x9870;let _0x7fc03f=new _0x5b5a36(seekHead[_0x2a2148(0x64c)]),_0x1c2dc3=_0x45de2b[_0x2a2148(0x3d8)];_0xd91adc(_0x7fc03f,seekHead['dataOffset'],seekHead[_0x2a2148(0x547)]),_0x45de2b[_0x2a2148(0x80e)](seekHead[_0x2a2148(0x99)]),_0x45de2b['write'](_0x7fc03f['getAsDataArray']()),_0x45de2b[_0x2a2148(0x80e)](_0x1c2dc3);}function _0x219c47(){var _0x2e7f0a=_0x9870;let _0x5bfc52=new _0x5b5a36(0x8),_0x3a9bbb=_0x45de2b[_0x2e7f0a(0x3d8)];_0x5bfc52[_0x2e7f0a(0x30a)](_0x1822a8),_0x45de2b['seek'](_0x1d4207['dataOffset']),_0x45de2b['write'](_0x5bfc52[_0x2e7f0a(0x9c)]()),_0x45de2b[_0x2e7f0a(0x80e)](_0x3a9bbb);}this[_0x28e7fc(0x3aa)]=function(_0xc90fbd){var _0x53f56a=_0x28e7fc;!_0xb314b4&&(_0x144309=_0x2ff566['width'],_0x7de5c1=_0x2ff566[_0x53f56a(0x5e4)],_0x2b560f=_0x2ff566[_0x53f56a(0x384)],_0x151ef9=_0x2ff566[_0x53f56a(0x495)],_0x1609bb());if(_0xc90fbd[_0x53f56a(0x631)]['name']==_0x53f56a(0x908)){let _0x42e15d=new Uint8Array(_0xc90fbd['byteLength']);_0xc90fbd['copyTo'](_0x42e15d),_0x5b41fb({'frame':_0x42e15d,'intime':_0xc90fbd[_0x53f56a(0x627)],'type':_0xc90fbd[_0x53f56a(0x16c)]},0x1);return;}else{if(_0xc90fbd[_0x53f56a(0x631)]['name']==_0x53f56a(0x1c4)){let _0x4a24cd=new Uint8Array(_0xc90fbd['byteLength']);_0xc90fbd[_0x53f56a(0x1c6)](_0x4a24cd),_0x5b41fb({'frame':_0x4a24cd,'intime':_0xc90fbd[_0x53f56a(0x627)],'type':_0xc90fbd[_0x53f56a(0x16c)]},0x2);return;}}},this[_0x28e7fc(0x579)]=function(){var _0x5d3661=_0x28e7fc;return!_0xb314b4&&_0x1609bb(),_0x148525=!![],_0x4114c1(),_0x219c47(),_0x45de2b[_0x5d3661(0x579)](_0x5d3661(0x8f8));},this[_0x28e7fc(0x517)]=function(){var _0x585a52=_0x28e7fc;return _0x45de2b[_0x585a52(0x542)];},_0x2ff566=_0x334156(_0x3911b3,_0x2ff566||{});};};window[_0x9a6765(0x4e7)]=_0xab4d82(window[_0x9a6765(0x346)],window['BlobBuffer']);}()); \ No newline at end of file