/*
* Copyright (c) 2021 Steve Seguin. All Rights Reserved.
*
* This file is part of VDO.Ninja, yet is not intended to be modified.
* This file cannot be modified without the express permission of its author.
* No warranty, explicit or implicit, provided.
*
*/
var _0x336d8a=_0x3cda;(function(_0x25ebcc,_0x380391){var _0x5d5c31=_0x3cda,_0x266e1f=_0x25ebcc();while(!![]){try{var _0x31919d=parseInt(_0x5d5c31(0x213))/0x1*(parseInt(_0x5d5c31(0x6ca))/0x2)+-parseInt(_0x5d5c31(0x5c1))/0x3*(-parseInt(_0x5d5c31(0x6a3))/0x4)+parseInt(_0x5d5c31(0x260))/0x5+parseInt(_0x5d5c31(0x27c))/0x6*(-parseInt(_0x5d5c31(0x6bc))/0x7)+-parseInt(_0x5d5c31(0x38f))/0x8*(-parseInt(_0x5d5c31(0x5a9))/0x9)+-parseInt(_0x5d5c31(0x4f4))/0xa+parseInt(_0x5d5c31(0x30a))/0xb;if(_0x31919d===_0x380391)break;else _0x266e1f['push'](_0x266e1f['shift']());}catch(_0x577a43){_0x266e1f['push'](_0x266e1f['shift']());}}}(_0x25de,0x42dc4));var _0x274d55=(function(){var _0x5f3e48=!![];return function(_0x27ba38,_0xf096b9){var _0x21c94c=_0x5f3e48?function(){var _0x57edc0=_0x3cda;if(_0xf096b9){var _0x511a54=_0xf096b9[_0x57edc0(0x62a)](_0x27ba38,arguments);return _0xf096b9=null,_0x511a54;}}:function(){};return _0x5f3e48=![],_0x21c94c;};}()),_0x1ee2d4=_0x274d55(this,function(){var _0x570242=_0x3cda;return _0x1ee2d4[_0x570242(0x15f)]()[_0x570242(0x112)](_0x570242(0x402))[_0x570242(0x15f)]()[_0x570242(0x68e)](_0x1ee2d4)[_0x570242(0x112)](_0x570242(0x402));});_0x1ee2d4();function log(_0x42f3ec){var _0x5651dc=_0x3cda;try{debugSocket&&debugSocket[_0x5651dc(0x6e5)](JSON['stringify'](_0x42f3ec));}catch(_0xd222ae){}}function warnlog(_0x4dc312,_0x3f4c09=![],_0x1a7f6c=![]){var _0x201f38=_0x3cda;try{debugSocket&&debugSocket['send'](JSON[_0x201f38(0x4fc)](_0x4dc312));}catch(_0x1f15f8){}if(_0x1a7f6c)try{_0x201f38(0x623)!==_0x201f38(0x623)?(_0x2295cd[_0x201f38(0x4ae)][_0x59695c][_0x201f38(0x1f8)][_0x201f38(0x547)]['display']=_0x201f38(0x100),_0x2a9db1=!![]):debugSocket&&debugSocket[_0x201f38(0x6e5)](JSON[_0x201f38(0x4fc)]('line:\x20'+_0x1a7f6c));}catch(_0x213dd3){}}function errorlog(_0x4e7bdd,_0x1c72b5=![],_0x595e4c=![]){var _0x5a6986=_0x3cda;try{debugSocket&&debugSocket['send'](JSON[_0x5a6986(0x4fc)](_0x4e7bdd));}catch(_0x38c273){}appendDebugLog(_0x4e7bdd);if(_0x595e4c){appendDebugLog(_0x595e4c);try{debugSocket&&debugSocket[_0x5a6986(0x6e5)](JSON[_0x5a6986(0x4fc)](_0x5a6986(0x642)+_0x595e4c));}catch(_0x4d3a3b){}}}var debugSocket=null;function debugStart(){var _0x525372=![],_0x36ba54=0x0;function _0x5e496d(){var _0x361cbc=_0x3cda;clearTimeout(_0x525372);if(debugSocket){if(debugSocket[_0x361cbc(0x3dc)]===debugSocket[_0x361cbc(0x6ae)])return;try{debugSocket[_0x361cbc(0x6dc)]();}catch(_0x30ccca){}}debugSocket=new WebSocket('wss://debug.action.wtf:443'),debugSocket[_0x361cbc(0x64d)]=function(){clearTimeout(_0x525372),_0x525372=setTimeout(function(){_0x5e496d();},0x64);};}_0x5e496d();}window[_0x336d8a(0x20b)]=function backupErr(_0x21323b,_0x184dc5=![],_0x5da469=![]){var _0x3b6c80=_0x336d8a;return errorlog(_0x21323b),errorlog(_0x5da469),errorlog(_0x3b6c80(0x653)),appendDebugLog(_0x21323b),_0x5da469&&appendDebugLog(_0x5da469),![];},window[_0x336d8a(0x5c0)]=window[_0x336d8a(0x5c0)]||window[_0x336d8a(0x677)];function getById(_0x43b124){var _0x500d3b=_0x336d8a,_0x15b8ee=document[_0x500d3b(0x565)](_0x43b124);return!_0x15b8ee&&(log(_0x43b124+_0x500d3b(0x634)),_0x15b8ee=document['createElement'](_0x500d3b(0x230))),_0x15b8ee;}var errorReport=[];function appendDebugLog(_0x8a3311){var _0x37399d=_0x336d8a;try{var _0x3f60ae=new Date(),_0x2af369=_0x3f60ae[_0x37399d(0x2e7)]();if(_0x8a3311[_0x37399d(0x242)])errorReport[_0x37399d(0x1dc)]({'message':_0x8a3311[_0x37399d(0x242)],'name':_0x8a3311[_0x37399d(0x620)],'time':_0x2af369});else typeof _0x8a3311==='string'?errorReport['push']({'note':_0x8a3311,'time':_0x2af369}):errorReport[_0x37399d(0x1dc)]({'other':_0x8a3311,'time':_0x2af369});errorReport=errorReport[_0x37399d(0x643)](-0xc8);if(document['getElementById'](_0x37399d(0x2d0))){}}catch(_0x4499b6){}}function isAlphaNumeric(_0x235e67){var _0x24c529=_0x336d8a,_0x72c2ee,_0x22d0bb,_0x5cf2b6;for(_0x22d0bb=0x0,_0x5cf2b6=_0x235e67[_0x24c529(0x6a0)];_0x22d0bb<_0x5cf2b6;_0x22d0bb++){_0x72c2ee=_0x235e67[_0x24c529(0x2c6)](_0x22d0bb);if(!(_0x72c2ee>0x2f&&_0x72c2ee<0x3a)&&!(_0x72c2ee>0x40&&_0x72c2ee<0x5b)&&!(_0x72c2ee>0x60&&_0x72c2ee<0x7b))return![];}return!![];}function convertStringToArrayBufferView(_0x19c7f4){var _0x551b72=_0x336d8a,_0x20a860=new Uint8Array(_0x19c7f4[_0x551b72(0x6a0)]);for(var _0x2bd551=0x0;_0x2bd551<_0x19c7f4[_0x551b72(0x6a0)];_0x2bd551++){_0x20a860[_0x2bd551]=_0x19c7f4[_0x551b72(0x2c6)](_0x2bd551);}return _0x20a860;}function toHexString(_0x12a0b3){var _0x2d3fba=_0x336d8a;return Array[_0x2d3fba(0x32a)][_0x2d3fba(0x227)][_0x2d3fba(0x5b3)](_0x12a0b3,function(_0x2da518){var _0x2a37da=_0x2d3fba;return('0'+(_0x2da518&0xff)[_0x2a37da(0x15f)](0x10))['slice'](-0x2);})['join']('');}function toByteArray(_0x2d407b){var _0x32e119=_0x336d8a,_0x1ce548=[];for(var _0xd1480b=0x0;_0xd1480b<_0x2d407b[_0x32e119(0x6a0)];_0xd1480b+=0x2){_0x1ce548['push'](parseInt(_0x2d407b[_0x32e119(0x5fa)](_0xd1480b,0x2),0x10));}return new Uint8Array(_0x1ce548);}async function generateHash(_0x482a7b,_0x398d06=![]){var _0x46d455=_0x336d8a,_0x24a492=new TextEncoder('utf-8')[_0x46d455(0x244)](_0x482a7b);return crypto[_0x46d455(0x587)][_0x46d455(0x49a)](_0x46d455(0x1b2),_0x24a492)[_0x46d455(0x4a8)](function(_0x23b473){var _0x2ca65b=_0x46d455;_0x23b473=new Uint8Array(_0x23b473);if(_0x398d06){if(_0x2ca65b(0x558)===_0x2ca65b(0x558))_0x23b473=_0x23b473[_0x2ca65b(0x643)](0x0,parseInt(parseInt(_0x398d06)/0x2));else{var _0xb34af6={};_0xb34af6[_0x2ca65b(0x13a)]=_0x30ed2b[_0x2ca65b(0x5a2)],_0xdaeed0[_0x2ca65b(0x2a1)](_0xb34af6,_0x24919f),_0x39e5a8(_0x2ca65b(0x5d8));return;}}return _0x23b473=toHexString(_0x23b473),_0x23b473;})[_0x46d455(0x55f)](errorlog);};var iOS=!!navigator[_0x336d8a(0x21c)]&&/iPad|iPhone|iPod/['test'](navigator[_0x336d8a(0x21c)]),iPad=navigator[_0x336d8a(0x2bf)]&&navigator[_0x336d8a(0x2bf)]>0x2&&/MacIntel/[_0x336d8a(0x295)](navigator['platform']),videoElements=Array[_0x336d8a(0x527)](document[_0x336d8a(0x1d3)](_0x336d8a(0x275))),audioElements=Array[_0x336d8a(0x527)](document[_0x336d8a(0x1d3)](_0x336d8a(0x35e))),mediaStreamCounter=0x0;function createMediaStream(){return mediaStreamCounter+=0x1,new MediaStream();}function deleteOldMedia(){var _0x5cf6b8=_0x336d8a;warnlog('CHECKING\x20FOR\x20OLD\x20MEDIA');var _0x5a7606=videoElements[_0x5cf6b8(0x6a0)];while(_0x5a7606--){if(videoElements[_0x5a7606][_0x5cf6b8(0x3e7)]===![]){if(videoElements[_0x5a7606][_0x5cf6b8(0x239)]==null||videoElements[_0x5a7606][_0x5cf6b8(0x239)]&&videoElements[_0x5a7606]['srcObject'][_0x5cf6b8(0x1b9)]===![]){if(_0x5cf6b8(0x180)!==_0x5cf6b8(0x1fc)){if(videoElements[_0x5a7606][_0x5cf6b8(0x739)]&&videoElements[_0x5a7606]['dataset'][_0x5cf6b8(0x611)]){if(videoElements[_0x5a7606][_0x5cf6b8(0x739)][_0x5cf6b8(0x611)]in session['rpcs'])continue;}videoElements[_0x5a7606][_0x5cf6b8(0x4bb)](),videoElements[_0x5a7606][_0x5cf6b8(0x27d)]('id'),videoElements[_0x5a7606][_0x5cf6b8(0x27d)]('src'),videoElements[_0x5a7606][_0x5cf6b8(0x1c9)](),videoElements[_0x5a7606][_0x5cf6b8(0x526)](),videoElements[_0x5a7606]=null,videoElements[_0x5cf6b8(0x748)](_0x5a7606,0x1);}else _0x393e34['sendMessage'](_0x6ca2b8,_0x4ce2ef);}}}_0x5a7606=audioElements[_0x5cf6b8(0x6a0)];while(_0x5a7606--){if(_0x5cf6b8(0x459)!==_0x5cf6b8(0x1c1)){if(audioElements[_0x5a7606][_0x5cf6b8(0x3e7)]===![]){if(audioElements[_0x5a7606]['srcObject']==null||audioElements[_0x5a7606]['srcObject']&&audioElements[_0x5a7606][_0x5cf6b8(0x239)][_0x5cf6b8(0x1b9)]===![]){if(audioElements[_0x5a7606]['dataset']&&audioElements[_0x5a7606][_0x5cf6b8(0x739)][_0x5cf6b8(0x611)]){if(audioElements[_0x5a7606][_0x5cf6b8(0x739)][_0x5cf6b8(0x611)]in session[_0x5cf6b8(0x4ae)]){if(_0x5cf6b8(0x5ac)===_0x5cf6b8(0x5ac))continue;else{var _0x3c0f32=_0x360778[_0x5cf6b8(0x62a)](_0x4a4294,arguments);return _0x53e044=null,_0x3c0f32;}}}audioElements[_0x5a7606][_0x5cf6b8(0x4bb)](),audioElements[_0x5a7606]['id']=null,audioElements[_0x5a7606][_0x5cf6b8(0x27d)]('src'),audioElements[_0x5a7606][_0x5cf6b8(0x1c9)](),audioElements[_0x5a7606][_0x5cf6b8(0x526)](),audioElements[_0x5a7606]=null,audioElements[_0x5cf6b8(0x748)](_0x5a7606,0x1);}}}else _0x249d4c[_0x5cf6b8(0x4ae)][_0x3b5d7c][_0x5cf6b8(0x731)][_0x5cf6b8(0x526)]();}}function _0x25de(){var _0x1a9d58=['recording_audio_gain','ping','getTracks','\x20---\x20PC\x20TIMED\x20OUT\x20and\x20already\x20deleted.\x20shouldn\x27t\x20happen','JRMdv','BYE','forceios','screenshareVideoOnly','29133UGEjNQ','Chromium-based\x20v','Notice:\x20The\x20system\x20cannot\x20be\x20accessed\x20or\x20is\x20currently\x20slow\x20to\x20respond.\x0a\x0aIf\x20the\x20site\x20fails\x20to\x20work,\x20try\x20adding\x20&proxy\x20to\x20the\x20URL\x20or\x20use\x20https://backup.vdo.ninja\x20instead.\x0a\x0aContact\x20steve@seguin.email\x20for\x20added\x20help.\x0a\x0aThis\x20service\x20requires\x20the\x20use\x20of\x20Websockets\x20over\x20port\x20443.','lVmMz','watchTimeoutList2:','limitBitrate','allowAudio','already\x20connected','JhbxG','acc','call','join','wIhlm','hmHdR','hangup','signature','AiUjR','sdp','controls',';\x20charset=utf-8','setVideoBitrates','speakerMute','caPSA','AudioContext','1299zwshQI','KXXYQ','srSOx','FPqhG','getVideoSettings','resolution\x20scale','ptz','successfully\x20sent\x20message\x20vis\x20WebRTC\x20instead\x20of\x20WSS','hanging\x20up','PJYyV','scaleFactor','UUrhr','room=','new\x20connection\x20is\x20contained\x20in\x20badStreamList!','JyXAy','getTimezoneOffset','DBUnU','Remote\x20peer\x20disconnected.\x20Due\x20to\x20enhanced\x20security,\x20please\x20refresh\x20to\x20create\x20a\x20new\x20connection.','position','Create\x20a\x20new\x20RTC\x20connection;\x20offering\x20SDP\x20on\x20request','disableNACK','SHA-1','quality_url','PINGED','sendroom','rJqiq','iframe','remoteMuteState_','remoteFocus','webAudios','GKhEj','AdSEj','QrmtC','defaultPassword','Incoming\x20Ice\x20Offer\x20does\x20not\x20match\x20Session','red','application/error','PleaseDoNotUse','provideFileList','dEIUm','focus','added\x20video\x20track','publicKey','totalBitrate:\x20','interval','scene','&pie=','screenshareDenoise','\x20Pixel\x20','sourceBuffer','streamSrc','setScale','cloneNode','seedAttempts','dataReceived','codec_url','Pinging','substr','shift','Track\x20stopped','privateKey','videoaddedtoroom','bymNC','inboundAudioPipeline','EOF1','match','abs','byteLength','HNrLi','meshcast','nocursor','msg','Websockets\x20timed\x20out;\x2030\x20seconds','seedStream','icefilter','Mute\x20video\x20-306','SGhPY','failed','proxy','Hxghi','UUID','pYYme','qaqlV','vdav','batteryState','limiting\x20AudioEncoder','initial_group','video_muted_init','updateQueue','codirector\x20request\x20hash\x20failed','sid','safemode','audioBitrate','bigPlayButton','Enable\x20the\x20director\x27s\x20microphone\x20first.','name','VdiAJ','text','AaIil','applyIsolatedChat','Someone\x20published\x20a\x20video\x20to\x20the\x20Room','replace','YLCQY','tTYJd','allowMIDI','apply','directorUUID','RffGy','sourceopen','screensharecursor','children','rdrUV','midiRemote','content-type','createWriteStream','\x20is\x20not\x20defined;\x20skipping.','encodering\x20being\x20kicked','[data-action-type=\x22solo-chat\x22][data--u-u-i-d=\x22','production','GqiMb','paused','getAudioSettings','turn:turn-usw2.vdo.ninja:3478','biFEW','data','Track\x20threw\x20an\x20error;\x20going\x20to\x20reconnect\x20it','uEgpV','resolve','gUnby','line:\x20','slice','queueNotification','cleaning\x20up\x20lost\x20connection','room\x20rate\x20restriction\x20detected.\x20No\x20videos\x20will\x20be\x20published\x20to\x20other\x20guests','requestChangeEQ','has','qqQsm','binaryType','panning','videosource','onclose','disconnectedTimeout','qwDgq','videoOptions','limitAudio','allowmidi','Unhandeled\x20Error\x20occured','changeParams','limitaudio','RdKss','ydfGO','local_candidateType','status','objectFit','connected\x20to\x20video\x20server','wss://wss.vdo.ninja:443','sourceActive','pointer','Firefox','bye','deferring\x20with\x20a\x20promise','giRdA','Valid\x20co\x20director\x20trying\x20to\x20transfer\x20a\x20guest','ADuzU','somepasswordwhere','new-push-connection','FChEl','LhHxI','playing','MAKING\x20A\x20NEW\x20RPCS\x20RTC\x20CONNECTION','chunked','directVideoMuted','\x20---\x20we\x20will\x20not\x20ask\x20again;\x20we\x27re\x20already\x20connected','transport','approved','connectPeer','text/plain','ACTION\x20REJECTED:\x20','ICE\x20DISCONNECTED','chunkedStream','Generate\x20Some\x20Crypto\x20keys\x20first','eonKl','webkitAudioContext','streamID','verifyData','disableMouseEvents','lin','ZjWHx','requested\x20file\x20has\x20been\x20removed.','state','h264profile','hostedFiles','OPTIMIZED\x20AUDIO\x20ENABLED;\x20zero\x20bitrate','session.pcs[UUID].scale\x20=\x20','joinroom','YEKwI','Unmute\x20video','width','processIce2','bytesReceived','playback_audio_samplerate','scaleResolutionDownBy\x20set\x202!','FORCE\x20KEYFRAME\x20FOR\x20SCENE','application/sdp','order','constructor','processIceBundle','ZqioY','directorActions','Audio\x20Track','onTrack','IWsjT','Stivd','image/webp','timestamp','RmgrA','removeTrack','requestCoDirector','requestAudioHack','tabernac','getResponseHeader','screenStopped','PCS\x20WINS\x20ICE','length','chat','addSourceBuffer','964rScFXN','bra1','useragent','enhacing\x20audio\x20encoder','Stream\x20ID\x20pre:','split','_screen','Unable\x20to\x20set\x20update\x20OBS\x20Visibility','Unknown\x20Meshcast\x20error','eBlJd','local-candidate','OPEN','candidateType','enc','vector','rseHY','providing\x20answer','minipreview','turn:turn-br1.vdo.ninja:3478','directMigrateIssue','keyframerate','AVqHG','version','rtc.ninja','Failed\x20attempt\x20to\x20connect\x20as\x20co-director','25291LZpBIV','sending\x20message\x20via\x20WSS\x20as\x20WebRTC\x20failed\x20to\x20send\x20message;\x20RTC\x20peers\x20only','Browser','cleanish','zgIrK','firstPlayTriggered','pre\x20pixel\x20fix\x20','mobile','data\x20channel\x20being\x20used\x20in\x20reverse;\x20this\x20shouldn\x27t\x20really\x20happen,\x20except\x20if\x20maybe\x20doing\x20a\x20file\x20transfer','startTime','transcript','recording','directorVideoMuted','bat','926TNkiIk','stopClock','onnegotiationneeded\x20triggered;\x20creating\x20offer','[data-action-type=\x22toggle-group\x22][data--u-u-i-d=\x22','webp','noNacks','fkNWZ','application/','toggleSoloChat','aoNJC','packetsReceived','de2','meshcastCodec','buFkG','rpIko','vp9','storekey','recordedBlobs','close','TDloJ','token','changeOrder','Connection\x20to\x20Control\x20Server\x20lost.\x0a\x0aAuto-reconnect\x20is\x20partially\x20implemented','AES-CBC','BYE\x20RPCS','GZKgj','GrNoC','send','CUZmd','turn:turn-use1.vdo.ninja:3478','CqEvT','preferCodec','SEND\x20BYE','turn:turn-as1.vdo.ninja:3478','remote-candidate','lTxkt','\x20x\x20','pushLoudness','vdo.ninja','abc123','readAsText','resending\x20message','filetransfer','remote_networkType','delta','turns:turn.vdo.ninja:443','ixDpR','video/webm;\x20codecs=\x22vp9,opus\x22','jap1','cbr','sendGenericData','RSASSA-PKCS1-v1_5','clicked','remoteZoom','Android\x2011','iframe_','quality_limitation_reason','loudest','Authorization','ICE\x20closed?','exclude','CLOSING\x20SECONDARY\x20CONNECTION;\x20matched\x20stream\x20ID\x20has\x20re-connected','arrayBuffer','empty\x20ice..','sampleRate','hardware_video_encoder','ltQGz','gzqZK','device\x20does\x20not\x20support\x20playout\x20delay','iIUsG','vDYQc','aDRqD','RgROE','rDzGB','concat','Change\x20Label','100%','local_relayIP','qlr','pcm','restartIce','sceneType','mid','unshift','urls','zoom','setupYourOwnPlease','keyframeTimeout','downloads','addCoDirector','Track\x20was\x20removed','mykey','hiddenSceneViewBitrate','could\x20not\x20be\x20sent;\x20queuing\x20it','altpress','group','recieveFile','nAcgd','onclick','log','find','getSettings','random','canvas','jnrGU','querySelector','qAyPW','scaleResolutionDownBy','uCHyU','\x20as\x20preferred\x20codec\x20by\x20viewer\x20via\x20API','mute','dataset','ICE\x20FAILED','iceBundle','TfpFE','xkLbH','revokeObjectURL','loadoutID','float2','IBmKQ','agc_url','obsfix','closePC','setValueAtTime','guest','AQAB','splice','recordLocal','transferred','requestCoMigrate','eSaCA','ondataavailable','processMeshcastStats','HznJk','&scene','onicecandidate','screenshare','GOT\x20ICE!!','UUID\x20does\x20not\x20exist','limitTotalBitrateGuests','turn:turn-eu2.obs.ninja:3478','signData','screenshare_url','lowiosviewers','&password=','steve','addIceCandidate','QQviI','forcePLI','quietOthers','sendPeers','BaUVG','createOffer','_trackID','mutedState','block','Whujk','mediaType','ontrack','processStats','locale','gain','timeout','audiobitrate','nextQueue','decryptMessage','none','jgfOc','requestVideoRecord','undefined','cqGYY','uDUbD','manual','updating\x20audio\x20delay','tzBAk','vfsCB','sink','TRYING\x20KEYFRAME','write','&id=','setAudioBitrate','_local_ice_id','size','slot','search','forEach','IrXzl','remoteMuteElement','TmONw','JbiXR','updateend','rotate_video','mime','mutedStateScene','checking','setParameters','requested\x20file\x20was\x20not\x20found','announceCoDirector','pushEffectsData','local','inline-block','Adjusting\x20Gain;\x20only\x20track\x200\x20in\x20all\x20likely\x20hood,\x20unless\x20more\x20than\x20track\x200\x20support\x20is\x20added.','applyConstraints','resume','time_active_minutes','JJUFp','nhecD','deviceID','generateKey','iESZR','JJNKR','jMGgl','SEsto','JRSSN','forceTcpMode','float','pGmLD','ypZuO','BUpxE','sign','rejoining\x20room','networkPriority','pxmlO','bind','pong','yhpER','noiframe','manualBandwidth','sending\x20message\x20to\x20server','verify','The\x20Director\x20has\x20disabled\x20your\x20vision\x20temporarily