@brandbrigade/ott-bb-player 1.0.28 → 1.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -1
- package/js/OTTPlayer.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -155,7 +155,8 @@ test26
|
|
|
155
155
|
|
|
156
156
|
### Version v1.0.23
|
|
157
157
|
test_v_1.0.23
|
|
158
|
-
|
|
158
|
+
|
|
159
|
+
### Version v1.0.24
|
|
159
160
|
test
|
|
160
161
|
|
|
161
162
|
### Version v1.0.25
|
|
@@ -170,3 +171,12 @@ test
|
|
|
170
171
|
### Version v1.0.28
|
|
171
172
|
test
|
|
172
173
|
|
|
174
|
+
### Version v1.0.29
|
|
175
|
+
test
|
|
176
|
+
|
|
177
|
+
### Version v1.0.30
|
|
178
|
+
test
|
|
179
|
+
|
|
180
|
+
### Version v1.0.31
|
|
181
|
+
test
|
|
182
|
+
|
package/js/OTTPlayer.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x4f33(){const _0x3635ca=['596477aMkohm','join','GameId\x20for\x20mediaid=\x20','getUTCMinutes','onload','MakeSureAdPerPlace','BB.Utils.getSourceFPS:\x20Unknown\x20FrameRate\x20mode','currentTime','Silk','getProgramInfoLog','\x20Game:\x20','version','Augmenter','PlayBook','Safari','adTexture','amd','#version\x20300\x20es\x0a\x0a//\x20an\x20attribute\x20is\x20an\x20input\x20(in)\x20to\x20a\x20vertex\x20shader.\x0a//\x20It\x20will\x20receive\x20vertex\x20data\x20from\x20the\x20buffer\x0ain\x20vec2\x20a_position;\x0a\x0a//Identity\x20matrix\x20for\x20now\x0auniform\x20mat3\x20u_matrix;\x0a\x0a//The\x20canvas\x20resolution,\x20to\x20covert\x20to\x20ZeTor\x0auniform\x20vec2\x20u_resolution;\x0a\x0a//a_texCoord->v_texCoord\x20interpolation\x0a//in\x20vec2\x20a_texCoord;\x0a//out\x20vec2\x20v_texCoord;\x0a\x0a//\x20Main\x20vertex\x20shader\x0avoid\x20main()\x20{\x0a\x20\x20//Translate,\x20rotate,\x20scale\x20by\x20u_matrix:\x0a\x20\x20vec2\x20position\x20=\x20(u_matrix\x20*\x20vec3(a_position,\x201)).xy;\x0a\x0a\x20\x20//Convert\x20the\x20position\x20from\x20pixels\x20to\x20ZeTor\x20[0.0,1.0]\x0a\x20\x20vec2\x20zeroToOne\x20=\x20position\x20/\x20u_resolution;\x0a\x0a\x20\x20//Convert\x20from\x20[0,1]\x20to\x20[0,2]\x0a\x20\x20vec2\x20zeroToTwo\x20=\x20zeroToOne\x20*\x202.0;\x0a\x0a\x20\x20//Convert\x20from\x20[0,2]\x20to\x20[-1,+1]\x20(clipspace)\x0a\x20\x20vec2\x20clipSpace\x20=\x20zeroToTwo\x20-\x201.0;\x0a\x0a\x20\x20gl_Position\x20=\x20vec4(clipSpace\x20*\x20vec2(1,\x20-1),\x200,\x201);\x0a\x0a\x20\x20//Pass\x20the\x20texCoord\x20to\x20the\x20fragment\x20shader\x0a\x20\x20//The\x20GPU\x20will\x20interpolate\x20this\x20value\x20between\x20points.\x0a\x20\x20//v_texCoord\x20=\x20a_texCoord;\x0a}\x0a','isArray','toFixed','parentElement','currentScript','postMessage','getShaderParameter','%c%s','ad2Url','TEXTURE_2D','clear','time','isApple','now','debug','hasOwnProperty',',\x20correction','body',',\x20offset:\x20',',\x20rendering:\x20','config','x-shader/x-fragment','getElementById','program','Trident','player','script','iOS','CleanGL','forDoNotRender','Failed\x20to\x20create\x20alpha\x20texture','utc_','bindBuffer','CreateDigitImg','charCodeAt','adForLogo','srcFrameRate','options\x20after\x20merge\x20with\x20the\x20global\x20options:\x20','refreshRate','none','u_resolution','maxTouchPoints','OS\x20X','shift','fromCharCode','slice','font',',\x20LastSyncPoint:','New\x20segment\x20(','requestFullscreen','UNPACK_ALIGNMENT','https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js','data','DEPTH_BUFFER_BIT','digitTex','Project\x20name:\x20','SetSyncPoint','debugText2','GenerateTexture','clearColor',')</span>','messageroom:\x20','getSourceFPS','searchParams','u_matrix','BlackBerry','ToggleFullscreen','Error\x20in\x20creating\x20MetaDataDownloaderThread','TexUnitBaseForAlpha','Linux','url','counter','cloudFrontURL','then','onNewMetadataInterface','fillStyle','metadataArr',',\x20resultTime:\x20','TimeCodesFramesTranslator','ARRAY_BUFFER','OnUserClickOnCanvas','texImage2D','):\x20','tex','getUTCHours','place2ad','createVertexArray','createBuffer','autoAddIndex','uniform2fv','offset','Error\x20fetching\x20JSON:','HTTP\x20error!\x20status:\x20','LINK_STATUS','assign','checked','json','Src59_MediaTime59','FPS\x20not\x20supported','Size','left','ANI','Error\x20from\x20worker:','right','Palm','setMediaFPS:\x20Unknown\x20Media\x20FrameRate\x20mode','\x20version\x20','databrowser','maskX','TEXTURE_MIN_FILTER','filter','http://webgl2fundamentals.org/webgl/lessons/webgl-boilerplate.html','composer::SelectAd:\x20selected\x20ad\x20is\x20','CLAMP_TO_EDGE','Got\x20the\x20following\x20config:\x20','style','OTTPlayer:\x20','appVersion','fps','header','RenderingMode','substring','debugText','useProgram','tc__','getSeconds','textContent','u_resolution2','currentAds2BoundingRect','video\x20element\x20is\x20not\x20yet\x20loaded.\x20Setting\x20up\x20loadedmetadata\x20event\x20to\x20wait\x20until\x20it\x27s\x20loaded','augmentation','sourceFPS','toString','application/javascript','ontouchstart','white','offsetTop','offsetJsonURL','attachShader','Ads','Platform','lastAd','VERTEX_SHADER','fillText','Edge','Video\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.','splice','messageData','loadedmetadata','toISOString','Src59_MediaTime60','dateTime','call','COLOR_BUFFER_BIT','round','callback','enableVertexAttribArray','Internet\x20Explorer','getGlobalConfig','emit','Windows\x20Phone','floor','bindVertexArray','Version','\x20Time:\x20','createElement','activeTexture','SetFps','\x20Time\x20Fired:\x20','webGLVersion','info','99540hGaFec','\x20playing\x20at\x20','AddAdvertisement','setLastFrame','weHaveTheGameID','getUniformLocation','canvasSize','BBerror','createProgramFromSources','***\x20Error:\x20unknown\x20script\x20element','TexUnitForPlaceHolder','logoURL','deleteProgram','bottom','includes','STATIC_DRAW','SetRectangle','bufferData','pointer-events','isChromeMac','clientHeight','head','vertexShaderSource','init','clientY','isConnected','GAME_ID','SelectAd','match','Unknown','CLDC','ctx','Mac','\x20\x20correction','timeDate2TC','Average\x20refresh\x20screen\x20rate:\x20','platform','u_alpha','Connect','if\x20(alpha\x20<\x200.8)','fragmentShaderSourceV1','syncPoint','location','Missing\x20meta\x20data\x20at\x20time\x20code\x20','Platform\x20not\x20supported','ad2place','timecode','found','frameDrawer','from','url:\x20','blur','770lPxenT','#external','catch','folderName','timeCodeStr2TimeCodeArray:\x20Failed\x20to\x20parse\x20','webgl2','type','webglUtils','if\x20(alpha\x20==\x200.0)','globalConfig','SelectAd:\x20Failed\x20to\x20find\x20image\x20\x27','getUTCMilliseconds','RGBA','pixelStorei','Unsupported\x20src\x20frame-rate:\x20','renderingMode','bindTexture','Chrome','field','BBlog','uniformMatrix3fv','stopAugment','roommembers','plus05CorrectionCheckbox','tranform',',\x20stage:\x20','drawArrays','vertexAttribPointer','messageroom','numberInput','renderAugmentation','name','viewport','a\x20Windows\x20PC','crossOrigin','Windows','rect','printTimecode','allGamesURL','userAgent','hasLogo','max','uniform1i','RenderFrame','length','_blank','deleteTexture','forplus','frames','getHours','createTexture','initializeComponents','requestAnimationFrame\x20is\x20not\x20supported','getMediaTimeFPS','MediaID\x20','mediaIdJsonURL','function','Anonymous','ScreenFPS','indexOf','offset\x20for\x20','video\x20element\x20is\x20already\x20loaded.\x20Setting\x20up\x20requestVideoFrameCallback','vertexShaderSourceV1','alphaTex','u_digitTopLeft','Socket','FLOAT','isAndroid','console','gameId','sort','TEXTURE0','/package.json','width','frameRateMode','ads:','isSafariMac','try\x20{\x0a\x0alet\x20UZIP\x20=\x20{};\x0aif(typeof\x20module\x20==\x20\x22object\x22)\x20module.exports\x20=\x20UZIP;\x0aUZIP[\x22parse\x22]\x20=\x20function(buf,\x20onlyNames)\x09//\x20ArrayBuffer\x0a{\x0a\x20\x20\x20\x20let\x20rUs\x20=\x20UZIP.bin.readUshort,\x20rUi\x20=\x20UZIP.bin.readUint,\x20o\x20=\x200,\x20out\x20=\x20{};\x0a\x20\x20\x20\x20let\x20data\x20=\x20new\x20Uint8Array(buf);\x0a\x20\x20\x20\x20let\x20eocd\x20=\x20data.length-4;\x0a\x0a\x20\x20\x20\x20while(rUi(data,\x20eocd)!=0x06054b50)\x20eocd--;\x0a\x0a\x20\x20\x20\x20o\x20=\x20eocd;\x0a\x20\x20\x20\x20o+=4;\x09//\x20sign\x20\x20=\x200x06054b50\x0a\x20\x20\x20\x20o+=4;\x20\x20//\x20disks\x20=\x200;\x0a\x20\x20\x20\x20let\x20cnu\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20cnt\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20let\x20coffs\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20o\x20=\x20coffs;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<cnu;\x20i++)\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20sign\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20versions;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20flag\x20+\x20compr\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20time\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20crc32\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20usize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20nl\x20=\x20rUs(data,\x20o),\x20el\x20=\x20rUs(data,\x20o+2),\x20cl\x20=\x20rUs(data,\x20o+4);\x20\x20o\x20+=\x206;\x20\x20//\x20name,\x20extra,\x20comment\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x208;\x20\x20//\x20disk,\x20attribs\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20roff\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x20nl\x20+\x20el\x20+\x20cl;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20UZIP._readLocal(data,\x20roff,\x20out,\x20csize,\x20usize,\x20onlyNames);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(out);\x0a\x20\x20\x20\x20return\x20out;\x0a}\x0a\x0aUZIP._readLocal\x20=\x20function(data,\x20o,\x20out,\x20csize,\x20usize,\x20onlyNames)\x0a{\x0a\x20\x20\x20\x20let\x20rUs\x20=\x20UZIP.bin.readUshort,\x20rUi\x20=\x20UZIP.bin.readUint;\x0a\x20\x20\x20\x20let\x20sign\x20\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20let\x20ver\x20\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20gpflg\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20//if((gpflg&8)!=0)\x20throw\x20\x22unknown\x20sizes\x22;\x0a\x20\x20\x20\x20let\x20cmpr\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20time\x20\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20let\x20crc32\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20//let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20//let\x20usize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20o+=8;\x0a\x0a\x20\x20\x20\x20let\x20nlen\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20elen\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20name\x20=\x20\x20UZIP.bin.readUTF8(data,\x20o,\x20nlen);\x20\x20o+=nlen;\x20\x20//console.log(name);\x0a\x20\x20\x20\x20o\x20+=\x20elen;\x0a\x0a\x20\x20\x20\x20//console.log(sign.toString(16),\x20ver,\x20gpflg,\x20cmpr,\x20crc32.toString(16),\x20\x22csize,\x20usize\x22,\x20csize,\x20usize,\x20nlen,\x20elen,\x20name,\x20o);\x0a\x20\x20\x20\x20if(onlyNames)\x20{\x20\x20out[name]={size:usize,\x20csize:csize};\x20\x20return;\x20\x20}\x0a\x20\x20\x20\x20let\x20file\x20=\x20new\x20Uint8Array(data.buffer,\x20o);\x0a\x20\x20\x20\x20if(false)\x20{}\x0a\x20\x20\x20\x20else\x20if(cmpr==0)\x20out[name]\x20=\x20new\x20Uint8Array(file.buffer.slice(o,\x20o+csize));\x0a\x20\x20\x20\x20else\x20if(cmpr==8)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20buf\x20=\x20new\x20Uint8Array(usize);\x20\x20UZIP.inflateRaw(file,\x20buf);\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*let\x20nbuf\x20=\x20pako[\x22inflateRaw\x22](file);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(usize>8514000)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(PUtils.readASCII(buf\x20,\x208514500,\x20500));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(PUtils.readASCII(nbuf,\x208514500,\x20500));\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<buf.length;\x20i++)\x20if(buf[i]!=nbuf[i])\x20{\x20\x20console.log(buf.length,\x20nbuf.length,\x20usize,\x20i);\x20\x20throw\x20\x22e\x22;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20out[name]\x20=\x20buf;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20throw\x20\x22unknown\x20compression\x20method:\x20\x22+cmpr;\x0a}\x0a\x0aUZIP.inflateRaw\x20=\x20function(file,\x20buf)\x20{\x20\x20return\x20UZIP.F.inflate(file,\x20buf);\x20\x20}\x0aUZIP.inflate\x20\x20\x20\x20=\x20function(file,\x20buf)\x20{\x0a\x20\x20\x20\x20let\x20CMF\x20=\x20file[0],\x20FLG\x20=\x20file[1];\x0a\x20\x20\x20\x20let\x20CM\x20=\x20(CMF&15),\x20CINFO\x20=\x20(CMF>>>4);\x0a\x20\x20\x20\x20//console.log(CM,\x20CINFO,CMF,FLG);\x0a\x20\x20\x20\x20return\x20UZIP.inflateRaw(new\x20Uint8Array(file.buffer,\x20file.byteOffset+2,\x20file.length-6),\x20buf);\x0a}\x0aUZIP.deflate\x20\x20\x20\x20=\x20function(data,\x20opts/*,\x20buf,\x20off*/)\x20{\x0a\x20\x20\x20\x20if(opts==null)\x20opts={level:6};\x0a\x20\x20\x20\x20let\x20off=0,\x20buf=new\x20Uint8Array(50+Math.floor(data.length*1.1));\x0a\x20\x20\x20\x20buf[off]=120;\x20\x20buf[off+1]=156;\x20\x20off+=2;\x0a\x20\x20\x20\x20off\x20=\x20UZIP.F.deflateRaw(data,\x20buf,\x20off,\x20opts.level);\x0a\x20\x20\x20\x20let\x20crc\x20=\x20UZIP.adler(data,\x200,\x20data.length);\x0a\x20\x20\x20\x20buf[off+0]=((crc>>>24)&255);\x0a\x20\x20\x20\x20buf[off+1]=((crc>>>16)&255);\x0a\x20\x20\x20\x20buf[off+2]=((crc>>>\x208)&255);\x0a\x20\x20\x20\x20buf[off+3]=((crc>>>\x200)&255);\x0a\x20\x20\x20\x20return\x20new\x20Uint8Array(buf.buffer,\x200,\x20off+4);\x0a}\x0aUZIP.deflateRaw\x20=\x20function(data,\x20opts)\x20{\x0a\x20\x20\x20\x20if(opts==null)\x20opts={level:6};\x0a\x20\x20\x20\x20let\x20buf=new\x20Uint8Array(50+Math.floor(data.length*1.1));\x0a\x20\x20\x20\x20let\x20off\x20=\x20UZIP.F.deflateRaw(data,\x20buf,\x20off,\x20opts.level);\x0a\x20\x20\x20\x20return\x20new\x20Uint8Array(buf.buffer,\x200,\x20off);\x0a}\x0a\x0a\x0aUZIP.encode\x20=\x20function(obj,\x20noCmpr)\x20{\x0a\x20\x20\x20\x20if(noCmpr==null)\x20noCmpr=false;\x0a\x20\x20\x20\x20let\x20tot\x20=\x200,\x20wUi\x20=\x20UZIP.bin.writeUint,\x20wUs\x20=\x20UZIP.bin.writeUshort;\x0a\x20\x20\x20\x20let\x20zpd\x20=\x20{};\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20obj)\x20{\x20\x20let\x20cpr\x20=\x20!UZIP._noNeed(p)\x20&&\x20!noCmpr,\x20buf\x20=\x20obj[p],\x20crc\x20=\x20UZIP.crc.crc(buf,0,buf.length);\x0a\x20\x20\x20\x20\x20\x20\x20\x20zpd[p]\x20=\x20{\x20\x20cpr:cpr,\x20usize:buf.length,\x20crc:crc,\x20file:\x20(cpr\x20?\x20UZIP.deflateRaw(buf)\x20:\x20buf)\x20\x20};\x20\x20}\x0a\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20tot\x20+=\x20zpd[p].file.length\x20+\x2030\x20+\x2046\x20+\x202*UZIP.bin.sizeUTF8(p);\x0a\x20\x20\x20\x20tot\x20+=\x20\x2022;\x0a\x0a\x20\x20\x20\x20let\x20data\x20=\x20new\x20Uint8Array(tot),\x20o\x20=\x200;\x0a\x20\x20\x20\x20let\x20fof\x20=\x20[]\x0a\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20file\x20=\x20zpd[p];\x20\x20fof.push(o);\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20=\x20UZIP._writeHeader(data,\x20o,\x20p,\x20file,\x200);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20i=0,\x20ioff\x20=\x20o;\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20file\x20=\x20zpd[p];\x20\x20fof.push(o);\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20=\x20UZIP._writeHeader(data,\x20o,\x20p,\x20file,\x201,\x20fof[i++]);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20csize\x20=\x20o-ioff;\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x200x06054b50);\x20\x20o+=4;\x0a\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20disks\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20i);\x20\x20o\x20+=\x202;\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20i);\x20\x20o\x20+=\x202;\x09//\x20number\x20of\x20c\x20d\x20records\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20csize);\x20\x20o\x20+=\x204;\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20ioff\x20);\x20\x20o\x20+=\x204;\x0a\x20\x20\x20\x20o\x20+=\x202;\x0a\x20\x20\x20\x20return\x20data.buffer;\x0a}\x0a//\x20no\x20need\x20to\x20compress\x20.PNG,\x20.ZIP,\x20.JPEG\x20....\x0aUZIP._noNeed\x20=\x20function(fn)\x20{\x20\x20let\x20ext\x20=\x20fn.split(\x22.\x22).pop().toLowerCase();\x20\x20return\x20\x22png,jpg,jpeg,zip\x22.indexOf(ext)!=-1;\x20\x20}\x0a\x0aUZIP._writeHeader\x20=\x20function(data,\x20o,\x20p,\x20obj,\x20t,\x20roff)\x0a{\x0a\x20\x20\x20\x20let\x20wUi\x20=\x20UZIP.bin.writeUint,\x20wUs\x20=\x20UZIP.bin.writeUshort;\x0a\x20\x20\x20\x20let\x20file\x20=\x20obj.file;\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20t==0\x20?\x200x04034b50\x20:\x200x02014b50);\x20\x20o+=4;\x20//\x20sign\x0a\x20\x20\x20\x20if(t==1)\x20o+=2;\x20\x20//\x20ver\x20made\x20by\x0a\x20\x20\x20\x20wUs(data,\x20o,\x2020);\x20\x20o+=2;\x09//\x20ver\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20\x200);\x20\x20o+=2;\x20\x20\x20\x20//\x20gflip\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20\x20obj.cpr?8:0);\x20\x20o+=2;\x09//\x20cmpr\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20\x200);\x20\x20o+=4;\x09//\x20time\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20obj.crc);\x20\x20o+=4;\x09//\x20crc32\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20file.length);\x20\x20o+=4;\x09//\x20csize\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20obj.usize);\x20\x20o+=4;\x09//\x20usize\x0a\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20UZIP.bin.sizeUTF8(p));\x20\x20o+=2;\x09//\x20nlen\x0a\x20\x20\x20\x20wUs(data,\x20o,\x200);\x20\x20o+=2;\x09//\x20elen\x0a\x0a\x20\x20\x20\x20if(t==1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x202;\x20\x20//\x20comment\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x202;\x20\x20//\x20disk\x20number\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x206;\x20\x20//\x20attributes\x0a\x20\x20\x20\x20\x20\x20\x20\x20wUi(data,\x20o,\x20roff);\x20\x20o+=4;\x09//\x20usize\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20nlen\x20=\x20UZIP.bin.writeUTF8(data,\x20o,\x20p);\x20\x20o+=\x20nlen;\x0a\x20\x20\x20\x20if(t==0)\x20{\x20\x20data.set(file,\x20o);\x20\x20o\x20+=\x20file.length;\x20\x20}\x0a\x20\x20\x20\x20return\x20o;\x0a}\x0aUZIP.crc\x20=\x20{\x0a\x20\x20\x20\x20table\x20:\x20(\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20tab\x20=\x20new\x20Uint32Array(256);\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20n=0;\x20n<256;\x20n++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20c\x20=\x20n;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20k=0;\x20k<8;\x20k++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(c\x20&\x201)\x20\x20c\x20=\x200xedb88320\x20^\x20(c\x20>>>\x201);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20\x20\x20\x20\x20\x20\x20\x20c\x20=\x20c\x20>>>\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tab[n]\x20=\x20c;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20tab;\x20\x20})(),\x0a\x20\x20\x20\x20update\x20:\x20function(c,\x20buf,\x20off,\x20len)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20i=0;\x20i<len;\x20i++)\x20\x20c\x20=\x20UZIP.crc.table[(c\x20^\x20buf[off+i])\x20&\x200xff]\x20^\x20(c\x20>>>\x208);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20c;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20crc\x20:\x20function(b,o,l)\x20\x20{\x20\x20return\x20UZIP.crc.update(0xffffffff,b,o,l)\x20^\x200xffffffff;\x20\x20}\x0a}\x0aUZIP.adler\x20=\x20function(data,o,len)\x20{\x0a\x20\x20\x20\x20let\x20a\x20=\x201,\x20b\x20=\x200;\x0a\x20\x20\x20\x20let\x20off\x20=\x20o,\x20end=o+len;\x0a\x20\x20\x20\x20while(off<end)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20eend\x20=\x20Math.min(off+5552,\x20end);\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(off<eend)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20a\x20+=\x20data[off++];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20b\x20+=\x20a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20a=a%65521;\x0a\x20\x20\x20\x20\x20\x20\x20\x20b=b%65521;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20(b\x20<<\x2016)\x20|\x20a;\x0a}\x0a\x0aUZIP.bin\x20=\x20{\x0a\x20\x20\x20\x20readUshort\x20:\x20function(buff,p)\x20\x20{\x20\x20return\x20(buff[p])\x20|\x20(buff[p+1]<<8);\x20\x20},\x0a\x20\x20\x20\x20writeUshort:\x20function(buff,p,n){\x20\x20buff[p]\x20=\x20(n)&255;\x20\x20buff[p+1]\x20=\x20(n>>8)&255;\x20\x20},\x0a\x20\x20\x20\x20readUint\x20\x20\x20:\x20function(buff,p)\x20\x20{\x20\x20return\x20(buff[p+3]*(256*256*256))\x20+\x20((buff[p+2]<<16)\x20|\x20(buff[p+1]<<\x208)\x20|\x20buff[p]);\x20\x20},\x0a\x20\x20\x20\x20writeUint\x20\x20:\x20function(buff,p,n){\x20\x20buff[p]=n&255;\x20\x20buff[p+1]=(n>>8)&255;\x20\x20buff[p+2]=(n>>16)&255;\x20\x20buff[p+3]=(n>>24)&255;\x20\x20},\x0a\x20\x20\x20\x20readASCII\x20\x20:\x20function(buff,p,l){\x20\x20let\x20s\x20=\x20\x22\x22;\x20\x20for(let\x20i=0;\x20i<l;\x20i++)\x20s\x20+=\x20String.fromCharCode(buff[p+i]);\x20\x20return\x20s;\x20\x20\x20\x20},\x0a\x20\x20\x20\x20writeASCII\x20:\x20function(data,p,s){\x20\x20for(let\x20i=0;\x20i<s.length;\x20i++)\x20data[p+i]\x20=\x20s.charCodeAt(i);\x20\x20},\x0a\x20\x20\x20\x20pad\x20:\x20function(n)\x20{\x20return\x20n.length\x20<\x202\x20?\x20\x220\x22\x20+\x20n\x20:\x20n;\x20},\x0a\x20\x20\x20\x20readUTF8\x20:\x20function(buff,\x20p,\x20l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20s\x20=\x20\x22\x22,\x20ns;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<l;\x20i++)\x20s\x20+=\x20\x22%\x22\x20+\x20UZIP.bin.pad(buff[p+i].toString(16));\x0a\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x20\x20ns\x20=\x20decodeURIComponent(s);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20catch(e)\x20{\x20\x20return\x20UZIP.bin.readASCII(buff,\x20p,\x20l);\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x20ns;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20writeUTF8\x20:\x20function(buff,\x20p,\x20str)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20strl\x20=\x20str.length,\x20i=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20ci=0;\x20ci<strl;\x20ci++)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20str.charCodeAt(ci);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20\x20\x20\x20\x20((code&(0xffffffff-(1<<\x207)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(\x20\x20\x20\x20\x20code\x20\x20\x20\x20\x20);\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<11)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(192|(code>>\x206));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>\x200)&63));\x20\x20i+=2;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<16)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(224|(code>>12));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>\x206)&63));\x20\x20buff[p+i+2]\x20=\x20(128|((code>>0)&63));\x20\x20i+=3;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<21)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(240|(code>>18));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>12)&63));\x20\x20buff[p+i+2]\x20=\x20(128|((code>>6)&63));\x20\x20buff[p+i+3]\x20=\x20(128|((code>>0)&63));\x20i+=4;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20i;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20sizeUTF8\x20:\x20function(str)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20strl\x20=\x20str.length,\x20i=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20ci=0;\x20ci<strl;\x20ci++)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20str.charCodeAt(ci);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20\x20\x20\x20\x20((code&(0xffffffff-(1<<\x207)+1))==0)\x20{\x20\x20i++\x20;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<11)+1))==0)\x20{\x20\x20i+=2;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<16)+1))==0)\x20{\x20\x20i+=3;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<21)+1))==0)\x20{\x20\x20i+=4;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20i;\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F\x20=\x20{};\x0a\x0aUZIP.F.deflateRaw\x20=\x20function(data,\x20out,\x20opos,\x20lvl)\x20{\x0a\x20\x20\x20\x20let\x20opts\x20=\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20good_length;\x20/*\x20reduce\x20lazy\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20max_lazy;\x20\x20\x20\x20/*\x20do\x20not\x20perform\x20lazy\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20nice_length;\x20/*\x20quit\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x20\x20\x20\x20\x20\x20good\x20lazy\x20nice\x20chain\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x200\x20*/\x20[\x200,\x20\x20\x200,\x20\x20\x200,\x20\x20\x20\x200,0],\x20\x20/*\x20store\x20only\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x201\x20*/\x20[\x204,\x20\x20\x204,\x20\x20\x208,\x20\x20\x20\x204,0],\x20/*\x20max\x20speed,\x20no\x20lazy\x20matches\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x202\x20*/\x20[\x204,\x20\x20\x205,\x20\x2016,\x20\x20\x20\x208,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x203\x20*/\x20[\x204,\x20\x20\x206,\x20\x2016,\x20\x20\x2016,0],\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x204\x20*/\x20[\x204,\x20\x2010,\x20\x2016,\x20\x20\x2032,0],\x20\x20/*\x20lazy\x20matches\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x205\x20*/\x20[\x208,\x20\x2016,\x20\x2032,\x20\x20\x2032,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x206\x20*/\x20[\x208,\x20\x2016,\x20128,\x20\x20128,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x207\x20*/\x20[\x208,\x20\x2032,\x20128,\x20\x20256,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x208\x20*/\x20[32,\x20128,\x20258,\x201024,1],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x209\x20*/\x20[32,\x20258,\x20258,\x204096,1]];\x20/*\x20max\x20compression\x20*/\x0a\x0a\x20\x20\x20\x20let\x20opt\x20=\x20opts[lvl];\x0a\x0a\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U,\x20goodIndex\x20=\x20UZIP.F._goodIndex,\x20hash\x20=\x20UZIP.F._hash,\x20putsE\x20=\x20UZIP.F._putsE;\x0a\x20\x20\x20\x20let\x20i\x20=\x200,\x20pos\x20=\x20opos<<3,\x20cvrd\x20=\x200,\x20dlen\x20=\x20data.length;\x0a\x0a\x20\x20\x20\x20if(lvl==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(i<dlen)\x20{\x20\x20\x20let\x20len\x20=\x20Math.min(0xffff,\x20dlen-i);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,\x20(i+len==dlen\x20?\x201\x20:\x200));\x20\x20pos\x20=\x20UZIP.F._copyExact(data,\x20i,\x20len,\x20out,\x20pos+8);\x20\x20i\x20+=\x20len;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20pos>>>3;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20let\x20lits\x20=\x20U.lits,\x20strt=U.strt,\x20prev=U.prev,\x20li=0,\x20lc=0,\x20bs=0,\x20ebits=0,\x20c=0,\x20nc=0;\x20\x20//\x20last_item,\x20literal_count,\x20block_start\x0a\x20\x20\x20\x20if(dlen>2)\x20{\x20\x20nc=UZIP.F._hash(data,0);\x20\x20strt[nc]=0;\x20\x20}\x0a\x20\x20\x20\x20let\x20nmch=0,nmci=0;\x0a\x0a\x20\x20\x20\x20for(i=0;\x20i<dlen;\x20i++)\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20c\x20=\x20nc;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i+1<dlen-2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20nc\x20=\x20UZIP.F._hash(data,\x20i+1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ii\x20=\x20((i+1)&0x7fff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20prev[ii]=strt[nc];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20strt[nc]=ii;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<=i)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((li>14000\x20||\x20lc>26697)\x20&&\x20(dlen-i)>100)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<i)\x20{\x20\x20lits[li]=i-cvrd;\x20\x20li+=2;\x20\x20cvrd=i;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeBlock(((i==dlen-1)\x20||\x20(cvrd==dlen))?1:0,\x20lits,\x20li,\x20ebits,\x20data,bs,i-bs,\x20out,\x20pos);\x20\x20li=lc=ebits=0;\x20\x20bs=i;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mch\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(nmci==i)\x20mch=\x20nmch;\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(i<dlen-2)\x20mch\x20=\x20UZIP.F._bestMatch(data,\x20i,\x20prev,\x20c,\x20Math.min(opt[2],dlen-i),\x20opt[3]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(mch!=0\x20&&\x20opt[4]==1\x20&&\x20(mch>>>16)<opt[1]\x20&&\x20i+1<dlen-2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20nmch\x20=\x20UZIP.F._bestMatch(data,\x20i+1,\x20prev,\x20nc,\x20opt[2],\x20opt[3]);\x20\x20nmci=i+1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20mch2\x20=\x20UZIP.F._bestMatch(data,\x20i+2,\x20prev,\x20nnc);\x20\x20//nmci=i+1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((nmch>>>16)>(mch>>>16))\x20mch=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20len\x20=\x20mch>>>16,\x20dst\x20=\x20mch&0xffff;\x20\x20//if(i-dst<0)\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(mch!=0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20len\x20=\x20mch>>>16,\x20dst\x20=\x20mch&0xffff;\x20\x20//if(i-dst<0)\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lgi\x20=\x20goodIndex(len,\x20U.of0);\x20\x20U.lhst[257+lgi]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dgi\x20=\x20goodIndex(dst,\x20U.df0);\x20\x20U.dhst[\x20\x20\x20\x20dgi]++;\x20\x20ebits\x20+=\x20U.exb[lgi]\x20+\x20U.dxb[dgi];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lits[li]\x20=\x20(len<<23)|(i-cvrd);\x20\x20lits[li+1]\x20=\x20(dst<<16)|(lgi<<8)|dgi;\x20\x20li+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cvrd\x20=\x20i\x20+\x20len;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x09U.lhst[data[i]]++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lc++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if(bs!=i\x20||\x20data.length==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<i)\x20{\x20\x20lits[li]=i-cvrd;\x20\x20li+=2;\x20\x20cvrd=i;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeBlock(1,\x20lits,\x20li,\x20ebits,\x20data,bs,i-bs,\x20out,\x20pos);\x20\x20li=0;\x20\x20lc=0;\x20\x20li=lc=ebits=0;\x20\x20bs=i;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20while((pos&7)!=0)\x20pos++;\x0a\x20\x20\x20\x20return\x20pos>>>3;\x0a}\x0aUZIP.F._bestMatch\x20=\x20function(data,\x20i,\x20prev,\x20c,\x20nice,\x20chain)\x20{\x0a\x20\x20\x20\x20let\x20ci\x20=\x20(i&0x7fff),\x20pi=prev[ci];\x0a\x20\x20\x20\x20//console.log(\x22----\x22,\x20i);\x0a\x20\x20\x20\x20let\x20dif\x20=\x20((ci-pi\x20+\x20(1<<15))\x20&\x200x7fff);\x20\x20if(pi==ci\x20||\x20c!=UZIP.F._hash(data,i-dif))\x20return\x200;\x0a\x20\x20\x20\x20let\x20tl=0,\x20td=0;\x20\x20//\x20top\x20length,\x20top\x20distance\x0a\x20\x20\x20\x20let\x20dlim\x20=\x20Math.min(0x7fff,\x20i);\x0a\x20\x20\x20\x20while(dif<=dlim\x20&&\x20--chain!=0\x20&&\x20pi!=ci\x20/*&&\x20c==UZIP.F._hash(data,i-dif)*/)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(tl==0\x20||\x20(data[i+tl]==data[i+tl-dif]))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20cl\x20=\x20UZIP.F._howLong(data,\x20i,\x20dif);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(cl>tl)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tl=cl;\x20\x20td=dif;\x20\x20if(tl>=nice)\x20break;\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dif+2<cl)\x20cl\x20=\x20dif+2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20maxd\x20=\x200;\x20//\x20pi\x20does\x20not\x20point\x20to\x20the\x20start\x20of\x20the\x20word\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20j=0;\x20j<cl-2;\x20j++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ei\x20=\x20\x20(i-dif+j+\x20(1<<15))\x20&\x200x7fff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20li\x20=\x20prev[ei];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20curd\x20=\x20(ei-li\x20+\x20(1<<15))\x20&\x200x7fff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(curd>maxd)\x20{\x20\x20maxd=curd;\x20\x20pi\x20=\x20ei;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x20//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20ci=pi;\x20\x20pi\x20=\x20prev[ci];\x0a\x20\x20\x20\x20\x20\x20\x20\x20dif\x20+=\x20((ci-pi\x20+\x20(1<<15))\x20&\x200x7fff);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20(tl<<16)|td;\x0a}\x0aUZIP.F._howLong\x20=\x20function(data,\x20i,\x20dif)\x20{\x0a\x20\x20\x20\x20if(data[i]!=data[i-dif]\x20||\x20data[i+1]!=data[i+1-dif]\x20||\x20data[i+2]!=data[i+2-dif])\x20return\x200;\x0a\x20\x20\x20\x20let\x20oi=i,\x20l\x20=\x20Math.min(data.length,\x20i+258);\x20\x20i+=3;\x0a\x20\x20\x20\x20//while(i+4<l\x20&&\x20data[i]==data[i-dif]\x20&&\x20data[i+1]==data[i+1-dif]\x20&&\x20data[i+2]==data[i+2-dif]\x20&&\x20data[i+3]==data[i+3-dif])\x20i+=4;\x0a\x20\x20\x20\x20while(i<l\x20&&\x20data[i]==data[i-dif])\x20i++;\x0a\x20\x20\x20\x20return\x20i-oi;\x0a}\x0aUZIP.F._hash\x20=\x20function(data,\x20i)\x20{\x0a\x20\x20\x20\x20return\x20(((data[i]<<8)\x20|\x20data[i+1])+(data[i+2]<<4))&0xffff;\x0a\x20\x20\x20\x20//let\x20hash_shift\x20=\x200,\x20hash_mask\x20=\x20255;\x0a\x20\x20\x20\x20//let\x20h\x20=\x20data[i+1]\x20%\x20251;\x0a\x20\x20\x20\x20//h\x20=\x20(((h\x20<<\x208)\x20+\x20data[i+2])\x20%\x20251);\x0a\x20\x20\x20\x20//h\x20=\x20(((h\x20<<\x208)\x20+\x20data[i+2])\x20%\x20251);\x0a\x20\x20\x20\x20//h\x20=\x20((h<<hash_shift)\x20^\x20(c)\x20)\x20&\x20hash_mask;\x0a\x20\x20\x20\x20//return\x20h\x20|\x20(data[i]<<8);\x0a\x20\x20\x20\x20//return\x20(data[i]\x20|\x20(data[i+1]<<8));\x0a}\x0a//UZIP.___toth\x20=\x200;\x0aUZIP.saved\x20=\x200;\x0aUZIP.F._writeBlock\x20=\x20function(BFINAL,\x20lits,\x20li,\x20ebits,\x20data,o0,l0,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U,\x20putsF\x20=\x20UZIP.F._putsF,\x20putsE\x20=\x20UZIP.F._putsE;\x0a\x0a\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20let\x20T,\x20ML,\x20MD,\x20MH,\x20numl,\x20numd,\x20numh,\x20lset,\x20dset;\x20\x20U.lhst[256]++;\x0a\x20\x20\x20\x20T\x20=\x20UZIP.F.getTrees();\x20ML=T[0];\x20MD=T[1];\x20MH=T[2];\x20numl=T[3];\x20numd=T[4];\x20numh=T[5];\x20lset=T[6];\x20dset=T[7];\x0a\x0a\x20\x20\x20\x20let\x20cstSize\x20=\x20(((pos+3)&7)==0\x20?\x200\x20:\x208-((pos+3)&7))\x20+\x2032\x20+\x20(l0<<3);\x0a\x20\x20\x20\x20let\x20fxdSize\x20=\x20ebits\x20+\x20UZIP.F.contSize(U.fltree,\x20U.lhst)\x20+\x20UZIP.F.contSize(U.fdtree,\x20U.dhst);\x0a\x20\x20\x20\x20let\x20dynSize\x20=\x20ebits\x20+\x20UZIP.F.contSize(U.ltree\x20,\x20U.lhst)\x20+\x20UZIP.F.contSize(U.dtree\x20,\x20U.dhst);\x0a\x20\x20\x20\x20dynSize\x20\x20\x20\x20+=\x2014\x20+\x203*numh\x20+\x20UZIP.F.contSize(U.itree,\x20U.ihst)\x20+\x20(U.ihst[16]*2\x20+\x20U.ihst[17]*3\x20+\x20U.ihst[18]*7);\x0a\x0a\x20\x20\x20\x20for(let\x20j=0;\x20j<286;\x20j++)\x20U.lhst[j]=0;\x20\x20\x20for(let\x20j=0;\x20j<30;\x20j++)\x20U.dhst[j]=0;\x20\x20\x20for(let\x20j=0;\x20j<19;\x20j++)\x20U.ihst[j]=0;\x0a\x20\x20\x20\x20//*/\x0a\x20\x20\x20\x20let\x20BTYPE\x20=\x20(cstSize<fxdSize\x20&&\x20cstSize<dynSize)\x20?\x200\x20:\x20(\x20fxdSize<dynSize\x20?\x201\x20:\x202\x20);\x0a\x20\x20\x20\x20putsF(out,\x20pos,\x20BFINAL);\x20\x20putsF(out,\x20pos+1,\x20BTYPE);\x20\x20pos+=3;\x0a\x0a\x20\x20\x20\x20let\x20opos\x20=\x20pos;\x0a\x20\x20\x20\x20if(BTYPE==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20while((pos&7)!=0)\x20pos++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._copyExact(data,\x20o0,\x20l0,\x20out,\x20pos);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20ltree,\x20dtree;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==1)\x20{\x20\x20ltree=U.fltree;\x20\x20dtree=U.fdtree;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.ltree,\x20ML);\x20\x20UZIP.F.revCodes(U.ltree,\x20ML);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.dtree,\x20MD);\x20\x20UZIP.F.revCodes(U.dtree,\x20MD);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.itree,\x20MH);\x20\x20UZIP.F.revCodes(U.itree,\x20MH);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ltree\x20=\x20U.ltree;\x20\x20dtree\x20=\x20U.dtree;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numl-257);\x20\x20pos+=5;\x20\x20//\x20286\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numd-\x20\x201);\x20\x20pos+=5;\x20\x20//\x2030\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numh-\x20\x204);\x20\x20pos+=4;\x20\x20//\x2019\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<numh;\x20i++)\x20putsE(out,\x20pos+i*3,\x20U.itree[(U.ordr[i]<<1)+1]);\x20\x20\x20pos+=3*\x20numh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._codeTiny(lset,\x20U.itree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._codeTiny(dset,\x20U.itree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20off=o0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20si=0;\x20si<li;\x20si+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20qb=lits[si],\x20len=(qb>>>23),\x20end\x20=\x20off+(qb&((1<<23)-1));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(off<end)\x20pos\x20=\x20UZIP.F._writeLit(data[off++],\x20ltree,\x20out,\x20pos);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(len!=0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20qc\x20=\x20lits[si+1],\x20dst=(qc>>16),\x20lgi=(qc>>8)&255,\x20dgi=(qc&255);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(257+lgi,\x20ltree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,\x20len-U.of0[lgi]);\x20\x20pos+=U.exb[lgi];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(dgi,\x20dtree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsF(out,\x20pos,\x20dst-U.df0[dgi]);\x20\x20pos+=U.dxb[dgi];\x20\x20off+=len;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(256,\x20ltree,\x20out,\x20pos);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(pos-opos,\x20fxdSize,\x20dynSize,\x20cstSize);\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._copyExact\x20=\x20function(data,off,len,out,pos)\x20{\x0a\x20\x20\x20\x20let\x20p8\x20=\x20(pos>>>3);\x0a\x20\x20\x20\x20out[p8]=(len);\x20\x20out[p8+1]=(len>>>8);\x20\x20out[p8+2]=255-out[p8];\x20\x20out[p8+3]=255-out[p8+1];\x20\x20p8+=4;\x0a\x20\x20\x20\x20out.set(new\x20Uint8Array(data.buffer,\x20off,\x20len),\x20p8);\x0a\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20out[p8+i]=data[off+i];\x0a\x20\x20\x20\x20return\x20pos\x20+\x20((len+4)<<3);\x0a}\x0a/*\x0a\x09Interesting\x20facts:\x0a\x09-\x20decompressed\x20block\x20can\x20have\x20bytes,\x20which\x20do\x20not\x20occur\x20in\x20a\x20Huffman\x20tree\x20(copied\x20from\x20the\x20previous\x20block\x20by\x20reference)\x0a*/\x0a\x0aUZIP.F.getTrees\x20=\x20function()\x20{\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20ML\x20=\x20UZIP.F._hufTree(U.lhst,\x20U.ltree,\x2015);\x0a\x20\x20\x20\x20let\x20MD\x20=\x20UZIP.F._hufTree(U.dhst,\x20U.dtree,\x2015);\x0a\x20\x20\x20\x20let\x20lset\x20=\x20[],\x20numl\x20=\x20UZIP.F._lenCodes(U.ltree,\x20lset);\x0a\x20\x20\x20\x20let\x20dset\x20=\x20[],\x20numd\x20=\x20UZIP.F._lenCodes(U.dtree,\x20dset);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<lset.length;\x20i+=2)\x20U.ihst[lset[i]]++;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<dset.length;\x20i+=2)\x20U.ihst[dset[i]]++;\x0a\x20\x20\x20\x20let\x20MH\x20=\x20UZIP.F._hufTree(U.ihst,\x20U.itree,\x20\x207);\x0a\x20\x20\x20\x20let\x20numh\x20=\x2019;\x20\x20while(numh>4\x20&&\x20U.itree[(U.ordr[numh-1]<<1)+1]==0)\x20numh--;\x0a\x20\x20\x20\x20return\x20[ML,\x20MD,\x20MH,\x20numl,\x20numd,\x20numh,\x20lset,\x20dset];\x0a}\x0aUZIP.F.getSecond=\x20function(a)\x20{\x20\x20let\x20b=[];\x20\x20for(let\x20i=0;\x20i<a.length;\x20i+=2)\x20b.push\x20\x20(a[i+1]);\x20\x20return\x20b;\x20\x20}\x0aUZIP.F.nonZero\x20\x20=\x20function(a)\x20{\x20\x20let\x20b=\x20\x22\x22;\x20\x20for(let\x20i=0;\x20i<a.length;\x20i+=2)\x20if(a[i+1]!=0)b+=(i>>1)+\x22,\x22;\x20\x20return\x20b;\x20\x20}\x0aUZIP.F.contSize\x20=\x20function(tree,\x20hst)\x20{\x20\x20let\x20s=0;\x20\x20for(let\x20i=0;\x20i<hst.length;\x20i++)\x20s+=\x20hst[i]*tree[(i<<1)+1];\x20\x20return\x20s;\x20\x20}\x0aUZIP.F._codeTiny\x20=\x20function(set,\x20tree,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<set.length;\x20i+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20l\x20=\x20set[i],\x20rst\x20=\x20set[i+1];\x20\x20//console.log(l,\x20pos,\x20tree[(l<<1)+1]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(l,\x20tree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20rsl\x20=\x20l==16\x20?\x202\x20:\x20(l==17\x20?\x203\x20:\x207);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(l>15)\x20{\x20\x20UZIP.F._putsE(out,\x20pos,\x20rst,\x20rsl);\x20\x20pos+=rsl;\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._lenCodes\x20=\x20function(tree,\x20set)\x20{\x0a\x20\x20\x20\x20let\x20len=tree.length;\x20\x20while(len!=2\x20&&\x20tree[len-1]==0)\x20len-=2;\x20\x20//\x20when\x20no\x20distances,\x20keep\x20one\x20code\x20with\x20length\x200\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<len;\x20i+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20l\x20=\x20tree[i+1],\x20nxt\x20=\x20(i+3<len\x20?\x20tree[i+3]:-1),\x20\x20nnxt\x20=\x20(i+5<len\x20?\x20tree[i+5]:-1),\x20\x20prv\x20=\x20(i==0\x20?\x20-1\x20:\x20tree[i-1]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(l==0\x20&&\x20nxt==l\x20&&\x20nnxt==l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lz\x20=\x20i+5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(lz+2<len\x20&&\x20tree[lz+2]==l)\x20lz+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20zc\x20=\x20Math.min((lz+1-i)>>>1,\x20138);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(zc<11)\x20set.push(17,\x20zc-3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20set.push(18,\x20zc-11);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i\x20+=\x20zc*2-2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(l==prv\x20&&\x20nxt==l\x20&&\x20nnxt==l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lz\x20=\x20i+5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(lz+2<len\x20&&\x20tree[lz+2]==l)\x20lz+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20zc\x20=\x20Math.min((lz+1-i)>>>1,\x206);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20set.push(16,\x20zc-3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i\x20+=\x20zc*2-2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20set.push(l,\x200);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20len>>>1;\x0a}\x0aUZIP.F._hufTree\x20\x20\x20=\x20function(hst,\x20tree,\x20MAXL)\x20{\x0a\x20\x20\x20\x20let\x20list=[],\x20hl\x20=\x20hst.length,\x20tl=tree.length,\x20i=0;\x0a\x20\x20\x20\x20for(i=0;\x20i<tl;\x20i+=2)\x20{\x20\x20tree[i]=0;\x20\x20tree[i+1]=0;\x20\x20}\x0a\x20\x20\x20\x20for(i=0;\x20i<hl;\x20i++)\x20if(hst[i]!=0)\x20list.push({lit:i,\x20f:hst[i]});\x0a\x20\x20\x20\x20let\x20end\x20=\x20list.length,\x20l2=list.slice(0);\x0a\x20\x20\x20\x20if(end==0)\x20return\x200;\x20\x20//\x20empty\x20histogram\x20(usually\x20for\x20dist)\x0a\x20\x20\x20\x20if(end==1)\x20{\x20\x20let\x20lit=list[0].lit,\x20l2=lit==0?1:0;\x20\x20tree[(lit<<1)+1]=1;\x20\x20tree[(l2<<1)+1]=1;\x20\x20return\x201;\x20\x20}\x0a\x20\x20\x20\x20list.sort(function(a,b){return\x20a.f-b.f;});\x0a\x20\x20\x20\x20let\x20a=list[0],\x20b=list[1],\x20i0=0,\x20i1=1,\x20i2=2;\x20\x20list[0]={lit:-1,f:a.f+b.f,l:a,r:b,d:0};\x0a\x20\x20\x20\x20while(i1!=end-1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i0!=i1\x20&&\x20(i2==end\x20||\x20list[i0].f<list[i2].f))\x20{\x20\x20a=list[i0++];\x20\x20}\x20\x20else\x20{\x20\x20a=list[i2++];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i0!=i1\x20&&\x20(i2==end\x20||\x20list[i0].f<list[i2].f))\x20{\x20\x20b=list[i0++];\x20\x20}\x20\x20else\x20{\x20\x20b=list[i2++];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20list[i1++]={lit:-1,f:a.f+b.f,\x20l:a,r:b};\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20maxl\x20=\x20UZIP.F.setDepth(list[i1-1],\x200);\x0a\x20\x20\x20\x20if(maxl>MAXL)\x20{\x20\x20UZIP.F.restrictDepth(l2,\x20MAXL,\x20maxl);\x20\x20maxl\x20=\x20MAXL;\x20\x20}\x0a\x20\x20\x20\x20for(i=0;\x20i<end;\x20i++)\x20tree[(l2[i].lit<<1)+1]=l2[i].d;\x0a\x20\x20\x20\x20return\x20maxl;\x0a}\x0a\x0aUZIP.F.setDepth\x20\x20=\x20function(t,\x20d)\x20{\x0a\x20\x20\x20\x20if(t.lit!=-1)\x20{\x20\x20t.d=d;\x20\x20return\x20d;\x20\x20}\x0a\x20\x20\x20\x20return\x20Math.max(\x20UZIP.F.setDepth(t.l,\x20d+1),\x20\x20UZIP.F.setDepth(t.r,\x20d+1)\x20);\x0a}\x0a\x0aUZIP.F.restrictDepth\x20=\x20function(dps,\x20MD,\x20maxl)\x20{\x0a\x20\x20\x20\x20let\x20i=0,\x20bCost=1<<(maxl-MD),\x20dbt=0;\x0a\x20\x20\x20\x20dps.sort(function(a,b){return\x20b.d==a.d\x20?\x20a.f-b.f\x20:\x20b.d-a.d;});\x0a\x0a\x20\x20\x20\x20for(i=0;\x20i<dps.length;\x20i++)\x20if(dps[i].d>MD)\x20{\x20\x20let\x20od=dps[i].d;\x20\x20dps[i].d=MD;\x20\x20dbt+=bCost-(1<<(maxl-od));\x20\x20}\x20\x20else\x20break;\x0a\x20\x20\x20\x20dbt\x20=\x20dbt>>>(maxl-MD);\x0a\x20\x20\x20\x20while(dbt>0)\x20{\x20\x20let\x20od=dps[i].d;\x20\x20if(od<MD)\x20{\x20\x20dps[i].d++;\x20\x20dbt-=(1<<(MD-od-1));\x20\x20}\x20\x20else\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20for(;\x20i>=0;\x20i--)\x20if(dps[i].d==MD\x20&&\x20dbt<0)\x20{\x20\x20dps[i].d--;\x20\x20dbt++;\x20\x20}\x20\x20if(dbt!=0)\x20console.log(\x22debt\x20left\x22);\x0a}\x0a\x0aUZIP.F._goodIndex\x20=\x20function(v,\x20arr)\x20{\x0a\x20\x20\x20\x20let\x20i=0;\x20\x20if(arr[i|16]<=v)\x20i|=16;\x20\x20if(arr[i|8]<=v)\x20i|=8;\x20\x20if(arr[i|4]<=v)\x20i|=4;\x20\x20if(arr[i|2]<=v)\x20i|=2;\x20\x20if(arr[i|1]<=v)\x20i|=1;\x20\x20return\x20i;\x0a}\x0aUZIP.F._writeLit\x20=\x20function(ch,\x20ltree,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20UZIP.F._putsF(out,\x20pos,\x20ltree[ch<<1]);\x0a\x20\x20\x20\x20return\x20pos+ltree[(ch<<1)+1];\x0a}\x0aUZIP.F.inflate\x20=\x20function(data,\x20buf)\x20{\x0a\x20\x20\x20\x20let\x20u8=Uint8Array;\x0a\x20\x20\x20\x20if(data[0]==3\x20&&\x20data[1]==0)\x20return\x20(buf\x20?\x20buf\x20:\x20new\x20u8(0));\x0a\x20\x20\x20\x20let\x20F=UZIP.F,\x20bitsF\x20=\x20F._bitsF,\x20bitsE\x20=\x20F._bitsE,\x20decodeTiny\x20=\x20F._decodeTiny,\x20makeCodes\x20=\x20F.makeCodes,\x20codes2map=F.codes2map,\x20get17\x20=\x20F._get17;\x0a\x20\x20\x20\x20let\x20U\x20=\x20F.U;\x0a\x0a\x20\x20\x20\x20let\x20noBuf\x20=\x20(buf==null);\x0a\x20\x20\x20\x20if(noBuf)\x20buf\x20=\x20new\x20u8((data.length>>>2)<<3);\x0a\x0a\x20\x20\x20\x20let\x20BFINAL=0,\x20BTYPE=0,\x20HLIT=0,\x20HDIST=0,\x20HCLEN=0,\x20ML=0,\x20MD=0;\x0a\x20\x20\x20\x20let\x20off\x20=\x200,\x20pos\x20=\x200;\x0a\x20\x20\x20\x20let\x20lmap,\x20dmap;\x0a\x0a\x20\x20\x20\x20while(BFINAL==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20BFINAL\x20=\x20bitsF(data,\x20pos\x20\x20,\x201);\x0a\x20\x20\x20\x20\x20\x20\x20\x20BTYPE\x20\x20=\x20bitsF(data,\x20pos+1,\x202);\x20\x20pos+=3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(BFINAL,\x20BTYPE);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((pos&7)!=0)\x20pos+=8-(pos&7);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20p8\x20=\x20(pos>>>3)+4,\x20len\x20=\x20data[p8-4]|(data[p8-3]<<8);\x20\x20//console.log(len);//bitsF(data,\x20pos,\x2016),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+len);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20buf.set(new\x20u8(data.buffer,\x20data.byteOffset+p8,\x20len),\x20off);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20buf[off+i]\x20=\x20data[p8+i];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20if(buf[off+i]\x20!=\x20data[p8+i])\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20((p8+len)<<3);\x20\x20off+=len;\x20\x20continue;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+(1<<17));\x20\x20//\x20really\x20not\x20enough\x20in\x20many\x20cases\x20(but\x20PNG\x20and\x20ZIP\x20provide\x20buffer\x20in\x20advance)\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==1)\x20{\x20\x20lmap\x20=\x20U.flmap;\x20\x20dmap\x20=\x20U.fdmap;\x20\x20ML\x20=\x20(1<<9)-1;\x20\x20MD\x20=\x20(1<<5)-1;\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HLIT\x20\x20=\x20bitsE(data,\x20pos\x20\x20\x20,\x205)+257;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HDIST\x20=\x20bitsE(data,\x20pos+\x205,\x205)+\x20\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HCLEN\x20=\x20bitsE(data,\x20pos+10,\x204)+\x20\x204;\x20\x20pos+=14;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ppos\x20=\x20pos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<38;\x20i+=2)\x20{\x20\x20U.itree[i]=0;\x20\x20U.itree[i+1]=0;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20tl\x20=\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<HCLEN;\x20i++)\x20{\x20\x20let\x20l=bitsE(data,\x20pos+i*3,\x203);\x20\x20U.itree[(U.ordr[i]<<1)+1]\x20=\x20l;\x20\x20if(l>tl)tl=l;\x20\x20}\x20\x20\x20\x20\x20pos+=3*HCLEN;\x20\x20//console.log(itree);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.itree,\x20tl);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.itree,\x20tl,\x20U.imap);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lmap\x20=\x20U.lmap;\x20\x20dmap\x20=\x20U.dmap;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HLIT+HDIST,\x20data,\x20pos,\x20U.ttree);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mx0\x20=\x20F._copyOut(U.ttree,\x20\x20\x20\x200,\x20HLIT\x20,\x20U.ltree);\x20\x20ML\x20=\x20(1<<mx0)-1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mx1\x20=\x20F._copyOut(U.ttree,\x20HLIT,\x20HDIST,\x20U.dtree);\x20\x20MD\x20=\x20(1<<mx1)-1;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20ml\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HLIT\x20,\x20data,\x20pos,\x20U.ltree);\x20ML\x20=\x20(1<<(ml>>>24))-1;\x20\x20pos+=(ml&0xffffff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.ltree,\x20mx0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.ltree,\x20mx0,\x20lmap);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20md\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HDIST,\x20data,\x20pos,\x20U.dtree);\x20MD\x20=\x20(1<<(md>>>24))-1;\x20\x20pos+=(md&0xffffff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.dtree,\x20mx1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.dtree,\x20mx1,\x20dmap);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20//let\x20ooff=off,\x20opos=pos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(true)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20lmap[get17(data,\x20pos)\x20&\x20ML];\x20\x20pos\x20+=\x20code&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20code>>>4;\x20\x20//U.lhst[lit]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((lit>>>8)==0)\x20{\x20\x20buf[off++]\x20=\x20lit;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==256)\x20{\x20\x20break;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20end\x20=\x20off+lit-254;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(lit>264)\x20{\x20let\x20ebs\x20=\x20U.ldef[lit-257];\x20\x20end\x20=\x20off\x20+\x20(ebs>>>3)\x20+\x20bitsE(data,\x20pos,\x20ebs&7);\x20\x20pos\x20+=\x20ebs&7;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//UZIP.F.dst[end-off]++;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dcode\x20=\x20dmap[get17(data,\x20pos)\x20&\x20MD];\x20\x20pos\x20+=\x20dcode&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dlit\x20=\x20dcode>>>4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dbs\x20=\x20U.ddef[dlit],\x20dst\x20=\x20(dbs>>>4)\x20+\x20bitsF(data,\x20pos,\x20dbs&15);\x20\x20pos\x20+=\x20dbs&15;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20o0\x20=\x20off-dst,\x20stp\x20=\x20Math.min(end-off,\x20dst);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(stp>20)\x20while(off<end)\x20{\x20\x20buf.copyWithin(off,\x20o0,\x20o0+stp);\x20\x20off+=stp;\x20\x20}\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(end-dst<=off)\x20buf.copyWithin(off,\x20off-dst,\x20end-dst);\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(dst==1)\x20buf.fill(buf[off-1],\x20off,\x20end);\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+(1<<17));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(off<end)\x20{\x20\x20buf[off]=buf[off++-dst];\x20\x20\x20\x20buf[off]=buf[off++-dst];\x20\x20buf[off]=buf[off++-dst];\x20\x20buf[off]=buf[off++-dst];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20off=end;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//while(off!=end)\x20{\x20\x20buf[off]=buf[off++-dst];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(off-ooff,\x20(pos-opos)>>>3);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(UZIP.F.dst);\x0a\x20\x20\x20\x20//console.log(tlen,\x20dlen,\x20off-tlen+tcnt);\x0a\x20\x20\x20\x20return\x20buf.length==off\x20?\x20buf\x20:\x20buf.slice(0,off);\x0a}\x0aUZIP.F._check=function(buf,\x20len)\x20{\x0a\x20\x20\x20\x20let\x20bl=buf.length;\x20\x20if(len<=bl)\x20return\x20buf;\x0a\x20\x20\x20\x20let\x20nbuf\x20=\x20new\x20Uint8Array(Math.max(bl<<1,len));\x20\x20nbuf.set(buf,0);\x0a\x20\x20\x20\x20//for(let\x20i=0;\x20i<bl;\x20i+=4)\x20{\x20\x20nbuf[i]=buf[i];\x20\x20nbuf[i+1]=buf[i+1];\x20\x20nbuf[i+2]=buf[i+2];\x20\x20nbuf[i+3]=buf[i+3];\x20\x20}\x0a\x20\x20\x20\x20return\x20nbuf;\x0a}\x0a\x0aUZIP.F._decodeTiny\x20=\x20function(lmap,\x20LL,\x20len,\x20data,\x20pos,\x20tree)\x20{\x0a\x20\x20\x20\x20let\x20bitsE\x20=\x20UZIP.F._bitsE,\x20get17\x20=\x20UZIP.F._get17;\x0a\x20\x20\x20\x20let\x20i\x20=\x200;\x0a\x20\x20\x20\x20while(i<len)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20lmap[get17(data,\x20pos)&LL];\x20\x20pos+=code&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20code>>>4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(lit<=15)\x20{\x20\x20tree[i]=lit;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ll\x20=\x200,\x20n\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(lit==16)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(3\x20\x20+\x20bitsE(data,\x20pos,\x202));\x20\x20pos\x20+=\x202;\x20\x20ll\x20=\x20tree[i-1];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==17)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(3\x20\x20+\x20bitsE(data,\x20pos,\x203));\x20\x20pos\x20+=\x203;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==18)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(11\x20+\x20bitsE(data,\x20pos,\x207));\x20\x20pos\x20+=\x207;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ni\x20=\x20i+n;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(i<ni)\x20{\x20\x20tree[i]=ll;\x20\x20i++;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._copyOut\x20=\x20function(src,\x20off,\x20len,\x20tree)\x20{\x0a\x20\x20\x20\x20let\x20mx=0,\x20i=0,\x20tl=tree.length>>>1;\x0a\x20\x20\x20\x20while(i<len)\x20{\x20\x20let\x20v=src[i+off];\x20\x20tree[(i<<1)]=0;\x20\x20tree[(i<<1)+1]=v;\x20\x20if(v>mx)mx=v;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20while(i<tl\x20)\x20{\x20\x20tree[(i<<1)]=0;\x20\x20tree[(i<<1)+1]=0;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20return\x20mx;\x0a}\x0a\x0aUZIP.F.makeCodes\x20=\x20function(tree,\x20MAX_BITS)\x20{\x20\x20//\x20code,\x20length\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20max_code\x20=\x20tree.length;\x0a\x20\x20\x20\x20let\x20code,\x20bits,\x20n,\x20i,\x20len;\x0a\x0a\x20\x20\x20\x20let\x20bl_count\x20=\x20U.bl_count;\x20\x20for(let\x20i=0;\x20i<=MAX_BITS;\x20i++)\x20bl_count[i]=0;\x0a\x20\x20\x20\x20for(i=1;\x20i<max_code;\x20i+=2)\x20bl_count[tree[i]]++;\x0a\x0a\x20\x20\x20\x20let\x20next_code\x20=\x20U.next_code;\x09//\x20smallest\x20code\x20for\x20each\x20length\x0a\x0a\x20\x20\x20\x20code\x20=\x200;\x0a\x20\x20\x20\x20bl_count[0]\x20=\x200;\x0a\x20\x20\x20\x20for\x20(bits\x20=\x201;\x20bits\x20<=\x20MAX_BITS;\x20bits++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20code\x20=\x20(code\x20+\x20bl_count[bits-1])\x20<<\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20next_code[bits]\x20=\x20code;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20for\x20(n\x20=\x200;\x20n\x20<\x20max_code;\x20n+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20len\x20=\x20tree[n+1];\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(len\x20!=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tree[n]\x20=\x20next_code[len];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_code[len]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F.codes2map\x20=\x20function(tree,\x20MAX_BITS,\x20map)\x20{\x0a\x20\x20\x20\x20let\x20max_code\x20=\x20tree.length;\x0a\x20\x20\x20\x20let\x20U=UZIP.F.U,\x20r15\x20=\x20U.rev15;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<max_code;\x20i+=2)\x20if(tree[i+1]!=0)\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20i>>1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20cl\x20=\x20tree[i+1],\x20val\x20=\x20(lit<<4)|cl;\x20//\x20:\x20\x20(0x8000\x20|\x20(U.of0[lit-257]<<7)\x20|\x20(U.exb[lit-257]<<4)\x20|\x20cl);\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20rest\x20=\x20(MAX_BITS-cl),\x20i0\x20=\x20tree[i]<<rest,\x20i1\x20=\x20i0\x20+\x20(1<<rest);\x0a\x20\x20\x20\x20\x20\x20\x20\x20//tree[i]=r15[i0]>>>(15-MAX_BITS);\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(i0!=i1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20p0\x20=\x20r15[i0]>>>(15-MAX_BITS);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20map[p0]=val;\x20\x20i0++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F.revCodes\x20=\x20function(tree,\x20MAX_BITS)\x20{\x0a\x20\x20\x20\x20let\x20r15\x20=\x20UZIP.F.U.rev15,\x20imb\x20=\x2015-MAX_BITS;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<tree.length;\x20i+=2)\x20{\x20\x20let\x20i0\x20=\x20(tree[i]<<(MAX_BITS-tree[i+1]));\x20\x20tree[i]\x20=\x20r15[i0]>>>imb;\x20\x20}\x0a}\x0a\x0a//\x20used\x20only\x20in\x20deflate\x0aUZIP.F._putsE=\x20function(dt,\x20pos,\x20val\x20\x20\x20)\x20{\x20\x20val\x20=\x20val<<(pos&7);\x20\x20let\x20o=(pos>>>3);\x20\x20dt[o]|=val;\x20\x20dt[o+1]|=(val>>>8);\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0aUZIP.F._putsF=\x20function(dt,\x20pos,\x20val\x20\x20\x20)\x20{\x20\x20val\x20=\x20val<<(pos&7);\x20\x20let\x20o=(pos>>>3);\x20\x20dt[o]|=val;\x20\x20dt[o+1]|=(val>>>8);\x20\x20dt[o+2]|=(val>>>16);\x20\x20}\x0a\x0aUZIP.F._bitsE=\x20function(dt,\x20pos,\x20length)\x20{\x20\x20return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)>>>(pos&7))&((1<<length)-1);\x20\x20}\x0aUZIP.F._bitsF=\x20function(dt,\x20pos,\x20length)\x20{\x20\x20return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16))>>>(pos&7))&((1<<length)-1);\x20\x20}\x0a/*\x0aUZIP.F._get9\x20=\x20function(dt,\x20pos)\x20{\x0a\x09return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8))>>>(pos&7))&511;\x0a}\x20*/\x0aUZIP.F._get17=\x20function(dt,\x20pos)\x20{\x09//\x20return\x20at\x20least\x2017\x20meaningful\x20bytes\x0a\x20\x20\x20\x20return\x20(dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16)\x20)>>>(pos&7);\x0a}\x0aUZIP.F._get25=\x20function(dt,\x20pos)\x20{\x09//\x20return\x20at\x20least\x2017\x20meaningful\x20bytes\x0a\x20\x20\x20\x20return\x20(dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16)\x20|\x20(dt[(pos>>>3)+3]<<24)\x20)>>>(pos&7);\x0a}\x0aUZIP.F.U\x20=\x20function(){\x0a\x20\x20\x20\x20let\x20u16=Uint16Array,\x20u32=Uint32Array;\x0a\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20next_code\x20:\x20new\x20u16(16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20bl_count\x20\x20:\x20new\x20u16(16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ordr\x20:\x20[\x2016,\x2017,\x2018,\x200,\x208,\x207,\x209,\x206,\x2010,\x205,\x2011,\x204,\x2012,\x203,\x2013,\x202,\x2014,\x201,\x2015\x20],\x0a\x20\x20\x20\x20\x20\x20\x20\x20of0\x20\x20:\x20[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],\x0a\x20\x20\x20\x20\x20\x20\x20\x20exb\x20\x20:\x20[0,0,0,0,0,0,0,\x200,\x201,\x201,\x201,\x201,\x202,\x202,\x202,\x202,\x203,\x203,\x203,\x203,\x204,\x204,\x204,\x20\x204,\x20\x205,\x20\x205,\x20\x205,\x20\x205,\x20\x200,\x20\x200,\x20\x200,\x20\x200],\x0a\x20\x20\x20\x20\x20\x20\x20\x20ldef\x20:\x20new\x20u16(32),\x0a\x20\x20\x20\x20\x20\x20\x20\x20df0\x20\x20:\x20[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,\x2065535,\x2065535],\x0a\x20\x20\x20\x20\x20\x20\x20\x20dxb\x20\x20:\x20[0,0,0,0,1,1,2,\x202,\x203,\x203,\x204,\x204,\x205,\x205,\x20\x206,\x20\x206,\x20\x207,\x20\x207,\x20\x208,\x20\x208,\x20\x20\x209,\x20\x20\x209,\x20\x2010,\x20\x2010,\x20\x2011,\x20\x2011,\x20\x2012,\x20\x20\x2012,\x20\x20\x2013,\x20\x20\x2013,\x20\x20\x20\x20\x200,\x20\x20\x20\x20\x200],\x0a\x20\x20\x20\x20\x20\x20\x20\x20ddef\x20:\x20new\x20u32(32),\x0a\x20\x20\x20\x20\x20\x20\x20\x20flmap:\x20new\x20u16(\x20\x20512),\x20\x20fltree:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20fdmap:\x20new\x20u16(\x20\x20\x2032),\x20\x20fdtree:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20lmap\x20:\x20new\x20u16(32768),\x20\x20ltree\x20:\x20[],\x20\x20ttree:[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20dmap\x20:\x20new\x20u16(32768),\x20\x20dtree\x20:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20imap\x20:\x20new\x20u16(\x20\x20512),\x20\x20itree\x20:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20//rev9\x20:\x20new\x20u16(\x20\x20512)\x0a\x20\x20\x20\x20\x20\x20\x20\x20rev15:\x20new\x20u16(1<<15),\x0a\x20\x20\x20\x20\x20\x20\x20\x20lhst\x20:\x20new\x20u32(286),\x20dhst\x20:\x20new\x20u32(\x2030),\x20ihst\x20:\x20new\x20u32(19),\x0a\x20\x20\x20\x20\x20\x20\x20\x20lits\x20:\x20new\x20u32(15000),\x0a\x20\x20\x20\x20\x20\x20\x20\x20strt\x20:\x20new\x20u16(1<<16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev\x20:\x20new\x20u16(1<<15)\x0a\x20\x20\x20\x20};\x0a}\x20();\x0a\x0a(function(){\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20len\x20=\x201<<15;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<len;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20x\x20=\x20i;\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xaaaaaaaa)\x20>>>\x201)\x20|\x20((x\x20&\x200x55555555)\x20<<\x201));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xcccccccc)\x20>>>\x202)\x20|\x20((x\x20&\x200x33333333)\x20<<\x202));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xf0f0f0f0)\x20>>>\x204)\x20|\x20((x\x20&\x200x0f0f0f0f)\x20<<\x204));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xff00ff00)\x20>>>\x208)\x20|\x20((x\x20&\x200x00ff00ff)\x20<<\x208));\x0a\x20\x20\x20\x20\x20\x20\x20\x20U.rev15[i]\x20=\x20(((x\x20>>>\x2016)\x20|\x20(x\x20<<\x2016)))>>>17;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20pushV(tgt,\x20n,\x20sv)\x20{\x20\x20while(n--!=0)\x20tgt.push(0,sv);\x20\x20}\x0a\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<32;\x20i++)\x20{\x20\x20U.ldef[i]=(U.of0[i]<<3)|U.exb[i];\x20\x20U.ddef[i]=(U.df0[i]<<4)|U.dxb[i];\x20\x20}\x0a\x0a\x20\x20\x20\x20pushV(U.fltree,\x20144,\x208);\x20\x20pushV(U.fltree,\x20255-143,\x209);\x20\x20pushV(U.fltree,\x20279-255,\x207);\x20\x20pushV(U.fltree,287-279,8);\x0a\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20let\x20i\x20=\x200;\x0a\x20\x20\x20\x20for(;\x20i<=143;\x20i++)\x20U.fltree.push(0,8);\x0a\x20\x20\x20\x20for(;\x20i<=255;\x20i++)\x20U.fltree.push(0,9);\x0a\x20\x20\x20\x20for(;\x20i<=279;\x20i++)\x20U.fltree.push(0,7);\x0a\x20\x20\x20\x20for(;\x20i<=287;\x20i++)\x20U.fltree.push(0,8);\x0a\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20UZIP.F.makeCodes(U.fltree,\x209);\x0a\x20\x20\x20\x20UZIP.F.codes2map(U.fltree,\x209,\x20U.flmap);\x0a\x20\x20\x20\x20UZIP.F.revCodes\x20(U.fltree,\x209)\x0a\x0a\x20\x20\x20\x20pushV(U.fdtree,32,5);\x0a\x20\x20\x20\x20//for(i=0;i<32;\x20i++)\x20U.fdtree.push(0,5);\x0a\x20\x20\x20\x20UZIP.F.makeCodes(U.fdtree,\x205);\x0a\x20\x20\x20\x20UZIP.F.codes2map(U.fdtree,\x205,\x20U.fdmap);\x0a\x20\x20\x20\x20UZIP.F.revCodes\x20(U.fdtree,\x205)\x0a\x0a\x20\x20\x20\x20pushV(U.itree,19,0);\x20\x20pushV(U.ltree,286,0);\x20\x20pushV(U.dtree,30,0);\x20\x20pushV(U.ttree,320,0);\x0a\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<\x2019;\x20i++)\x20U.itree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<286;\x20i++)\x20U.ltree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<\x2030;\x20i++)\x20U.dtree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<320;\x20i++)\x20U.ttree.push(0,0);\x0a\x20\x20\x20\x20*/\x0a})();\x0a\x0a\x0a\x0alet\x20started\x20=\x20false;\x0alet\x20cloudFrontURL\x20=\x20\x22\x22;\x0alet\x20folderName\x20=\x20\x22\x22;\x0alet\x20lastRequest\x20=\x20{};//{tc:\x2200_00_00_00\x22,\x20path:\x22...\x22}\x0alet\x20lastTimeCodeFound\x20=\x20null;//for\x20statistics\x0alet\x20msecAvg\x20=\x20[];//for\x20statistics\x0aconst\x20delimiter\x20=\x20\x22_\x22;\x0alet\x20maxTimeCode\x20=\x20{};//don\x27t\x20pass\x20this\x20timecode\x0alet\x20enabled\x20=\x20true;\x0alet\x20isWorking\x20=\x20false;\x0a\x0aconst\x20HandleData\x20=\x20async\x20(data)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20result\x20=\x20UZIP.parse(data);\x0a\x20\x20\x20\x20let\x20sortedKeys\x20=\x20Object.keys(result).sort();\x0a\x09\x0a\x20\x20\x20\x20for\x20(const\x20key\x20of\x20sortedKeys)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(key.endsWith(\x22.json\x22))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20transferableArray\x20=\x20[];\x0a\x09\x09\x09const\x20metadata\x20=\x20JSON.parse(new\x20TextDecoder().decode(result[key]));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20tc\x20=\x20metadata.timecode.replace(/:/g,\x22_\x22);//replaceAll(\x22:\x22,\x20\x22_\x22);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(metadata.placeholders)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(const\x20groupId\x20in\x20metadata.placeholders)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20alphaKey\x20=\x20`${tc}_${groupId}.alpha`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(result[alphaKey])\x20{\x0a\x09\x09\x09\x09\x09\x09metadata.placeholders[groupId].alphaAsUint8Array\x20=\x20result[alphaKey];//new\x20Uint8Array(result[alphaKey].buffer);\x0a\x09\x09\x09\x09\x09\x09transferableArray.push(result[alphaKey].buffer);\x0a\x09\x09\x09\x09\x09}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20postMessage(metadata,transferableArray);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0a\x0aconst\x20Str2TimeCode\x20=\x20(str)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20list\x20=\x20str.split(delimiter);\x0a\x20\x20\x20\x20const\x20timecode\x20=\x20{h:\x20parseInt(list[0]),\x20m:\x20parseInt(list[1]),\x20s:\x20parseInt(list[2]),\x20f:\x20parseInt(list[3])};\x0a\x20\x20\x20\x20return\x20timecode;\x0a}\x0aconst\x20TimeCode2Str\x20=\x20(timecode)\x20=>\x20{\x0a\x20\x20\x20\x20return\x20(\x220\x22\x20+\x20timecode.h).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.m).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.s).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.f).slice(-2);\x0a}\x0aconst\x20AddSecondsToTimeCode\x20=\x20(timecode,\x20seconds)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20ret\x20=\x20{...timecode};//cloning\x20araay\x0a\x09ret.s\x20+=\x20seconds;\x0a\x20\x20\x20\x20if\x20(ret.s\x20>=\x2060)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20ret.s\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20ret.m++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(ret.m\x20>=\x2060)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ret.m\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ret.h++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20ret;\x0a}\x0aconst\x20GetNextTimeCode_TC\x20=\x20(tc,\x20seconds\x20=\x200)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20timecode\x20=\x20Str2TimeCode(tc);\x0a\x20\x20\x20\x20if\x20(seconds)\x20timecode\x20=\x20AddSecondsToTimeCode(timecode,\x20seconds);\x0a\x09return\x20timecode;\x0a}\x0aconst\x20GetNextTimeCode\x20=\x20(tc,\x20seconds\x20=\x200)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20timecode\x20=\x20GetNextTimeCode_TC(tc,seconds);\x0a\x20\x20\x20\x20return\x20TimeCode2Str(timecode);\x0a}\x0a\x0a\x0aconst\x20IsTCBigger\x20=\x20(tc1,\x20tc2)\x20=>\x20{\x0a\x09//return\x20true\x20iif\x20tc1\x20>\x20tc2\x0a\x09if\x20(tc1.h\x20>\x20tc2.h)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.h\x20<\x20tc2.h)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.m\x20>\x20tc2.m)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.m\x20<\x20tc2.m)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.s\x20>\x20tc2.s)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.s\x20<\x20tc2.s)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.f\x20>\x20tc2.f)\x20return\x20true;\x0a\x09else\x20return\x20false;\x0a}\x0aconst\x20TryNextFrame\x20=\x20(seconds)\x20=>\x20{\x0a\x09if(!enabled)\x20return;\x0a\x09//if\x20the\x20required\x20time\x20code\x20exceed\x20the\x20max\x20time\x20code,\x20wait\x20a\x20bit\x0a\x09if\x20(seconds\x20>\x200\x20&&\x20IsTCBigger(GetNextTimeCode_TC(lastRequest.tc,\x20seconds),\x20maxTimeCode))\x20{\x0a\x09\x09//console.log(\x22the\x20current\x20TC\x20\x22,\x20GetNextTimeCode_TC(lastRequest.tc,\x20seconds),\x20\x22\x20is\x20bigger\x20than\x20the\x20max\x20time\x20code:\x20\x22,\x20maxTimeCode);//@oror\x0a\x09\x09setTimeout(()\x20=>\x20{\x0a\x09\x09\x09TryNextFrame(seconds);\x0a\x09\x09},\x20100);\x0a\x09}\x0a\x20\x20\x20\x20else\x20\x0a\x09{\x0a\x09\x09//console.log(\x22We\x27re\x20good\x20to\x20take\x20the\x20next\x20timecode\x22);//@oror\x0a\x09\x09setTimeout(()\x20=>\x20{\x0a\x09\x09\x09lastRequest.tc\x20=\x20GetNextTimeCode(lastRequest.tc,\x20seconds);\x0a\x09\x09\x09//console.log(\x22next\x20time\x20code:\x20\x22,\x20lastRequest.tc);//@oror\x0a\x09\x09\x09GetMetaData();\x0a\x09\x09\x09},\x200);\x0a\x09}\x0a}\x0a\x0aconst\x20AvgMetaDataMsec\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20let\x20sum\x20=\x200;\x0a\x20\x20\x20\x20for\x20(let\x20i\x20=\x200;\x20i\x20<\x20msecAvg.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20sum\x20+=\x20msecAvg[i];\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20sum\x20/\x20msecAvg.length;\x0a};\x0aconst\x20GetMetaData\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20\x20\x20isWorking\x20=\x20true;\x0a\x09const\x20item\x20=\x20lastRequest;\x0a\x20\x20\x20\x20const\x20url\x20=\x20`${item.path}/${item.tc}.zip`;\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20t1\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20res\x20=\x20await\x20fetch(url);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(res.status\x20>=\x20400)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(`${item.tc}\x20time\x20code\x20not\x20found,\x20url\x20is\x20${url}`);\x0a\x09\x09\x09let\x20now\x20=\x20performance.now();\x0a\x09\x09\x09let\x20msecSinceLastTimeDate\x20=\x20now\x20-\x20lastTimeCodeFound;\x0a\x09\x09\x09let\x20secSinceLastTimeDate\x20=\x20(msecSinceLastTimeDate/1000);\x0a\x09\x09\x09if\x20(secSinceLastTimeDate\x20>\x204)\x20{\x0a\x09\x09\x09\x09console.error(\x22Didn\x27t\x20find\x20timecode\x20\x22,\x20item.tc,\x20\x22,\x20now\x20for\x20\x22\x20+\x20secSinceLastTimeDate.toFixed(2)\x20+\x20\x22\x20seconds\x20-\x20give\x20up\x20!\x22);\x0a\x09\x09\x09\x09TryNextFrame(2);//try\x20the\x20same\x20time\x20\x20code\x20again\x0a\x09\x09\x09}\x0a\x09\x09\x09else\x20{\x0a\x09\x09\x09\x09console.error(\x22Didn\x27t\x20find\x20timecode\x20\x22,\x20item.tc,\x20\x22,\x20now\x20for\x20\x22\x20+\x20secSinceLastTimeDate.toFixed(2)\x20+\x20\x22\x20seconds\x22);\x0a\x09\x09\x09\x09TryNextFrame(0);//try\x20the\x20same\x20time\x20\x20code\x20again\x0a\x09\x09\x09}\x0a\x09\x09\x09isWorking\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20now\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20msecSinceLastTimeDate\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(lastTimeCodeFound)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20msecSinceLastTimeDate\x20=\x20now\x20-\x20lastTimeCodeFound;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20msecAvg.push(msecSinceLastTimeDate);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while\x20(msecAvg.length\x20>\x201000)\x20msecAvg.shift();\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20lastTimeCodeFound\x20=\x20now;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(`${item.tc}\x20time\x20code\x20found,\x20(${msecSinceLastTimeDate}\x20msec\x20from\x20last\x20time,\x20avg:\x20${AvgMetaDataMsec()})`);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20res.arrayBuffer();\x0a\x20\x20\x20\x20\x20\x20\x20\x20await\x20HandleData(data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20t2\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20//postMessage({time:\x20`Fetch\x20and\x20Decompress:\x20${t2\x20-\x20t1}\x20msec`});\x0a\x20\x20\x20\x20}\x20catch\x20(err)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(`Error\x20on\x20url\x20${url}`,\x20err);\x0a\x20\x20\x20\x20}\x0a\x09isWorking\x20=\x20false;\x0a\x20\x20\x20\x20TryNextFrame(2);\x0a}\x0a\x0aaddEventListener(\x22message\x22,\x20(request)\x20=>\x20{\x0a\x09if\x20(!started\x20&&\x20request.data.cloudFrontURL)\x20{\x0a\x09\x09started\x20=\x20true;\x0a\x09\x09cloudFrontURL\x20=\x20request.data.cloudFrontURL;\x0a\x09\x09folderName\x20=\x20request.data.folderName;\x0a\x09\x09let\x20tcReplaced\x20=\x20request.data.tc.replace(/:/g,\x22_\x22);//replaceAll(\x22:\x22,\x20\x22_\x22)\x0a\x09\x09lastRequest\x20=\x20{tc:\x20tcReplaced,\x20path:\x20`${cloudFrontURL}/${folderName}`};//from\x20the\x20lastReqest\x20object\x0a\x09\x09let\x20timeCode\x20=\x20Str2TimeCode(lastRequest.tc);//parse\x20the\x20time\x20code\x20string\x20into\x20a\x20real\x20time-code\x0a\x09\x09maxTimeCode\x20=\x20AddSecondsToTimeCode(Object.assign({},\x20timeCode),\x204);//set\x20the\x20max\x20limit\x20(on\x20a\x20clone)\x0a\x09\x09//set\x20the\x20timecode\x20needed\x20\x0a\x09\x09timeCode.f\x20=\x200;\x0a\x09\x09timeCode.s\x20=\x20timeCode.s\x20%\x202\x20===\x200\x20?\x20timeCode.s\x20:\x20timeCode.s\x20-\x201;\x0a\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09console.log(\x22Meta-data\x20worker\x20starting\x20from\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);//@oror\x0a\x09\x09GetMetaData();\x0a\x09}\x0a\x09else\x20{\x0a\x09\x09let\x20tcReplaced\x20=\x20request.data.tc.replace(/:/g,\x22_\x22);\x0a\x09\x09//console.log(\x22metaDataDownloader\x20new\x20timecode\x20=\x20\x22\x20+\x20tcReplaced);\x0a\x09\x09let\x20timeCode\x20=\x20Str2TimeCode(tcReplaced);\x0a\x09\x09timeCode.f\x20=\x200;\x0a\x09\x09timeCode.s\x20=\x20timeCode.s\x20%\x202\x20===\x200\x20?\x20timeCode.s\x20:\x20timeCode.s\x20-\x201;\x0a\x09\x09if\x20(IsTCBigger(timeCode,\x20maxTimeCode))\x0a\x09\x09{\x0a\x09\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09\x09console.log(\x22Meta-data\x20worker\x20jumps\x20forward\x20to\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);\x0a\x09\x09}\x0a\x09\x09if\x20(IsTCBigger(Str2TimeCode(lastRequest.tc),\x20AddSecondsToTimeCode(timeCode,4)))\x0a\x09\x09{\x0a\x09\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09\x09console.log(\x22Meta-data\x20worker\x20jumps\x20back\x20to\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);\x0a\x09\x09}\x0a\x09\x09maxTimeCode\x20=\x20AddSecondsToTimeCode(timeCode,\x204);\x0a\x09\x09if(!enabled\x20&&\x20request.data.enabled)\x0a\x09\x09{\x0a\x09\x09\x09enabled\x20=\x20request.data.enabled;\x09\x0a\x09\x09\x09if(!isWorking)\x20GetMetaData();\x0a\x09\x09}\x0a\x09\x09else\x20{\x0a\x09\x09\x09enabled\x20=\x20request.data.enabled;\x09\x0a\x09\x09}\x0a\x09\x09//console.log(\x22max\x20time\x20code:\x20\x22,\x20maxTimeCode);\x0a\x09}\x0a});\x0a\x0a}\x20catch\x20(e){\x0a\x09console.error(e);\x0a}','Mozilla','ANI2','channelName','metadata','texParameteri','HTTP\x20error!\x20Status:\x20','\x20dblFrame:\x20','requestVideoFrameCallback','getShaderInfoLog','InitGL','getUTCSeconds','appendChild','optionsFromMK:\x20','Error\x20compiling\x20shader:\x20','UNPACK_FLIP_Y_WEBGL','isAdLoop','digitImg','fetchAndFindGameIdAndOffsetFromMediaId','composer::SelectAd:\x20The\x20selected\x20ad\x20should\x20be\x20in\x20place\x20','MKsync','ntc','[-\x20/:;]([\x5cd._]+)','status','videoCopier','625212BwBKkU','addEventListener','\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//\x20an\x20attribute\x20is\x20an\x20input\x20(in)\x20to\x20a\x20vertex\x20shader.\x0a//\x20It\x20will\x20receive\x20vertex\x20data\x20from\x20the\x20buffer\x0aattribute\x20vec2\x20a_position;\x0aattribute\x20vec2\x20a_texCoord;\x0auniform\x20vec2\x20u_resolution;\x0avarying\x20vec2\x20v_texCoord;\x0a\x0a\x0a//\x20Main\x20vertex\x20shader\x0avoid\x20main()\x20{\x0a\x20\x20//\x20convert\x20the\x20rectangle\x20from\x20pixels\x20to\x200.0\x20to\x201.0\x0a\x20\x20\x20vec2\x20zeroToOne\x20=\x20a_position\x20/\x20u_resolution;\x0a\x0a\x20\x20\x20//\x20convert\x20from\x200->1\x20to\x200->2\x0a\x20\x20\x20vec2\x20zeroToTwo\x20=\x20zeroToOne\x20*\x202.0;\x0a\x0a\x20\x20\x20//\x20convert\x20from\x200->2\x20to\x20-1->+1\x20(clipspace)\x0a\x20\x20\x20vec2\x20clipSpace\x20=\x20zeroToTwo\x20-\x201.0;\x0a\x0a\x20\x20\x20gl_Position\x20=\x20vec4(clipSpace\x20*\x20vec2(1,\x20-1),\x200,\x201);\x0a\x0a\x20\x20\x20//\x20pass\x20the\x20texCoord\x20to\x20the\x20fragment\x20shader\x0a\x20\x20\x20//\x20The\x20GPU\x20will\x20interpolate\x20this\x20value\x20between\x20points.\x0a\x20\x20\x20v_texCoord\x20=\x20a_texCoord;\x0a}\x0a','3991944QSiaMg','TexUnitForGenericAd','1103212UHjUvP','bindAttribLocation','TimeCodeAddFrames','log','a\x20Mac','hasDigit','Utils','NOT\x20SUPPORTED','keys','.json','timeDate2TCString','absolute','abs','advertisementMap','msMaxTouchPoints','getDeviceName','Toggle','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode','padStart','img','alpha','connect','TEXTURE_WRAP_S','clientX','UNSIGNED_BYTE','SynchMethod','toLowerCase','test','Video\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.','display','onNewMetadata','replace','https://games-prod.virtualott.com/offset','playerTime','MetaDataDownloaderThread\x20created','shaderSource','br2','Error\x20fetching\x20package.json:','uniform2f','The\x20window\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.','insertBefore','Timecode2Frames',',\x20LastSyncPointFrame:','a_position','Augment','1176mPHovG','FrameRateMode','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode,\x20fps\x20=\x20','isPowerOf2','fetchOffsetForGameId','OnNewSegment','u_digitSize','alphaAsUint8Array','OnMetadata','Opera','height','doNotRenderAugmentationLabel','video','timeCodeStr2TimeCodeArray','getTime','getMinutes','lastTimeReportedIncomingTC','paused','disconnect\x20from\x20signaling::','Error\x20from\x20worker\x20(via\x20addEventListener):',',\x20LastSyncPointTime:','top','getCanvas','iPad','clientWidth','onNewSegment','TexUnitForAdInPlace','Android',',\x20Stream\x20Time-Code:\x20','COMPILE_STATUS','push','Network\x20response\x20was\x20not\x20ok','br1','Something\x20else','metadataMap','Composer3d','frame','getAttribLocation','roommembers\x20message:\x20','ads','\x0a\x0a^^^\x20','None','unknown','dataos','enabled','5vlPTWU','\x20ms','getContext','lastAdName','get','urls','videoStarted','color:blue;font-weight:bold;','MakeSureAdPerPlace:\x20Set\x20default\x20image\x20','error','map','playbackTime','opera','MSIE',',\x20PlayerTime:',',\x20TimeFromLastSync:','VID','stringTime','innerHTML','LINEAR','renderTimecode','options','offs','maskY','MetaDataFetcher','AdNameForPlaceHolder','toggleBtn','composer::AddAdvertisement:\x20ads-to-place\x20mapping:\x20','\x20!!!!!!!!!!!!!!!!!!!!!!','RenderTimecode','adLoopTime','toDataURL','black',',\x20took:\x20','getElementsByTagName',',\x20Brain\x20Time-Code:\x20','alphaFound','Src29_MediaTime29','forEach','random','vendor','doNotRenderAugmentationCheckbox','x-shader/x-vertex','Firefox','https://www.virtualott.com/games/','onerror','split','Error\x20in\x20program\x20linking:\x20','zIndex','webgl','text','requestAnimationFrame','place2AdTexture','TEXTURE_MAG_FILTER','reduce','https://games-prod.virtualott.com/map','iPhone','Folder\x20name\x20for\x20','priv','Created\x20webgl1\x20context:\x20','TimeCodeArray2TimeCodeJson','RenderDigits','VID.\x20','matchAll','\x20not\x20found\x20in\x20JSON.','fillRect','socket\x20connected','ANI.','100%','createProgram','Checking\x20window\x20and\x20methods','Probable\x20videoFrameCallback\x20was\x20not\x20fired.\x20Apllying\x20correction\x20mechanism\x20(','948202kUwywb','www.mediakind.com/NTC','nba','FRAGMENT_SHADER','Frames2Timecode','getMilliseconds','presentationTime','Macintosh','offsetLeft','nextSibling','createObjectURL','disconnect','key','VID.','CallBacks\x20are\x20set','Src60_MediaTime60','1799dkOttL','Win','https://www.virtualott.com','src','mediaTime','The\x20window\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.','undefined','\x20TimeFired:\x20','createShader','value','fragmentShaderSource','canvas','_nextAdvertisement','placeholders','message'];_0x4f33=function(){return _0x3635ca;};return _0x4f33();}const _0x215fd8=_0x1755;(function(_0x43f6b8,_0x5512b9){const _0x34d2d7=_0x1755,_0x55fe55=_0x43f6b8();while(!![]){try{const _0x2add5d=parseInt(_0x34d2d7(0x22c))/0x1+-parseInt(_0x34d2d7(0x20d))/0x2+parseInt(_0x34d2d7(0x166))/0x3+-parseInt(_0x34d2d7(0x16b))/0x4*(-parseInt(_0x34d2d7(0x1c5))/0x5)+parseInt(_0x34d2d7(0x169))/0x6+parseInt(_0x34d2d7(0x21d))/0x7*(-parseInt(_0x34d2d7(0x198))/0x8)+parseInt(_0x34d2d7(0x2e8))/0x9*(-parseInt(_0x34d2d7(0x100))/0xa);if(_0x2add5d===_0x5512b9)break;else _0x55fe55['push'](_0x55fe55['shift']());}catch(_0x32657c){_0x55fe55['push'](_0x55fe55['shift']());}}}(_0x4f33,0x5d62c));function _0x1755(_0x24ccdd,_0x5da3e5){const _0x4f33ff=_0x4f33();return _0x1755=function(_0x175545,_0x109e3d){_0x175545=_0x175545-0xeb;let _0x50d5b4=_0x4f33ff[_0x175545];return _0x50d5b4;},_0x1755(_0x24ccdd,_0x5da3e5);}const getVersion=()=>{const _0x1253af=_0x1755,_0x499072=document[_0x1253af(0x241)]['src'],_0x5cdd89=_0x499072[_0x1253af(0x1f3)]('/')['slice'](0x0,-0x2)[_0x1253af(0x22d)]('/'),_0x2897ae=_0x5cdd89+_0x1253af(0x148);console[_0x1253af(0x16e)]('Fetching\x20package.json\x20from:\x20'+_0x2897ae),fetch(_0x2897ae)[_0x1253af(0x286)](_0x302122=>{const _0x1124e2=_0x1253af;if(!_0x302122['ok'])throw new Error(_0x1124e2(0x299)+_0x302122[_0x1124e2(0x164)]);return _0x302122[_0x1124e2(0x29d)]();})['then'](_0x50be23=>{const _0x2d8610=_0x1253af,_0x1ba461=_0x50be23[_0x2d8610(0x237)];console[_0x2d8610(0x16e)]('OTTPlayer\x20version:\x20'+_0x1ba461);})[_0x1253af(0x102)](_0x3e0a30=>{const _0x443661=_0x1253af;console['error'](_0x443661(0x190),_0x3e0a30);});};getVersion();const META_WORKER=_0x215fd8(0x14d);let debug_lastFrameFromVideoCallback=-0x1,debug_tc='';(function(_0x13167b,_0x7e4e8a){const _0x42476d=_0x215fd8;typeof define===_0x42476d(0x138)&&define[_0x42476d(0x23c)]?define([],function(){const _0x37cdd9=_0x42476d;return _0x7e4e8a[_0x37cdd9(0x2d5)](_0x13167b);}):_0x13167b[_0x42476d(0x107)]=_0x7e4e8a[_0x42476d(0x2d5)](_0x13167b);}(this,function(){'use strict';const _0x49ea0c=_0x215fd8;const _0x4f966b=this;function _0x34ceb3(_0x7874fd){const _0x45f756=_0x1755;return _0x7874fd=_0x7874fd||_0x4f966b,_0x7874fd!==_0x7874fd[_0x45f756(0x1ad)];}!_0x34ceb3()&&(console[_0x49ea0c(0x16e)]('%c%s','color:blue;font-weight:bold;','for\x20more\x20about\x20webgl-utils.js\x20see:'),console['log'](_0x49ea0c(0x244),_0x49ea0c(0x1cc),_0x49ea0c(0x2ac)));function _0x4606ac(_0x453876){const _0x44f545=_0x49ea0c;if(_0x4f966b['console']){if(_0x4f966b[_0x44f545(0x144)][_0x44f545(0x1ce)])_0x4f966b[_0x44f545(0x144)]['error'](_0x453876);else _0x4f966b[_0x44f545(0x144)][_0x44f545(0x16e)]&&_0x4f966b[_0x44f545(0x144)][_0x44f545(0x16e)](_0x453876);}}const _0x3da7eb=/ERROR:\s*\d+:(\d+)/gi;function _0x44b50a(_0xb24478,_0x33fda2=''){const _0x5aced8=_0x49ea0c,_0x317782=[..._0x33fda2[_0x5aced8(0x204)](_0x3da7eb)],_0x403299=new Map(_0x317782[_0x5aced8(0x1cf)]((_0x483c41,_0x580834)=>{const _0x48f360=_0x5aced8,_0x48d115=parseInt(_0x483c41[0x1]),_0x2adfb3=_0x317782[_0x580834+0x1],_0x2dbab0=_0x2adfb3?_0x2adfb3['index']:_0x33fda2['length'],_0x462026=_0x33fda2[_0x48f360(0x2b6)](_0x483c41['index'],_0x2dbab0);return[_0x48d115-0x1,_0x462026];}));return _0xb24478[_0x5aced8(0x1f3)]('\x0a')[_0x5aced8(0x1cf)]((_0x3894c8,_0x49b3d7)=>{const _0x23e212=_0x5aced8,_0x575383=_0x403299[_0x23e212(0x1c9)](_0x49b3d7);return _0x49b3d7+0x1+':\x20'+_0x3894c8+(_0x575383?_0x23e212(0x1c0)+_0x575383:'');})['join']('\x0a');}function _0x573ad9(_0x47e185,_0x1ea80d,_0x1d1162,_0x47142c){const _0x53a15f=_0x49ea0c,_0x192817=_0x47142c||_0x4606ac,_0x3401cf=_0x47e185[_0x53a15f(0x225)](_0x1d1162);_0x47e185[_0x53a15f(0x18e)](_0x3401cf,_0x1ea80d),_0x47e185['compileShader'](_0x3401cf);const _0x1d0a48=_0x47e185[_0x53a15f(0x243)](_0x3401cf,_0x47e185[_0x53a15f(0x1b5)]);if(!_0x1d0a48){const _0x20dde6=_0x47e185[_0x53a15f(0x156)](_0x3401cf);return _0x192817(_0x53a15f(0x15b)+_0x20dde6+'\x0a'+_0x44b50a(_0x1ea80d,_0x20dde6)),_0x47e185['deleteShader'](_0x3401cf),null;}return _0x3401cf;}function _0x42ccc2(_0xf9cdcb,_0x4b3090,_0x21476d,_0x21c74f,_0x25f872){const _0x1967b5=_0x49ea0c,_0x185dc2=_0x25f872||_0x4606ac,_0x124cea=_0xf9cdcb[_0x1967b5(0x20a)]();_0x4b3090[_0x1967b5(0x1eb)](function(_0x4362c4){const _0x31f180=_0x1967b5;_0xf9cdcb[_0x31f180(0x2c7)](_0x124cea,_0x4362c4);});_0x21476d&&_0x21476d[_0x1967b5(0x1eb)](function(_0x1d8a29,_0x27045b){const _0x584f18=_0x1967b5;_0xf9cdcb[_0x584f18(0x16c)](_0x124cea,_0x21c74f?_0x21c74f[_0x27045b]:_0x27045b,_0x1d8a29);});_0xf9cdcb['linkProgram'](_0x124cea);const _0x158e64=_0xf9cdcb['getProgramParameter'](_0x124cea,_0xf9cdcb[_0x1967b5(0x29a)]);if(!_0x158e64){const _0x24d841=_0xf9cdcb[_0x1967b5(0x235)](_0x124cea);return _0x185dc2(_0x1967b5(0x1f4)+_0x24d841+'\x0a'+_0x4b3090[_0x1967b5(0x1cf)](_0x58ee8d=>{const _0xdf6f0d=_0x1967b5,_0x2bb5f9=_0x44b50a(_0xf9cdcb['getShaderSource'](_0x58ee8d)),_0xb309c2=_0xf9cdcb[_0xdf6f0d(0x243)](_0x58ee8d,_0xf9cdcb['SHADER_TYPE']);return glEnumToString(_0xf9cdcb,_0xb309c2)+':\x0a'+_0x2bb5f9;})['join']('\x0a')),_0xf9cdcb[_0x1967b5(0x2f4)](_0x124cea),null;}return _0x124cea;}function _0x1c91bf(_0x3ecdf4,_0x449fa4,_0x515355,_0x3c6962){const _0x558d03=_0x49ea0c;let _0x56c893='',_0x323edc;const _0x5ade91=document[_0x558d03(0x253)](_0x449fa4);if(!_0x5ade91)throw _0x558d03(0x2f1)+_0x449fa4;_0x56c893=_0x5ade91[_0x558d03(0x1f7)];if(!_0x515355){if(_0x5ade91[_0x558d03(0x106)]===_0x558d03(0x1ef))_0x323edc=_0x3ecdf4[_0x558d03(0x2cb)];else{if(_0x5ade91[_0x558d03(0x106)]===_0x558d03(0x252))_0x323edc=_0x3ecdf4[_0x558d03(0x210)];else{if(_0x323edc!==_0x3ecdf4[_0x558d03(0x2cb)]&&_0x323edc!==_0x3ecdf4[_0x558d03(0x210)])throw'***\x20Error:\x20unknown\x20shader\x20type';}}}return _0x573ad9(_0x3ecdf4,_0x56c893,_0x515355?_0x515355:_0x323edc,_0x3c6962);}const _0x2740e2=[_0x49ea0c(0x2cb),_0x49ea0c(0x210)];function _0x300099(_0x4bd235,_0x493598,_0x326014,_0x58a5cc,_0x598a92){const _0x3f77f0=_0x49ea0c,_0x5de0df=[];for(let _0x4c92bf=0x0;_0x4c92bf<_0x493598[_0x3f77f0(0x12c)];++_0x4c92bf){_0x5de0df['push'](_0x1c91bf(_0x4bd235,_0x493598[_0x4c92bf],_0x4bd235[_0x2740e2[_0x4c92bf]],_0x598a92));}return _0x42ccc2(_0x4bd235,_0x5de0df,_0x326014,_0x58a5cc,_0x598a92);}function _0x40af8d(_0xd3a7f0,_0x133513,_0x3dc18a,_0x10e777,_0x18259e){const _0x150a28=_0x49ea0c,_0x4cff42=[];for(let _0x419d41=0x0;_0x419d41<_0x133513['length'];++_0x419d41){_0x4cff42[_0x150a28(0x1b6)](_0x573ad9(_0xd3a7f0,_0x133513[_0x419d41],_0xd3a7f0[_0x2740e2[_0x419d41]],_0x18259e));}return _0x42ccc2(_0xd3a7f0,_0x4cff42,_0x3dc18a,_0x10e777,_0x18259e);}function _0x4e9f39(_0x4b81ac,_0x1bd966){const _0x2a8a50=_0x49ea0c;_0x1bd966=_0x1bd966||0x1;const _0x3cf181=_0x4b81ac[_0x2a8a50(0x1b0)]*_0x1bd966|0x0,_0x2aa17f=_0x4b81ac[_0x2a8a50(0x2fc)]*_0x1bd966|0x0;if(_0x4b81ac[_0x2a8a50(0x149)]!==_0x3cf181||_0x4b81ac[_0x2a8a50(0x1a2)]!==_0x2aa17f)return _0x4b81ac[_0x2a8a50(0x149)]=_0x3cf181,_0x4b81ac[_0x2a8a50(0x1a2)]=_0x2aa17f,!![];return![];}return{'createProgram':_0x42ccc2,'createProgramFromScripts':_0x300099,'createProgramFromSources':_0x40af8d,'resizeCanvasToDisplaySize':_0x4e9f39};}));const BB={'MAX_LOGOS':0x4};BB['GL']={'vertexShaderSource':_0x215fd8(0x23d),'fragmentShaderSource':'#version\x20300\x20es\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//The\x20textures\x0a//uniform\x20sampler2D\x20u_image;//video\x20frame\x27s\x20texture\x0auniform\x20sampler2D\x20ad0;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad1;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad2;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad3;//the\x20ad\x20texture\x0a\x0auniform\x20vec2\x20u_resolution2;//resolution\x20of\x20the\x20canvas\x0a\x0a//v_texCoord\x20from\x20the\x20vertex\x20shader\x0a//in\x20vec2\x20v_texCoord;\x0a\x0a//Logos\x27\x20staff\x0auniform\x20int\x20hasLogo0;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo0;\x0auniform\x20sampler2D\x20alpha0;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix0;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha0TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha0Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo1;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo1;\x0auniform\x20sampler2D\x20alpha1;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix1;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha1TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha1Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo2;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo2;\x0auniform\x20sampler2D\x20alpha2;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix2;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha2TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha2Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo3;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo3;\x0auniform\x20sampler2D\x20alpha3;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix3;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha3TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha3Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasDigit;//has\x20debug\x20digit\x20texture\x0auniform\x20sampler2D\x20digitTex;//the\x20digits\x27s\x20mate\x0auniform\x20vec2\x20u_digitTopLeft;//the\x20digit\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_digitTopLeft2;//the\x20digit\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_digitSize;//the\x20digit\x20mate\x27s\x20size\x0a\x0a//Output\x0aout\x20vec4\x20outColor;\x0abool\x20BlendDigit(in\x20vec2\x20curCoord)\x20{\x0a\x09//vec2\x20texCoord\x20=\x20curCoord;\x0a\x09//texCoord\x20/=\x20u_resolution2;\x0a\x09vec2\x20digitCoord\x20=\x20(curCoord\x20-\x20u_digitTopLeft)/u_digitSize;//get\x20the\x20coordinate\x20on\x20the\x20digit\x20size\x0a\x09if\x20(digitCoord.x\x20>=\x200.0\x20&&\x20digitCoord.y\x20>=\x200.0\x20&&\x20digitCoord.x\x20<=\x201.0\x20&&\x20digitCoord.y\x20<=\x201.0)\x0a\x09{\x0a\x09\x09outColor\x20=\x20texture(digitTex,\x20digitCoord);\x0a\x09\x09return\x20true;\x0a\x09}\x0a\x09return\x20false;\x0a}\x0abool\x20BlendDigit2(in\x20vec2\x20curCoord)\x20{\x0a\x09//vec2\x20texCoord\x20=\x20curCoord;\x0a\x09//texCoord\x20/=\x20u_resolution2;\x0a\x09vec2\x20digitCoord\x20=\x20(curCoord\x20-\x20u_digitTopLeft2)/u_digitSize;//get\x20the\x20coordinate\x20on\x20the\x20digit\x20size\x0a\x09if\x20(digitCoord.x\x20>=\x200.0\x20&&\x20digitCoord.y\x20>=\x200.0\x20&&\x20digitCoord.x\x20<=\x201.0\x20&&\x20digitCoord.y\x20<=\x201.0)\x0a\x09{\x0a\x09\x09outColor\x20=\x20texture(digitTex,\x20digitCoord);\x0a\x09\x09return\x20true;\x0a\x09}\x0a\x09return\x20false;\x0a}\x0abool\x20BlendWithLogo(\x0a\x09in\x20int\x20adUnit,\x0a\x20\x20\x20\x20in\x20sampler2D\x20alphaTexture,\x0a\x20\x20\x20\x20in\x20mat3\x20matrix,\x0a\x20\x20\x20\x20in\x20vec2\x20curCoord,\x0a\x20\x20\x20\x20in\x20vec2\x20alphaTopLeft,\x0a\x20\x20\x20\x20in\x20vec2\x20alphaSize)\x20\x0a{\x0a\x09\x0a\x09\x0a\x09\x0a\x20\x20\x20\x20vec2\x20texCoord;\x0a\x20\x20\x20\x20texCoord.x\x20=\x20(matrix[0][0]*curCoord.x\x20+\x20matrix[0][1]*curCoord.y\x20+\x20matrix[0][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord.y\x20=\x20(matrix[1][0]*curCoord.x\x20+\x20matrix[1][1]*curCoord.y\x20+\x20matrix[1][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord\x20/=\x20u_resolution2;\x0a\x0a\x20\x20\x20\x20//if\x20we\x27re\x20in\x20the\x20bounding\x20rect\x20of\x20the\x20logo\x0a\x20\x20\x20\x20if\x20(texCoord.x\x20>=\x200.0\x20&&\x20texCoord.y\x20>=\x200.0\x20&&\x20texCoord.x\x20<=\x201.0\x20&&\x20texCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20{\x0a\x09\x09\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20alphaCoord\x20=\x20(curCoord\x20-\x20alphaTopLeft)/alphaSize;//get\x20the\x20coordinate\x20on\x20the\x20alpha\x20mate\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(\x0a\x09\x09alphaCoord.x\x20>=\x200.0\x20&&\x20\x0a\x09\x09alphaCoord.y\x20>=\x200.0\x20&&\x20\x0a\x09\x09alphaCoord.x\x20<=\x201.0\x20&&\x20\x0a\x09\x09alphaCoord.y\x20<=\x201.0\x0a\x09\x09)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//get\x20the\x20alpha\x20texel:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha\x20*=\x20texture(alphaTexture,\x20alphaCoord).a;//without\x20blur\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x09\x09\x0a\x09\x09vec4\x20ad0Pix\x20=\x20\x0a\x09\x09\x09adUnit\x20==\x200\x20?\x20texture(ad0,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x201\x20?\x20texture(ad1,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x202\x20?\x20texture(ad2,\x20texCoord)\x20:\x0a\x09\x09\x09\x09\x09\x09\x20\x20texture(ad3,\x20texCoord);//get\x20the\x20logo\x27s\x20texel\x0a\x09\x09alpha\x20*=\x20ad0Pix.a;//consider\x20the\x20alpha\x20of\x20the\x20logo\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20resultRGB\x20=\x20ad0Pix.rgb;//\x20+\x20videoImagePix.rgb*(1.0-alpha);//blend\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(alpha\x20==\x200.0)\x20resultRGB\x20=\x20vec3(0,0,0);\x0a\x09\x09outColor\x20=\x20vec4(resultRGB,\x20alpha);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20return\x20false;\x0a\x20\x20\x0a}\x0avoid\x20main()\x0a{\x0a\x20\x20//calculate\x20cur-coord\x20(with\x20pixels\x20units)\x0a\x20\x20vec2\x20curCoord\x20=\x20gl_FragCoord.xy;\x0a\x20\x20curCoord.y\x20=\x20u_resolution2[1]\x20-\x20curCoord.y;\x0a\x20\x20//if\x20(hasDigit\x20==\x201\x20&&\x20(BlendDigit(curCoord)\x20||\x20BlendDigit2(curCoord)))\x20return;\x0a\x20\x20if\x20(hasDigit\x20==\x201\x20&&\x20(BlendDigit(curCoord)))\x20return;\x0a\x20\x20else\x20if\x20(hasLogo0\x20==\x201\x20&&\x20\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo0,\x0a\x09\x20alpha0,\x20u_matrix0,\x20curCoord,u_alpha0TopLeft,\x20u_alpha0Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo1\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo1,\x0a\x09\x20alpha1,\x20u_matrix1,\x20curCoord,u_alpha1TopLeft,\x20u_alpha1Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo2\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo2,\x0a\x09\x20alpha2,\x20u_matrix2,\x20curCoord,u_alpha2TopLeft,\x20u_alpha2Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo3\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo3,\x0a\x09\x20alpha3,\x20u_matrix3,\x20curCoord,u_alpha3TopLeft,\x20u_alpha3Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20{//no\x20logo\x0a\x20\x20\x20\x20outColor\x20=\x20vec4(0,0,0,0);\x0a\x20\x20}\x0a}\x0a','vertexShaderSourceV1':_0x215fd8(0x168),'fragmentShaderSourceV1':'\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//The\x20textures\x0auniform\x20sampler2D\x20u_image;//video\x20frame\x27s\x20texture2D\x0auniform\x20sampler2D\x20ad0;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad1;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad2;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad3;//the\x20ad\x20texture2D\x0a\x0auniform\x20vec2\x20u_resolution2;//resolution\x20of\x20the\x20canvas\x0a\x0a//v_texCoord\x20from\x20the\x20vertex\x20shader\x0avarying\x20vec2\x20v_texCoord;\x0a\x0a//Logos\x27\x20staff\x0auniform\x20int\x20hasLogo0;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo0;\x0auniform\x20sampler2D\x20alpha0;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix0;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha0TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha0Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo1;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo1;\x0auniform\x20sampler2D\x20alpha1;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix1;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha1TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha1Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo2;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo2;\x0auniform\x20sampler2D\x20alpha2;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix2;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha2TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha2Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo3;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo3;\x0auniform\x20sampler2D\x20alpha3;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix3;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha3TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha3Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20sampler2D\x20injectoLogo;//the\x20injecto\x20logo\x20to\x20cover\x20the\x20timecode\x20watermark\x0a\x0aconst\x20float\x20Directions\x20=\x2016.0;\x20//\x20BLUR\x20DIRECTIONS\x20(Default\x2016.0\x20-\x20More\x20is\x20better\x20but\x20slower)\x0aconst\x20float\x20Quality\x20=\x203.0;\x20//\x20BLUR\x20QUALITY\x20(Default\x203.0\x20-\x20More\x20is\x20better\x20but\x20slower)\x0aconst\x20float\x20Size\x20=\x2012.0;\x20//\x20BLUR\x20SIZE\x20(Radius)\x0aconst\x20float\x20Pi\x20=\x206.28318530718;\x20//\x20Pi*2\x0a\x0avec3\x20BlurBGR(vec4\x20videoImagePix)\x0a{\x0a\x09vec3\x20res\x20=\x20videoImagePix.rgb;\x0a\x20//get\x20the\x20kernel\x20radius:\x0a\x20\x20\x20\x20vec2\x20Radius\x20=\x20Size/u_resolution2.xy;\x0a\x20\x20\x20\x0a\x20\x20\x20\x20//\x20Blur\x20around:\x0a\x20\x20\x20\x20for(\x20float\x20d=0.0;\x20d<Pi;\x20d+=Pi/Directions)\x0a\x20\x20\x20\x20{\x0a\x09\x09for(float\x20i=1.0/Quality;\x20i<=1.0;\x20i+=1.0/Quality)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x09\x09\x09res\x20+=\x20texture2D(\x20u_image,\x20v_texCoord+vec2(cos(d),sin(d))*Radius*i).rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20res\x20/=\x20Quality\x20*\x20Directions\x20-\x2015.0;\x0a\x0a\x20\x20\x20\x20return\x20res;\x0a}\x0a\x0abool\x20BlendWithLogo(\x0a\x09int\x20adUnit,\x0a\x20\x20\x20\x20\x20sampler2D\x20alphaTexture,\x0a\x20\x20\x20\x20\x20mat3\x20matrix,\x0a\x20\x20\x20\x20\x20vec2\x20curCoord,\x0a\x20\x20\x20\x20\x20vec2\x20alphaTopLeft,\x0a\x20\x20\x20\x20\x20vec2\x20alphaSize,\x0a\x20\x20\x20\x20\x20vec4\x20videoImagePix)\x20\x0a{\x0a\x20\x20\x20\x20vec2\x20texCoord;\x0a\x20\x20\x20\x20texCoord.x\x20=\x20(matrix[0][0]*curCoord.x\x20+\x20matrix[0][1]*curCoord.y\x20+\x20matrix[0][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord.y\x20=\x20(matrix[1][0]*curCoord.x\x20+\x20matrix[1][1]*curCoord.y\x20+\x20matrix[1][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord\x20/=\x20u_resolution2;\x0a\x0a\x20\x20\x20\x20//if\x20we\x27re\x20in\x20the\x20bounding\x20rect\x20of\x20the\x20logo\x0a\x20\x20\x20\x20if\x20(texCoord.x\x20>=\x200.0\x20&&\x20texCoord.y\x20>=\x200.0\x20&&\x20texCoord.x\x20<=\x201.0\x20&&\x20texCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20{\x0a\x09\x09\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20alphaCoord\x20=\x20(curCoord\x20-\x20alphaTopLeft)/alphaSize;//get\x20the\x20coordinate\x20on\x20the\x20alpha\x20mate\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(alphaCoord.x\x20>=\x200.0\x20&&\x20alphaCoord.y\x20>=\x200.0\x20&&\x20alphaCoord.x\x20<=\x201.0\x20&&\x20alphaCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//get\x20the\x20alpha\x20texel:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//alpha\x20*=\x20BlurAlpha(alphaCoord);//blurred\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha\x20*=\x20texture2D(alphaTexture,\x20alphaCoord).a;//without\x20blur\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x09\x09if\x20(adUnit\x20==\x2099)//blur\x0a\x09\x09{\x0a\x09\x09\x09gl_FragColor\x20=\x20vec4(BlurBGR(videoImagePix)*alpha\x20+\x20\x20videoImagePix.rgb*(1.0-alpha),\x201.0);\x0a\x09\x09\x09//outColor\x20=\x20vec4(BlurBGR(videoImagePix),\x201.0);\x0a\x09\x09\x09return\x20true;\x0a\x09\x09}\x0a\x09\x09vec4\x20ad0Pix\x20=\x20\x0a\x09\x09\x09adUnit\x20==\x200\x20?\x20texture2D(ad0,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x201\x20?\x20texture2D(ad1,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x202\x20?\x20texture2D(ad2,\x20texCoord)\x20:\x0a\x09\x09\x09\x09\x09\x09\x20\x20texture2D(ad3,\x20texCoord);//get\x20the\x20logo\x27s\x20texel\x0a\x09\x09alpha\x20*=\x20ad0Pix.a;//consider\x20the\x20alpha\x20of\x20the\x20logo\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20resultRGB\x20=\x20ad0Pix.rgb*alpha\x20+\x20videoImagePix.rgb*(1.0-alpha);//blend\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(resultRGB,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20return\x20false;\x0a\x20\x20\x0a}\x0avoid\x20main()\x0a{\x0a\x20\x20//calculate\x20cur-coord\x20(with\x20pixels\x20units)\x0a\x20\x20vec2\x20curCoord\x20=\x20gl_FragCoord.xy;\x0a\x20\x20curCoord.y\x20=\x20u_resolution2[1]\x20-\x20curCoord.y;\x0a\x0a\x20\x20//cover\x20the\x20timecode\x20with\x20some\x20watermark\x0a\x20\x20if\x20(v_texCoord[0]\x20<=\x200.125\x20&&\x20(1.0-v_texCoord[1])\x20<=\x200.125)\x0a\x20\x20{\x20\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(injectoLogo,\x20vec2(v_texCoord[0]*8.0,\x201.0-(1.0-v_texCoord[1])*8.0));\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20vec4\x20videoImagePix\x20=\x20texture2D(u_image,\x20v_texCoord);\x0a\x20\x20\x0a\x20\x20if\x20(hasLogo0\x20==\x201\x20&&\x20\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo0,\x0a\x09\x20alpha0,\x20u_matrix0,\x20curCoord,u_alpha0TopLeft,\x20u_alpha0Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo1\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo1,\x0a\x09\x20alpha1,\x20u_matrix1,\x20curCoord,u_alpha1TopLeft,\x20u_alpha1Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo2\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo2,\x0a\x09\x20alpha2,\x20u_matrix2,\x20curCoord,u_alpha2TopLeft,\x20u_alpha2Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo3\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo3,\x0a\x09\x20alpha3,\x20u_matrix3,\x20curCoord,u_alpha3TopLeft,\x20u_alpha3Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20{//only\x20video\x20texel,\x20no\x20logo\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20videoImagePix;\x0a\x20\x20}\x0a}\x0a'},BB['FrameRateMode']={'Src60_MediaTime60':Symbol(_0x215fd8(0x21c)),'Src59_MediaTime60':Symbol('Src59_MediaTime60'),'Src59_MediaTime59':Symbol(_0x215fd8(0x29e)),'Src29_MediaTime29':Symbol(_0x215fd8(0x1ea))},BB[_0x215fd8(0x2b5)]={'RenderDigits':Symbol('RenderDigits'),'RenderTimecode':Symbol('RenderTimecode'),'Augment':Symbol(_0x215fd8(0x197))},BB[_0x215fd8(0x184)]={'OnNewSegment':Symbol(_0x215fd8(0x19d)),'OnMetadata':Symbol(_0x215fd8(0x1a0)),'None':Symbol(_0x215fd8(0x1c1))},BB['Utils']=((()=>{const _0x421ebc=_0x2f3a89=>{const _0x16d66a=_0x1755;return _0x2f3a89[_0x16d66a(0x2c1)]()[_0x16d66a(0x17d)](0x2,'0');},_0x259d59=((()=>{const _0x4b4c14=(_0x2a9d42,_0x4caf62,_0x44d9dd)=>{const _0xa01ce=_0x1755;let _0x4ccaa4='';if(Array[_0xa01ce(0x23e)](_0x2a9d42)){_0x4ccaa4=[_0x421ebc(_0x2a9d42[0x0]),_0x421ebc(_0x2a9d42[0x1]),_0x421ebc(_0x2a9d42[0x2]),_0x421ebc(_0x2a9d42[0x3])][_0xa01ce(0x22d)](':');if(_0x44d9dd==!![]){if(_0x2a9d42[0x4]==0x1&&(_0x4caf62===undefined||_0x4caf62))_0x4ccaa4+='.2';else _0x4ccaa4+='.1';}else{if(_0x2a9d42[0x4]==0x1&&(_0x4caf62===undefined||_0x4caf62))_0x4ccaa4+='.1';}}else{const _0x110274=':';_0x4ccaa4=('0'+_0x2a9d42['h'])[_0xa01ce(0x26a)](-0x2)+_0x110274+('0'+_0x2a9d42['m'])[_0xa01ce(0x26a)](-0x2)+_0x110274+('0'+_0x2a9d42['s'])[_0xa01ce(0x26a)](-0x2)+_0x110274+('0'+_0x2a9d42['f'])[_0xa01ce(0x26a)](-0x2);if(_0x4caf62)_0x4ccaa4+='.'+(_0x2a9d42[_0xa01ce(0x112)]?'1':'2');}return _0x4ccaa4;},_0x2d02bb=_0x5206b0=>{const _0x51125c=_0x1755;let _0x5545c2=_0x5206b0[_0x51125c(0x1f3)](':');if(_0x5545c2[_0x51125c(0x12c)]!=0x4)return console[_0x51125c(0x1ce)](_0x51125c(0x104)+_0x5206b0),[0x0,0x0,0x0,0x0,0x0];let _0x555a8b=[parseInt(_0x5545c2[0x0]),parseInt(_0x5545c2[0x1]),parseInt(_0x5545c2[0x2])];if(_0x5545c2[0x3][_0x51125c(0x13b)]('.')>=0x0){let _0x164e7c=_0x5545c2[0x3]['split']('.');_0x555a8b[_0x51125c(0x1b6)](parseInt(_0x164e7c[0x0])),_0x555a8b[_0x51125c(0x1b6)](parseInt(_0x164e7c[0x1]));}else _0x555a8b[_0x51125c(0x1b6)](parseInt(_0x5545c2[0x3])),_0x555a8b[_0x51125c(0x1b6)](0x0);return _0x555a8b;},_0x2e3499=(_0x2728db,_0x502a73,_0xe57a34)=>{const _0x314ea7=_0x1755;let _0x3681a5=0x3c,_0x1c7927=0x0;if(Math[_0x314ea7(0x2de)](_0x502a73)==0x3c)_0x3681a5=0x3c,_0x1c7927=0x0;else{if(Math[_0x314ea7(0x2de)](_0x502a73)==0x3b)_0x3681a5=0x3c,_0x1c7927=0x4;else{if(Math['floor'](_0x502a73)==0x1e)_0x3681a5=0x1e,_0x1c7927=0x0;else Math[_0x314ea7(0x2de)](_0x502a73)==0x1d&&(_0x3681a5=0x1e,_0x1c7927=0x2);}}let _0x2f64c9=0x0,_0xbb598a=Math[_0x314ea7(0x2de)](_0x502a73*0x3c),_0xb6b3d6=Math[_0x314ea7(0x2de)](_0x502a73*0x3c*0xa),_0x4a5bda=_0xb6b3d6*0x6,_0x1d67a3=_0x2728db[0x0],_0x1475aa=_0x2728db[0x1],_0x28e08b=_0x2728db[0x2],_0x49f56a=_0x2728db[0x3],_0x19835c=_0x2728db[0x4];_0x2f64c9+=_0x1d67a3*_0x4a5bda,_0x2f64c9+=_0x1475aa*(_0x3681a5*0x3c),_0x2f64c9+=_0x28e08b*_0x3681a5;if(_0xe57a34)_0x2f64c9+=_0x49f56a*0x2+_0x19835c;else _0x2f64c9+=_0x49f56a;return _0x2f64c9-=_0x1c7927*_0x1475aa,_0x2f64c9+=_0x1c7927*Math[_0x314ea7(0x2de)](_0x1475aa/0xa),_0x2f64c9;},_0x84b099=(_0x182b77,_0x3a18e3,_0x3760fe)=>{const _0x24808c=_0x1755;let _0x22989c=0x3c,_0x6fa21d=0x0;if(Math[_0x24808c(0x2de)](_0x3a18e3)==0x3c)_0x22989c=0x3c,_0x6fa21d=0x0;else{if(Math[_0x24808c(0x2de)](_0x3a18e3)==0x3b)_0x22989c=0x3c,_0x6fa21d=0x4;else{if(Math[_0x24808c(0x2de)](_0x3a18e3)==0x1e)_0x22989c=0x1e,_0x6fa21d=0x0;else Math['floor'](_0x3a18e3)==0x1d&&(_0x22989c=0x1e,_0x6fa21d=0x2);}}let _0x5584f4=0x0,_0x2106d1=Math[_0x24808c(0x2de)](_0x3a18e3*0x3c),_0x550a89=Math[_0x24808c(0x2de)](_0x3a18e3*0x3c*0xa),_0x25320c=_0x550a89*0x6,_0x5cf5bf=_0x182b77,_0x2e63c1=Math[_0x24808c(0x2de)](_0x5cf5bf/_0x25320c);_0x5cf5bf-=_0x2e63c1*_0x25320c;let _0x3e1fed=Math[_0x24808c(0x2de)](_0x5cf5bf/_0x550a89);_0x5cf5bf-=_0x3e1fed*_0x550a89;if(_0x5cf5bf>=_0x22989c*0x3c)_0x5cf5bf+=_0x6fa21d*(Math['floor']((_0x5cf5bf-_0x22989c*0x3c)/_0x2106d1)+0x1);let _0x1ce41c=Math[_0x24808c(0x2de)](_0x5cf5bf/(_0x22989c*0x3c));_0x5cf5bf-=_0x1ce41c*(_0x22989c*0x3c);let _0x2a9930=Math[_0x24808c(0x2de)](_0x5cf5bf/_0x22989c);_0x5cf5bf-=_0x2a9930*_0x22989c;let _0x1412ad=_0x5cf5bf;_0x1ce41c+=_0x3e1fed*0xa,dotOne=0x0;_0x3760fe&&(dotOne=_0x1412ad%0x2,_0x1412ad=Math[_0x24808c(0x2de)](_0x1412ad/0x2));let _0x523008=[_0x2e63c1,_0x1ce41c,_0x2a9930,_0x1412ad,dotOne];return _0x523008;},_0x4a8134=(_0x111f45,_0x5ae0fd,_0x3d1af3)=>{let _0x534542=_0x3d1af3>0x1e,_0x584a31=_0x2e3499(_0x111f45,_0x3d1af3,_0x534542);return _0x584a31+=_0x5ae0fd,_0x84b099(_0x584a31,_0x3d1af3,_0x534542);},_0x382087=_0x303edd=>{return{'h':_0x303edd[0x0],'m':_0x303edd[0x1],'s':_0x303edd[0x2],'f':_0x303edd[0x3],'field':_0x303edd[0x4]};},_0x41bb12=(_0x2227fb,_0x546ff5)=>{const _0x26bc4d=_0x1755;let _0x337cab=BB['Utils']['timeDate2TC'](_0x2227fb,_0x546ff5);return _0x546ff5>0x3b?BB[_0x26bc4d(0x171)][_0x26bc4d(0x28b)][_0x26bc4d(0x125)](tcFromMessage,!![]):BB[_0x26bc4d(0x171)][_0x26bc4d(0x28b)][_0x26bc4d(0x125)](tcFromMessage,![]);let _0x241810=BB[_0x26bc4d(0x171)][_0x26bc4d(0x2c9)],_0x1b8d64='';_0x241810[_0x26bc4d(0x249)]()?_0x1b8d64=_0x2227fb:_0x1b8d64=_0x2227fb[_0x26bc4d(0x2d2)]();let _0x19b441=_0x1b8d64[_0x26bc4d(0x1f3)]('T')[0x1],_0x4cab04=_0x19b441[_0x26bc4d(0x1f3)](':'),_0x2fe1ca=parseInt(_0x4cab04[0x0]),_0x45ed76=parseInt(_0x4cab04[0x1]),_0x279dda=_0x4cab04[0x2][_0x26bc4d(0x1f3)]('.'),_0x2e7bb4=parseInt(_0x279dda[0x0]),_0x130e2d=parseInt(_0x279dda[0x1][_0x26bc4d(0x2b6)](0x0,0x3)),_0xdbad52=Math['round'](_0x130e2d/0x3e8*_0x546ff5);if(_0x546ff5>0x3b){let _0x171ba3=_0xdbad52%0x2==0x0?0x1:0x2;_0xdbad52=Math[_0x26bc4d(0x2de)](_0xdbad52/0x2);let _0x2e0b4=_0x2fe1ca[_0x26bc4d(0x2c1)]()[_0x26bc4d(0x17d)](0x2,'0')+':'+_0x45ed76[_0x26bc4d(0x2c1)]()['padStart'](0x2,'0')+':'+_0x2e7bb4[_0x26bc4d(0x2c1)]()['padStart'](0x2,'0')+':'+_0xdbad52[_0x26bc4d(0x2c1)]()['padStart'](0x2,'0')+'.'+_0x171ba3['toString']();return _0x2e0b4;}else{let _0x2aed4f=_0x2fe1ca[_0x26bc4d(0x2c1)]()[_0x26bc4d(0x17d)](0x2,'0')+':'+_0x45ed76[_0x26bc4d(0x2c1)]()['padStart'](0x2,'0')+':'+_0x2e7bb4[_0x26bc4d(0x2c1)]()[_0x26bc4d(0x17d)](0x2,'0')+':'+_0xdbad52[_0x26bc4d(0x2c1)]()[_0x26bc4d(0x17d)](0x2,'0');return _0x2aed4f;}return str;},_0x305f73=(_0x40dd5e,_0x1f60b8)=>{const _0x1d6e9a=_0x1755;let _0x198b74=BB[_0x1d6e9a(0x171)][_0x1d6e9a(0x2c9)],_0x2985d5='';_0x198b74[_0x1d6e9a(0x249)]()?_0x2985d5=_0x40dd5e:_0x2985d5=_0x40dd5e[_0x1d6e9a(0x2d2)]();let _0x501843=_0x2985d5[_0x1d6e9a(0x1f3)]('T')[0x1],_0x1a86cc=_0x501843[_0x1d6e9a(0x1f3)](':'),_0x5ceedd=parseInt(_0x1a86cc[0x0]),_0x1607da=parseInt(_0x1a86cc[0x1]),_0x519431=_0x1a86cc[0x2][_0x1d6e9a(0x1f3)]('.'),_0x1475d1=parseInt(_0x519431[0x0]),_0x2b9873=parseInt(_0x519431[0x1][_0x1d6e9a(0x2b6)](0x0,0x3));if(_0x1f60b8>0x3b){let _0x1f5470=Math[_0x1d6e9a(0x2d7)]((_0x2b9873/0x3e8+_0x1475d1+_0x1607da*0x3c+_0x5ceedd*0x3c*0x3c)*_0x1f60b8),_0xc90d3d=BB[_0x1d6e9a(0x171)]['TimeCodesFramesTranslator'][_0x1d6e9a(0x211)](_0x1f5470,_0x1f60b8,!![]);return _0xc90d3d;}else{let _0x35322b=Math['round']((_0x2b9873/0x3e8+_0x1475d1+_0x1607da*0x3c+_0x5ceedd*0x3c*0x3c)*_0x1f60b8),_0x280923=BB[_0x1d6e9a(0x171)][_0x1d6e9a(0x28b)]['Frames2Timecode'](_0x35322b,_0x1f60b8,![]);return _0x280923;}};return{'printTimecode':_0x4b4c14,'timeCodeStr2TimeCodeArray':_0x2d02bb,'Timecode2Frames':_0x2e3499,'Frames2Timecode':_0x84b099,'TimeCodeAddFrames':_0x4a8134,'TimeCodeArray2TimeCodeJson':_0x382087,'timeDate2TCString':_0x41bb12,'timeDate2TC':_0x305f73};})()),_0x235c2c=_0x380b4b=>{let _0x45feae=_0x380b4b||0x2540be3ff,_0x21afc2=[],_0x32909c=0x0;const _0x3d23c0=_0x364124=>{const _0x30869f=_0x1755;++_0x32909c,_0x21afc2[_0x30869f(0x1b6)](_0x364124);while(_0x21afc2[_0x30869f(0x12c)]>_0x45feae)_0x21afc2[_0x30869f(0x268)]();},_0x559f23=()=>{const _0x393a47=_0x1755;if(_0x21afc2[_0x393a47(0x12c)]==0x0)return-0x1;let _0x5d4088=Array[_0x393a47(0xfd)](_0x21afc2)[_0x393a47(0x146)]((_0xd2d61d,_0x140478)=>{return _0xd2d61d-_0x140478;});return _0x5d4088[parseInt(_0x5d4088[_0x393a47(0x12c)]/0x2)];},_0x1218de=()=>{return _0x32909c;};return{'add':_0x3d23c0,'getMedian':_0x559f23,'howMany':_0x1218de};},_0x5cab0e=((()=>{const _0x36d4b2=()=>{const _0x2493cd=_0x1755,_0x4eef83=navigator['userAgent'];if(/windows/i[_0x2493cd(0x186)](_0x4eef83))return _0x2493cd(0x123);else{if(/android/i[_0x2493cd(0x186)](_0x4eef83))return _0x2493cd(0x1b3);else{if(/iphone|ipad|ipod/i[_0x2493cd(0x186)](_0x4eef83))return'iOS';else{if(/mac/i[_0x2493cd(0x186)](_0x4eef83)){let _0x59a051=_0x2493cd(0x2c3)in window||navigator[_0x2493cd(0x266)]>0x0||navigator[_0x2493cd(0x179)]>0x0;if(_0x59a051)return _0x2493cd(0x1af);else return _0x2493cd(0xec);}else return/ipad/i[_0x2493cd(0x186)](_0x4eef83)?_0x2493cd(0x1af):_0x2493cd(0x1b9);}}}},_0x52888f=()=>{let _0x9b71e7=_0x36d4b2();return _0x9b71e7=='Mac';},_0x547afc=()=>{const _0x337e1b=_0x1755;let _0x304bb1=_0x36d4b2();return _0x304bb1==_0x337e1b(0x1af);},_0x3b7beb=()=>{let _0x4f6113=_0x36d4b2();return _0x4f6113=='iOS';},_0x35effb=()=>{const _0x1b8e23=_0x1755;let _0x5dd48c=_0x36d4b2();return _0x5dd48c==_0x1b8e23(0x258)||_0x5dd48c==_0x1b8e23(0xec)||_0x5dd48c=='iPad';},_0x230f47=()=>{const _0x33bdaf=_0x1755;let _0x19f9d0=_0x36d4b2();return _0x19f9d0==_0x33bdaf(0x123);},_0x2012ce=()=>{const _0x58c320=_0x1755;let _0x407b5b=_0x36d4b2();return _0x407b5b==_0x58c320(0x1b3);},_0x2c7020=()=>{const _0x1fc4e2=_0x1755;let _0x1f8450=_0x36d4b2();if(_0x1f8450==_0x1fc4e2(0x123))return _0x1fc4e2(0x121);else{if(_0x1f8450==_0x1fc4e2(0x1b3))return'an\x20Android\x20phone';else{if(_0x1f8450==_0x1fc4e2(0x258))return'an\x20iPhone';else{if(_0x1f8450==_0x1fc4e2(0xec))return _0x1fc4e2(0x16f);else{if(_0x1f8450==_0x1fc4e2(0x1af))return'an\x20iPad';else return'an\x20Unknown\x20device';}}}}},_0x3ac46f=()=>{const _0x2b00ee=_0x1755;let _0x197f9b={'options':[],'header':[navigator[_0x2b00ee(0xf0)],navigator[_0x2b00ee(0x127)],navigator[_0x2b00ee(0x2b2)],navigator[_0x2b00ee(0x1ed)],window[_0x2b00ee(0x1d1)]],'dataos':[{'name':_0x2b00ee(0x2dd),'value':_0x2b00ee(0x2dd),'version':'OS'},{'name':_0x2b00ee(0x123),'value':_0x2b00ee(0x21e),'version':'NT'},{'name':_0x2b00ee(0x1fd),'value':'iPhone','version':'OS'},{'name':_0x2b00ee(0x1af),'value':'iPad','version':'OS'},{'name':'Kindle','value':_0x2b00ee(0x234),'version':_0x2b00ee(0x234)},{'name':_0x2b00ee(0x1b3),'value':_0x2b00ee(0x1b3),'version':_0x2b00ee(0x1b3)},{'name':_0x2b00ee(0x239),'value':_0x2b00ee(0x239),'version':'OS'},{'name':_0x2b00ee(0x27e),'value':_0x2b00ee(0x27e),'version':'/'},{'name':_0x2b00ee(0x214),'value':_0x2b00ee(0xec),'version':_0x2b00ee(0x267)},{'name':'Linux','value':_0x2b00ee(0x282),'version':'rv'},{'name':_0x2b00ee(0x2a5),'value':_0x2b00ee(0x2a5),'version':'PalmOS'}],'databrowser':[{'name':_0x2b00ee(0x111),'value':_0x2b00ee(0x111),'version':'Chrome'},{'name':'Firefox','value':_0x2b00ee(0x1f0),'version':'Firefox'},{'name':_0x2b00ee(0x23a),'value':_0x2b00ee(0x23a),'version':_0x2b00ee(0x2e0)},{'name':_0x2b00ee(0x2da),'value':'MSIE','version':'MSIE'},{'name':'Opera','value':_0x2b00ee(0x1a1),'version':'Opera'},{'name':'BlackBerry','value':_0x2b00ee(0x306),'version':_0x2b00ee(0x306)},{'name':_0x2b00ee(0x14e),'value':_0x2b00ee(0x14e),'version':_0x2b00ee(0x14e)}],'init':function(){const _0x566301=_0x2b00ee;let _0x11c28e=this[_0x566301(0x2b4)][_0x566301(0x22d)]('\x20'),_0x2d29d4=this['matchItem'](_0x11c28e,this[_0x566301(0x1c3)]),_0x1f278f=this['matchItem'](_0x11c28e,this[_0x566301(0x2a8)]);return{'os':_0x2d29d4,'browser':_0x1f278f};},'matchItem':function(_0xb6895d,_0x25539c){const _0x26e14c=_0x2b00ee;let _0x266ceb=0x0,_0x204449=0x0,_0x1af4d1='',_0x589e18,_0x10e622,_0x5cb55d,_0xa0a24a,_0x111916;for(_0x266ceb=0x0;_0x266ceb<_0x25539c['length'];_0x266ceb+=0x1){_0x589e18=new RegExp(_0x25539c[_0x266ceb][_0x26e14c(0x226)],'i'),_0x5cb55d=_0x589e18[_0x26e14c(0x186)](_0xb6895d);if(_0x5cb55d){_0x10e622=new RegExp(_0x25539c[_0x266ceb][_0x26e14c(0x237)]+_0x26e14c(0x163),'i'),_0xa0a24a=_0xb6895d[_0x26e14c(0x304)](_0x10e622),_0x111916='';_0xa0a24a&&(_0xa0a24a[0x1]&&(_0xa0a24a=_0xa0a24a[0x1]));if(_0xa0a24a){_0xa0a24a=_0xa0a24a[_0x26e14c(0x1f3)](/[._]+/);for(_0x204449=0x0;_0x204449<_0xa0a24a['length'];_0x204449+=0x1){_0x204449===0x0?_0x111916+=_0xa0a24a[_0x204449]+'.':_0x111916+=_0xa0a24a[_0x204449];}}else _0x111916='0';return{'name':_0x25539c[_0x266ceb][_0x26e14c(0x11f)],'version':parseFloat(_0x111916)};}}return{'name':_0x26e14c(0x1c2),'version':0x0};}},_0x555a16=_0x197f9b[_0x2b00ee(0x2ff)]();return _0x555a16['os']['name'];},_0x1ae811=()=>{const _0xc25308=_0x1755,_0x25a7c0=navigator['userAgent'];if(_0x25a7c0[_0xc25308(0x13b)]('Chrome')>-0x1&&_0x25a7c0[_0xc25308(0x13b)](_0xc25308(0x2cd))===-0x1)return'Chrome';else{if(_0x25a7c0[_0xc25308(0x13b)]('Safari')>-0x1&&_0x25a7c0[_0xc25308(0x13b)](_0xc25308(0x111))===-0x1)return _0xc25308(0x23a);else{if(_0x25a7c0[_0xc25308(0x13b)](_0xc25308(0x1f0))>-0x1)return'Firefox';else{if(_0x25a7c0[_0xc25308(0x13b)](_0xc25308(0x1d2))>-0x1||_0x25a7c0['indexOf'](_0xc25308(0x255))>-0x1)return _0xc25308(0x2da);else return _0x25a7c0[_0xc25308(0x13b)]('Edge')>-0x1?_0xc25308(0x2cd):'Unknown';}}}},_0x6609f3=()=>{const _0x349e91=_0x1755;return _0x52888f()&&_0x1ae811()==_0x349e91(0x23a);},_0x22c101=()=>{return _0x52888f()&&_0x1ae811()=='Chrome';},_0x270210=()=>{const _0x102b4a=_0x1755;return _0x230f47()&&_0x1ae811()==_0x102b4a(0x111);};return{'getDeviceName':_0x3ac46f,'getCurrentPlatform':_0x36d4b2,'isApple':_0x35effb,'isWindows':_0x230f47,'isAndroid':_0x2012ce,'isMac':_0x52888f,'isiPhone':_0x3b7beb,'isiPad':_0x547afc,'getDeviceDescription':_0x2c7020,'getBrowserName':_0x1ae811,'isSafariMac':_0x6609f3,'isChromeMac':_0x22c101,'isChromeWin':_0x270210};})()),_0xcac1ce=_0x11c69b=>{const _0x4a9949=_0x1755;let _0x156e87=0x3c;switch(_0x11c69b){case BB['FrameRateMode'][_0x4a9949(0x21c)]:_0x156e87=0x3c;break;case BB['FrameRateMode'][_0x4a9949(0x2d3)]:_0x156e87=0x3c;break;case BB[_0x4a9949(0x199)][_0x4a9949(0x29e)]:_0x156e87=0xea60/0x3e9;break;case BB['FrameRateMode'][_0x4a9949(0x1ea)]:_0x156e87=0x7530/0x3e9;break;default:console[_0x4a9949(0x1ce)]('BB.Utils.getMediaTimeFPS:\x20Unknown\x20FrameRate\x20mode');break;};return _0x156e87;},_0x5672e3=_0x58823c=>{const _0x2e8987=_0x1755;let _0xc5621d=0x3c;switch(_0x58823c){case BB['FrameRateMode']['Src60_MediaTime60']:_0xc5621d=0x3c;break;case BB['FrameRateMode'][_0x2e8987(0x2d3)]:_0xc5621d=0xea60/0x3e9;break;case BB[_0x2e8987(0x199)][_0x2e8987(0x29e)]:_0xc5621d=0xea60/0x3e9;break;case BB[_0x2e8987(0x199)][_0x2e8987(0x1ea)]:_0xc5621d=0x7530/0x3e9;break;default:console[_0x2e8987(0x1ce)](_0x2e8987(0x232));break;};return _0xc5621d;},_0x5085a0=(_0x3f8534,_0x5db3a2)=>{const _0x1b125f=_0x1755,_0xefa48d=(_0x35bf8d,_0x1b3df8)=>{const _0x52a901=_0x1755;if(Math[_0x52a901(0x177)](_0x35bf8d-_0x1b3df8)<0.01)return!![];else return![];};if(_0xefa48d(_0x3f8534,0x3c)){if(_0xefa48d(BB[_0x1b125f(0x171)][_0x1b125f(0x27b)](_0x5db3a2[_0x1b125f(0x14a)]),0x3c))_0x5db3a2[_0x1b125f(0x14a)]=BB[_0x1b125f(0x199)][_0x1b125f(0x21c)];else{if(_0xefa48d(BB[_0x1b125f(0x171)][_0x1b125f(0x27b)](_0x5db3a2[_0x1b125f(0x14a)]),0xea60/0x3e9))_0x5db3a2[_0x1b125f(0x14a)]=BB[_0x1b125f(0x199)]['Src59_MediaTime60'];else console[_0x1b125f(0x1ce)](_0x1b125f(0x17c));}}else{if(_0xefa48d(_0x3f8534,0xea60/0x3e9)){if(_0xefa48d(BB[_0x1b125f(0x171)]['getSourceFPS'](_0x5db3a2['frameRateMode']),0x3c))_0x5db3a2['frameRateMode']=BB['FrameRateMode']['Src60_MediaTime59'];else{if(_0xefa48d(BB['Utils']['getSourceFPS'](_0x5db3a2[_0x1b125f(0x14a)]),0xea60/0x3e9))_0x5db3a2[_0x1b125f(0x14a)]=BB['FrameRateMode']['Src59_MediaTime59'];else console[_0x1b125f(0x1ce)](_0x1b125f(0x17c));}}else{if(_0xefa48d(_0x3f8534,0x7530/0x3e9)){if(_0xefa48d(BB[_0x1b125f(0x171)][_0x1b125f(0x27b)](_0x5db3a2[_0x1b125f(0x14a)]),0x7530/0x3e9))_0x5db3a2[_0x1b125f(0x14a)]=BB[_0x1b125f(0x199)][_0x1b125f(0x1ea)];else console[_0x1b125f(0x1ce)](_0x1b125f(0x19a)+_0x3f8534);}else console[_0x1b125f(0x1ce)](_0x1b125f(0x2a6));}}},_0x4edab1=()=>{const _0x5ed28e=[0x7530/0x3e9,0x1e/0x1],_0x30c233=[0xea60/0x3e9,0x3c/0x1];let _0x5cd3cd=[],_0x24ba5c=[],_0x493924=0x0,_0x2d1162=-0x1,_0x813f68=0x0;const _0x122d9e=_0x490554=>{const _0x106ffe=_0x1755;_0x813f68++;let _0x2f51a7=0x3e7,_0x29caf3=0x0;if(_0x2d1162==-0x1){_0x2d1162=_0x490554;return;}else{let _0x14f0d0=_0x490554-_0x2d1162;if(_0x493924<0x64){_0x24ba5c[_0x106ffe(0x1b6)](_0x14f0d0),_0x493924++;return;}else _0x24ba5c[_0x106ffe(0x1b6)](_0x14f0d0),_0x24ba5c[_0x106ffe(0x268)]();let _0x519efa=0x0;for(let _0x51b6a8=0x0;_0x51b6a8<_0x24ba5c[_0x106ffe(0x12c)];_0x51b6a8++){_0x519efa+=_0x24ba5c[_0x51b6a8];}_0x14f0d0=_0x519efa/_0x24ba5c['length'];if(0x1/_0x14f0d0<0x28)possibleFps=_0x5ed28e;else possibleFps=_0x30c233;}_0x2d1162=_0x490554;for(let _0xe6a037=0x0;_0xe6a037<possibleFps[_0x106ffe(0x12c)];++_0xe6a037){let _0x2fad00=possibleFps[_0xe6a037],_0x13c722=_0x490554*_0x2fad00,_0x25cc38=Math[_0x106ffe(0x2d7)](_0x13c722),_0x12368c=Math[_0x106ffe(0x177)](_0x13c722-_0x25cc38);_0x12368c<_0x2f51a7&&(_0x2f51a7=_0x12368c,_0x29caf3=_0x2fad00);}let _0x5020f9=_0x29caf3;_0x5cd3cd[_0x106ffe(0x1b6)](_0x5020f9);if(_0x813f68>0x3e8)_0x5cd3cd['shift']();},_0xcfe0f=()=>{const _0x2ca32a=_0x1755;let _0x1c1bc8={},_0xa6dfce,_0x20fa8a=0x0;for(let _0x317f2c=0x0;_0x317f2c<_0x5cd3cd[_0x2ca32a(0x12c)];_0x317f2c++){let _0x4e39f9=_0x5cd3cd[_0x317f2c];_0x1c1bc8[_0x4e39f9]=(_0x1c1bc8[_0x4e39f9]||0x0)+0x1,_0x1c1bc8[_0x4e39f9]>_0x20fa8a&&(_0xa6dfce=_0x4e39f9,_0x20fa8a=_0x1c1bc8[_0x4e39f9]);}return _0xa6dfce;},_0x15ca11=()=>{return _0x813f68;};return{'addTime':_0x122d9e,'getProbableFPS':_0xcfe0f,'howMany':_0x15ca11};};return{'TimeCodesFramesTranslator':_0x259d59,'MedianCalculator':_0x235c2c,'Platform':_0x5cab0e,'getMediaTimeFPS':_0xcac1ce,'getSourceFPS':_0x5672e3,'setMediaFPS':_0x5085a0,'FPSGetter':_0x4edab1};})()),BB[_0x215fd8(0x141)]=class{constructor(_0x3379f4){const _0x1d0309=_0x215fd8;this[_0x1d0309(0x301)]=![],this[_0x1d0309(0x103)]='',this['callback']=_0x3379f4,this[_0x1d0309(0x11f)]='';}[_0x215fd8(0xf2)](_0x421875){const _0x26913c=_0x215fd8;if(typeof io==_0x26913c(0x223)||this[_0x26913c(0x301)])return;this[_0x26913c(0x301)]=!![];const _0x3d862f=io(_0x26913c(0x21f));_0x3d862f['on'](_0x26913c(0x180),()=>{const _0x35930d=_0x26913c;console[_0x35930d(0x16e)](_0x35930d(0x207));let _0x134f3d=BB[_0x35930d(0x171)][_0x35930d(0x2c9)];_0x3d862f[_0x35930d(0x2dc)]('setinfo',{'device':_0x134f3d[_0x35930d(0x17a)]()},_0x4a1e44=>{const _0x43b5fd=_0x35930d;this[_0x43b5fd(0x11f)]=_0x4a1e44[_0x43b5fd(0x11f)],_0x3d862f[_0x43b5fd(0x2dc)](_0x43b5fd(0x22d),_0x421875,_0x31b4a8=>{const _0x264a98=_0x43b5fd;console[_0x264a98(0x16e)]('join\x20\x20'+_0x421875+'\x20room'),this[_0x264a98(0x2d8)]('join',_0x31b4a8);});});}),_0x3d862f['on'](_0x26913c(0x1ce),_0x54c384=>{const _0xbb9177=_0x26913c;console[_0xbb9177(0x1ce)]('error::'+_0x54c384);}),_0x3d862f['on'](_0x26913c(0x218),_0xaa5237=>{const _0x2cc42f=_0x26913c;console[_0x2cc42f(0x1ce)](_0x2cc42f(0x1aa)+_0xaa5237);}),_0x3d862f['on'](_0x26913c(0x11c),_0x4c44e9=>{const _0x808f9b=_0x26913c;this['callback']('messageroom',_0x4c44e9),console['log'](_0x808f9b(0x27a),_0x4c44e9);}),_0x3d862f['on'](_0x26913c(0x1bf),_0xbd900c=>{const _0x3a5681=_0x26913c;this[_0x3a5681(0x2d8)](_0x3a5681(0x1bf),_0xbd900c),console['log'](_0x3a5681(0x14b),_0xbd900c);});}},BB[_0x215fd8(0x238)]=(_0x54ea4f,_0x3302ca,_0x4c9078)=>{const _0x4e43d1=_0x215fd8;console[_0x4e43d1(0x16e)]('BB.Augmenter\x20Start');function _0x563ff4(_0x9ffb6c,_0x2d683b){const _0x2d00d5=_0x4e43d1;let _0x1005dd='';if(_0x9ffb6c&&_0x9ffb6c[_0x2d00d5(0x2f6)](_0x2d00d5(0x20e))){const _0xc41fd4=_0x9ffb6c[_0x2d00d5(0x18a)](/.*NTC./,'');let _0x393667=0x0;while(_0x393667+0x8<=_0xc41fd4['length']){const _0x13109a=_0xc41fd4['substring'](_0x393667,_0x393667+0x4),_0xfd8583=((_0xc41fd4[_0x2d00d5(0x25f)](_0x393667+0x4)*0x100+_0xc41fd4['charCodeAt'](_0x393667+0x5))*0x100+_0xc41fd4['charCodeAt'](_0x393667+0x6))*0x100+_0xc41fd4[_0x2d00d5(0x25f)](_0x393667+0x7);if(_0x393667+0x8+_0xfd8583>_0xc41fd4[_0x2d00d5(0x12c)])break;const _0x3e0f25=_0xc41fd4[_0x2d00d5(0x2b6)](_0x393667+0x8,_0x393667+0x8+_0xfd8583);_0x13109a==_0x2d00d5(0x25c)&&(timecodeDateTime=new Date(parseInt(_0x3e0f25))[_0x2d00d5(0x1a6)]()/0x3e8,timecodeDelta=timecodeDateTime-_0x2d683b);_0x13109a==_0x2d00d5(0x2b9)&&(tcTimeStamp=new Date(parseInt(_0x3e0f25))['getTime']());if(_0x13109a===_0x2d00d5(0x1db)){timecode_offset=parseInt(_0x3e0f25)/0x5a;if(_0x4c9078[_0x2d00d5(0x24b)])console[_0x2d00d5(0x16e)]('We\x20are\x20HERE:TimeCode',timecode_offset);}_0x393667+=0x8+_0xfd8583;}}return _0x1005dd;}let _0x4b3bd4=[0x0,0x0,0x0,0x0,0x0];function _0x42c19b(_0x2da5f9){const _0xe5fa5e=_0x4e43d1;if(_0x2da5f9&&_0x2da5f9[_0xe5fa5e(0x151)]&&_0x2da5f9['metadata']['id']==0x0||_0x1842b2['isSafariMac']()){if(_0x2da5f9[_0xe5fa5e(0x151)][_0xe5fa5e(0x2d0)])_0x2da5f9[_0xe5fa5e(0x151)]['messageData']=_0x563ff4(_0x2da5f9[_0xe5fa5e(0x151)]['messageData'],_0x2da5f9[_0xe5fa5e(0x151)]['presentationTime']);else{if(_0x2da5f9['metadata']['frames']&&_0x2da5f9[_0xe5fa5e(0x151)][_0xe5fa5e(0x130)][_0xe5fa5e(0x12c)]&&_0x2da5f9[_0xe5fa5e(0x151)][_0xe5fa5e(0x130)][0x0][_0xe5fa5e(0x219)]&&_0x2da5f9[_0xe5fa5e(0x151)]['frames'][0x0][_0xe5fa5e(0x219)]['toLowerCase']()===_0xe5fa5e(0x1ff)){const _0x2037df=_0x2da5f9['metadata'][_0xe5fa5e(0x130)][_0xe5fa5e(0x2ab)](_0x4f5cf3=>{const _0x453693=_0xe5fa5e;return _0x4f5cf3['info']&&_0x4f5cf3[_0x453693(0x2e7)][_0x453693(0x185)]()[_0x453693(0x2f6)](_0x453693(0x162));});_0x2037df[_0xe5fa5e(0x12c)]&&(messageData=_0x2037df[_0x2037df[_0xe5fa5e(0x12c)]-0x1]['info']+'\x00'+String[_0xe5fa5e(0x269)](..._0x2037df[_0x2037df[_0xe5fa5e(0x12c)]-0x1][_0xe5fa5e(0x271)]),_0x2da5f9[_0xe5fa5e(0x151)][_0xe5fa5e(0x2d0)]=_0x563ff4(messageData,_0x2da5f9['metadata'][_0xe5fa5e(0x213)]));}}(_0x2da5f9['metadata']['id']==0x0||_0x1842b2[_0xe5fa5e(0x14c)]()&&timecode_offset==0x0)&&(presentationTime=_0x2da5f9[_0xe5fa5e(0x151)][_0xe5fa5e(0x213)]*0x3e8,offsetTimeCode=new Date(tcTimeStamp-timecode_offset),offsetTimeCodeframeNumber=Math[_0xe5fa5e(0x2d7)](offsetTimeCode[_0xe5fa5e(0x10b)]()*0x1e*0x2/0x3e9)/0x2,decimalPartOff=offsetTimeCodeframeNumber%0x1,partoff=0x1,decimalPartOff==0.5&&(offsetTimeCodeframeNumber=Math['floor'](offsetTimeCodeframeNumber),partoff=0x2),_0x4b3bd4=[offsetTimeCode[_0xe5fa5e(0x291)](),offsetTimeCode[_0xe5fa5e(0x22f)](),offsetTimeCode[_0xe5fa5e(0x158)](),parseInt(offsetTimeCodeframeNumber),partoff==0x1?0x0:0x1]);}}function _0x5e8ce3(_0x428f59){const _0x5ed774=_0x4e43d1;if(typeof globalConfig!==_0x5ed774(0x223)){if(typeof globalConfig[_0x5ed774(0x161)]!==_0x5ed774(0x223)){if(globalConfig[_0x5ed774(0x161)]=='no')return;}}if(BB[_0x5ed774(0x171)]['getSourceFPS'](_0x4c9078[_0x5ed774(0x14a)])==0x7530/0x3e9){let _0x265d89={'frame':0x0,'playerTime':0x0};_0x265d89[_0x5ed774(0x1bc)]=BB[_0x5ed774(0x171)][_0x5ed774(0x28b)][_0x5ed774(0x194)](_0x4b3bd4,0x7530/0x3e9,![]),_0x265d89[_0x5ed774(0x1d6)]=BB[_0x5ed774(0x171)]['TimeCodesFramesTranslator'][_0x5ed774(0x125)](_0x4b3bd4,![],![]),console[_0x5ed774(0x16e)](_0x5ed774(0x26d)+_0x428f59[_0x5ed774(0x283)]+'):\x20'+_0x265d89['stringTime']+'\x20('+_0x265d89[_0x5ed774(0x1bc)]+')'+'\x20playing\x20at\x20'+_0x428f59[_0x5ed774(0x1d0)]),_0x265d89[_0x5ed774(0x18c)]=_0x428f59[_0x5ed774(0x1d0)],_0x4c9078[_0x5ed774(0xf5)]=_0x265d89;}else{if(BB[_0x5ed774(0x171)][_0x5ed774(0x27b)](_0x4c9078['frameRateMode'])==0xea60/0x3e9){let _0x32501d={'frame':0x0,'playerTime':0x0};_0x32501d[_0x5ed774(0x1bc)]=BB['Utils'][_0x5ed774(0x28b)]['Timecode2Frames'](_0x4b3bd4,0xea60/0x3e9,!![]),_0x32501d[_0x5ed774(0x1d6)]=BB[_0x5ed774(0x171)][_0x5ed774(0x28b)]['printTimecode'](_0x4b3bd4,!![],!![]),console[_0x5ed774(0x16e)]('New\x20segment\x20('+_0x428f59[_0x5ed774(0x283)]+_0x5ed774(0x28f)+_0x32501d[_0x5ed774(0x1d6)]+'\x20('+_0x32501d[_0x5ed774(0x1bc)]+')'+_0x5ed774(0x2e9)+_0x428f59[_0x5ed774(0x1d0)]),_0x32501d[_0x5ed774(0x18c)]=_0x428f59['playbackTime'],_0x4c9078['syncPoint']=_0x32501d;}}_0x428f59['mimeType'][_0x5ed774(0x2f6)](_0x5ed774(0x1a4))&&console[_0x5ed774(0x16e)](_0x5ed774(0xfe)+_0x428f59['url']);}function _0x50e486(_0xad609){const _0x9cd6c8=_0x4e43d1;switch(_0xad609['eventType']){case wmcEvents['AMC_EVENT_PLAYER_SEGMENT_PLAYBACK']:let _0xbf1791={'frame':0x0,'playerTime':0x0};BB[_0x9cd6c8(0x171)]['getSourceFPS'](_0x4c9078[_0x9cd6c8(0x14a)])==0x7530/0x3e9&&(console[_0x9cd6c8(0x16e)](_0x9cd6c8(0x26d)+_0xad609[_0x9cd6c8(0x283)]+'):\x20'+BB[_0x9cd6c8(0x171)][_0x9cd6c8(0x28b)]['timeDate2TCString'](_0xad609[_0x9cd6c8(0x2d4)],0x7530/0x3e9)+'\x20playing\x20at\x20'+_0xad609[_0x9cd6c8(0x1d0)]),_0xbf1791[_0x9cd6c8(0x1bc)]=BB[_0x9cd6c8(0x171)][_0x9cd6c8(0x28b)][_0x9cd6c8(0x194)](BB[_0x9cd6c8(0x171)]['TimeCodesFramesTranslator'][_0x9cd6c8(0xee)](_0xad609[_0x9cd6c8(0x2d4)],0x7530/0x3e9),0x7530/0x3e9,![]),_0xbf1791['stringTime']=BB['Utils'][_0x9cd6c8(0x28b)][_0x9cd6c8(0x175)](_0xad609['dateTime'],0x7530/0x3e9));BB[_0x9cd6c8(0x171)][_0x9cd6c8(0x27b)](_0x4c9078[_0x9cd6c8(0x14a)])==0xea60/0x3e9&&(console[_0x9cd6c8(0x16e)](_0x9cd6c8(0x26d)+_0xad609[_0x9cd6c8(0x283)]+_0x9cd6c8(0x28f)+BB[_0x9cd6c8(0x171)][_0x9cd6c8(0x28b)]['timeDate2TCString'](_0xad609[_0x9cd6c8(0x2d4)],0xea60/0x3e9)+'\x20playing\x20at\x20'+_0xad609[_0x9cd6c8(0x1d0)]),_0xbf1791[_0x9cd6c8(0x1bc)]=BB[_0x9cd6c8(0x171)][_0x9cd6c8(0x28b)][_0x9cd6c8(0x194)](BB[_0x9cd6c8(0x171)][_0x9cd6c8(0x28b)][_0x9cd6c8(0xee)](_0xad609['dateTime']),fps,!![]),_0xbf1791[_0x9cd6c8(0x1d6)]=BB['Utils']['TimeCodesFramesTranslator'][_0x9cd6c8(0x175)](_0xad609[_0x9cd6c8(0x2d4)],0xea60/0x3e9));_0xbf1791[_0x9cd6c8(0x18c)]=_0xad609[_0x9cd6c8(0x1d0)],_0x4c9078[_0x9cd6c8(0xf5)]=_0xbf1791;break;default:}}let _0x5d637e=BB[_0x4e43d1(0x171)][_0x4e43d1(0x28b)],_0x3ca0bc=BB[_0x4e43d1(0x171)][_0x4e43d1(0x27b)](_0x4c9078[_0x4e43d1(0x14a)]),_0x56cfa5=BB['Utils'][_0x4e43d1(0x135)](_0x4c9078['frameRateMode']);refreshRate=_0x4c9078[_0x4e43d1(0x263)];let _0x1bf265=null,_0x596e0d=null,_0x3ca15a=null;if(_0x4c9078[_0x4e43d1(0x10f)]==BB['RenderingMode'][_0x4e43d1(0x197)]){}else{let _0x2fefa4=document['createElement'](_0x4e43d1(0x228));_0x2fefa4['width']=0x1f4,_0x2fefa4['height']=0x1f4,document[_0x4e43d1(0x24e)]['appendChild'](_0x2fefa4),_0x3ca15a=_0x2fefa4[_0x4e43d1(0x1c7)](_0x4e43d1(0x1f6));}let _0x1842b2=BB[_0x4e43d1(0x171)][_0x4e43d1(0x2c9)],_0x3aead3=-0x1,_0x11224c=![];const _0x546c59=(_0x13c328,_0x384f18)=>{const _0x29d32f=_0x4e43d1,_0x42401d=performance['now']();if(_0x3aead3==_0x13c328&&_0x384f18==_0x11224c){if(_0x4c9078[_0x29d32f(0x24b)])console[_0x29d32f(0x113)]('render():\x20lastVideoFrameRenderedInGL==currentFrame:\x20'+_0x13c328);return 0x0;}if(!_0x4c9078['enabled']||_0x4c9078[_0x29d32f(0x115)])return _0x596e0d[_0x29d32f(0x259)](),0x0;if(_0x4c9078[_0x29d32f(0x10f)]==BB[_0x29d32f(0x2b5)][_0x29d32f(0x202)])renderDigit(_0x3ca15a,_0x13c328);else{if(_0x4c9078[_0x29d32f(0x10f)]==BB[_0x29d32f(0x2b5)][_0x29d32f(0x1e2)]){if(_0x3ca0bc==0xea60/0x3e9||_0x3ca0bc==0x3c)renderTimecode(_0x3ca15a,_0x5d637e[_0x29d32f(0x211)](_0x13c328,_0x3ca0bc,!![]),!![]);else{if(_0x3ca0bc==0x7530/0x3e9||_0x3ca0bc==0x1e)renderTimecode(_0x3ca15a,_0x5d637e['Frames2Timecode'](_0x13c328,_0x3ca0bc,![]),![]);}}else{if(_0x4c9078['renderingMode']==BB[_0x29d32f(0x2b5)][_0x29d32f(0x197)]){if(_0x3ca0bc==0xea60/0x3e9||_0x3ca0bc==0x3c)_0x596e0d[_0x29d32f(0x11e)](_0x5d637e[_0x29d32f(0x125)](_0x5d637e[_0x29d32f(0x211)](_0x13c328,_0x3ca0bc,!![])));else(_0x3ca0bc==0x7530/0x3e9||_0x3ca0bc==0x1e)&&(_0x384f18?_0x596e0d['renderAugmentation'](_0x5d637e[_0x29d32f(0x125)](_0x5d637e[_0x29d32f(0x211)](_0x13c328*0x2+0x1,_0x3ca0bc*0x2,!![]),!![])):_0x596e0d['renderAugmentation'](_0x5d637e[_0x29d32f(0x125)](_0x5d637e[_0x29d32f(0x211)](_0x13c328,_0x3ca0bc,![]),![])));}}}_0x3aead3=_0x13c328,_0x11224c=_0x384f18;const _0x4d9705=performance['now']();return _0x4d9705-_0x42401d;};let _0x1ff367=0x0,_0x242176=0x0,_0x271405=0x20,_0x2d58c3=0x20,_0x201041='',_0x30561c=0x0,_0x205681,_0x1ab52c=function(_0x151346,_0x26aeb5){const _0x397a5c=_0x4e43d1;if(_0x201041==_0x397a5c(0x14f)){if(_0x4c9078[_0x397a5c(0x24b)])console[_0x397a5c(0x113)]('This\x20videoCallback\x20can\x20be\x20incorrect.\x20This\x20time\x20doing\x20stuff\x20in\x20requestAnimation\x20frame');_0x3302ca[_0x397a5c(0x155)](_0x1ab52c);return;}_0x201041=_0x397a5c(0x1d5),lastNow=_0x151346;let _0x37109e=(_0x26aeb5['mediaTime']-_0x4c9078['syncPoint'][_0x397a5c(0x18c)])%(0x3c*0x3c*0x18)*_0x56cfa5,_0xde77e9=_0x26aeb5[_0x397a5c(0x221)]-_0x4c9078[_0x397a5c(0xf5)][_0x397a5c(0x18c)];lastFrameFromVideoCallback=Math[_0x397a5c(0x2de)](_0x37109e+0.1)+_0x4c9078[_0x397a5c(0xf5)][_0x397a5c(0x1bc)];if(_0x4c9078[_0x397a5c(0x24b)]){var _0xbc2d09=document['getElementById'](_0x397a5c(0x11d))['value'],_0x123252=parseInt(_0xbc2d09);lastFrameFromVideoCallback+=_0x123252;}else lastFrameFromVideoCallback+=0x1;_0x2a4f52=_0x26aeb5[_0x397a5c(0x221)];let _0x416e7d=_0x3302ca[_0x397a5c(0x233)],_0x62fba6=document[_0x397a5c(0x253)](_0x397a5c(0x276));var _0x23ce48='';if(BB[_0x397a5c(0x171)][_0x397a5c(0x27b)](_0x4c9078[_0x397a5c(0x14a)])==0xea60/0x3e9)_0x23ce48=_0x5d637e['printTimecode'](_0x5d637e['Frames2Timecode'](lastFrameFromVideoCallback,_0x3ca0bc,!![]),!![],!![]);else BB[_0x397a5c(0x171)][_0x397a5c(0x27b)](_0x4c9078['frameRateMode'])==0x7530/0x3e9?_0x23ce48=_0x5d637e[_0x397a5c(0x125)](_0x5d637e[_0x397a5c(0x211)](lastFrameFromVideoCallback,_0x3ca0bc,![]),![],![]):_0x23ce48=_0x397a5c(0x172);var _0x489a19='';if(BB[_0x397a5c(0x171)][_0x397a5c(0x27b)](_0x4c9078[_0x397a5c(0x14a)])==0xea60/0x3e9)_0x489a19=_0x5d637e[_0x397a5c(0x125)](_0x5d637e[_0x397a5c(0x211)](_0x4c9078[_0x397a5c(0x2bf)]['offset'],_0x3ca0bc,!![]),!![],!![]);else BB[_0x397a5c(0x171)][_0x397a5c(0x27b)](_0x4c9078[_0x397a5c(0x14a)])==0x7530/0x3e9?_0x489a19=_0x5d637e['printTimecode'](_0x5d637e[_0x397a5c(0x211)](_0x4c9078[_0x397a5c(0x2bf)][_0x397a5c(0x297)],_0x3ca0bc,![]),![],![]):_0x489a19=_0x397a5c(0x172);let _0x4603bf=lastFrameFromVideoCallback-_0x4c9078[_0x397a5c(0x2bf)][_0x397a5c(0x297)];if(_0x1bf265)_0x1bf265[_0x397a5c(0x2eb)](_0x4603bf);var _0x11dd12='';if(BB['Utils'][_0x397a5c(0x27b)](_0x4c9078[_0x397a5c(0x14a)])==0xea60/0x3e9)_0x11dd12=_0x5d637e[_0x397a5c(0x125)](_0x5d637e['Frames2Timecode'](_0x4603bf,_0x3ca0bc,!![]),!![],!![]);else BB['Utils'][_0x397a5c(0x27b)](_0x4c9078['frameRateMode'])==0x7530/0x3e9?_0x11dd12=_0x5d637e['printTimecode'](_0x5d637e[_0x397a5c(0x211)](_0x4603bf,_0x3ca0bc,![]),![],![]):_0x11dd12=_0x397a5c(0x172);let _0x269448=Date[_0x397a5c(0x24a)]()-_0x242176,_0x11cbf4=new Date(),_0x38a384=String(_0x11cbf4[_0x397a5c(0x131)]())['padStart'](0x2,'0'),_0x20a386=String(_0x11cbf4[_0x397a5c(0x1a7)]())['padStart'](0x2,'0'),_0x407d5a=String(_0x11cbf4[_0x397a5c(0x2ba)]())[_0x397a5c(0x17d)](0x2,'0'),_0x55d6aa=String(_0x11cbf4[_0x397a5c(0x212)]())['padStart'](0x3,'0'),_0x5790b9=_0x38a384+':'+_0x20a386+':'+_0x407d5a+'.'+_0x55d6aa;if(_0x4c9078[_0x397a5c(0x24b)]){if(_0x4c9078[_0x397a5c(0x2bf)][_0x397a5c(0x297)]!=_0x30561c||_0x205681<0xa*0x3c)var _0x1512d5='red';else var _0x1512d5=_0x397a5c(0x1e5);_0x62fba6[_0x397a5c(0x1d7)]=_0x397a5c(0x203)+_0x397a5c(0x236)+_0x4c9078[_0x397a5c(0x145)]+',\x20Time\x20Fired:\x20'+_0x5790b9+_0x397a5c(0x1d3)+_0x26aeb5['mediaTime']['toFixed'](0x4)+_0x397a5c(0x1b4)+_0x23ce48+',\x20offset:\x20<span\x20style=\x27color:'+_0x1512d5+'\x27>'+_0x4c9078[_0x397a5c(0x2bf)][_0x397a5c(0x297)]+'('+_0x489a19+_0x397a5c(0x279)+_0x397a5c(0x1e8)+_0x11dd12+_0x397a5c(0x1d4)+_0xde77e9[_0x397a5c(0x23f)](0x4)+_0x397a5c(0x1ac)+_0x4c9078[_0x397a5c(0xf5)][_0x397a5c(0x18c)]['toFixed'](0x4)+_0x397a5c(0x195)+_0x4c9078[_0x397a5c(0xf5)][_0x397a5c(0x1bc)]+_0x397a5c(0x26c)+_0x4c9078[_0x397a5c(0xf5)][_0x397a5c(0x1d6)]+'\x20</br>',_0x4c9078[_0x397a5c(0x2bf)]['offset']!=_0x30561c&&(_0x205681=0x0),_0x30561c=_0x4c9078['augmentation'][_0x397a5c(0x297)],_0x205681++;}_0x1ff367++,_0x242176=Date[_0x397a5c(0x24a)]();let _0xc9f45b=![];if(_0x4c9078[_0x397a5c(0x24b)]){var _0x182b55=document[_0x397a5c(0x253)](_0x397a5c(0x117));_0xc9f45b=_0x182b55[_0x397a5c(0x29c)];}let _0x42b575=0x0;if(BB[_0x397a5c(0x171)][_0x397a5c(0x27b)](_0x4c9078[_0x397a5c(0x14a)])==0x7530/0x3e9){let _0x2ef31f=0x18,_0x198d3f=0x21+(0x21-_0x2ef31f);_0x269448<_0x2ef31f&&_0x271405<_0x198d3f||_0x271405<_0x2ef31f&&_0x269448<_0x198d3f||_0x2d58c3<_0x2ef31f&&_0x271405<_0x198d3f&&_0x269448<_0x198d3f||_0xc9f45b==!![]?(_0x62fba6['innerHTML']+='\x20Setting\x20(some)\x20ms\x20timer',setTimeout(function(){_0x546c59(_0x4603bf,![]);},0xa)):_0x546c59(_0x4603bf,![]);}else BB[_0x397a5c(0x171)][_0x397a5c(0x27b)](_0x4c9078[_0x397a5c(0x14a)])==0xea60/0x3e9?_0x42b575=_0x546c59(_0x4603bf,![]):console[_0x397a5c(0x113)](_0x397a5c(0x29f));_0x2d58c3=_0x271405,_0x271405=_0x269448;_0x4c9078[_0x397a5c(0x24b)]&&console[_0x397a5c(0x113)](_0x397a5c(0x21a)+_0x397a5c(0x224)+_0x5790b9+_0x397a5c(0x250)+_0x23ce48+_0x397a5c(0x1e6)+_0x42b575[_0x397a5c(0x23f)](0x4)+_0x397a5c(0x1c6));_0x3302ca[_0x397a5c(0x155)](_0x1ab52c);return;};const _0x5b310c=_0x56ceea=>{const _0x30d2a2=_0x4e43d1;let _0x162f19=new Date(),_0x21b065=String(_0x162f19[_0x30d2a2(0x131)]())['padStart'](0x2,'0'),_0x4c9abd=String(_0x162f19[_0x30d2a2(0x1a7)]())[_0x30d2a2(0x17d)](0x2,'0'),_0x46b24d=String(_0x162f19[_0x30d2a2(0x2ba)]())[_0x30d2a2(0x17d)](0x2,'0'),_0xd9e43c=String(_0x162f19[_0x30d2a2(0x212)]())[_0x30d2a2(0x17d)](0x3,'0'),_0x3b7c28=_0x21b065+':'+_0x4c9abd+':'+_0x46b24d+'.'+_0xd9e43c;if(_0x3302ca[_0x30d2a2(0x1a9)]){window['requestAnimationFrame'](_0x5b310c);return;}let _0x2f5d7f=document['getElementById'](_0x30d2a2(0x2b7));if(_0x4c9078['debug'])_0x2f5d7f[_0x30d2a2(0x1d7)]='ANI.\x20'+_0x30d2a2(0x2e5)+_0x3b7c28;if(_0x201041==_0x30d2a2(0x2a2)||_0x201041==_0x30d2a2(0x14f)){var _0x2199b5='';if(BB[_0x30d2a2(0x171)][_0x30d2a2(0x27b)](_0x4c9078[_0x30d2a2(0x14a)])==0xea60/0x3e9)_0x2199b5=_0x5d637e[_0x30d2a2(0x125)](_0x5d637e[_0x30d2a2(0x211)](_0x3aead3+0x1,_0x3ca0bc,!![]),!![],!![]);else BB[_0x30d2a2(0x171)][_0x30d2a2(0x27b)](_0x4c9078[_0x30d2a2(0x14a)])==0x7530/0x3e9?_0x2199b5=_0x5d637e['printTimecode'](_0x5d637e[_0x30d2a2(0x211)](_0x3aead3+0x1,_0x3ca0bc,![]),![],![]):_0x2199b5=_0x30d2a2(0x172);var _0x468246='';if(BB['Utils'][_0x30d2a2(0x27b)](_0x4c9078['frameRateMode'])==0xea60/0x3e9)_0x468246=_0x5d637e[_0x30d2a2(0x125)](_0x5d637e[_0x30d2a2(0x211)](_0x4c9078[_0x30d2a2(0x2bf)][_0x30d2a2(0x297)],_0x3ca0bc,!![]),!![],!![]);else BB[_0x30d2a2(0x171)][_0x30d2a2(0x27b)](_0x4c9078[_0x30d2a2(0x14a)])==0x7530/0x3e9?_0x468246=_0x5d637e[_0x30d2a2(0x125)](_0x5d637e[_0x30d2a2(0x211)](_0x4c9078[_0x30d2a2(0x2bf)]['offset'],_0x3ca0bc,![]),![],![]):_0x468246='NOT\x20SUPPORTED';let _0x2b1729=_0x3aead3-_0x4c9078[_0x30d2a2(0x2bf)][_0x30d2a2(0x297)];var _0x545baf='';if(BB[_0x30d2a2(0x171)]['getSourceFPS'](_0x4c9078[_0x30d2a2(0x14a)])==0xea60/0x3e9)_0x545baf=_0x5d637e[_0x30d2a2(0x125)](_0x5d637e['Frames2Timecode'](_0x2b1729,_0x3ca0bc,!![]),!![],!![]);else BB[_0x30d2a2(0x171)][_0x30d2a2(0x27b)](_0x4c9078[_0x30d2a2(0x14a)])==0x7530/0x3e9?_0x545baf=_0x5d637e['printTimecode'](_0x5d637e['Frames2Timecode'](_0x2b1729,_0x3ca0bc,![]),![],![]):_0x545baf=_0x30d2a2(0x172);_0x4c9078[_0x30d2a2(0x24b)]&&(console[_0x30d2a2(0x113)](_0x30d2a2(0x20c)+_0x2199b5+')'+_0x30d2a2(0x119)+_0x201041),_0x2f5d7f[_0x30d2a2(0x1d7)]+=_0x30d2a2(0xed));let _0x30a414=_0x546c59(_0x3aead3+0x1,![]);if(_0x4c9078[_0x30d2a2(0x24b)])console[_0x30d2a2(0x113)](_0x30d2a2(0x208)+'\x20Time\x20Fired:\x20'+_0x3b7c28+_0x30d2a2(0x24d)+',\x20time:\x20'+_0x2199b5+_0x30d2a2(0x24f)+_0x4c9078[_0x30d2a2(0x2bf)][_0x30d2a2(0x297)]+'('+_0x468246+')'+_0x30d2a2(0x28a)+_0x545baf+_0x30d2a2(0x1e6)+_0x30a414[_0x30d2a2(0x23f)](0x4)+'\x20ms');if(_0x201041=='ANI')_0x201041=_0x30d2a2(0x14f);else{if(_0x201041=='ANI2')_0x201041='ANI';}}else{if(_0x4c9078[_0x30d2a2(0x24b)])console[_0x30d2a2(0x113)](_0x30d2a2(0x208)+_0x30d2a2(0x2e5)+_0x3b7c28);_0x201041=_0x30d2a2(0x2a2);}window[_0x30d2a2(0x1f8)](_0x5b310c);};let _0x4ca256=_0x4c9078[_0x4e43d1(0x14a)]==BB['FrameRateMode'][_0x4e43d1(0x2d3)]?-0.04:+0.05,_0x27ba2d=0x0,_0x5c2742={},_0x4ee3ce=0x0,_0x3ba784=0x0,_0x374be2=0x0,_0x1e06a1=0x0,_0x5ca0e9=0x0,_0x2a4f52=-0x1,_0x506e2f=0x0,_0x907a91=![],_0x432ed4=0x0,_0x23e821=0x0,_0x474410=![];const _0x4cbeea=_0xf2d851=>{const _0x5327af=_0x4e43d1;var _0x5bdfe5=0x2;if(_0x4c9078[_0x5327af(0x24b)]){let _0xa0b921=document[_0x5327af(0x253)](_0x5327af(0x2b7));var _0x2eede3=document['getElementById'](_0x5327af(0x11d))[_0x5327af(0x226)];_0x5bdfe5=parseInt(_0x2eede3);}var _0x4dc7b3=0x0,_0x1a97d5=(_0x3302ca[_0x5327af(0x233)]-_0x4c9078['syncPoint'][_0x5327af(0x18c)])%(0x3c*0x3c*0x18)*_0x56cfa5;_0x4dc7b3=Math[_0x5327af(0x2de)](_0x1a97d5)+_0x4c9078[_0x5327af(0xf5)][_0x5327af(0x1bc)],_0x4dc7b3+=_0x5bdfe5;var _0x38b433=_0x1a97d5-Math[_0x5327af(0x2de)](_0x1a97d5);if(_0x474410||_0x38b433<0.226)_0x474410=!![];if(_0x38b433>0.8)_0x474410=![];if(_0x474410)_0x4dc7b3--;var _0x456301='';if(BB[_0x5327af(0x171)][_0x5327af(0x27b)](_0x4c9078[_0x5327af(0x14a)])==0xea60/0x3e9)_0x456301=_0x5d637e[_0x5327af(0x125)](_0x5d637e[_0x5327af(0x211)](_0x4dc7b3,_0x3ca0bc,!![]),!![],!![]);else BB[_0x5327af(0x171)][_0x5327af(0x27b)](_0x4c9078[_0x5327af(0x14a)])==0x7530/0x3e9?_0x456301=_0x5d637e[_0x5327af(0x125)](_0x5d637e['Frames2Timecode'](_0x4dc7b3,_0x3ca0bc,![]),![],![]):_0x456301='NOT\x20SUPPORTED';var _0xcdf11c='';if(BB['Utils'][_0x5327af(0x27b)](_0x4c9078[_0x5327af(0x14a)])==0xea60/0x3e9)_0xcdf11c=_0x5d637e[_0x5327af(0x125)](_0x5d637e['Frames2Timecode'](_0x4c9078[_0x5327af(0x2bf)][_0x5327af(0x297)],_0x3ca0bc,!![]),!![],!![]);else BB['Utils'][_0x5327af(0x27b)](_0x4c9078[_0x5327af(0x14a)])==0x7530/0x3e9?_0xcdf11c=_0x5d637e['printTimecode'](_0x5d637e['Frames2Timecode'](_0x4c9078[_0x5327af(0x2bf)][_0x5327af(0x297)],_0x3ca0bc,![]),![],![]):_0xcdf11c=_0x5327af(0x172);let _0x5d1cf7=_0x4dc7b3-_0x4c9078['augmentation'][_0x5327af(0x297)];if(_0x1bf265)_0x1bf265[_0x5327af(0x2eb)](_0x5d1cf7);_0x546c59(_0x5d1cf7),_0x21704f++,window[_0x5327af(0x1f8)](_0x4cbeea);return;},_0x1dbc73=(_0x4cda59,_0x4e28a3)=>{const _0x31bbce=_0x4e43d1;let _0x45a2df=_0x4e28a3[_0x31bbce(0x221)]*_0x56cfa5;var _0x14fe6c=0x0;if(_0x4c9078['debug']){var _0x7667e6=document[_0x31bbce(0x253)]('numberInput')[_0x31bbce(0x226)];_0x14fe6c=parseInt(_0x7667e6);}_0x45a2df+=_0x14fe6c,_0x5ca0e9=Math[_0x31bbce(0x2de)](_0x45a2df);var _0x2c2008='';if(BB[_0x31bbce(0x171)][_0x31bbce(0x27b)](_0x4c9078[_0x31bbce(0x14a)])==0xea60/0x3e9)_0x2c2008=_0x5d637e[_0x31bbce(0x125)](_0x5d637e[_0x31bbce(0x211)](_0x5ca0e9,_0x3ca0bc,!![]),!![],!![]);else BB[_0x31bbce(0x171)][_0x31bbce(0x27b)](_0x4c9078['frameRateMode'])==0x7530/0x3e9?_0x2c2008=_0x5d637e[_0x31bbce(0x125)](_0x5d637e[_0x31bbce(0x211)](_0x5ca0e9,_0x3ca0bc,![]),![],![]):_0x2c2008=_0x31bbce(0x172);let _0x1f5ffd=document[_0x31bbce(0x253)](_0x31bbce(0x276));_0x1f5ffd[_0x31bbce(0x2bb)]=_0x31bbce(0x154)+_0x45a2df[_0x31bbce(0x23f)](0x4)+'\x20Frame:\x20'+_0x5ca0e9+'\x20countAppleVideo:\x20'+_0x1e06a1+_0x31bbce(0x2e1)+_0x2c2008,_0x1e06a1++,_0x2a4f52=_0x4e28a3[_0x31bbce(0x221)],_0x3302ca[_0x31bbce(0x155)](_0x1dbc73);return;_0x374be2=_0x4cda59,_0x5c2742=_0x4e28a3;let _0x1625b2=_0x3302ca['currentTime'],_0x5754aa=(_0x1625b2-_0x4e28a3[_0x31bbce(0x221)])*0x3e8;_0x27ba2d=_0x5754aa,_0x3302ca['requestVideoFrameCallback'](_0x1dbc73);};let _0x2106dc=-0x1,_0x1deeee=0x270f,_0x28c428=0x0,_0x21704f=0x0,_0x5d926c=0x0;console['BBlog']('Setting\x20Callbacks'),console[_0x4e43d1(0x113)](_0x4e43d1(0x20b));typeof window!==_0x4e43d1(0x223)?console['BBlog'](_0x4e43d1(0x192)):console[_0x4e43d1(0x113)](_0x4e43d1(0x222));_0x4e43d1(0x1f8)in window?console[_0x4e43d1(0x113)]('requestAnimationFrame\x20is\x20supported'):console[_0x4e43d1(0x113)](_0x4e43d1(0x134));typeof _0x3302ca!=='undefined'?console[_0x4e43d1(0x113)](_0x4e43d1(0x2ce)):console[_0x4e43d1(0x113)](_0x4e43d1(0x187));'requestVideoFrameCallback'in _0x3302ca?console[_0x4e43d1(0x113)]('requestVideoFrameCallback\x20is\x20supported'):console['BBlog']('requestVideoFrameCallback\x20is\x20not\x20supported');if(_0x1842b2['isWindows']()||_0x1842b2[_0x4e43d1(0x143)]()||_0x1842b2['isChromeMac']())window['requestAnimationFrame'](_0x5b310c),_0x3302ca['readyState']>=0x2?(console[_0x4e43d1(0x113)](_0x4e43d1(0x13d)),_0x3302ca[_0x4e43d1(0x155)](_0x1ab52c)):(console[_0x4e43d1(0x113)](_0x4e43d1(0x2be)),_0x3302ca[_0x4e43d1(0x167)](_0x4e43d1(0x2d1),()=>{const _0x4e495a=_0x4e43d1;_0x3302ca[_0x4e495a(0x155)](_0x1ab52c);}));else _0x1842b2['isSafariMac']()?window['requestAnimationFrame'](_0x4cbeea):console[_0x4e43d1(0x113)](_0x4e43d1(0xf8));console[_0x4e43d1(0x113)](_0x4e43d1(0x21b)),console['BBlog']('Calculating\x20ScreenFrameRate');function _0x2a58e0(){return new Promise(_0x3a2ef8=>{let _0x363c02=0x0;const _0x4fddba=[],_0x4f0742=0x14;function _0x181fcd(_0x381232){const _0x4c82ba=_0x1755;if(_0x363c02){const _0x29680f=_0x381232-_0x363c02,_0x16bbd4=0x3e8/_0x29680f;if(!(_0x16bbd4===undefined)){if(_0x16bbd4>0x0&&_0x16bbd4<0xc8)_0x4fddba['push'](_0x16bbd4);}if(_0x4fddba[_0x4c82ba(0x12c)]===_0x4f0742){const _0x1670fe=_0x4fddba[_0x4c82ba(0x1fb)]((_0x2d7fa9,_0x34f1e7)=>_0x2d7fa9+_0x34f1e7,0x0)/_0x4f0742;_0x3a2ef8(Math[_0x4c82ba(0x2d7)](_0x1670fe));return;}}_0x363c02=_0x381232,requestAnimationFrame(_0x181fcd);}requestAnimationFrame(_0x181fcd);});}_0x2a58e0()[_0x4e43d1(0x286)](_0x500ff1=>{const _0x43f5d1=_0x4e43d1;_0x4c9078[_0x43f5d1(0x13a)]=_0x500ff1,_0x4c9078[_0x43f5d1(0x13a)]>0x46||_0x4c9078['ScreenFPS']<0x32?(console['BBerror'](_0x43f5d1(0xef)+_0x500ff1+'\x20FPS,\x20Aborting\x20augmentation.\x20Only\x2060FPS\x20screens\x20supported'),_0x4c9078[_0x43f5d1(0x115)]=!![]):console['BBlog'](_0x43f5d1(0xef)+_0x500ff1+'\x20FPS,\x20Continuing\x20augmentation');});const _0x4ea158=()=>{const _0x48e1c2=_0x4e43d1;let _0x2e6ccd=_0x3302ca[_0x48e1c2(0x240)];_0x596e0d=new BB[(_0x48e1c2(0x1bb))](_0x2e6ccd,_0x3302ca,_0x4c9078),ads=BB['Ads'](_0x596e0d,_0x4c9078),_0x1bf265=BB[_0x48e1c2(0x1dd)](_0x4c9078,_0x596e0d);},_0x4b88e6=()=>{const _0x1e6573=_0x4e43d1;return _0x596e0d[_0x1e6573(0x1ae)]();},_0x5f1bc1=_0xbf4acf=>{_0x5e8ce3(_0xbf4acf);},_0x1a9771=_0x56f774=>{_0x42c19b(_0x56f774);};return{'getCanvas':_0x4b88e6,'onNewSegmentInterface':_0x5f1bc1,'onNewMetadataInterface':_0x1a9771,'initializeComponents':_0x4ea158};},BB[_0x215fd8(0x1bb)]=class{constructor(_0x55b240,_0x9f1ef6,_0x2e4247){const _0x4c196e=_0x215fd8;if(_0x2e4247[_0x4c196e(0x2bf)][_0x4c196e(0x1d9)]){this[_0x4c196e(0x15e)]={};for(let _0x184123=0x0;_0x184123<0xa;++_0x184123){let _0x530838=_0x184123+'.1',_0x306e84=_0x184123+'.2';this[_0x4c196e(0x15e)][_0x530838]=this[_0x4c196e(0x25e)](_0x530838),this['digitImg'][_0x306e84]=this[_0x4c196e(0x25e)](_0x306e84);}}this['options']=Object['assign']({'adLoopTime':0x1388,'isAdLoop':![]},_0x2e4247||{}),this[_0x4c196e(0x2c0)]=BB[_0x4c196e(0x171)][_0x4c196e(0x27b)](this[_0x4c196e(0x1da)]['frameRateMode']),this[_0x4c196e(0x289)]=[],this[_0x4c196e(0x1ba)]={},this[_0x4c196e(0x1cb)]=![],this['advertisementMap']={},this[_0x4c196e(0x245)]={},this[_0x4c196e(0x165)]=null,this[_0x4c196e(0x228)]=document[_0x4c196e(0x2e2)](_0x4c196e(0x228)),this[_0x4c196e(0xeb)]=this[_0x4c196e(0x228)][_0x4c196e(0x1c7)](_0x4c196e(0x105),{'premultipliedAlpha':![]});this[_0x4c196e(0xeb)]==null?(this['ctx']=this['canvas']['getContext'](_0x4c196e(0x1f6),{'premultipliedAlpha':![]}),this[_0x4c196e(0x2e6)]=0x1):this['webGLVersion']=0x2;console[_0x4c196e(0x16e)](_0x4c196e(0x200)+this[_0x4c196e(0xeb)]+_0x4c196e(0x2a7)+this['webGLVersion']);let _0x45688c=_0x55b240[_0x4c196e(0x2c5)],_0x14a6da=_0x55b240[_0x4c196e(0x215)],_0x49413c=_0x55b240[_0x4c196e(0x1e7)](_0x4c196e(0x1a4))[0x0];this[_0x4c196e(0x228)][_0x4c196e(0x2b0)][_0x4c196e(0x1ad)]=0x0,this[_0x4c196e(0x228)][_0x4c196e(0x2b0)][_0x4c196e(0x2a1)]=0x0,this['canvas'][_0x4c196e(0x2b0)][_0x4c196e(0x149)]=_0x4c196e(0x209),this[_0x4c196e(0x228)]['style'][_0x4c196e(0x1f5)]=0x186a0,this[_0x4c196e(0x228)][_0x4c196e(0x149)]=_0x55b240[_0x4c196e(0x1b0)],this[_0x4c196e(0x228)][_0x4c196e(0x1a2)]=_0x55b240[_0x4c196e(0x2fc)],this[_0x4c196e(0x228)]['style']['position']=_0x4c196e(0x176);let _0x355e25=_0x49413c[_0x4c196e(0x216)];if(_0x355e25)_0x55b240[_0x4c196e(0x193)](this[_0x4c196e(0x228)],_0x355e25);else _0x55b240['appendChild'](this[_0x4c196e(0x228)]);this[_0x4c196e(0x228)]['style'][_0x4c196e(0x2fa)]='none',_0x49413c[_0x4c196e(0x167)]('click',_0x5241ee=>{const _0x3b9c44=_0x4c196e;this[_0x3b9c44(0x28d)](_0x5241ee);}),this['InitGL'](),this[_0x4c196e(0x23b)]=null,this['place2AdTexture']={},this[_0x4c196e(0x292)]={},this[_0x4c196e(0xf9)]={},this[_0x4c196e(0x2bd)]=[],this[_0x4c196e(0x1a8)]=0x0,this[_0x4c196e(0x295)]=null;}[_0x215fd8(0x19b)](_0x33655b){return(_0x33655b&_0x33655b-0x1)==0x0;}[_0x215fd8(0x25e)](_0x48511e){const _0x31ca51=_0x215fd8;let _0xd153a2=document['createElement'](_0x31ca51(0x228));_0xd153a2[_0x31ca51(0x149)]=0x32,_0xd153a2[_0x31ca51(0x1a2)]=0x32;let _0x21708e=_0xd153a2['getContext']('2d');_0x21708e[_0x31ca51(0x288)]='black',_0x21708e[_0x31ca51(0x206)](0x0,0x0,_0xd153a2[_0x31ca51(0x149)],_0xd153a2[_0x31ca51(0x1a2)]),_0x21708e[_0x31ca51(0x26b)]='30px\x20Arial',_0x21708e[_0x31ca51(0x288)]=_0x31ca51(0x2c4),_0x21708e[_0x31ca51(0x2cc)](_0x48511e,0xa,0x23);let _0x1b2727=_0xd153a2[_0x31ca51(0x1e4)](),_0x1fcf2c=document[_0x31ca51(0x2e2)](_0x31ca51(0x17e));return _0x1fcf2c[_0x31ca51(0x220)]=_0x1b2727,_0x1fcf2c;}[_0x215fd8(0x28d)](_0x1f27a2){const _0x45478d=_0x215fd8,_0x1c18a3=this['canvas']['getBoundingClientRect']();let _0x5df4e6=event[_0x45478d(0x182)]-_0x1c18a3[_0x45478d(0x2a1)],_0x12bca2=event[_0x45478d(0x300)]-_0x1c18a3[_0x45478d(0x1ad)];_0x5df4e6=_0x5df4e6/(_0x1c18a3[_0x45478d(0x2a4)]-_0x1c18a3[_0x45478d(0x2a1)]),_0x12bca2=_0x12bca2/(_0x1c18a3[_0x45478d(0x2f5)]-_0x1c18a3['top']);for(let _0x291725 of this[_0x45478d(0x2bd)]){if(_0x291725[_0x45478d(0x124)]['l']<=_0x5df4e6&&_0x291725[_0x45478d(0x124)]['r']>=_0x5df4e6&&_0x291725[_0x45478d(0x124)]['t']<=_0x12bca2&&_0x291725[_0x45478d(0x124)]['b']>=_0x12bca2){let _0x42c2d6=_0x291725['name'][_0x45478d(0x2b6)](0x1);if(this[_0x45478d(0x245)][_0x42c2d6]){let _0x56fce9=this['ad2Url'][_0x42c2d6];console[_0x45478d(0x16e)]('Clicked\x20on\x20ad:\x20'+_0x42c2d6+'\x20so\x20should\x20navigate\x20to\x20'+_0x56fce9+_0x45478d(0x1e1)),window['open'](_0x56fce9,_0x45478d(0x12d));}return;}}}[_0x215fd8(0x16a)](){return 0x0;}[_0x215fd8(0x1b2)](_0x51317e){const _0x30c61b=_0x215fd8;let _0x2ac8f6=Object[_0x30c61b(0x173)](this[_0x30c61b(0x292)]);for(let _0x53b0ba=0x0;_0x53b0ba<_0x2ac8f6[_0x30c61b(0x12c)];++_0x53b0ba){if(_0x51317e==_0x2ac8f6[_0x53b0ba])return _0x53b0ba+0x1;}return 0x0;}[_0x215fd8(0x2f2)](_0x5cffad){const _0x269abd=_0x215fd8;let _0x2fef54=Object[_0x269abd(0x173)](this[_0x269abd(0x292)]);for(let _0x20ec40=0x0;_0x20ec40<_0x2fef54[_0x269abd(0x12c)];++_0x20ec40){let _0x3dc6e1=_0x2fef54[_0x20ec40];if(_0x5cffad[_0x269abd(0x11f)][_0x269abd(0x13b)](_0x3dc6e1)>=0x0)return _0x20ec40;}return 0x0;}[_0x215fd8(0x1de)](_0x3c718d){const _0x2f9ed0=_0x215fd8;let _0x468f2f=Object[_0x2f9ed0(0x173)](this[_0x2f9ed0(0x292)]);for(let _0xda8b32=0x0;_0xda8b32<_0x468f2f[_0x2f9ed0(0x12c)];++_0xda8b32){let _0x541703=_0x468f2f[_0xda8b32];if(_0x3c718d[_0x2f9ed0(0x11f)]['indexOf'](_0x541703)>=0x0&&this[_0x2f9ed0(0x1f9)]&&this[_0x2f9ed0(0x1f9)][_0x541703]&&this[_0x2f9ed0(0x1f9)][_0x541703]['name'])return this['place2AdTexture'][_0x541703]['name'];}return this['lastAdName'];}[_0x215fd8(0x281)](){const _0x53dd00=_0x215fd8;return 0x1+Object[_0x53dd00(0x173)](this[_0x53dd00(0x292)])[_0x53dd00(0x12c)];}[_0x215fd8(0x157)](){const _0x46470f=_0x215fd8;let _0x124874=BB['GL'][_0x46470f(0x227)];if(BB['Utils'][_0x46470f(0x2c9)][_0x46470f(0x14c)]())_0x124874=BB['GL'][_0x46470f(0x227)][_0x46470f(0x18a)](_0x46470f(0x108),_0x46470f(0xf3));this[_0x46470f(0x254)]=webglUtils[_0x46470f(0x2f0)](this[_0x46470f(0xeb)],this[_0x46470f(0x2e6)]==0x2?[BB['GL'][_0x46470f(0x2fe)],_0x124874]:[BB['GL'][_0x46470f(0x13e)],BB['GL'][_0x46470f(0xf4)]]),this['ctx'][_0x46470f(0x278)](0x0,0x0,0x0,0x0),this['ctx']['clear'](this[_0x46470f(0xeb)][_0x46470f(0x2d6)]),this['ctx'][_0x46470f(0x2b8)](this[_0x46470f(0x254)]),this['counter']=0x0,this['CleanGL']();}[_0x215fd8(0x259)](){const _0x1b8ea2=_0x215fd8;this[_0x1b8ea2(0x228)][_0x1b8ea2(0x2b0)][_0x1b8ea2(0x188)]=_0x1b8ea2(0x264),this[_0x1b8ea2(0x1e9)]=0x0;}['GenerateTexture'](_0x3b866a,_0x11c79d,_0x34595c,_0x28716b,_0x4f9e60,_0x3f9f82,_0x478184){const _0x5dd707=_0x215fd8;_0x478184?this['ctx'][_0x5dd707(0x10d)](this[_0x5dd707(0xeb)][_0x5dd707(0x26f)],0x1):this[_0x5dd707(0xeb)][_0x5dd707(0x10d)](this[_0x5dd707(0xeb)][_0x5dd707(0x26f)],0x4);this[_0x5dd707(0xeb)][_0x5dd707(0x10d)](this['ctx'][_0x5dd707(0x15c)],![]);const _0x582146=this[_0x5dd707(0xeb)][_0x5dd707(0x132)]();this[_0x5dd707(0xeb)][_0x5dd707(0x2e3)](this[_0x5dd707(0xeb)][_0x5dd707(0x147)]+_0x11c79d),this[_0x5dd707(0xeb)][_0x5dd707(0x110)](this[_0x5dd707(0xeb)][_0x5dd707(0x246)],_0x582146);try{_0x4f9e60&&_0x3f9f82?this[_0x5dd707(0xeb)][_0x5dd707(0x28e)](this['ctx']['TEXTURE_2D'],0x0,_0x28716b==null?this[_0x5dd707(0xeb)][_0x5dd707(0x10c)]:_0x28716b,_0x4f9e60,_0x3f9f82,0x0,_0x28716b==null?this[_0x5dd707(0xeb)][_0x5dd707(0x10c)]:_0x28716b,this[_0x5dd707(0xeb)]['UNSIGNED_BYTE'],_0x3b866a):this[_0x5dd707(0xeb)][_0x5dd707(0x28e)](this[_0x5dd707(0xeb)][_0x5dd707(0x246)],0x0,_0x28716b==null?this[_0x5dd707(0xeb)]['RGBA']:_0x28716b,this[_0x5dd707(0xeb)][_0x5dd707(0x10c)],this[_0x5dd707(0xeb)][_0x5dd707(0x183)],_0x3b866a);}catch(_0x2e291){return console[_0x5dd707(0x1ce)](_0x2e291),null;}if(this[_0x5dd707(0x2e6)]==0x1){let _0x160d13=_0x4f9e60||_0x3b866a['width'],_0x56ddfb=_0x3f9f82||_0x3b866a[_0x5dd707(0x1a2)];_0x160d13&&this['isPowerOf2'](_0x160d13)&&_0x56ddfb&&this[_0x5dd707(0x19b)](_0x56ddfb)?this[_0x5dd707(0xeb)]['generateMipmap'](this['ctx']['TEXTURE_2D']):(this[_0x5dd707(0xeb)]['texParameteri'](this['ctx'][_0x5dd707(0x246)],this[_0x5dd707(0xeb)][_0x5dd707(0x181)],this[_0x5dd707(0xeb)][_0x5dd707(0x2ae)]),this[_0x5dd707(0xeb)][_0x5dd707(0x152)](this['ctx'][_0x5dd707(0x246)],this['ctx']['TEXTURE_WRAP_T'],this[_0x5dd707(0xeb)][_0x5dd707(0x2ae)]),this[_0x5dd707(0xeb)][_0x5dd707(0x152)](this[_0x5dd707(0xeb)][_0x5dd707(0x246)],this[_0x5dd707(0xeb)][_0x5dd707(0x2aa)],this[_0x5dd707(0xeb)][_0x5dd707(0x1d8)]));}else this[_0x5dd707(0xeb)][_0x5dd707(0x152)](this[_0x5dd707(0xeb)][_0x5dd707(0x246)],this[_0x5dd707(0xeb)][_0x5dd707(0x181)],this['ctx'][_0x5dd707(0x2ae)]),this[_0x5dd707(0xeb)][_0x5dd707(0x152)](this['ctx'][_0x5dd707(0x246)],this[_0x5dd707(0xeb)]['TEXTURE_WRAP_T'],this[_0x5dd707(0xeb)][_0x5dd707(0x2ae)]),this[_0x5dd707(0xeb)][_0x5dd707(0x152)](this['ctx']['TEXTURE_2D'],this[_0x5dd707(0xeb)][_0x5dd707(0x2aa)],this[_0x5dd707(0xeb)][_0x5dd707(0x1d8)]),this[_0x5dd707(0xeb)][_0x5dd707(0x152)](this['ctx'][_0x5dd707(0x246)],this[_0x5dd707(0xeb)][_0x5dd707(0x1fa)],this[_0x5dd707(0xeb)][_0x5dd707(0x1d8)]);let _0x1926fa=this[_0x5dd707(0xeb)]['getUniformLocation'](this[_0x5dd707(0x254)],_0x34595c);return _0x1926fa&&this['ctx'][_0x5dd707(0x12a)](_0x1926fa,_0x11c79d),_0x582146;}[_0x215fd8(0x229)](){const _0x8615d5=_0x215fd8;this[_0x8615d5(0x295)]=setTimeout(()=>{const _0x3dee63=_0x8615d5,_0xed5586=Object['keys'](this['advertisementMap']);_0xed5586[_0x3dee63(0x12c)]&&(this[_0x3dee63(0x303)](_0xed5586[Math[_0x3dee63(0x2de)](Math[_0x3dee63(0x1ec)]()*_0xed5586[_0x3dee63(0x12c)])]),this[_0x3dee63(0x229)]());},this['options'][_0x8615d5(0x1e3)]);}[_0x215fd8(0x2ea)](_0x486e98,_0x682d99,_0x3e4b09=null){const _0x2d8d32=_0x215fd8;if(_0x486e98[_0x2d8d32(0x13b)](_0x2d8d32(0x174))>-0x1){fetch(_0x682d99)[_0x2d8d32(0x286)](async _0x35b8af=>{const _0x544236=_0x2d8d32;this[_0x544236(0x292)]=await _0x35b8af[_0x544236(0x29d)](),this[_0x544236(0xf9)]={};let _0x4ce2e1=Object[_0x544236(0x173)](this[_0x544236(0x292)]);for(let _0x1df7ca=0x0;_0x1df7ca<_0x4ce2e1[_0x544236(0x12c)];++_0x1df7ca){let _0x5a222d=_0x4ce2e1[_0x1df7ca];if(_0x5a222d==_0x544236(0x1ca)){this['ad2Url']=this['place2ad'][_0x5a222d],delete this[_0x544236(0x292)][_0x5a222d];continue;}let _0x29b7d6=this['place2ad'][_0x5a222d];for(let _0x56bb60=0x0;_0x56bb60<_0x29b7d6[_0x544236(0x12c)];++_0x56bb60){let _0x541a7f=_0x29b7d6[_0x56bb60];this[_0x544236(0xf9)]['#'+_0x541a7f]=_0x5a222d;}}Object[_0x544236(0x173)](this[_0x544236(0x292)])[_0x544236(0x12c)]>0x0&&(console[_0x544236(0x16e)]('composer::AddAdvertisement:\x20place-to-ads\x20mapping:\x20',this['place2ad']),console[_0x544236(0x16e)](_0x544236(0x1e0),this[_0x544236(0xf9)]),setTimeout(()=>{const _0x2b5ef3=_0x544236;this[_0x2b5ef3(0x231)]();},0xbb8));});if(_0x3e4b09)_0x3e4b09();return;}const _0x1a7571=new Image();return _0x1a7571[_0x2d8d32(0x122)]=_0x2d8d32(0x139),_0x1a7571[_0x2d8d32(0x230)]=()=>{const _0x3ea0b4=_0x2d8d32;let _0x308aef=Object['keys'](this['advertisementMap'])[_0x3ea0b4(0x12c)]===0x0;this[_0x3ea0b4(0x178)][_0x486e98]=_0x1a7571;_0x308aef&&(this['SelectAd'](_0x486e98),this[_0x3ea0b4(0x1da)][_0x3ea0b4(0x15d)]&&(clearTimeout(this[_0x3ea0b4(0x295)]),this['_nextAdvertisement']()));if(_0x3e4b09)_0x3e4b09();},_0x1a7571[_0x2d8d32(0x1f2)]=()=>{alert('(\x20Security\x20)\x20We\x20cant\x20reach\x20'+_0x682d99+'\x20.');},_0x1a7571[_0x2d8d32(0x220)]=_0x682d99,_0x1a7571;}[_0x215fd8(0x231)](){const _0x238977=_0x215fd8;if(this[_0x238977(0x292)]){let _0x23b9e1=Object[_0x238977(0x173)](this[_0x238977(0x292)]);for(let _0x5bd930=0x0;_0x5bd930<_0x23b9e1[_0x238977(0x12c)];++_0x5bd930){let _0x18c107=_0x23b9e1[_0x5bd930];!this[_0x238977(0x1f9)][_0x18c107]&&this['place2ad'][_0x18c107][_0x238977(0x12c)]>0x0&&(console['log'](_0x238977(0x1cd)+this['place2ad'][_0x18c107][0x0]+'\x20for\x20place\x20'+_0x18c107),this['SelectAd']('#'+this['place2ad'][_0x18c107][0x0]));}}}[_0x215fd8(0x303)](_0x44c4a2){const _0x1fc6c2=_0x215fd8;console['log'](_0x1fc6c2(0x2ad)+_0x44c4a2);let _0x6bb49e=this['advertisementMap'][_0x44c4a2];if(!_0x6bb49e)console[_0x1fc6c2(0x1ce)](_0x1fc6c2(0x10a)+_0x44c4a2+'\x27');else{if(this[_0x1fc6c2(0xf9)]&&this[_0x1fc6c2(0xf9)][_0x44c4a2]){let _0x2e8245=this[_0x1fc6c2(0xf9)][_0x44c4a2];console[_0x1fc6c2(0x16e)](_0x1fc6c2(0x160)+_0x2e8245);let _0x5d8ed5=this[_0x1fc6c2(0x1b2)](_0x2e8245),_0x234610='ad'+(_0x5d8ed5-0x1);if(this['place2AdTexture'][_0x2e8245])this[_0x1fc6c2(0xeb)][_0x1fc6c2(0x12e)](this[_0x1fc6c2(0x1f9)][_0x2e8245][_0x1fc6c2(0x290)]);this[_0x1fc6c2(0x1f9)][_0x2e8245]={'tex':this[_0x1fc6c2(0x277)](_0x6bb49e,_0x5d8ed5,_0x234610),'texUnitId':_0x5d8ed5,'texName':_0x234610,'name':_0x44c4a2};}else this[_0x1fc6c2(0x23b)]!=null&&this[_0x1fc6c2(0xeb)]['deleteTexture'](this[_0x1fc6c2(0x23b)]),this[_0x1fc6c2(0x23b)]=this[_0x1fc6c2(0x277)](_0x6bb49e,this[_0x1fc6c2(0x16a)](),'ad0'),this[_0x1fc6c2(0x2ca)]=_0x6bb49e,this[_0x1fc6c2(0x1c8)]=_0x44c4a2;}}['OnMetaData'](_0x50f851){const _0x2c5db3=_0x215fd8;this[_0x2c5db3(0x1ba)][_0x50f851[_0x2c5db3(0xfa)]]=_0x50f851,this[_0x2c5db3(0x289)][_0x2c5db3(0x1b6)](_0x50f851[_0x2c5db3(0xfa)]);}[_0x215fd8(0x27f)](){const _0xce1fa0=_0x215fd8;(this[_0xce1fa0(0x26e)]||this['webkitRequestFullscreen'])['call'](this)[_0xce1fa0(0x102)](_0x1eb269=>{const _0x230f72=_0xce1fa0;console[_0x230f72(0x1ce)](_0x1eb269);});}['RenderFrame'](){const _0x1ac776=_0x215fd8;let _0x560162=this['ctx'][_0x1ac776(0x1bd)](this[_0x1ac776(0x254)],_0x1ac776(0x196)),_0x111063=this[_0x1ac776(0xeb)][_0x1ac776(0x2ed)](this['program'],_0x1ac776(0x265)),_0x339cb8=this[_0x1ac776(0xeb)][_0x1ac776(0x2ed)](this[_0x1ac776(0x254)],_0x1ac776(0x2bc));this[_0x1ac776(0xeb)][_0x1ac776(0x191)](_0x111063,this[_0x1ac776(0xeb)][_0x1ac776(0x228)]['width'],this[_0x1ac776(0xeb)][_0x1ac776(0x228)][_0x1ac776(0x1a2)]),this[_0x1ac776(0xeb)][_0x1ac776(0x191)](_0x339cb8,this[_0x1ac776(0xeb)][_0x1ac776(0x228)][_0x1ac776(0x149)],this['ctx'][_0x1ac776(0x228)][_0x1ac776(0x1a2)]);if(this['webGLVersion']==0x2){let _0x4cf891=this['ctx']['getUniformLocation'](this['program'],_0x1ac776(0x27d)),_0x4df533=[0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1];this[_0x1ac776(0xeb)]['uniformMatrix3fv'](_0x4cf891,![],_0x4df533);}let _0x1df6e3=null;this[_0x1ac776(0x2e6)]==0x2&&(_0x1df6e3=this[_0x1ac776(0xeb)][_0x1ac776(0x293)](),this[_0x1ac776(0xeb)][_0x1ac776(0x2df)](_0x1df6e3));let _0x2e2367=this[_0x1ac776(0xeb)][_0x1ac776(0x294)]();this['ctx'][_0x1ac776(0x2d9)](_0x560162),this['ctx'][_0x1ac776(0x25d)](this[_0x1ac776(0xeb)]['ARRAY_BUFFER'],_0x2e2367);let _0x49779e=0x2,_0xc0f0ee=this['ctx'][_0x1ac776(0x142)],_0x58670d=![],_0x3314d0=0x0,_0x30df6e=0x0;this[_0x1ac776(0xeb)][_0x1ac776(0x11b)](_0x560162,_0x49779e,_0xc0f0ee,_0x58670d,_0x3314d0,_0x30df6e);let _0x5b67db=this[_0x1ac776(0xeb)][_0x1ac776(0x294)]();this[_0x1ac776(0xeb)][_0x1ac776(0x25d)](this[_0x1ac776(0xeb)]['ARRAY_BUFFER'],_0x5b67db),this[_0x1ac776(0xeb)][_0x1ac776(0x2f9)](this[_0x1ac776(0xeb)][_0x1ac776(0x28c)],new Float32Array([0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1,0x1]),this[_0x1ac776(0xeb)][_0x1ac776(0x2f7)]),this[_0x1ac776(0xeb)][_0x1ac776(0x120)](0x0,0x0,this['ctx'][_0x1ac776(0x228)][_0x1ac776(0x149)],this['ctx']['canvas']['height']),this['ctx']['clearColor'](0x0,0x0,0x0,0x0),this[_0x1ac776(0xeb)][_0x1ac776(0x247)](this['ctx'][_0x1ac776(0x2d6)]|this[_0x1ac776(0xeb)][_0x1ac776(0x272)]),this['ctx'][_0x1ac776(0x25d)](this['ctx']['ARRAY_BUFFER'],_0x2e2367),this['SetRectangle'](this[_0x1ac776(0xeb)],0x0,0x0,this['canvas'][_0x1ac776(0x149)],this[_0x1ac776(0x228)]['height']);let _0x2e0b42=this[_0x1ac776(0xeb)]['TRIANGLES'],_0x1bc465=0x6;this[_0x1ac776(0xeb)][_0x1ac776(0x11a)](_0x2e0b42,_0x30df6e,_0x1bc465);}[_0x215fd8(0x2f8)](_0x25352d,_0x95d6d,_0x1c0022,_0x367c34,_0x1d9c72){const _0x180162=_0x215fd8;let _0x61511=_0x95d6d,_0x220c9f=_0x95d6d+_0x367c34,_0x1a6727=_0x1c0022,_0x5e9299=_0x1c0022+_0x1d9c72;this['ctx'][_0x180162(0x2f9)](this[_0x180162(0xeb)][_0x180162(0x28c)],new Float32Array([_0x61511,_0x1a6727,_0x220c9f,_0x1a6727,_0x61511,_0x5e9299,_0x61511,_0x5e9299,_0x220c9f,_0x1a6727,_0x220c9f,_0x5e9299]),this['ctx'][_0x180162(0x2f7)]);}[_0x215fd8(0x11e)](_0x275b13){const _0x2526c9=_0x215fd8;let _0x2f654e=BB['Utils']['TimeCodesFramesTranslator'],_0x2c0765=_0x2f654e[_0x2526c9(0x1a5)](_0x275b13),_0x470be4=_0x2f654e[_0x2526c9(0x16d)](_0x2c0765,0x1,this[_0x2526c9(0x2c0)]),_0x2205c3=_0x2f654e[_0x2526c9(0x16d)](_0x2c0765,0x2,this[_0x2526c9(0x2c0)]),_0x4a10ee=_0x2f654e[_0x2526c9(0x125)](_0x470be4),_0x5c98f1=_0x2f654e[_0x2526c9(0x125)](_0x2205c3);this[_0x2526c9(0x1cb)]=!![];const _0x5d5120=performance[_0x2526c9(0x24a)]();let _0x3b8cba=null,_0x522a3c=[];if(this[_0x2526c9(0x1ba)][_0x275b13]){_0x3b8cba=this[_0x2526c9(0x1ba)][_0x275b13];this['metadataMap'][_0x4a10ee]&&_0x522a3c[_0x2526c9(0x1b6)]({'nextVideo':this[_0x2526c9(0x1ba)][_0x4a10ee],'nextTimeCode':_0x4a10ee});this[_0x2526c9(0x1ba)][_0x5c98f1]&&_0x522a3c[_0x2526c9(0x1b6)]({'nextVideo':this[_0x2526c9(0x1ba)][_0x5c98f1],'nextTimeCode':_0x5c98f1});const _0xd7e0ff=this[_0x2526c9(0x289)]['indexOf'](_0x275b13);if(_0xd7e0ff>-0x5)this[_0x2526c9(0x289)][_0x2526c9(0x2cf)](0x0,_0xd7e0ff-0x4)[_0x2526c9(0x1eb)](_0x23442c=>{const _0x3470f8=_0x2526c9;delete this[_0x3470f8(0x1ba)][_0x23442c];});this[_0x2526c9(0x1e9)]++;}else this[_0x2526c9(0x284)]++,this[_0x2526c9(0x284)]>0x3c&&(this[_0x2526c9(0x284)]=0x0,console[_0x2526c9(0x1ce)](_0x2526c9(0xf7)+_0x275b13)),this[_0x2526c9(0x1e9)]++;this[_0x2526c9(0x1e9)]>0x1e&&this[_0x2526c9(0x228)][_0x2526c9(0x2b0)][_0x2526c9(0x188)]=='none'&&(this[_0x2526c9(0x228)][_0x2526c9(0x2b0)][_0x2526c9(0x188)]='');let _0x19d2c2=[];this['canvas'][_0x2526c9(0x149)]=0x500,this[_0x2526c9(0x228)][_0x2526c9(0x1a2)]=0x2d0;let _0x2c54d4=0x0;this['currentAds2BoundingRect']=[];if(_0x3b8cba){let _0x172d17=![];if(this['options'][_0x2526c9(0x24b)]){var _0x40934a=document[_0x2526c9(0x253)]('doNotRenderAugmentationCheckbox');_0x172d17=_0x40934a[_0x2526c9(0x29c)];}if(!_0x172d17)for(const _0xa1a4ba in _0x3b8cba['placeholders']){const _0x405d45=_0x3b8cba[_0x2526c9(0x22a)][_0xa1a4ba];if(!_0x405d45[_0x2526c9(0x19f)])continue;let _0x3eeadd=_0x2526c9(0x17f)+_0x2c54d4,_0x5431f2=this[_0x2526c9(0x281)]()+_0x2c54d4;_0x405d45[_0x2526c9(0x13f)]=this['GenerateTexture'](_0x405d45['alphaAsUint8Array'],_0x5431f2,_0x3eeadd,this[_0x2526c9(0xeb)]['ALPHA'],_0x405d45[_0x2526c9(0x149)],_0x405d45[_0x2526c9(0x1a2)],!![]),_0x405d45['alphaAsUint8Array']=null;if(!_0x405d45[_0x2526c9(0x13f)]){console[_0x2526c9(0x1ce)](_0x2526c9(0x25b));continue;}_0x19d2c2['push'](_0x405d45['alphaTex']);let _0x3e237d='hasLogo'+_0x2c54d4,_0x1ac8f1=this[_0x2526c9(0xeb)][_0x2526c9(0x2ed)](this[_0x2526c9(0x254)],_0x3e237d);this[_0x2526c9(0xeb)][_0x2526c9(0x12a)](_0x1ac8f1,0x1);let _0xd07d6e=_0x2526c9(0x260)+_0x2c54d4,_0x3d14d0=this[_0x2526c9(0xeb)][_0x2526c9(0x2ed)](this[_0x2526c9(0x254)],_0xd07d6e),_0x3b7356=![];_0x405d45['name']['indexOf'](_0x2526c9(0xff))>=0x0?(this[_0x2526c9(0xeb)][_0x2526c9(0x12a)](_0x3d14d0,0x63),_0x3b7356=!![]):this[_0x2526c9(0xeb)][_0x2526c9(0x12a)](_0x3d14d0,this[_0x2526c9(0x2f2)](_0x405d45));let _0x289420=_0x2526c9(0xf1)+_0x2c54d4+'TopLeft',_0x55137e=this[_0x2526c9(0xeb)][_0x2526c9(0x2ed)](this[_0x2526c9(0x254)],_0x289420);this[_0x2526c9(0xeb)][_0x2526c9(0x296)](_0x55137e,[_0x405d45[_0x2526c9(0x2a9)],_0x405d45[_0x2526c9(0x1dc)]]);let _0x16caa8='u_alpha'+_0x2c54d4+_0x2526c9(0x2a0),_0x1b35ba=this[_0x2526c9(0xeb)]['getUniformLocation'](this['program'],_0x16caa8);this[_0x2526c9(0xeb)][_0x2526c9(0x296)](_0x1b35ba,[_0x405d45[_0x2526c9(0x149)],_0x405d45[_0x2526c9(0x1a2)]]);let _0x3bafc6=_0x2526c9(0x27d)+_0x2c54d4,_0xbb3521=this[_0x2526c9(0xeb)][_0x2526c9(0x2ed)](this[_0x2526c9(0x254)],_0x3bafc6);this['ctx'][_0x2526c9(0x114)](_0xbb3521,![],_0x405d45[_0x2526c9(0x118)]);if(!_0x3b7356){let _0x31e468={'l':-0x1,'t':-0x1,'r':-0x1,'b':-0x1};for(let _0x22115e of _0x405d45['corners']){if(_0x22115e['x']<_0x31e468['l']||_0x31e468['l']==-0x1)_0x31e468['l']=_0x22115e['x'];if(_0x22115e['x']>_0x31e468['r']||_0x31e468['r']==-0x1)_0x31e468['r']=_0x22115e['x'];if(_0x22115e['y']<_0x31e468['t']||_0x31e468['t']==-0x1)_0x31e468['t']=_0x22115e['y'];if(_0x22115e['y']>_0x31e468['b']||_0x31e468['b']==-0x1)_0x31e468['b']=_0x22115e['y'];}_0x31e468['l']/=_0x3b8cba[_0x2526c9(0x2ee)][_0x2526c9(0x149)],_0x31e468['r']/=_0x3b8cba[_0x2526c9(0x2ee)][_0x2526c9(0x149)],_0x31e468['t']/=_0x3b8cba[_0x2526c9(0x2ee)][_0x2526c9(0x1a2)],_0x31e468['b']/=_0x3b8cba[_0x2526c9(0x2ee)][_0x2526c9(0x1a2)],this[_0x2526c9(0x2bd)]['push']({'name':this['AdNameForPlaceHolder'](_0x405d45),'rect':_0x31e468});}_0x2c54d4++;}}else{}for(;_0x2c54d4<BB['MAX_LOGOS'];++_0x2c54d4){let _0x5020f3=_0x2526c9(0x128)+_0x2c54d4,_0x2ef2a4=this[_0x2526c9(0xeb)]['getUniformLocation'](this['program'],_0x5020f3);this['ctx'][_0x2526c9(0x12a)](_0x2ef2a4,0x0);let _0x46f696=_0x2526c9(0x17f)+_0x2c54d4,_0x4e4abd=this[_0x2526c9(0xeb)]['getUniformLocation'](this['program'],_0x46f696);this[_0x2526c9(0xeb)]['uniform1i'](_0x4e4abd,0x0);}if(this[_0x2526c9(0x1da)][_0x2526c9(0x2bf)][_0x2526c9(0x1d9)]){let _0x3c4eb6=_0x275b13['split'](':')[0x3],_0x2aedff=_0x3c4eb6[_0x2526c9(0x13b)]('.')>=0x0?0x2:0x1,_0xef3f6=parseInt(_0x3c4eb6[_0x2526c9(0x1f3)]('.')[0x0])%0xa,_0x1b821f=_0xef3f6+'.'+_0x2aedff,_0x3bc680=this[_0x2526c9(0x281)]()+0x5,_0x11f010=this['GenerateTexture'](this['digitImg'][_0x1b821f],_0x3bc680,_0x2526c9(0x273));_0x19d2c2[_0x2526c9(0x1b6)](_0x11f010);let _0x48caad='hasDigit',_0x263b21=this[_0x2526c9(0xeb)][_0x2526c9(0x2ed)](this['program'],_0x48caad);this[_0x2526c9(0xeb)][_0x2526c9(0x12a)](_0x263b21,0x1);let _0x574858=_0x2526c9(0x140),_0x5d4c0d=this[_0x2526c9(0xeb)][_0x2526c9(0x2ed)](this[_0x2526c9(0x254)],_0x574858);this[_0x2526c9(0xeb)][_0x2526c9(0x296)](_0x5d4c0d,[0x0,0x0]);let _0x30fde4=_0x2526c9(0x19e),_0x30dd6a=this[_0x2526c9(0xeb)]['getUniformLocation'](this[_0x2526c9(0x254)],_0x30fde4);this[_0x2526c9(0xeb)][_0x2526c9(0x296)](_0x30dd6a,[0xc8,0xc8]);}else{let _0x4bda52=_0x2526c9(0x170),_0x3166e1=this[_0x2526c9(0xeb)]['getUniformLocation'](this[_0x2526c9(0x254)],_0x4bda52);this[_0x2526c9(0xeb)][_0x2526c9(0x12a)](_0x3166e1,0x0);}this[_0x2526c9(0x12b)]();for(const _0xebe7de of _0x19d2c2){this[_0x2526c9(0xeb)][_0x2526c9(0x12e)](_0xebe7de);}}[_0x215fd8(0x1ae)](){const _0x153bab=_0x215fd8;return this[_0x153bab(0x228)];}},BB[_0x215fd8(0x2c8)]=(_0x146e1b,_0x1f4694)=>{const _0x2bfefb=_0x215fd8;let _0x142e93=[];const _0x2ece30=new BB[(_0x2bfefb(0x141))]((_0x350afb,_0x3d6020)=>{const _0x5cf717=_0x2bfefb;switch(_0x350afb){case _0x5cf717(0x116):console[_0x5cf717(0x16e)](_0x5cf717(0x1be),_0x3d6020);break;case _0x5cf717(0x22d):const _0x1779e0=document[_0x5cf717(0x253)](_0x5cf717(0x11f));_0x1779e0&&(_0x1779e0[_0x5cf717(0x2bb)]=_0x2ece30[_0x5cf717(0x11f)]);break;case _0x5cf717(0x11c):if(_0x3d6020[_0x5cf717(0x256)]===_0x2ece30[_0x5cf717(0x11f)]){if(_0x3d6020['url']){const _0x282bb5=_0x5cf717(0x101);_0x146e1b['AddAdvertisement'](_0x282bb5,_0x3d6020['url'],()=>{const _0x43b8a2=_0x5cf717;_0x146e1b[_0x43b8a2(0x303)](_0x282bb5);});}else _0x142e93=_0x3d6020[_0x5cf717(0x1bf)],_0x142e93['length']&&_0x146e1b[_0x5cf717(0x303)](_0x142e93[0x0]);}break;case _0x5cf717(0x1bf):_0x142e93=_0x3d6020;_0x142e93[_0x5cf717(0x12c)]&&_0x146e1b[_0x5cf717(0x303)](_0x142e93[0x0]);break;}});var _0x53c894=document['createElement'](_0x2bfefb(0x257));_0x53c894[_0x2bfefb(0x220)]=_0x2bfefb(0x270),document[_0x2bfefb(0x1e7)](_0x2bfefb(0x2fd))[0x0][_0x2bfefb(0x159)](_0x53c894),_0x53c894['onload']=function(){const _0x18b1de=_0x2bfefb;_0x2ece30[_0x18b1de(0xf2)](_0x1f4694[_0x18b1de(0x2bf)][_0x18b1de(0x150)]);},_0x1f4694[_0x2bfefb(0x2bf)][_0x2bfefb(0x2f3)]?_0x146e1b['AddAdvertisement']('#ad',_0x1f4694[_0x2bfefb(0x2bf)][_0x2bfefb(0x2f3)]):fetch('https://www.virtualott.com/ads/'+_0x1f4694['augmentation'][_0x2bfefb(0x150)])[_0x2bfefb(0x286)](async _0x28ce42=>{const _0x412ffc=_0x2bfefb,_0x39c123=await _0x28ce42[_0x412ffc(0x29d)]();_0x39c123[_0x412ffc(0x1eb)](_0x17c3db=>{const _0x5a0e26=_0x412ffc;_0x146e1b[_0x5a0e26(0x2ea)]('#'+_0x17c3db[_0x5a0e26(0x11f)],_0x17c3db[_0x5a0e26(0x283)]);});});},BB[_0x215fd8(0x1dd)]=(_0x5cf440,_0x5a1900)=>{const _0x562393=_0x215fd8;let _0x22ef14=BB[_0x562393(0x171)][_0x562393(0x28b)],_0x4999f0=BB[_0x562393(0x171)][_0x562393(0x27b)](_0x5cf440[_0x562393(0x14a)]),_0x3ae4a0,_0x116cc2,_0x1aaef8=null,_0x1c1f79=null;console['log'](_0x562393(0x274)+_0x5cf440[_0x562393(0x145)]);const _0x393c5c=_0x75bee3=>{const _0x4569ac=_0x562393;_0x3ae4a0=_0x75bee3,console['log'](_0x4569ac(0x1fe)+_0x5cf440['gameId']+':\x20'+_0x3ae4a0),_0x116cc2&&_0x585bf1(_0x116cc2);};async function _0x2bd040(){const _0x3365f0=_0x562393,_0x1cf013=await fetch(_0x5cf440[_0x3365f0(0x126)]),_0x2cd501=await _0x1cf013[_0x3365f0(0x29d)]();_0x393c5c(_0x5cf440[_0x3365f0(0x145)]);}_0x2bd040();const _0x739360=_0x29e0a6=>{_0x116cc2=_0x29e0a6,_0x3ae4a0&&_0x585bf1(_0x116cc2);},_0x585bf1=_0x22254b=>{const _0xbe836c=_0x562393;if(_0x1aaef8==null){console['BBlog']('We\x20have\x20no\x20MetaDataDownloaderThread\x20yet.\x20Creating\x20it');let _0x5a5e2d=new Blob([META_WORKER],{'type':_0xbe836c(0x2c2)});_0x1aaef8=new Worker(URL[_0xbe836c(0x217)](_0x5a5e2d)),_0x1aaef8[_0xbe836c(0x1f2)]=function(_0x4283de){const _0x1a0d77=_0xbe836c;console[_0x1a0d77(0x1ce)](_0x1a0d77(0x2a3),_0x4283de);},_0x1aaef8['addEventListener'](_0xbe836c(0x1ce),function(_0x31ea3c){const _0x377f97=_0xbe836c;console['error'](_0x377f97(0x1ab),_0x31ea3c[_0x377f97(0x22b)]);});if(_0x1aaef8)console['BBlog'](_0xbe836c(0x18d));else console['BBlog'](_0xbe836c(0x280));_0x1aaef8['addEventListener'](_0xbe836c(0x22b),_0x282840=>{const _0x34c7ae=_0xbe836c;if(_0x282840[_0x34c7ae(0x271)][_0x34c7ae(0x248)]){}else _0x5a1900['OnMetaData'](_0x282840[_0x34c7ae(0x271)]);});let _0x2a9e12=_0x22ef14[_0xbe836c(0x201)](_0x22ef14[_0xbe836c(0x211)](_0x22254b,_0x4999f0,!![]));_0x1aaef8['postMessage']({'cloudFrontURL':_0x5cf440[_0xbe836c(0x285)],'folderName':_0x3ae4a0,'tc':_0x22ef14[_0xbe836c(0x125)](_0x2a9e12,![])});}else{let _0x457e02=_0x22ef14['TimeCodeArray2TimeCodeJson'](_0x22ef14[_0xbe836c(0x211)](_0x22254b,_0x4999f0,!![]));_0x1aaef8[_0xbe836c(0x242)]({'tc':_0x22ef14[_0xbe836c(0x125)](_0x457e02,![]),'enabled':_0x5cf440[_0xbe836c(0x1c4)]});}};return{'setLastFrame':_0x739360};},BB['OTTPlayer']=class{constructor(_0x424e4e,_0x17180d,_0x3408e6){const _0x106586=_0x215fd8;this[_0x106586(0x1a4)]=_0x424e4e,this['srcFrameRate']=_0x17180d,console['log'](_0x106586(0x15a),_0x3408e6),this['options']=Object['assign']({'enabled':!![],'stopAugment':![],'gameId':_0x106586(0x305),'medialook':![],'allGamesURL':_0x106586(0x1f1),'cloudFrontURL':'https://db8igqxlbvayn.cloudfront.net/prod','mediaIdJsonURL':_0x106586(0x1fc),'offsetJsonURL':_0x106586(0x18b),'frameRateMode':BB[_0x106586(0x199)][_0x106586(0x2d3)],'renderingMode':BB[_0x106586(0x2b5)][_0x106586(0x197)],'SynchMethod':BB[_0x106586(0x184)][_0x106586(0x1c1)],'debug':![],'augmentation':{'renderTimecode':!![],'offset':0x0},'syncPoint':{'frame':0x0,'playerTime':0x0,'mediaTimeMS':0x0}},_0x3408e6||{}),console[_0x106586(0x16e)]('options\x20after\x20merge\x20with\x20MK\x27s\x20options:\x20',this[_0x106586(0x1da)]),this[_0x106586(0x1da)][_0x106586(0x2bf)][_0x106586(0x150)]=_0x106586(0x20f),console[_0x106586(0x113)]=function(_0x29926a){const _0x2a9c0c=_0x106586;console[_0x2a9c0c(0x16e)](_0x2a9c0c(0x2b1)+_0x29926a);},console[_0x106586(0x2ef)]=function(_0xe30496){const _0x362c81=_0x106586;console[_0x362c81(0x1ce)](_0x362c81(0x2b1)+_0xe30496);};function _0x4d5391(_0x4c367e,_0x362546){const _0x1781e0=_0x106586,_0x262045=_0x4c367e[_0x1781e0(0x1f3)]('.')[_0x1781e0(0x1cf)](Number),_0x376fee=_0x362546['split']('.')[_0x1781e0(0x1cf)](Number);for(let _0x556bfd=0x0;_0x556bfd<Math[_0x1781e0(0x129)](_0x262045['length'],_0x376fee[_0x1781e0(0x12c)]);_0x556bfd++){const _0x48a3d0=_0x262045[_0x556bfd]||0x0,_0x223f50=_0x376fee[_0x556bfd]||0x0;if(_0x48a3d0<_0x223f50)return-0x1;else{if(_0x48a3d0>_0x223f50)return 0x1;}}return 0x0;}this[_0x106586(0x2db)]();}[_0x215fd8(0x2ff)](){const _0xff76dc=_0x215fd8;if(typeof globalConfig===_0xff76dc(0x223))this['options']=Object[_0xff76dc(0x29b)](this[_0xff76dc(0x1da)],{});else this[_0xff76dc(0x1da)]=Object[_0xff76dc(0x29b)](this[_0xff76dc(0x1da)],globalConfig);this['options'][_0xff76dc(0x2bf)][_0xff76dc(0x297)]=0x0,console[_0xff76dc(0x16e)](_0xff76dc(0x262),this[_0xff76dc(0x1da)]);if(!this[_0xff76dc(0x1da)][_0xff76dc(0x24b)]){let _0x10934d=[_0xff76dc(0x2b7),_0xff76dc(0x12f),_0xff76dc(0x25a),'debugText2',_0xff76dc(0x1df),_0xff76dc(0x11d),_0xff76dc(0x117),_0xff76dc(0x1ee),'plus05CorrectionLabel',_0xff76dc(0x1a3),_0xff76dc(0x1b8),_0xff76dc(0x18f)];for(let _0x261dad=0x0;_0x261dad<_0x10934d[_0xff76dc(0x12c)];_0x261dad++){const _0x5594df=document[_0xff76dc(0x253)](_0x10934d[_0x261dad]);_0x5594df&&(_0x5594df[_0xff76dc(0x2b0)]['display']='none');}}let _0x118ca7=BB[_0xff76dc(0x171)][_0xff76dc(0x2c9)],_0x2e0d48=BB[_0xff76dc(0x171)][_0xff76dc(0x28b)];if(this[_0xff76dc(0x261)])this[_0xff76dc(0x2e4)](this[_0xff76dc(0x261)]);this[_0xff76dc(0x15f)](this[_0xff76dc(0x1da)][_0xff76dc(0x145)]);}[_0x215fd8(0x2ec)](){const _0x52d643=_0x215fd8;let _0x357232={};this[_0x52d643(0xfc)]=BB[_0x52d643(0x238)](_0x357232,this[_0x52d643(0x1a4)],this['options']),this[_0x52d643(0x1da)][_0x52d643(0x10f)]==BB['RenderingMode'][_0x52d643(0x197)]&&this[_0x52d643(0xfc)][_0x52d643(0x133)]();}async[_0x215fd8(0x2db)](){const _0x43c5d7=_0x215fd8,_0x1cb352=new URL(document[_0x43c5d7(0xf6)]),_0x4862fa=_0x1cb352[_0x43c5d7(0x27c)][_0x43c5d7(0x1c9)](_0x43c5d7(0x251))||'';if(_0x4862fa!=='')try{const _0x12747e=await fetch(_0x4862fa);if(!_0x12747e['ok'])throw new Error(_0x43c5d7(0x1b7));const _0x84d1d4=await _0x12747e['json']();console[_0x43c5d7(0x16e)](_0x43c5d7(0x2af),_0x84d1d4);if(typeof globalConfig==_0x43c5d7(0x223))window[_0x43c5d7(0x109)]={};globalConfig=Object[_0x43c5d7(0x29b)]({},globalConfig,_0x84d1d4);}catch(_0x34889e){console[_0x43c5d7(0x1ce)](_0x43c5d7(0x298),_0x34889e);}this[_0x43c5d7(0x2ff)]();}async[_0x215fd8(0x15f)](_0x318be4){const _0x38c20c=_0x215fd8;try{const _0x4d5ced=await fetch(this[_0x38c20c(0x1da)][_0x38c20c(0x137)]+'/'+_0x318be4);if(!_0x4d5ced['ok'])throw new Error(_0x38c20c(0x153)+_0x4d5ced[_0x38c20c(0x164)]);const _0x47db1c=await _0x4d5ced[_0x38c20c(0x29d)]();if(_0x47db1c[_0x38c20c(0x24c)](_0x38c20c(0x302))){const _0x544ab6=_0x47db1c[_0x38c20c(0x302)];console[_0x38c20c(0x113)](_0x38c20c(0x22e)+_0x318be4+':\x20'+_0x544ab6),this['options'][_0x38c20c(0x145)]=_0x544ab6,console[_0x38c20c(0x16e)]('fetchAndFindGameIdAndOffsetFromMediaId:\x20I\x20Know\x20what\x20is\x20the\x20game\x20id\x20!\x20Its\x20'+this[_0x38c20c(0x1da)]['gameId']+',\x20so\x20I\x27m\x20launching\x20the\x20meta-data\x20fetcher\x20web-worker'),this[_0x38c20c(0x2ec)](),this[_0x38c20c(0x19c)](this[_0x38c20c(0x1da)][_0x38c20c(0x145)]);}else console[_0x38c20c(0x2ef)](_0x38c20c(0x136)+_0x318be4+_0x38c20c(0x205)),this[_0x38c20c(0x1da)][_0x38c20c(0x115)]=!![];}catch(_0x59ab23){console[_0x38c20c(0x2ef)]('Error\x20fetching\x20and\x20processing\x20GameId\x20JSON:',_0x59ab23);}}async['fetchOffsetForGameId'](_0x2b435a){const _0x2f5d84=_0x215fd8;try{const _0x47b25e=await fetch(this['options'][_0x2f5d84(0x2c6)]+'/'+this['options'][_0x2f5d84(0x145)]);!_0x47b25e['ok']&&(console['BBlog'](_0x2f5d84(0x153)+_0x47b25e['status']),setTimeout(()=>{this['fetchOffsetForGameId'](_0x2b435a);},0x1388));const _0x11d02f=await _0x47b25e['json']();if(_0x11d02f[_0x2f5d84(0x24c)](_0x2f5d84(0x297))&&_0x11d02f[_0x2f5d84(0x24c)](_0x2f5d84(0xfb))){const _0x1fe22f=_0x11d02f[_0x2f5d84(0x297)],_0xdd01f9=_0x11d02f[_0x2f5d84(0xfb)];_0xdd01f9==!![]&&(console[_0x2f5d84(0x113)]('Offest\x20for\x20gameid=\x20'+_0x2b435a+':\x20'+_0x1fe22f),this[_0x2f5d84(0x1da)][_0x2f5d84(0x2bf)][_0x2f5d84(0x297)]=_0x1fe22f,setTimeout(()=>{this['fetchOffsetForGameId'](_0x2b435a);},0xea60));}else console[_0x2f5d84(0x113)](_0x2f5d84(0x13c)+mediaID+_0x2f5d84(0x205)),setTimeout(()=>{const _0x4e8043=_0x2f5d84;this[_0x4e8043(0x19c)](_0x2b435a);},0x1388);}catch(_0x359112){console[_0x2f5d84(0x2ef)]('Error\x20fetching\x20and\x20processing\x20JSON:',_0x359112),setTimeout(()=>{const _0x3c1af7=_0x2f5d84;this[_0x3c1af7(0x19c)](_0x2b435a);},0x1388);}}[_0x215fd8(0x17b)](_0x18545a){this['options']['enabled']=_0x18545a;}['GetCanvas'](){const _0x41ca90=_0x215fd8;return this[_0x41ca90(0xfc)][_0x41ca90(0x1ae)]();}[_0x215fd8(0x2e4)](_0x587d29){const _0x29b944=_0x215fd8;let _0x5552ca=BB[_0x29b944(0x171)]['Platform'];switch(_0x587d29){case 0x3c:this[_0x29b944(0x1da)][_0x29b944(0x14a)]=BB[_0x29b944(0x199)][_0x29b944(0x21c)];break;case 0xea60/0x3e9:case 59.94:_0x5552ca['isWindows']()||_0x5552ca[_0x29b944(0x143)]()||_0x5552ca[_0x29b944(0x2fb)]()?this['options'][_0x29b944(0x14a)]=BB['FrameRateMode'][_0x29b944(0x29e)]:this['options']['frameRateMode']=BB[_0x29b944(0x199)][_0x29b944(0x29e)];break;case 0x7530/0x3e9:case 29.97:this[_0x29b944(0x1da)][_0x29b944(0x14a)]=BB[_0x29b944(0x199)][_0x29b944(0x1ea)];break;default:console[_0x29b944(0x1ce)](_0x29b944(0x10e)+_0x587d29+_0x29b944(0x2b3));break;}}[_0x215fd8(0x275)](_0x54f5ec){this['options']['syncPoint']=_0x54f5ec;}[_0x215fd8(0x1b1)](_0xb892ba){const _0x48c8cb=_0x215fd8;this[_0x48c8cb(0xfc)]['onNewSegmentInterface'](_0xb892ba);}[_0x215fd8(0x189)](_0x41eeb6){const _0x10f2d6=_0x215fd8;this[_0x10f2d6(0xfc)][_0x10f2d6(0x287)](_0x41eeb6);}};
|
|
1
|
+
const _0x3b39db=_0x1038;(function(_0x4a1cbe,_0x497c2c){const _0x499050=_0x1038,_0x35698d=_0x4a1cbe();while(!![]){try{const _0x3660ca=-parseInt(_0x499050(0x151))/0x1+parseInt(_0x499050(0x262))/0x2*(-parseInt(_0x499050(0x1ef))/0x3)+-parseInt(_0x499050(0x257))/0x4*(parseInt(_0x499050(0x1fa))/0x5)+-parseInt(_0x499050(0x259))/0x6*(-parseInt(_0x499050(0x15e))/0x7)+parseInt(_0x499050(0x1de))/0x8+parseInt(_0x499050(0x23c))/0x9*(-parseInt(_0x499050(0x284))/0xa)+parseInt(_0x499050(0x15a))/0xb;if(_0x3660ca===_0x497c2c)break;else _0x35698d['push'](_0x35698d['shift']());}catch(_0x57218e){_0x35698d['push'](_0x35698d['shift']());}}}(_0x5c08,0x63a20));function _0x5c08(){const _0xa2b38d=['RGBA','Timecode2Frames','forplus','currentScript','nextSibling','priv','place2ad','AdNameForPlaceHolder','status','fetchAndFindGameIdAndOffsetFromMediaId:\x20I\x20Know\x20what\x20is\x20the\x20game\x20id\x20!\x20Its\x20','uniform2fv','\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//\x20an\x20attribute\x20is\x20an\x20input\x20(in)\x20to\x20a\x20vertex\x20shader.\x0a//\x20It\x20will\x20receive\x20vertex\x20data\x20from\x20the\x20buffer\x0aattribute\x20vec2\x20a_position;\x0aattribute\x20vec2\x20a_texCoord;\x0auniform\x20vec2\x20u_resolution;\x0avarying\x20vec2\x20v_texCoord;\x0a\x0a\x0a//\x20Main\x20vertex\x20shader\x0avoid\x20main()\x20{\x0a\x20\x20//\x20convert\x20the\x20rectangle\x20from\x20pixels\x20to\x200.0\x20to\x201.0\x0a\x20\x20\x20vec2\x20zeroToOne\x20=\x20a_position\x20/\x20u_resolution;\x0a\x0a\x20\x20\x20//\x20convert\x20from\x200->1\x20to\x200->2\x0a\x20\x20\x20vec2\x20zeroToTwo\x20=\x20zeroToOne\x20*\x202.0;\x0a\x0a\x20\x20\x20//\x20convert\x20from\x200->2\x20to\x20-1->+1\x20(clipspace)\x0a\x20\x20\x20vec2\x20clipSpace\x20=\x20zeroToTwo\x20-\x201.0;\x0a\x0a\x20\x20\x20gl_Position\x20=\x20vec4(clipSpace\x20*\x20vec2(1,\x20-1),\x200,\x201);\x0a\x0a\x20\x20\x20//\x20pass\x20the\x20texCoord\x20to\x20the\x20fragment\x20shader\x0a\x20\x20\x20//\x20The\x20GPU\x20will\x20interpolate\x20this\x20value\x20between\x20points.\x0a\x20\x20\x20v_texCoord\x20=\x20a_texCoord;\x0a}\x0a','ad2place','Probable\x20videoFrameCallback\x20was\x20not\x20fired.\x20Apllying\x20correction\x20mechanism\x20(','Internet\x20Explorer','activeTexture','metadataArr','composer::SelectAd:\x20selected\x20ad\x20is\x20','autoAddIndex','version','playbackTime','getUTCHours','undefined','max','Unknown','logoURL','json','Windows',',\x20offset:\x20<span\x20style=\x27color:','FrameRateMode','sourceFPS','adForLogo','round','(\x20Security\x20)\x20We\x20cant\x20reach\x20','pixelStorei','createProgramFromSources','https://games-prod.virtualott.com/offset','DEPTH_BUFFER_BIT','digitImg','Unsupported\x20src\x20frame-rate:\x20','OnNewSegment','for\x20more\x20about\x20webgl-utils.js\x20see:','allGamesURL','script','red','GAME_ID','\x20countAppleVideo:\x20','application/javascript','map','cloudFrontURL','TexUnitForAdInPlace','.json','alpha','left','offsetLeft','MakeSureAdPerPlace','OnMetaData','useProgram','renderTimecode','New\x20segment\x20(','v1.0.31','debug','Frames2Timecode','alphaFound','clientWidth','numberInput','debugText2','shaderSource','OnUserClickOnCanvas','mediaIdJsonURL','onload','width','vendor','TopLeft','advertisementMap','stringTime','6133936Wwrfnu','padStart','frame','nba','isArray','\x20so\x20should\x20navigate\x20to\x20','value','placeholders','getElementById','indexOf','reduce','toFixed','bindAttribLocation','CLAMP_TO_EDGE','rect','matchAll','tc__','2083686LaVJQT','TRIANGLES','\x20TimeFired:\x20','absolute','br2','Kindle','getMediaTimeFPS','onNewMetadata','forEach','name','***\x20Error:\x20unknown\x20shader\x20type','5jgcfqA','call','MetaDataFetcher','hasOwnProperty','length','TEXTURE_WRAP_S',',\x20took:\x20','Error\x20from\x20worker\x20(via\x20addEventListener):',',\x20Time\x20Fired:\x20','currentAds2BoundingRect','https://db8igqxlbvayn.cloudfront.net/prod','appVersion','MetaDataDownloaderThread\x20created','timeCodeStr2TimeCodeArray','callback','Opera','***\x20Error:\x20unknown\x20script\x20element','display','ctx','clientX','Src29_MediaTime29','BB.Utils.getMediaTimeFPS:\x20Unknown\x20FrameRate\x20mode','Mozilla','matchItem','30px\x20Arial','opera','VID.\x20','player','Video\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.','offs','GameId\x20for\x20mediaid=\x20',',\x20Stream\x20Time-Code:\x20','None','time','try\x20{\x0a\x0alet\x20UZIP\x20=\x20{};\x0aif(typeof\x20module\x20==\x20\x22object\x22)\x20module.exports\x20=\x20UZIP;\x0aUZIP[\x22parse\x22]\x20=\x20function(buf,\x20onlyNames)\x09//\x20ArrayBuffer\x0a{\x0a\x20\x20\x20\x20let\x20rUs\x20=\x20UZIP.bin.readUshort,\x20rUi\x20=\x20UZIP.bin.readUint,\x20o\x20=\x200,\x20out\x20=\x20{};\x0a\x20\x20\x20\x20let\x20data\x20=\x20new\x20Uint8Array(buf);\x0a\x20\x20\x20\x20let\x20eocd\x20=\x20data.length-4;\x0a\x0a\x20\x20\x20\x20while(rUi(data,\x20eocd)!=0x06054b50)\x20eocd--;\x0a\x0a\x20\x20\x20\x20o\x20=\x20eocd;\x0a\x20\x20\x20\x20o+=4;\x09//\x20sign\x20\x20=\x200x06054b50\x0a\x20\x20\x20\x20o+=4;\x20\x20//\x20disks\x20=\x200;\x0a\x20\x20\x20\x20let\x20cnu\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20cnt\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20let\x20coffs\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20o\x20=\x20coffs;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<cnu;\x20i++)\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20sign\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20versions;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20flag\x20+\x20compr\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20time\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20crc32\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20usize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20nl\x20=\x20rUs(data,\x20o),\x20el\x20=\x20rUs(data,\x20o+2),\x20cl\x20=\x20rUs(data,\x20o+4);\x20\x20o\x20+=\x206;\x20\x20//\x20name,\x20extra,\x20comment\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x208;\x20\x20//\x20disk,\x20attribs\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20roff\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x20nl\x20+\x20el\x20+\x20cl;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20UZIP._readLocal(data,\x20roff,\x20out,\x20csize,\x20usize,\x20onlyNames);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(out);\x0a\x20\x20\x20\x20return\x20out;\x0a}\x0a\x0aUZIP._readLocal\x20=\x20function(data,\x20o,\x20out,\x20csize,\x20usize,\x20onlyNames)\x0a{\x0a\x20\x20\x20\x20let\x20rUs\x20=\x20UZIP.bin.readUshort,\x20rUi\x20=\x20UZIP.bin.readUint;\x0a\x20\x20\x20\x20let\x20sign\x20\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20let\x20ver\x20\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20gpflg\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20//if((gpflg&8)!=0)\x20throw\x20\x22unknown\x20sizes\x22;\x0a\x20\x20\x20\x20let\x20cmpr\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20time\x20\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20let\x20crc32\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20//let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20//let\x20usize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20o+=8;\x0a\x0a\x20\x20\x20\x20let\x20nlen\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20elen\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20name\x20=\x20\x20UZIP.bin.readUTF8(data,\x20o,\x20nlen);\x20\x20o+=nlen;\x20\x20//console.log(name);\x0a\x20\x20\x20\x20o\x20+=\x20elen;\x0a\x0a\x20\x20\x20\x20//console.log(sign.toString(16),\x20ver,\x20gpflg,\x20cmpr,\x20crc32.toString(16),\x20\x22csize,\x20usize\x22,\x20csize,\x20usize,\x20nlen,\x20elen,\x20name,\x20o);\x0a\x20\x20\x20\x20if(onlyNames)\x20{\x20\x20out[name]={size:usize,\x20csize:csize};\x20\x20return;\x20\x20}\x0a\x20\x20\x20\x20let\x20file\x20=\x20new\x20Uint8Array(data.buffer,\x20o);\x0a\x20\x20\x20\x20if(false)\x20{}\x0a\x20\x20\x20\x20else\x20if(cmpr==0)\x20out[name]\x20=\x20new\x20Uint8Array(file.buffer.slice(o,\x20o+csize));\x0a\x20\x20\x20\x20else\x20if(cmpr==8)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20buf\x20=\x20new\x20Uint8Array(usize);\x20\x20UZIP.inflateRaw(file,\x20buf);\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*let\x20nbuf\x20=\x20pako[\x22inflateRaw\x22](file);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(usize>8514000)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(PUtils.readASCII(buf\x20,\x208514500,\x20500));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(PUtils.readASCII(nbuf,\x208514500,\x20500));\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<buf.length;\x20i++)\x20if(buf[i]!=nbuf[i])\x20{\x20\x20console.log(buf.length,\x20nbuf.length,\x20usize,\x20i);\x20\x20throw\x20\x22e\x22;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20out[name]\x20=\x20buf;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20throw\x20\x22unknown\x20compression\x20method:\x20\x22+cmpr;\x0a}\x0a\x0aUZIP.inflateRaw\x20=\x20function(file,\x20buf)\x20{\x20\x20return\x20UZIP.F.inflate(file,\x20buf);\x20\x20}\x0aUZIP.inflate\x20\x20\x20\x20=\x20function(file,\x20buf)\x20{\x0a\x20\x20\x20\x20let\x20CMF\x20=\x20file[0],\x20FLG\x20=\x20file[1];\x0a\x20\x20\x20\x20let\x20CM\x20=\x20(CMF&15),\x20CINFO\x20=\x20(CMF>>>4);\x0a\x20\x20\x20\x20//console.log(CM,\x20CINFO,CMF,FLG);\x0a\x20\x20\x20\x20return\x20UZIP.inflateRaw(new\x20Uint8Array(file.buffer,\x20file.byteOffset+2,\x20file.length-6),\x20buf);\x0a}\x0aUZIP.deflate\x20\x20\x20\x20=\x20function(data,\x20opts/*,\x20buf,\x20off*/)\x20{\x0a\x20\x20\x20\x20if(opts==null)\x20opts={level:6};\x0a\x20\x20\x20\x20let\x20off=0,\x20buf=new\x20Uint8Array(50+Math.floor(data.length*1.1));\x0a\x20\x20\x20\x20buf[off]=120;\x20\x20buf[off+1]=156;\x20\x20off+=2;\x0a\x20\x20\x20\x20off\x20=\x20UZIP.F.deflateRaw(data,\x20buf,\x20off,\x20opts.level);\x0a\x20\x20\x20\x20let\x20crc\x20=\x20UZIP.adler(data,\x200,\x20data.length);\x0a\x20\x20\x20\x20buf[off+0]=((crc>>>24)&255);\x0a\x20\x20\x20\x20buf[off+1]=((crc>>>16)&255);\x0a\x20\x20\x20\x20buf[off+2]=((crc>>>\x208)&255);\x0a\x20\x20\x20\x20buf[off+3]=((crc>>>\x200)&255);\x0a\x20\x20\x20\x20return\x20new\x20Uint8Array(buf.buffer,\x200,\x20off+4);\x0a}\x0aUZIP.deflateRaw\x20=\x20function(data,\x20opts)\x20{\x0a\x20\x20\x20\x20if(opts==null)\x20opts={level:6};\x0a\x20\x20\x20\x20let\x20buf=new\x20Uint8Array(50+Math.floor(data.length*1.1));\x0a\x20\x20\x20\x20let\x20off\x20=\x20UZIP.F.deflateRaw(data,\x20buf,\x20off,\x20opts.level);\x0a\x20\x20\x20\x20return\x20new\x20Uint8Array(buf.buffer,\x200,\x20off);\x0a}\x0a\x0a\x0aUZIP.encode\x20=\x20function(obj,\x20noCmpr)\x20{\x0a\x20\x20\x20\x20if(noCmpr==null)\x20noCmpr=false;\x0a\x20\x20\x20\x20let\x20tot\x20=\x200,\x20wUi\x20=\x20UZIP.bin.writeUint,\x20wUs\x20=\x20UZIP.bin.writeUshort;\x0a\x20\x20\x20\x20let\x20zpd\x20=\x20{};\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20obj)\x20{\x20\x20let\x20cpr\x20=\x20!UZIP._noNeed(p)\x20&&\x20!noCmpr,\x20buf\x20=\x20obj[p],\x20crc\x20=\x20UZIP.crc.crc(buf,0,buf.length);\x0a\x20\x20\x20\x20\x20\x20\x20\x20zpd[p]\x20=\x20{\x20\x20cpr:cpr,\x20usize:buf.length,\x20crc:crc,\x20file:\x20(cpr\x20?\x20UZIP.deflateRaw(buf)\x20:\x20buf)\x20\x20};\x20\x20}\x0a\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20tot\x20+=\x20zpd[p].file.length\x20+\x2030\x20+\x2046\x20+\x202*UZIP.bin.sizeUTF8(p);\x0a\x20\x20\x20\x20tot\x20+=\x20\x2022;\x0a\x0a\x20\x20\x20\x20let\x20data\x20=\x20new\x20Uint8Array(tot),\x20o\x20=\x200;\x0a\x20\x20\x20\x20let\x20fof\x20=\x20[]\x0a\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20file\x20=\x20zpd[p];\x20\x20fof.push(o);\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20=\x20UZIP._writeHeader(data,\x20o,\x20p,\x20file,\x200);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20i=0,\x20ioff\x20=\x20o;\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20file\x20=\x20zpd[p];\x20\x20fof.push(o);\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20=\x20UZIP._writeHeader(data,\x20o,\x20p,\x20file,\x201,\x20fof[i++]);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20csize\x20=\x20o-ioff;\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x200x06054b50);\x20\x20o+=4;\x0a\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20disks\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20i);\x20\x20o\x20+=\x202;\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20i);\x20\x20o\x20+=\x202;\x09//\x20number\x20of\x20c\x20d\x20records\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20csize);\x20\x20o\x20+=\x204;\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20ioff\x20);\x20\x20o\x20+=\x204;\x0a\x20\x20\x20\x20o\x20+=\x202;\x0a\x20\x20\x20\x20return\x20data.buffer;\x0a}\x0a//\x20no\x20need\x20to\x20compress\x20.PNG,\x20.ZIP,\x20.JPEG\x20....\x0aUZIP._noNeed\x20=\x20function(fn)\x20{\x20\x20let\x20ext\x20=\x20fn.split(\x22.\x22).pop().toLowerCase();\x20\x20return\x20\x22png,jpg,jpeg,zip\x22.indexOf(ext)!=-1;\x20\x20}\x0a\x0aUZIP._writeHeader\x20=\x20function(data,\x20o,\x20p,\x20obj,\x20t,\x20roff)\x0a{\x0a\x20\x20\x20\x20let\x20wUi\x20=\x20UZIP.bin.writeUint,\x20wUs\x20=\x20UZIP.bin.writeUshort;\x0a\x20\x20\x20\x20let\x20file\x20=\x20obj.file;\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20t==0\x20?\x200x04034b50\x20:\x200x02014b50);\x20\x20o+=4;\x20//\x20sign\x0a\x20\x20\x20\x20if(t==1)\x20o+=2;\x20\x20//\x20ver\x20made\x20by\x0a\x20\x20\x20\x20wUs(data,\x20o,\x2020);\x20\x20o+=2;\x09//\x20ver\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20\x200);\x20\x20o+=2;\x20\x20\x20\x20//\x20gflip\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20\x20obj.cpr?8:0);\x20\x20o+=2;\x09//\x20cmpr\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20\x200);\x20\x20o+=4;\x09//\x20time\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20obj.crc);\x20\x20o+=4;\x09//\x20crc32\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20file.length);\x20\x20o+=4;\x09//\x20csize\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20obj.usize);\x20\x20o+=4;\x09//\x20usize\x0a\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20UZIP.bin.sizeUTF8(p));\x20\x20o+=2;\x09//\x20nlen\x0a\x20\x20\x20\x20wUs(data,\x20o,\x200);\x20\x20o+=2;\x09//\x20elen\x0a\x0a\x20\x20\x20\x20if(t==1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x202;\x20\x20//\x20comment\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x202;\x20\x20//\x20disk\x20number\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x206;\x20\x20//\x20attributes\x0a\x20\x20\x20\x20\x20\x20\x20\x20wUi(data,\x20o,\x20roff);\x20\x20o+=4;\x09//\x20usize\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20nlen\x20=\x20UZIP.bin.writeUTF8(data,\x20o,\x20p);\x20\x20o+=\x20nlen;\x0a\x20\x20\x20\x20if(t==0)\x20{\x20\x20data.set(file,\x20o);\x20\x20o\x20+=\x20file.length;\x20\x20}\x0a\x20\x20\x20\x20return\x20o;\x0a}\x0aUZIP.crc\x20=\x20{\x0a\x20\x20\x20\x20table\x20:\x20(\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20tab\x20=\x20new\x20Uint32Array(256);\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20n=0;\x20n<256;\x20n++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20c\x20=\x20n;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20k=0;\x20k<8;\x20k++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(c\x20&\x201)\x20\x20c\x20=\x200xedb88320\x20^\x20(c\x20>>>\x201);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20\x20\x20\x20\x20\x20\x20\x20c\x20=\x20c\x20>>>\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tab[n]\x20=\x20c;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20tab;\x20\x20})(),\x0a\x20\x20\x20\x20update\x20:\x20function(c,\x20buf,\x20off,\x20len)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20i=0;\x20i<len;\x20i++)\x20\x20c\x20=\x20UZIP.crc.table[(c\x20^\x20buf[off+i])\x20&\x200xff]\x20^\x20(c\x20>>>\x208);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20c;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20crc\x20:\x20function(b,o,l)\x20\x20{\x20\x20return\x20UZIP.crc.update(0xffffffff,b,o,l)\x20^\x200xffffffff;\x20\x20}\x0a}\x0aUZIP.adler\x20=\x20function(data,o,len)\x20{\x0a\x20\x20\x20\x20let\x20a\x20=\x201,\x20b\x20=\x200;\x0a\x20\x20\x20\x20let\x20off\x20=\x20o,\x20end=o+len;\x0a\x20\x20\x20\x20while(off<end)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20eend\x20=\x20Math.min(off+5552,\x20end);\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(off<eend)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20a\x20+=\x20data[off++];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20b\x20+=\x20a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20a=a%65521;\x0a\x20\x20\x20\x20\x20\x20\x20\x20b=b%65521;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20(b\x20<<\x2016)\x20|\x20a;\x0a}\x0a\x0aUZIP.bin\x20=\x20{\x0a\x20\x20\x20\x20readUshort\x20:\x20function(buff,p)\x20\x20{\x20\x20return\x20(buff[p])\x20|\x20(buff[p+1]<<8);\x20\x20},\x0a\x20\x20\x20\x20writeUshort:\x20function(buff,p,n){\x20\x20buff[p]\x20=\x20(n)&255;\x20\x20buff[p+1]\x20=\x20(n>>8)&255;\x20\x20},\x0a\x20\x20\x20\x20readUint\x20\x20\x20:\x20function(buff,p)\x20\x20{\x20\x20return\x20(buff[p+3]*(256*256*256))\x20+\x20((buff[p+2]<<16)\x20|\x20(buff[p+1]<<\x208)\x20|\x20buff[p]);\x20\x20},\x0a\x20\x20\x20\x20writeUint\x20\x20:\x20function(buff,p,n){\x20\x20buff[p]=n&255;\x20\x20buff[p+1]=(n>>8)&255;\x20\x20buff[p+2]=(n>>16)&255;\x20\x20buff[p+3]=(n>>24)&255;\x20\x20},\x0a\x20\x20\x20\x20readASCII\x20\x20:\x20function(buff,p,l){\x20\x20let\x20s\x20=\x20\x22\x22;\x20\x20for(let\x20i=0;\x20i<l;\x20i++)\x20s\x20+=\x20String.fromCharCode(buff[p+i]);\x20\x20return\x20s;\x20\x20\x20\x20},\x0a\x20\x20\x20\x20writeASCII\x20:\x20function(data,p,s){\x20\x20for(let\x20i=0;\x20i<s.length;\x20i++)\x20data[p+i]\x20=\x20s.charCodeAt(i);\x20\x20},\x0a\x20\x20\x20\x20pad\x20:\x20function(n)\x20{\x20return\x20n.length\x20<\x202\x20?\x20\x220\x22\x20+\x20n\x20:\x20n;\x20},\x0a\x20\x20\x20\x20readUTF8\x20:\x20function(buff,\x20p,\x20l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20s\x20=\x20\x22\x22,\x20ns;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<l;\x20i++)\x20s\x20+=\x20\x22%\x22\x20+\x20UZIP.bin.pad(buff[p+i].toString(16));\x0a\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x20\x20ns\x20=\x20decodeURIComponent(s);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20catch(e)\x20{\x20\x20return\x20UZIP.bin.readASCII(buff,\x20p,\x20l);\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x20ns;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20writeUTF8\x20:\x20function(buff,\x20p,\x20str)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20strl\x20=\x20str.length,\x20i=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20ci=0;\x20ci<strl;\x20ci++)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20str.charCodeAt(ci);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20\x20\x20\x20\x20((code&(0xffffffff-(1<<\x207)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(\x20\x20\x20\x20\x20code\x20\x20\x20\x20\x20);\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<11)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(192|(code>>\x206));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>\x200)&63));\x20\x20i+=2;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<16)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(224|(code>>12));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>\x206)&63));\x20\x20buff[p+i+2]\x20=\x20(128|((code>>0)&63));\x20\x20i+=3;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<21)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(240|(code>>18));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>12)&63));\x20\x20buff[p+i+2]\x20=\x20(128|((code>>6)&63));\x20\x20buff[p+i+3]\x20=\x20(128|((code>>0)&63));\x20i+=4;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20i;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20sizeUTF8\x20:\x20function(str)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20strl\x20=\x20str.length,\x20i=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20ci=0;\x20ci<strl;\x20ci++)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20str.charCodeAt(ci);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20\x20\x20\x20\x20((code&(0xffffffff-(1<<\x207)+1))==0)\x20{\x20\x20i++\x20;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<11)+1))==0)\x20{\x20\x20i+=2;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<16)+1))==0)\x20{\x20\x20i+=3;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<21)+1))==0)\x20{\x20\x20i+=4;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20i;\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F\x20=\x20{};\x0a\x0aUZIP.F.deflateRaw\x20=\x20function(data,\x20out,\x20opos,\x20lvl)\x20{\x0a\x20\x20\x20\x20let\x20opts\x20=\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20good_length;\x20/*\x20reduce\x20lazy\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20max_lazy;\x20\x20\x20\x20/*\x20do\x20not\x20perform\x20lazy\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20nice_length;\x20/*\x20quit\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x20\x20\x20\x20\x20\x20good\x20lazy\x20nice\x20chain\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x200\x20*/\x20[\x200,\x20\x20\x200,\x20\x20\x200,\x20\x20\x20\x200,0],\x20\x20/*\x20store\x20only\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x201\x20*/\x20[\x204,\x20\x20\x204,\x20\x20\x208,\x20\x20\x20\x204,0],\x20/*\x20max\x20speed,\x20no\x20lazy\x20matches\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x202\x20*/\x20[\x204,\x20\x20\x205,\x20\x2016,\x20\x20\x20\x208,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x203\x20*/\x20[\x204,\x20\x20\x206,\x20\x2016,\x20\x20\x2016,0],\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x204\x20*/\x20[\x204,\x20\x2010,\x20\x2016,\x20\x20\x2032,0],\x20\x20/*\x20lazy\x20matches\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x205\x20*/\x20[\x208,\x20\x2016,\x20\x2032,\x20\x20\x2032,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x206\x20*/\x20[\x208,\x20\x2016,\x20128,\x20\x20128,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x207\x20*/\x20[\x208,\x20\x2032,\x20128,\x20\x20256,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x208\x20*/\x20[32,\x20128,\x20258,\x201024,1],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x209\x20*/\x20[32,\x20258,\x20258,\x204096,1]];\x20/*\x20max\x20compression\x20*/\x0a\x0a\x20\x20\x20\x20let\x20opt\x20=\x20opts[lvl];\x0a\x0a\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U,\x20goodIndex\x20=\x20UZIP.F._goodIndex,\x20hash\x20=\x20UZIP.F._hash,\x20putsE\x20=\x20UZIP.F._putsE;\x0a\x20\x20\x20\x20let\x20i\x20=\x200,\x20pos\x20=\x20opos<<3,\x20cvrd\x20=\x200,\x20dlen\x20=\x20data.length;\x0a\x0a\x20\x20\x20\x20if(lvl==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(i<dlen)\x20{\x20\x20\x20let\x20len\x20=\x20Math.min(0xffff,\x20dlen-i);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,\x20(i+len==dlen\x20?\x201\x20:\x200));\x20\x20pos\x20=\x20UZIP.F._copyExact(data,\x20i,\x20len,\x20out,\x20pos+8);\x20\x20i\x20+=\x20len;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20pos>>>3;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20let\x20lits\x20=\x20U.lits,\x20strt=U.strt,\x20prev=U.prev,\x20li=0,\x20lc=0,\x20bs=0,\x20ebits=0,\x20c=0,\x20nc=0;\x20\x20//\x20last_item,\x20literal_count,\x20block_start\x0a\x20\x20\x20\x20if(dlen>2)\x20{\x20\x20nc=UZIP.F._hash(data,0);\x20\x20strt[nc]=0;\x20\x20}\x0a\x20\x20\x20\x20let\x20nmch=0,nmci=0;\x0a\x0a\x20\x20\x20\x20for(i=0;\x20i<dlen;\x20i++)\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20c\x20=\x20nc;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i+1<dlen-2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20nc\x20=\x20UZIP.F._hash(data,\x20i+1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ii\x20=\x20((i+1)&0x7fff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20prev[ii]=strt[nc];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20strt[nc]=ii;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<=i)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((li>14000\x20||\x20lc>26697)\x20&&\x20(dlen-i)>100)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<i)\x20{\x20\x20lits[li]=i-cvrd;\x20\x20li+=2;\x20\x20cvrd=i;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeBlock(((i==dlen-1)\x20||\x20(cvrd==dlen))?1:0,\x20lits,\x20li,\x20ebits,\x20data,bs,i-bs,\x20out,\x20pos);\x20\x20li=lc=ebits=0;\x20\x20bs=i;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mch\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(nmci==i)\x20mch=\x20nmch;\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(i<dlen-2)\x20mch\x20=\x20UZIP.F._bestMatch(data,\x20i,\x20prev,\x20c,\x20Math.min(opt[2],dlen-i),\x20opt[3]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(mch!=0\x20&&\x20opt[4]==1\x20&&\x20(mch>>>16)<opt[1]\x20&&\x20i+1<dlen-2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20nmch\x20=\x20UZIP.F._bestMatch(data,\x20i+1,\x20prev,\x20nc,\x20opt[2],\x20opt[3]);\x20\x20nmci=i+1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20mch2\x20=\x20UZIP.F._bestMatch(data,\x20i+2,\x20prev,\x20nnc);\x20\x20//nmci=i+1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((nmch>>>16)>(mch>>>16))\x20mch=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20len\x20=\x20mch>>>16,\x20dst\x20=\x20mch&0xffff;\x20\x20//if(i-dst<0)\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(mch!=0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20len\x20=\x20mch>>>16,\x20dst\x20=\x20mch&0xffff;\x20\x20//if(i-dst<0)\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lgi\x20=\x20goodIndex(len,\x20U.of0);\x20\x20U.lhst[257+lgi]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dgi\x20=\x20goodIndex(dst,\x20U.df0);\x20\x20U.dhst[\x20\x20\x20\x20dgi]++;\x20\x20ebits\x20+=\x20U.exb[lgi]\x20+\x20U.dxb[dgi];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lits[li]\x20=\x20(len<<23)|(i-cvrd);\x20\x20lits[li+1]\x20=\x20(dst<<16)|(lgi<<8)|dgi;\x20\x20li+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cvrd\x20=\x20i\x20+\x20len;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x09U.lhst[data[i]]++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lc++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if(bs!=i\x20||\x20data.length==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<i)\x20{\x20\x20lits[li]=i-cvrd;\x20\x20li+=2;\x20\x20cvrd=i;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeBlock(1,\x20lits,\x20li,\x20ebits,\x20data,bs,i-bs,\x20out,\x20pos);\x20\x20li=0;\x20\x20lc=0;\x20\x20li=lc=ebits=0;\x20\x20bs=i;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20while((pos&7)!=0)\x20pos++;\x0a\x20\x20\x20\x20return\x20pos>>>3;\x0a}\x0aUZIP.F._bestMatch\x20=\x20function(data,\x20i,\x20prev,\x20c,\x20nice,\x20chain)\x20{\x0a\x20\x20\x20\x20let\x20ci\x20=\x20(i&0x7fff),\x20pi=prev[ci];\x0a\x20\x20\x20\x20//console.log(\x22----\x22,\x20i);\x0a\x20\x20\x20\x20let\x20dif\x20=\x20((ci-pi\x20+\x20(1<<15))\x20&\x200x7fff);\x20\x20if(pi==ci\x20||\x20c!=UZIP.F._hash(data,i-dif))\x20return\x200;\x0a\x20\x20\x20\x20let\x20tl=0,\x20td=0;\x20\x20//\x20top\x20length,\x20top\x20distance\x0a\x20\x20\x20\x20let\x20dlim\x20=\x20Math.min(0x7fff,\x20i);\x0a\x20\x20\x20\x20while(dif<=dlim\x20&&\x20--chain!=0\x20&&\x20pi!=ci\x20/*&&\x20c==UZIP.F._hash(data,i-dif)*/)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(tl==0\x20||\x20(data[i+tl]==data[i+tl-dif]))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20cl\x20=\x20UZIP.F._howLong(data,\x20i,\x20dif);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(cl>tl)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tl=cl;\x20\x20td=dif;\x20\x20if(tl>=nice)\x20break;\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dif+2<cl)\x20cl\x20=\x20dif+2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20maxd\x20=\x200;\x20//\x20pi\x20does\x20not\x20point\x20to\x20the\x20start\x20of\x20the\x20word\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20j=0;\x20j<cl-2;\x20j++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ei\x20=\x20\x20(i-dif+j+\x20(1<<15))\x20&\x200x7fff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20li\x20=\x20prev[ei];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20curd\x20=\x20(ei-li\x20+\x20(1<<15))\x20&\x200x7fff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(curd>maxd)\x20{\x20\x20maxd=curd;\x20\x20pi\x20=\x20ei;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x20//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20ci=pi;\x20\x20pi\x20=\x20prev[ci];\x0a\x20\x20\x20\x20\x20\x20\x20\x20dif\x20+=\x20((ci-pi\x20+\x20(1<<15))\x20&\x200x7fff);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20(tl<<16)|td;\x0a}\x0aUZIP.F._howLong\x20=\x20function(data,\x20i,\x20dif)\x20{\x0a\x20\x20\x20\x20if(data[i]!=data[i-dif]\x20||\x20data[i+1]!=data[i+1-dif]\x20||\x20data[i+2]!=data[i+2-dif])\x20return\x200;\x0a\x20\x20\x20\x20let\x20oi=i,\x20l\x20=\x20Math.min(data.length,\x20i+258);\x20\x20i+=3;\x0a\x20\x20\x20\x20//while(i+4<l\x20&&\x20data[i]==data[i-dif]\x20&&\x20data[i+1]==data[i+1-dif]\x20&&\x20data[i+2]==data[i+2-dif]\x20&&\x20data[i+3]==data[i+3-dif])\x20i+=4;\x0a\x20\x20\x20\x20while(i<l\x20&&\x20data[i]==data[i-dif])\x20i++;\x0a\x20\x20\x20\x20return\x20i-oi;\x0a}\x0aUZIP.F._hash\x20=\x20function(data,\x20i)\x20{\x0a\x20\x20\x20\x20return\x20(((data[i]<<8)\x20|\x20data[i+1])+(data[i+2]<<4))&0xffff;\x0a\x20\x20\x20\x20//let\x20hash_shift\x20=\x200,\x20hash_mask\x20=\x20255;\x0a\x20\x20\x20\x20//let\x20h\x20=\x20data[i+1]\x20%\x20251;\x0a\x20\x20\x20\x20//h\x20=\x20(((h\x20<<\x208)\x20+\x20data[i+2])\x20%\x20251);\x0a\x20\x20\x20\x20//h\x20=\x20(((h\x20<<\x208)\x20+\x20data[i+2])\x20%\x20251);\x0a\x20\x20\x20\x20//h\x20=\x20((h<<hash_shift)\x20^\x20(c)\x20)\x20&\x20hash_mask;\x0a\x20\x20\x20\x20//return\x20h\x20|\x20(data[i]<<8);\x0a\x20\x20\x20\x20//return\x20(data[i]\x20|\x20(data[i+1]<<8));\x0a}\x0a//UZIP.___toth\x20=\x200;\x0aUZIP.saved\x20=\x200;\x0aUZIP.F._writeBlock\x20=\x20function(BFINAL,\x20lits,\x20li,\x20ebits,\x20data,o0,l0,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U,\x20putsF\x20=\x20UZIP.F._putsF,\x20putsE\x20=\x20UZIP.F._putsE;\x0a\x0a\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20let\x20T,\x20ML,\x20MD,\x20MH,\x20numl,\x20numd,\x20numh,\x20lset,\x20dset;\x20\x20U.lhst[256]++;\x0a\x20\x20\x20\x20T\x20=\x20UZIP.F.getTrees();\x20ML=T[0];\x20MD=T[1];\x20MH=T[2];\x20numl=T[3];\x20numd=T[4];\x20numh=T[5];\x20lset=T[6];\x20dset=T[7];\x0a\x0a\x20\x20\x20\x20let\x20cstSize\x20=\x20(((pos+3)&7)==0\x20?\x200\x20:\x208-((pos+3)&7))\x20+\x2032\x20+\x20(l0<<3);\x0a\x20\x20\x20\x20let\x20fxdSize\x20=\x20ebits\x20+\x20UZIP.F.contSize(U.fltree,\x20U.lhst)\x20+\x20UZIP.F.contSize(U.fdtree,\x20U.dhst);\x0a\x20\x20\x20\x20let\x20dynSize\x20=\x20ebits\x20+\x20UZIP.F.contSize(U.ltree\x20,\x20U.lhst)\x20+\x20UZIP.F.contSize(U.dtree\x20,\x20U.dhst);\x0a\x20\x20\x20\x20dynSize\x20\x20\x20\x20+=\x2014\x20+\x203*numh\x20+\x20UZIP.F.contSize(U.itree,\x20U.ihst)\x20+\x20(U.ihst[16]*2\x20+\x20U.ihst[17]*3\x20+\x20U.ihst[18]*7);\x0a\x0a\x20\x20\x20\x20for(let\x20j=0;\x20j<286;\x20j++)\x20U.lhst[j]=0;\x20\x20\x20for(let\x20j=0;\x20j<30;\x20j++)\x20U.dhst[j]=0;\x20\x20\x20for(let\x20j=0;\x20j<19;\x20j++)\x20U.ihst[j]=0;\x0a\x20\x20\x20\x20//*/\x0a\x20\x20\x20\x20let\x20BTYPE\x20=\x20(cstSize<fxdSize\x20&&\x20cstSize<dynSize)\x20?\x200\x20:\x20(\x20fxdSize<dynSize\x20?\x201\x20:\x202\x20);\x0a\x20\x20\x20\x20putsF(out,\x20pos,\x20BFINAL);\x20\x20putsF(out,\x20pos+1,\x20BTYPE);\x20\x20pos+=3;\x0a\x0a\x20\x20\x20\x20let\x20opos\x20=\x20pos;\x0a\x20\x20\x20\x20if(BTYPE==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20while((pos&7)!=0)\x20pos++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._copyExact(data,\x20o0,\x20l0,\x20out,\x20pos);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20ltree,\x20dtree;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==1)\x20{\x20\x20ltree=U.fltree;\x20\x20dtree=U.fdtree;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.ltree,\x20ML);\x20\x20UZIP.F.revCodes(U.ltree,\x20ML);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.dtree,\x20MD);\x20\x20UZIP.F.revCodes(U.dtree,\x20MD);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.itree,\x20MH);\x20\x20UZIP.F.revCodes(U.itree,\x20MH);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ltree\x20=\x20U.ltree;\x20\x20dtree\x20=\x20U.dtree;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numl-257);\x20\x20pos+=5;\x20\x20//\x20286\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numd-\x20\x201);\x20\x20pos+=5;\x20\x20//\x2030\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numh-\x20\x204);\x20\x20pos+=4;\x20\x20//\x2019\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<numh;\x20i++)\x20putsE(out,\x20pos+i*3,\x20U.itree[(U.ordr[i]<<1)+1]);\x20\x20\x20pos+=3*\x20numh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._codeTiny(lset,\x20U.itree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._codeTiny(dset,\x20U.itree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20off=o0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20si=0;\x20si<li;\x20si+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20qb=lits[si],\x20len=(qb>>>23),\x20end\x20=\x20off+(qb&((1<<23)-1));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(off<end)\x20pos\x20=\x20UZIP.F._writeLit(data[off++],\x20ltree,\x20out,\x20pos);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(len!=0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20qc\x20=\x20lits[si+1],\x20dst=(qc>>16),\x20lgi=(qc>>8)&255,\x20dgi=(qc&255);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(257+lgi,\x20ltree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,\x20len-U.of0[lgi]);\x20\x20pos+=U.exb[lgi];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(dgi,\x20dtree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsF(out,\x20pos,\x20dst-U.df0[dgi]);\x20\x20pos+=U.dxb[dgi];\x20\x20off+=len;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(256,\x20ltree,\x20out,\x20pos);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(pos-opos,\x20fxdSize,\x20dynSize,\x20cstSize);\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._copyExact\x20=\x20function(data,off,len,out,pos)\x20{\x0a\x20\x20\x20\x20let\x20p8\x20=\x20(pos>>>3);\x0a\x20\x20\x20\x20out[p8]=(len);\x20\x20out[p8+1]=(len>>>8);\x20\x20out[p8+2]=255-out[p8];\x20\x20out[p8+3]=255-out[p8+1];\x20\x20p8+=4;\x0a\x20\x20\x20\x20out.set(new\x20Uint8Array(data.buffer,\x20off,\x20len),\x20p8);\x0a\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20out[p8+i]=data[off+i];\x0a\x20\x20\x20\x20return\x20pos\x20+\x20((len+4)<<3);\x0a}\x0a/*\x0a\x09Interesting\x20facts:\x0a\x09-\x20decompressed\x20block\x20can\x20have\x20bytes,\x20which\x20do\x20not\x20occur\x20in\x20a\x20Huffman\x20tree\x20(copied\x20from\x20the\x20previous\x20block\x20by\x20reference)\x0a*/\x0a\x0aUZIP.F.getTrees\x20=\x20function()\x20{\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20ML\x20=\x20UZIP.F._hufTree(U.lhst,\x20U.ltree,\x2015);\x0a\x20\x20\x20\x20let\x20MD\x20=\x20UZIP.F._hufTree(U.dhst,\x20U.dtree,\x2015);\x0a\x20\x20\x20\x20let\x20lset\x20=\x20[],\x20numl\x20=\x20UZIP.F._lenCodes(U.ltree,\x20lset);\x0a\x20\x20\x20\x20let\x20dset\x20=\x20[],\x20numd\x20=\x20UZIP.F._lenCodes(U.dtree,\x20dset);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<lset.length;\x20i+=2)\x20U.ihst[lset[i]]++;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<dset.length;\x20i+=2)\x20U.ihst[dset[i]]++;\x0a\x20\x20\x20\x20let\x20MH\x20=\x20UZIP.F._hufTree(U.ihst,\x20U.itree,\x20\x207);\x0a\x20\x20\x20\x20let\x20numh\x20=\x2019;\x20\x20while(numh>4\x20&&\x20U.itree[(U.ordr[numh-1]<<1)+1]==0)\x20numh--;\x0a\x20\x20\x20\x20return\x20[ML,\x20MD,\x20MH,\x20numl,\x20numd,\x20numh,\x20lset,\x20dset];\x0a}\x0aUZIP.F.getSecond=\x20function(a)\x20{\x20\x20let\x20b=[];\x20\x20for(let\x20i=0;\x20i<a.length;\x20i+=2)\x20b.push\x20\x20(a[i+1]);\x20\x20return\x20b;\x20\x20}\x0aUZIP.F.nonZero\x20\x20=\x20function(a)\x20{\x20\x20let\x20b=\x20\x22\x22;\x20\x20for(let\x20i=0;\x20i<a.length;\x20i+=2)\x20if(a[i+1]!=0)b+=(i>>1)+\x22,\x22;\x20\x20return\x20b;\x20\x20}\x0aUZIP.F.contSize\x20=\x20function(tree,\x20hst)\x20{\x20\x20let\x20s=0;\x20\x20for(let\x20i=0;\x20i<hst.length;\x20i++)\x20s+=\x20hst[i]*tree[(i<<1)+1];\x20\x20return\x20s;\x20\x20}\x0aUZIP.F._codeTiny\x20=\x20function(set,\x20tree,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<set.length;\x20i+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20l\x20=\x20set[i],\x20rst\x20=\x20set[i+1];\x20\x20//console.log(l,\x20pos,\x20tree[(l<<1)+1]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(l,\x20tree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20rsl\x20=\x20l==16\x20?\x202\x20:\x20(l==17\x20?\x203\x20:\x207);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(l>15)\x20{\x20\x20UZIP.F._putsE(out,\x20pos,\x20rst,\x20rsl);\x20\x20pos+=rsl;\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._lenCodes\x20=\x20function(tree,\x20set)\x20{\x0a\x20\x20\x20\x20let\x20len=tree.length;\x20\x20while(len!=2\x20&&\x20tree[len-1]==0)\x20len-=2;\x20\x20//\x20when\x20no\x20distances,\x20keep\x20one\x20code\x20with\x20length\x200\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<len;\x20i+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20l\x20=\x20tree[i+1],\x20nxt\x20=\x20(i+3<len\x20?\x20tree[i+3]:-1),\x20\x20nnxt\x20=\x20(i+5<len\x20?\x20tree[i+5]:-1),\x20\x20prv\x20=\x20(i==0\x20?\x20-1\x20:\x20tree[i-1]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(l==0\x20&&\x20nxt==l\x20&&\x20nnxt==l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lz\x20=\x20i+5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(lz+2<len\x20&&\x20tree[lz+2]==l)\x20lz+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20zc\x20=\x20Math.min((lz+1-i)>>>1,\x20138);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(zc<11)\x20set.push(17,\x20zc-3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20set.push(18,\x20zc-11);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i\x20+=\x20zc*2-2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(l==prv\x20&&\x20nxt==l\x20&&\x20nnxt==l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lz\x20=\x20i+5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(lz+2<len\x20&&\x20tree[lz+2]==l)\x20lz+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20zc\x20=\x20Math.min((lz+1-i)>>>1,\x206);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20set.push(16,\x20zc-3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i\x20+=\x20zc*2-2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20set.push(l,\x200);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20len>>>1;\x0a}\x0aUZIP.F._hufTree\x20\x20\x20=\x20function(hst,\x20tree,\x20MAXL)\x20{\x0a\x20\x20\x20\x20let\x20list=[],\x20hl\x20=\x20hst.length,\x20tl=tree.length,\x20i=0;\x0a\x20\x20\x20\x20for(i=0;\x20i<tl;\x20i+=2)\x20{\x20\x20tree[i]=0;\x20\x20tree[i+1]=0;\x20\x20}\x0a\x20\x20\x20\x20for(i=0;\x20i<hl;\x20i++)\x20if(hst[i]!=0)\x20list.push({lit:i,\x20f:hst[i]});\x0a\x20\x20\x20\x20let\x20end\x20=\x20list.length,\x20l2=list.slice(0);\x0a\x20\x20\x20\x20if(end==0)\x20return\x200;\x20\x20//\x20empty\x20histogram\x20(usually\x20for\x20dist)\x0a\x20\x20\x20\x20if(end==1)\x20{\x20\x20let\x20lit=list[0].lit,\x20l2=lit==0?1:0;\x20\x20tree[(lit<<1)+1]=1;\x20\x20tree[(l2<<1)+1]=1;\x20\x20return\x201;\x20\x20}\x0a\x20\x20\x20\x20list.sort(function(a,b){return\x20a.f-b.f;});\x0a\x20\x20\x20\x20let\x20a=list[0],\x20b=list[1],\x20i0=0,\x20i1=1,\x20i2=2;\x20\x20list[0]={lit:-1,f:a.f+b.f,l:a,r:b,d:0};\x0a\x20\x20\x20\x20while(i1!=end-1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i0!=i1\x20&&\x20(i2==end\x20||\x20list[i0].f<list[i2].f))\x20{\x20\x20a=list[i0++];\x20\x20}\x20\x20else\x20{\x20\x20a=list[i2++];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i0!=i1\x20&&\x20(i2==end\x20||\x20list[i0].f<list[i2].f))\x20{\x20\x20b=list[i0++];\x20\x20}\x20\x20else\x20{\x20\x20b=list[i2++];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20list[i1++]={lit:-1,f:a.f+b.f,\x20l:a,r:b};\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20maxl\x20=\x20UZIP.F.setDepth(list[i1-1],\x200);\x0a\x20\x20\x20\x20if(maxl>MAXL)\x20{\x20\x20UZIP.F.restrictDepth(l2,\x20MAXL,\x20maxl);\x20\x20maxl\x20=\x20MAXL;\x20\x20}\x0a\x20\x20\x20\x20for(i=0;\x20i<end;\x20i++)\x20tree[(l2[i].lit<<1)+1]=l2[i].d;\x0a\x20\x20\x20\x20return\x20maxl;\x0a}\x0a\x0aUZIP.F.setDepth\x20\x20=\x20function(t,\x20d)\x20{\x0a\x20\x20\x20\x20if(t.lit!=-1)\x20{\x20\x20t.d=d;\x20\x20return\x20d;\x20\x20}\x0a\x20\x20\x20\x20return\x20Math.max(\x20UZIP.F.setDepth(t.l,\x20d+1),\x20\x20UZIP.F.setDepth(t.r,\x20d+1)\x20);\x0a}\x0a\x0aUZIP.F.restrictDepth\x20=\x20function(dps,\x20MD,\x20maxl)\x20{\x0a\x20\x20\x20\x20let\x20i=0,\x20bCost=1<<(maxl-MD),\x20dbt=0;\x0a\x20\x20\x20\x20dps.sort(function(a,b){return\x20b.d==a.d\x20?\x20a.f-b.f\x20:\x20b.d-a.d;});\x0a\x0a\x20\x20\x20\x20for(i=0;\x20i<dps.length;\x20i++)\x20if(dps[i].d>MD)\x20{\x20\x20let\x20od=dps[i].d;\x20\x20dps[i].d=MD;\x20\x20dbt+=bCost-(1<<(maxl-od));\x20\x20}\x20\x20else\x20break;\x0a\x20\x20\x20\x20dbt\x20=\x20dbt>>>(maxl-MD);\x0a\x20\x20\x20\x20while(dbt>0)\x20{\x20\x20let\x20od=dps[i].d;\x20\x20if(od<MD)\x20{\x20\x20dps[i].d++;\x20\x20dbt-=(1<<(MD-od-1));\x20\x20}\x20\x20else\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20for(;\x20i>=0;\x20i--)\x20if(dps[i].d==MD\x20&&\x20dbt<0)\x20{\x20\x20dps[i].d--;\x20\x20dbt++;\x20\x20}\x20\x20if(dbt!=0)\x20console.log(\x22debt\x20left\x22);\x0a}\x0a\x0aUZIP.F._goodIndex\x20=\x20function(v,\x20arr)\x20{\x0a\x20\x20\x20\x20let\x20i=0;\x20\x20if(arr[i|16]<=v)\x20i|=16;\x20\x20if(arr[i|8]<=v)\x20i|=8;\x20\x20if(arr[i|4]<=v)\x20i|=4;\x20\x20if(arr[i|2]<=v)\x20i|=2;\x20\x20if(arr[i|1]<=v)\x20i|=1;\x20\x20return\x20i;\x0a}\x0aUZIP.F._writeLit\x20=\x20function(ch,\x20ltree,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20UZIP.F._putsF(out,\x20pos,\x20ltree[ch<<1]);\x0a\x20\x20\x20\x20return\x20pos+ltree[(ch<<1)+1];\x0a}\x0aUZIP.F.inflate\x20=\x20function(data,\x20buf)\x20{\x0a\x20\x20\x20\x20let\x20u8=Uint8Array;\x0a\x20\x20\x20\x20if(data[0]==3\x20&&\x20data[1]==0)\x20return\x20(buf\x20?\x20buf\x20:\x20new\x20u8(0));\x0a\x20\x20\x20\x20let\x20F=UZIP.F,\x20bitsF\x20=\x20F._bitsF,\x20bitsE\x20=\x20F._bitsE,\x20decodeTiny\x20=\x20F._decodeTiny,\x20makeCodes\x20=\x20F.makeCodes,\x20codes2map=F.codes2map,\x20get17\x20=\x20F._get17;\x0a\x20\x20\x20\x20let\x20U\x20=\x20F.U;\x0a\x0a\x20\x20\x20\x20let\x20noBuf\x20=\x20(buf==null);\x0a\x20\x20\x20\x20if(noBuf)\x20buf\x20=\x20new\x20u8((data.length>>>2)<<3);\x0a\x0a\x20\x20\x20\x20let\x20BFINAL=0,\x20BTYPE=0,\x20HLIT=0,\x20HDIST=0,\x20HCLEN=0,\x20ML=0,\x20MD=0;\x0a\x20\x20\x20\x20let\x20off\x20=\x200,\x20pos\x20=\x200;\x0a\x20\x20\x20\x20let\x20lmap,\x20dmap;\x0a\x0a\x20\x20\x20\x20while(BFINAL==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20BFINAL\x20=\x20bitsF(data,\x20pos\x20\x20,\x201);\x0a\x20\x20\x20\x20\x20\x20\x20\x20BTYPE\x20\x20=\x20bitsF(data,\x20pos+1,\x202);\x20\x20pos+=3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(BFINAL,\x20BTYPE);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((pos&7)!=0)\x20pos+=8-(pos&7);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20p8\x20=\x20(pos>>>3)+4,\x20len\x20=\x20data[p8-4]|(data[p8-3]<<8);\x20\x20//console.log(len);//bitsF(data,\x20pos,\x2016),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+len);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20buf.set(new\x20u8(data.buffer,\x20data.byteOffset+p8,\x20len),\x20off);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20buf[off+i]\x20=\x20data[p8+i];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20if(buf[off+i]\x20!=\x20data[p8+i])\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20((p8+len)<<3);\x20\x20off+=len;\x20\x20continue;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+(1<<17));\x20\x20//\x20really\x20not\x20enough\x20in\x20many\x20cases\x20(but\x20PNG\x20and\x20ZIP\x20provide\x20buffer\x20in\x20advance)\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==1)\x20{\x20\x20lmap\x20=\x20U.flmap;\x20\x20dmap\x20=\x20U.fdmap;\x20\x20ML\x20=\x20(1<<9)-1;\x20\x20MD\x20=\x20(1<<5)-1;\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HLIT\x20\x20=\x20bitsE(data,\x20pos\x20\x20\x20,\x205)+257;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HDIST\x20=\x20bitsE(data,\x20pos+\x205,\x205)+\x20\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HCLEN\x20=\x20bitsE(data,\x20pos+10,\x204)+\x20\x204;\x20\x20pos+=14;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ppos\x20=\x20pos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<38;\x20i+=2)\x20{\x20\x20U.itree[i]=0;\x20\x20U.itree[i+1]=0;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20tl\x20=\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<HCLEN;\x20i++)\x20{\x20\x20let\x20l=bitsE(data,\x20pos+i*3,\x203);\x20\x20U.itree[(U.ordr[i]<<1)+1]\x20=\x20l;\x20\x20if(l>tl)tl=l;\x20\x20}\x20\x20\x20\x20\x20pos+=3*HCLEN;\x20\x20//console.log(itree);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.itree,\x20tl);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.itree,\x20tl,\x20U.imap);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lmap\x20=\x20U.lmap;\x20\x20dmap\x20=\x20U.dmap;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HLIT+HDIST,\x20data,\x20pos,\x20U.ttree);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mx0\x20=\x20F._copyOut(U.ttree,\x20\x20\x20\x200,\x20HLIT\x20,\x20U.ltree);\x20\x20ML\x20=\x20(1<<mx0)-1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mx1\x20=\x20F._copyOut(U.ttree,\x20HLIT,\x20HDIST,\x20U.dtree);\x20\x20MD\x20=\x20(1<<mx1)-1;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20ml\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HLIT\x20,\x20data,\x20pos,\x20U.ltree);\x20ML\x20=\x20(1<<(ml>>>24))-1;\x20\x20pos+=(ml&0xffffff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.ltree,\x20mx0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.ltree,\x20mx0,\x20lmap);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20md\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HDIST,\x20data,\x20pos,\x20U.dtree);\x20MD\x20=\x20(1<<(md>>>24))-1;\x20\x20pos+=(md&0xffffff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.dtree,\x20mx1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.dtree,\x20mx1,\x20dmap);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20//let\x20ooff=off,\x20opos=pos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(true)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20lmap[get17(data,\x20pos)\x20&\x20ML];\x20\x20pos\x20+=\x20code&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20code>>>4;\x20\x20//U.lhst[lit]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((lit>>>8)==0)\x20{\x20\x20buf[off++]\x20=\x20lit;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==256)\x20{\x20\x20break;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20end\x20=\x20off+lit-254;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(lit>264)\x20{\x20let\x20ebs\x20=\x20U.ldef[lit-257];\x20\x20end\x20=\x20off\x20+\x20(ebs>>>3)\x20+\x20bitsE(data,\x20pos,\x20ebs&7);\x20\x20pos\x20+=\x20ebs&7;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//UZIP.F.dst[end-off]++;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dcode\x20=\x20dmap[get17(data,\x20pos)\x20&\x20MD];\x20\x20pos\x20+=\x20dcode&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dlit\x20=\x20dcode>>>4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dbs\x20=\x20U.ddef[dlit],\x20dst\x20=\x20(dbs>>>4)\x20+\x20bitsF(data,\x20pos,\x20dbs&15);\x20\x20pos\x20+=\x20dbs&15;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20o0\x20=\x20off-dst,\x20stp\x20=\x20Math.min(end-off,\x20dst);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(stp>20)\x20while(off<end)\x20{\x20\x20buf.copyWithin(off,\x20o0,\x20o0+stp);\x20\x20off+=stp;\x20\x20}\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(end-dst<=off)\x20buf.copyWithin(off,\x20off-dst,\x20end-dst);\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(dst==1)\x20buf.fill(buf[off-1],\x20off,\x20end);\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+(1<<17));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(off<end)\x20{\x20\x20buf[off]=buf[off++-dst];\x20\x20\x20\x20buf[off]=buf[off++-dst];\x20\x20buf[off]=buf[off++-dst];\x20\x20buf[off]=buf[off++-dst];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20off=end;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//while(off!=end)\x20{\x20\x20buf[off]=buf[off++-dst];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(off-ooff,\x20(pos-opos)>>>3);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(UZIP.F.dst);\x0a\x20\x20\x20\x20//console.log(tlen,\x20dlen,\x20off-tlen+tcnt);\x0a\x20\x20\x20\x20return\x20buf.length==off\x20?\x20buf\x20:\x20buf.slice(0,off);\x0a}\x0aUZIP.F._check=function(buf,\x20len)\x20{\x0a\x20\x20\x20\x20let\x20bl=buf.length;\x20\x20if(len<=bl)\x20return\x20buf;\x0a\x20\x20\x20\x20let\x20nbuf\x20=\x20new\x20Uint8Array(Math.max(bl<<1,len));\x20\x20nbuf.set(buf,0);\x0a\x20\x20\x20\x20//for(let\x20i=0;\x20i<bl;\x20i+=4)\x20{\x20\x20nbuf[i]=buf[i];\x20\x20nbuf[i+1]=buf[i+1];\x20\x20nbuf[i+2]=buf[i+2];\x20\x20nbuf[i+3]=buf[i+3];\x20\x20}\x0a\x20\x20\x20\x20return\x20nbuf;\x0a}\x0a\x0aUZIP.F._decodeTiny\x20=\x20function(lmap,\x20LL,\x20len,\x20data,\x20pos,\x20tree)\x20{\x0a\x20\x20\x20\x20let\x20bitsE\x20=\x20UZIP.F._bitsE,\x20get17\x20=\x20UZIP.F._get17;\x0a\x20\x20\x20\x20let\x20i\x20=\x200;\x0a\x20\x20\x20\x20while(i<len)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20lmap[get17(data,\x20pos)&LL];\x20\x20pos+=code&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20code>>>4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(lit<=15)\x20{\x20\x20tree[i]=lit;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ll\x20=\x200,\x20n\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(lit==16)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(3\x20\x20+\x20bitsE(data,\x20pos,\x202));\x20\x20pos\x20+=\x202;\x20\x20ll\x20=\x20tree[i-1];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==17)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(3\x20\x20+\x20bitsE(data,\x20pos,\x203));\x20\x20pos\x20+=\x203;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==18)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(11\x20+\x20bitsE(data,\x20pos,\x207));\x20\x20pos\x20+=\x207;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ni\x20=\x20i+n;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(i<ni)\x20{\x20\x20tree[i]=ll;\x20\x20i++;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._copyOut\x20=\x20function(src,\x20off,\x20len,\x20tree)\x20{\x0a\x20\x20\x20\x20let\x20mx=0,\x20i=0,\x20tl=tree.length>>>1;\x0a\x20\x20\x20\x20while(i<len)\x20{\x20\x20let\x20v=src[i+off];\x20\x20tree[(i<<1)]=0;\x20\x20tree[(i<<1)+1]=v;\x20\x20if(v>mx)mx=v;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20while(i<tl\x20)\x20{\x20\x20tree[(i<<1)]=0;\x20\x20tree[(i<<1)+1]=0;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20return\x20mx;\x0a}\x0a\x0aUZIP.F.makeCodes\x20=\x20function(tree,\x20MAX_BITS)\x20{\x20\x20//\x20code,\x20length\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20max_code\x20=\x20tree.length;\x0a\x20\x20\x20\x20let\x20code,\x20bits,\x20n,\x20i,\x20len;\x0a\x0a\x20\x20\x20\x20let\x20bl_count\x20=\x20U.bl_count;\x20\x20for(let\x20i=0;\x20i<=MAX_BITS;\x20i++)\x20bl_count[i]=0;\x0a\x20\x20\x20\x20for(i=1;\x20i<max_code;\x20i+=2)\x20bl_count[tree[i]]++;\x0a\x0a\x20\x20\x20\x20let\x20next_code\x20=\x20U.next_code;\x09//\x20smallest\x20code\x20for\x20each\x20length\x0a\x0a\x20\x20\x20\x20code\x20=\x200;\x0a\x20\x20\x20\x20bl_count[0]\x20=\x200;\x0a\x20\x20\x20\x20for\x20(bits\x20=\x201;\x20bits\x20<=\x20MAX_BITS;\x20bits++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20code\x20=\x20(code\x20+\x20bl_count[bits-1])\x20<<\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20next_code[bits]\x20=\x20code;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20for\x20(n\x20=\x200;\x20n\x20<\x20max_code;\x20n+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20len\x20=\x20tree[n+1];\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(len\x20!=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tree[n]\x20=\x20next_code[len];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_code[len]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F.codes2map\x20=\x20function(tree,\x20MAX_BITS,\x20map)\x20{\x0a\x20\x20\x20\x20let\x20max_code\x20=\x20tree.length;\x0a\x20\x20\x20\x20let\x20U=UZIP.F.U,\x20r15\x20=\x20U.rev15;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<max_code;\x20i+=2)\x20if(tree[i+1]!=0)\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20i>>1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20cl\x20=\x20tree[i+1],\x20val\x20=\x20(lit<<4)|cl;\x20//\x20:\x20\x20(0x8000\x20|\x20(U.of0[lit-257]<<7)\x20|\x20(U.exb[lit-257]<<4)\x20|\x20cl);\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20rest\x20=\x20(MAX_BITS-cl),\x20i0\x20=\x20tree[i]<<rest,\x20i1\x20=\x20i0\x20+\x20(1<<rest);\x0a\x20\x20\x20\x20\x20\x20\x20\x20//tree[i]=r15[i0]>>>(15-MAX_BITS);\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(i0!=i1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20p0\x20=\x20r15[i0]>>>(15-MAX_BITS);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20map[p0]=val;\x20\x20i0++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F.revCodes\x20=\x20function(tree,\x20MAX_BITS)\x20{\x0a\x20\x20\x20\x20let\x20r15\x20=\x20UZIP.F.U.rev15,\x20imb\x20=\x2015-MAX_BITS;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<tree.length;\x20i+=2)\x20{\x20\x20let\x20i0\x20=\x20(tree[i]<<(MAX_BITS-tree[i+1]));\x20\x20tree[i]\x20=\x20r15[i0]>>>imb;\x20\x20}\x0a}\x0a\x0a//\x20used\x20only\x20in\x20deflate\x0aUZIP.F._putsE=\x20function(dt,\x20pos,\x20val\x20\x20\x20)\x20{\x20\x20val\x20=\x20val<<(pos&7);\x20\x20let\x20o=(pos>>>3);\x20\x20dt[o]|=val;\x20\x20dt[o+1]|=(val>>>8);\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0aUZIP.F._putsF=\x20function(dt,\x20pos,\x20val\x20\x20\x20)\x20{\x20\x20val\x20=\x20val<<(pos&7);\x20\x20let\x20o=(pos>>>3);\x20\x20dt[o]|=val;\x20\x20dt[o+1]|=(val>>>8);\x20\x20dt[o+2]|=(val>>>16);\x20\x20}\x0a\x0aUZIP.F._bitsE=\x20function(dt,\x20pos,\x20length)\x20{\x20\x20return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)>>>(pos&7))&((1<<length)-1);\x20\x20}\x0aUZIP.F._bitsF=\x20function(dt,\x20pos,\x20length)\x20{\x20\x20return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16))>>>(pos&7))&((1<<length)-1);\x20\x20}\x0a/*\x0aUZIP.F._get9\x20=\x20function(dt,\x20pos)\x20{\x0a\x09return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8))>>>(pos&7))&511;\x0a}\x20*/\x0aUZIP.F._get17=\x20function(dt,\x20pos)\x20{\x09//\x20return\x20at\x20least\x2017\x20meaningful\x20bytes\x0a\x20\x20\x20\x20return\x20(dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16)\x20)>>>(pos&7);\x0a}\x0aUZIP.F._get25=\x20function(dt,\x20pos)\x20{\x09//\x20return\x20at\x20least\x2017\x20meaningful\x20bytes\x0a\x20\x20\x20\x20return\x20(dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16)\x20|\x20(dt[(pos>>>3)+3]<<24)\x20)>>>(pos&7);\x0a}\x0aUZIP.F.U\x20=\x20function(){\x0a\x20\x20\x20\x20let\x20u16=Uint16Array,\x20u32=Uint32Array;\x0a\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20next_code\x20:\x20new\x20u16(16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20bl_count\x20\x20:\x20new\x20u16(16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ordr\x20:\x20[\x2016,\x2017,\x2018,\x200,\x208,\x207,\x209,\x206,\x2010,\x205,\x2011,\x204,\x2012,\x203,\x2013,\x202,\x2014,\x201,\x2015\x20],\x0a\x20\x20\x20\x20\x20\x20\x20\x20of0\x20\x20:\x20[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],\x0a\x20\x20\x20\x20\x20\x20\x20\x20exb\x20\x20:\x20[0,0,0,0,0,0,0,\x200,\x201,\x201,\x201,\x201,\x202,\x202,\x202,\x202,\x203,\x203,\x203,\x203,\x204,\x204,\x204,\x20\x204,\x20\x205,\x20\x205,\x20\x205,\x20\x205,\x20\x200,\x20\x200,\x20\x200,\x20\x200],\x0a\x20\x20\x20\x20\x20\x20\x20\x20ldef\x20:\x20new\x20u16(32),\x0a\x20\x20\x20\x20\x20\x20\x20\x20df0\x20\x20:\x20[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,\x2065535,\x2065535],\x0a\x20\x20\x20\x20\x20\x20\x20\x20dxb\x20\x20:\x20[0,0,0,0,1,1,2,\x202,\x203,\x203,\x204,\x204,\x205,\x205,\x20\x206,\x20\x206,\x20\x207,\x20\x207,\x20\x208,\x20\x208,\x20\x20\x209,\x20\x20\x209,\x20\x2010,\x20\x2010,\x20\x2011,\x20\x2011,\x20\x2012,\x20\x20\x2012,\x20\x20\x2013,\x20\x20\x2013,\x20\x20\x20\x20\x200,\x20\x20\x20\x20\x200],\x0a\x20\x20\x20\x20\x20\x20\x20\x20ddef\x20:\x20new\x20u32(32),\x0a\x20\x20\x20\x20\x20\x20\x20\x20flmap:\x20new\x20u16(\x20\x20512),\x20\x20fltree:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20fdmap:\x20new\x20u16(\x20\x20\x2032),\x20\x20fdtree:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20lmap\x20:\x20new\x20u16(32768),\x20\x20ltree\x20:\x20[],\x20\x20ttree:[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20dmap\x20:\x20new\x20u16(32768),\x20\x20dtree\x20:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20imap\x20:\x20new\x20u16(\x20\x20512),\x20\x20itree\x20:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20//rev9\x20:\x20new\x20u16(\x20\x20512)\x0a\x20\x20\x20\x20\x20\x20\x20\x20rev15:\x20new\x20u16(1<<15),\x0a\x20\x20\x20\x20\x20\x20\x20\x20lhst\x20:\x20new\x20u32(286),\x20dhst\x20:\x20new\x20u32(\x2030),\x20ihst\x20:\x20new\x20u32(19),\x0a\x20\x20\x20\x20\x20\x20\x20\x20lits\x20:\x20new\x20u32(15000),\x0a\x20\x20\x20\x20\x20\x20\x20\x20strt\x20:\x20new\x20u16(1<<16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev\x20:\x20new\x20u16(1<<15)\x0a\x20\x20\x20\x20};\x0a}\x20();\x0a\x0a(function(){\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20len\x20=\x201<<15;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<len;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20x\x20=\x20i;\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xaaaaaaaa)\x20>>>\x201)\x20|\x20((x\x20&\x200x55555555)\x20<<\x201));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xcccccccc)\x20>>>\x202)\x20|\x20((x\x20&\x200x33333333)\x20<<\x202));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xf0f0f0f0)\x20>>>\x204)\x20|\x20((x\x20&\x200x0f0f0f0f)\x20<<\x204));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xff00ff00)\x20>>>\x208)\x20|\x20((x\x20&\x200x00ff00ff)\x20<<\x208));\x0a\x20\x20\x20\x20\x20\x20\x20\x20U.rev15[i]\x20=\x20(((x\x20>>>\x2016)\x20|\x20(x\x20<<\x2016)))>>>17;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20pushV(tgt,\x20n,\x20sv)\x20{\x20\x20while(n--!=0)\x20tgt.push(0,sv);\x20\x20}\x0a\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<32;\x20i++)\x20{\x20\x20U.ldef[i]=(U.of0[i]<<3)|U.exb[i];\x20\x20U.ddef[i]=(U.df0[i]<<4)|U.dxb[i];\x20\x20}\x0a\x0a\x20\x20\x20\x20pushV(U.fltree,\x20144,\x208);\x20\x20pushV(U.fltree,\x20255-143,\x209);\x20\x20pushV(U.fltree,\x20279-255,\x207);\x20\x20pushV(U.fltree,287-279,8);\x0a\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20let\x20i\x20=\x200;\x0a\x20\x20\x20\x20for(;\x20i<=143;\x20i++)\x20U.fltree.push(0,8);\x0a\x20\x20\x20\x20for(;\x20i<=255;\x20i++)\x20U.fltree.push(0,9);\x0a\x20\x20\x20\x20for(;\x20i<=279;\x20i++)\x20U.fltree.push(0,7);\x0a\x20\x20\x20\x20for(;\x20i<=287;\x20i++)\x20U.fltree.push(0,8);\x0a\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20UZIP.F.makeCodes(U.fltree,\x209);\x0a\x20\x20\x20\x20UZIP.F.codes2map(U.fltree,\x209,\x20U.flmap);\x0a\x20\x20\x20\x20UZIP.F.revCodes\x20(U.fltree,\x209)\x0a\x0a\x20\x20\x20\x20pushV(U.fdtree,32,5);\x0a\x20\x20\x20\x20//for(i=0;i<32;\x20i++)\x20U.fdtree.push(0,5);\x0a\x20\x20\x20\x20UZIP.F.makeCodes(U.fdtree,\x205);\x0a\x20\x20\x20\x20UZIP.F.codes2map(U.fdtree,\x205,\x20U.fdmap);\x0a\x20\x20\x20\x20UZIP.F.revCodes\x20(U.fdtree,\x205)\x0a\x0a\x20\x20\x20\x20pushV(U.itree,19,0);\x20\x20pushV(U.ltree,286,0);\x20\x20pushV(U.dtree,30,0);\x20\x20pushV(U.ttree,320,0);\x0a\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<\x2019;\x20i++)\x20U.itree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<286;\x20i++)\x20U.ltree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<\x2030;\x20i++)\x20U.dtree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<320;\x20i++)\x20U.ttree.push(0,0);\x0a\x20\x20\x20\x20*/\x0a})();\x0a\x0a\x0a\x0alet\x20started\x20=\x20false;\x0alet\x20cloudFrontURL\x20=\x20\x22\x22;\x0alet\x20folderName\x20=\x20\x22\x22;\x0alet\x20lastRequest\x20=\x20{};//{tc:\x2200_00_00_00\x22,\x20path:\x22...\x22}\x0alet\x20lastTimeCodeFound\x20=\x20null;//for\x20statistics\x0alet\x20msecAvg\x20=\x20[];//for\x20statistics\x0aconst\x20delimiter\x20=\x20\x22_\x22;\x0alet\x20maxTimeCode\x20=\x20{};//don\x27t\x20pass\x20this\x20timecode\x0alet\x20enabled\x20=\x20true;\x0alet\x20isWorking\x20=\x20false;\x0a\x0aconst\x20HandleData\x20=\x20async\x20(data)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20result\x20=\x20UZIP.parse(data);\x0a\x20\x20\x20\x20let\x20sortedKeys\x20=\x20Object.keys(result).sort();\x0a\x09\x0a\x20\x20\x20\x20for\x20(const\x20key\x20of\x20sortedKeys)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(key.endsWith(\x22.json\x22))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20transferableArray\x20=\x20[];\x0a\x09\x09\x09const\x20metadata\x20=\x20JSON.parse(new\x20TextDecoder().decode(result[key]));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20tc\x20=\x20metadata.timecode.replace(/:/g,\x22_\x22);//replaceAll(\x22:\x22,\x20\x22_\x22);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(metadata.placeholders)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(const\x20groupId\x20in\x20metadata.placeholders)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20alphaKey\x20=\x20`${tc}_${groupId}.alpha`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(result[alphaKey])\x20{\x0a\x09\x09\x09\x09\x09\x09metadata.placeholders[groupId].alphaAsUint8Array\x20=\x20result[alphaKey];//new\x20Uint8Array(result[alphaKey].buffer);\x0a\x09\x09\x09\x09\x09\x09transferableArray.push(result[alphaKey].buffer);\x0a\x09\x09\x09\x09\x09}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20postMessage(metadata,transferableArray);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0a\x0aconst\x20Str2TimeCode\x20=\x20(str)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20list\x20=\x20str.split(delimiter);\x0a\x20\x20\x20\x20const\x20timecode\x20=\x20{h:\x20parseInt(list[0]),\x20m:\x20parseInt(list[1]),\x20s:\x20parseInt(list[2]),\x20f:\x20parseInt(list[3])};\x0a\x20\x20\x20\x20return\x20timecode;\x0a}\x0aconst\x20TimeCode2Str\x20=\x20(timecode)\x20=>\x20{\x0a\x20\x20\x20\x20return\x20(\x220\x22\x20+\x20timecode.h).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.m).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.s).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.f).slice(-2);\x0a}\x0aconst\x20AddSecondsToTimeCode\x20=\x20(timecode,\x20seconds)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20ret\x20=\x20{...timecode};//cloning\x20araay\x0a\x09ret.s\x20+=\x20seconds;\x0a\x20\x20\x20\x20if\x20(ret.s\x20>=\x2060)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20ret.s\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20ret.m++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(ret.m\x20>=\x2060)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ret.m\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ret.h++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20ret;\x0a}\x0aconst\x20GetNextTimeCode_TC\x20=\x20(tc,\x20seconds\x20=\x200)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20timecode\x20=\x20Str2TimeCode(tc);\x0a\x20\x20\x20\x20if\x20(seconds)\x20timecode\x20=\x20AddSecondsToTimeCode(timecode,\x20seconds);\x0a\x09return\x20timecode;\x0a}\x0aconst\x20GetNextTimeCode\x20=\x20(tc,\x20seconds\x20=\x200)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20timecode\x20=\x20GetNextTimeCode_TC(tc,seconds);\x0a\x20\x20\x20\x20return\x20TimeCode2Str(timecode);\x0a}\x0a\x0a\x0aconst\x20IsTCBigger\x20=\x20(tc1,\x20tc2)\x20=>\x20{\x0a\x09//return\x20true\x20iif\x20tc1\x20>\x20tc2\x0a\x09if\x20(tc1.h\x20>\x20tc2.h)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.h\x20<\x20tc2.h)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.m\x20>\x20tc2.m)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.m\x20<\x20tc2.m)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.s\x20>\x20tc2.s)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.s\x20<\x20tc2.s)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.f\x20>\x20tc2.f)\x20return\x20true;\x0a\x09else\x20return\x20false;\x0a}\x0aconst\x20TryNextFrame\x20=\x20(seconds)\x20=>\x20{\x0a\x09if(!enabled)\x20return;\x0a\x09//if\x20the\x20required\x20time\x20code\x20exceed\x20the\x20max\x20time\x20code,\x20wait\x20a\x20bit\x0a\x09if\x20(seconds\x20>\x200\x20&&\x20IsTCBigger(GetNextTimeCode_TC(lastRequest.tc,\x20seconds),\x20maxTimeCode))\x20{\x0a\x09\x09//console.log(\x22the\x20current\x20TC\x20\x22,\x20GetNextTimeCode_TC(lastRequest.tc,\x20seconds),\x20\x22\x20is\x20bigger\x20than\x20the\x20max\x20time\x20code:\x20\x22,\x20maxTimeCode);//@oror\x0a\x09\x09setTimeout(()\x20=>\x20{\x0a\x09\x09\x09TryNextFrame(seconds);\x0a\x09\x09},\x20100);\x0a\x09}\x0a\x20\x20\x20\x20else\x20\x0a\x09{\x0a\x09\x09//console.log(\x22We\x27re\x20good\x20to\x20take\x20the\x20next\x20timecode\x22);//@oror\x0a\x09\x09setTimeout(()\x20=>\x20{\x0a\x09\x09\x09lastRequest.tc\x20=\x20GetNextTimeCode(lastRequest.tc,\x20seconds);\x0a\x09\x09\x09//console.log(\x22next\x20time\x20code:\x20\x22,\x20lastRequest.tc);//@oror\x0a\x09\x09\x09GetMetaData();\x0a\x09\x09\x09},\x200);\x0a\x09}\x0a}\x0a\x0aconst\x20AvgMetaDataMsec\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20let\x20sum\x20=\x200;\x0a\x20\x20\x20\x20for\x20(let\x20i\x20=\x200;\x20i\x20<\x20msecAvg.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20sum\x20+=\x20msecAvg[i];\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20sum\x20/\x20msecAvg.length;\x0a};\x0aconst\x20GetMetaData\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20\x20\x20isWorking\x20=\x20true;\x0a\x09const\x20item\x20=\x20lastRequest;\x0a\x20\x20\x20\x20const\x20url\x20=\x20`${item.path}/${item.tc}.zip`;\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20t1\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20res\x20=\x20await\x20fetch(url);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(res.status\x20>=\x20400)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(`${item.tc}\x20time\x20code\x20not\x20found,\x20url\x20is\x20${url}`);\x0a\x09\x09\x09let\x20now\x20=\x20performance.now();\x0a\x09\x09\x09let\x20msecSinceLastTimeDate\x20=\x20now\x20-\x20lastTimeCodeFound;\x0a\x09\x09\x09let\x20secSinceLastTimeDate\x20=\x20(msecSinceLastTimeDate/1000);\x0a\x09\x09\x09if\x20(secSinceLastTimeDate\x20>\x204)\x20{\x0a\x09\x09\x09\x09console.error(\x22Didn\x27t\x20find\x20timecode\x20\x22,\x20item.tc,\x20\x22,\x20now\x20for\x20\x22\x20+\x20secSinceLastTimeDate.toFixed(2)\x20+\x20\x22\x20seconds\x20-\x20give\x20up\x20!\x22);\x0a\x09\x09\x09\x09TryNextFrame(2);//try\x20the\x20same\x20time\x20\x20code\x20again\x0a\x09\x09\x09}\x0a\x09\x09\x09else\x20{\x0a\x09\x09\x09\x09console.error(\x22Didn\x27t\x20find\x20timecode\x20\x22,\x20item.tc,\x20\x22,\x20now\x20for\x20\x22\x20+\x20secSinceLastTimeDate.toFixed(2)\x20+\x20\x22\x20seconds\x22);\x0a\x09\x09\x09\x09TryNextFrame(0);//try\x20the\x20same\x20time\x20\x20code\x20again\x0a\x09\x09\x09}\x0a\x09\x09\x09isWorking\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20now\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20msecSinceLastTimeDate\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(lastTimeCodeFound)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20msecSinceLastTimeDate\x20=\x20now\x20-\x20lastTimeCodeFound;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20msecAvg.push(msecSinceLastTimeDate);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while\x20(msecAvg.length\x20>\x201000)\x20msecAvg.shift();\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20lastTimeCodeFound\x20=\x20now;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(`${item.tc}\x20time\x20code\x20found,\x20(${msecSinceLastTimeDate}\x20msec\x20from\x20last\x20time,\x20avg:\x20${AvgMetaDataMsec()})`);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20res.arrayBuffer();\x0a\x20\x20\x20\x20\x20\x20\x20\x20await\x20HandleData(data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20t2\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20//postMessage({time:\x20`Fetch\x20and\x20Decompress:\x20${t2\x20-\x20t1}\x20msec`});\x0a\x20\x20\x20\x20}\x20catch\x20(err)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(`Error\x20on\x20url\x20${url}`,\x20err);\x0a\x20\x20\x20\x20}\x0a\x09isWorking\x20=\x20false;\x0a\x20\x20\x20\x20TryNextFrame(2);\x0a}\x0a\x0aaddEventListener(\x22message\x22,\x20(request)\x20=>\x20{\x0a\x09if\x20(!started\x20&&\x20request.data.cloudFrontURL)\x20{\x0a\x09\x09started\x20=\x20true;\x0a\x09\x09cloudFrontURL\x20=\x20request.data.cloudFrontURL;\x0a\x09\x09folderName\x20=\x20request.data.folderName;\x0a\x09\x09let\x20tcReplaced\x20=\x20request.data.tc.replace(/:/g,\x22_\x22);//replaceAll(\x22:\x22,\x20\x22_\x22)\x0a\x09\x09lastRequest\x20=\x20{tc:\x20tcReplaced,\x20path:\x20`${cloudFrontURL}/${folderName}`};//from\x20the\x20lastReqest\x20object\x0a\x09\x09let\x20timeCode\x20=\x20Str2TimeCode(lastRequest.tc);//parse\x20the\x20time\x20code\x20string\x20into\x20a\x20real\x20time-code\x0a\x09\x09maxTimeCode\x20=\x20AddSecondsToTimeCode(Object.assign({},\x20timeCode),\x204);//set\x20the\x20max\x20limit\x20(on\x20a\x20clone)\x0a\x09\x09//set\x20the\x20timecode\x20needed\x20\x0a\x09\x09timeCode.f\x20=\x200;\x0a\x09\x09timeCode.s\x20=\x20timeCode.s\x20%\x202\x20===\x200\x20?\x20timeCode.s\x20:\x20timeCode.s\x20-\x201;\x0a\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09console.log(\x22Meta-data\x20worker\x20starting\x20from\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);//@oror\x0a\x09\x09GetMetaData();\x0a\x09}\x0a\x09else\x20{\x0a\x09\x09let\x20tcReplaced\x20=\x20request.data.tc.replace(/:/g,\x22_\x22);\x0a\x09\x09//console.log(\x22metaDataDownloader\x20new\x20timecode\x20=\x20\x22\x20+\x20tcReplaced);\x0a\x09\x09let\x20timeCode\x20=\x20Str2TimeCode(tcReplaced);\x0a\x09\x09timeCode.f\x20=\x200;\x0a\x09\x09timeCode.s\x20=\x20timeCode.s\x20%\x202\x20===\x200\x20?\x20timeCode.s\x20:\x20timeCode.s\x20-\x201;\x0a\x09\x09if\x20(IsTCBigger(timeCode,\x20maxTimeCode))\x0a\x09\x09{\x0a\x09\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09\x09console.log(\x22Meta-data\x20worker\x20jumps\x20forward\x20to\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);\x0a\x09\x09}\x0a\x09\x09if\x20(IsTCBigger(Str2TimeCode(lastRequest.tc),\x20AddSecondsToTimeCode(timeCode,4)))\x0a\x09\x09{\x0a\x09\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09\x09console.log(\x22Meta-data\x20worker\x20jumps\x20back\x20to\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);\x0a\x09\x09}\x0a\x09\x09maxTimeCode\x20=\x20AddSecondsToTimeCode(timeCode,\x204);\x0a\x09\x09if(!enabled\x20&&\x20request.data.enabled)\x0a\x09\x09{\x0a\x09\x09\x09enabled\x20=\x20request.data.enabled;\x09\x0a\x09\x09\x09if(!isWorking)\x20GetMetaData();\x0a\x09\x09}\x0a\x09\x09else\x20{\x0a\x09\x09\x09enabled\x20=\x20request.data.enabled;\x09\x0a\x09\x09}\x0a\x09\x09//console.log(\x22max\x20time\x20code:\x20\x22,\x20maxTimeCode);\x0a\x09}\x0a});\x0a\x0a}\x20catch\x20(e){\x0a\x09console.error(e);\x0a}','log','Error\x20in\x20creating\x20MetaDataDownloaderThread','webGLVersion','join','getUTCMilliseconds','blur','Fetching\x20package.json\x20from:\x20',',\x20LastSyncPointFrame:','NOT\x20SUPPORTED','canvas','uniformMatrix3fv','MSIE','doNotRenderAugmentationCheckbox','deleteProgram','hasLogo','forDoNotRender','printTimecode','TEXTURE0','frameRateMode','bindVertexArray','linkProgram','userAgent','Socket','doNotRenderAugmentationLabel','OTTPlayer','getHours','maxTouchPoints','style','bindBuffer','isWindows','body','128034mGZIOj','getAttribLocation','Got\x20the\x20following\x20config:\x20','Connect',',\x20LastSyncPointTime:','\x20playing\x20at\x20','isAdLoop','Offest\x20for\x20gameid=\x20','lastAd','\x20for\x20place\x20','lastAdName','offsetJsonURL','type','offsetTop','\x20\x20correction','texImage2D','VERTEX_SHADER','fragmentShaderSourceV1','roommembers\x20message:\x20','u_digitTopLeft','TEXTURE_2D','iPad','Firefox','renderingMode','u_alpha','toString','timecode','2722444XjjXgo','maskY','24CMxfJC','createTexture','Error\x20fetching\x20and\x20processing\x20JSON:','disconnect\x20from\x20signaling::','syncPoint','Edge','onNewSegment','isPowerOf2','sort','2opZGLX','\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//The\x20textures\x0auniform\x20sampler2D\x20u_image;//video\x20frame\x27s\x20texture2D\x0auniform\x20sampler2D\x20ad0;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad1;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad2;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad3;//the\x20ad\x20texture2D\x0a\x0auniform\x20vec2\x20u_resolution2;//resolution\x20of\x20the\x20canvas\x0a\x0a//v_texCoord\x20from\x20the\x20vertex\x20shader\x0avarying\x20vec2\x20v_texCoord;\x0a\x0a//Logos\x27\x20staff\x0auniform\x20int\x20hasLogo0;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo0;\x0auniform\x20sampler2D\x20alpha0;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix0;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha0TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha0Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo1;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo1;\x0auniform\x20sampler2D\x20alpha1;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix1;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha1TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha1Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo2;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo2;\x0auniform\x20sampler2D\x20alpha2;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix2;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha2TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha2Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo3;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo3;\x0auniform\x20sampler2D\x20alpha3;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix3;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha3TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha3Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20sampler2D\x20injectoLogo;//the\x20injecto\x20logo\x20to\x20cover\x20the\x20timecode\x20watermark\x0a\x0aconst\x20float\x20Directions\x20=\x2016.0;\x20//\x20BLUR\x20DIRECTIONS\x20(Default\x2016.0\x20-\x20More\x20is\x20better\x20but\x20slower)\x0aconst\x20float\x20Quality\x20=\x203.0;\x20//\x20BLUR\x20QUALITY\x20(Default\x203.0\x20-\x20More\x20is\x20better\x20but\x20slower)\x0aconst\x20float\x20Size\x20=\x2012.0;\x20//\x20BLUR\x20SIZE\x20(Radius)\x0aconst\x20float\x20Pi\x20=\x206.28318530718;\x20//\x20Pi*2\x0a\x0avec3\x20BlurBGR(vec4\x20videoImagePix)\x0a{\x0a\x09vec3\x20res\x20=\x20videoImagePix.rgb;\x0a\x20//get\x20the\x20kernel\x20radius:\x0a\x20\x20\x20\x20vec2\x20Radius\x20=\x20Size/u_resolution2.xy;\x0a\x20\x20\x20\x0a\x20\x20\x20\x20//\x20Blur\x20around:\x0a\x20\x20\x20\x20for(\x20float\x20d=0.0;\x20d<Pi;\x20d+=Pi/Directions)\x0a\x20\x20\x20\x20{\x0a\x09\x09for(float\x20i=1.0/Quality;\x20i<=1.0;\x20i+=1.0/Quality)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x09\x09\x09res\x20+=\x20texture2D(\x20u_image,\x20v_texCoord+vec2(cos(d),sin(d))*Radius*i).rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20res\x20/=\x20Quality\x20*\x20Directions\x20-\x2015.0;\x0a\x0a\x20\x20\x20\x20return\x20res;\x0a}\x0a\x0abool\x20BlendWithLogo(\x0a\x09int\x20adUnit,\x0a\x20\x20\x20\x20\x20sampler2D\x20alphaTexture,\x0a\x20\x20\x20\x20\x20mat3\x20matrix,\x0a\x20\x20\x20\x20\x20vec2\x20curCoord,\x0a\x20\x20\x20\x20\x20vec2\x20alphaTopLeft,\x0a\x20\x20\x20\x20\x20vec2\x20alphaSize,\x0a\x20\x20\x20\x20\x20vec4\x20videoImagePix)\x20\x0a{\x0a\x20\x20\x20\x20vec2\x20texCoord;\x0a\x20\x20\x20\x20texCoord.x\x20=\x20(matrix[0][0]*curCoord.x\x20+\x20matrix[0][1]*curCoord.y\x20+\x20matrix[0][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord.y\x20=\x20(matrix[1][0]*curCoord.x\x20+\x20matrix[1][1]*curCoord.y\x20+\x20matrix[1][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord\x20/=\x20u_resolution2;\x0a\x0a\x20\x20\x20\x20//if\x20we\x27re\x20in\x20the\x20bounding\x20rect\x20of\x20the\x20logo\x0a\x20\x20\x20\x20if\x20(texCoord.x\x20>=\x200.0\x20&&\x20texCoord.y\x20>=\x200.0\x20&&\x20texCoord.x\x20<=\x201.0\x20&&\x20texCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20{\x0a\x09\x09\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20alphaCoord\x20=\x20(curCoord\x20-\x20alphaTopLeft)/alphaSize;//get\x20the\x20coordinate\x20on\x20the\x20alpha\x20mate\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(alphaCoord.x\x20>=\x200.0\x20&&\x20alphaCoord.y\x20>=\x200.0\x20&&\x20alphaCoord.x\x20<=\x201.0\x20&&\x20alphaCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//get\x20the\x20alpha\x20texel:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//alpha\x20*=\x20BlurAlpha(alphaCoord);//blurred\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha\x20*=\x20texture2D(alphaTexture,\x20alphaCoord).a;//without\x20blur\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x09\x09if\x20(adUnit\x20==\x2099)//blur\x0a\x09\x09{\x0a\x09\x09\x09gl_FragColor\x20=\x20vec4(BlurBGR(videoImagePix)*alpha\x20+\x20\x20videoImagePix.rgb*(1.0-alpha),\x201.0);\x0a\x09\x09\x09//outColor\x20=\x20vec4(BlurBGR(videoImagePix),\x201.0);\x0a\x09\x09\x09return\x20true;\x0a\x09\x09}\x0a\x09\x09vec4\x20ad0Pix\x20=\x20\x0a\x09\x09\x09adUnit\x20==\x200\x20?\x20texture2D(ad0,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x201\x20?\x20texture2D(ad1,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x202\x20?\x20texture2D(ad2,\x20texCoord)\x20:\x0a\x09\x09\x09\x09\x09\x09\x20\x20texture2D(ad3,\x20texCoord);//get\x20the\x20logo\x27s\x20texel\x0a\x09\x09alpha\x20*=\x20ad0Pix.a;//consider\x20the\x20alpha\x20of\x20the\x20logo\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20resultRGB\x20=\x20ad0Pix.rgb*alpha\x20+\x20videoImagePix.rgb*(1.0-alpha);//blend\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(resultRGB,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20return\x20false;\x0a\x20\x20\x0a}\x0avoid\x20main()\x0a{\x0a\x20\x20//calculate\x20cur-coord\x20(with\x20pixels\x20units)\x0a\x20\x20vec2\x20curCoord\x20=\x20gl_FragCoord.xy;\x0a\x20\x20curCoord.y\x20=\x20u_resolution2[1]\x20-\x20curCoord.y;\x0a\x0a\x20\x20//cover\x20the\x20timecode\x20with\x20some\x20watermark\x0a\x20\x20if\x20(v_texCoord[0]\x20<=\x200.125\x20&&\x20(1.0-v_texCoord[1])\x20<=\x200.125)\x0a\x20\x20{\x20\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(injectoLogo,\x20vec2(v_texCoord[0]*8.0,\x201.0-(1.0-v_texCoord[1])*8.0));\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20vec4\x20videoImagePix\x20=\x20texture2D(u_image,\x20v_texCoord);\x0a\x20\x20\x0a\x20\x20if\x20(hasLogo0\x20==\x201\x20&&\x20\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo0,\x0a\x09\x20alpha0,\x20u_matrix0,\x20curCoord,u_alpha0TopLeft,\x20u_alpha0Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo1\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo1,\x0a\x09\x20alpha1,\x20u_matrix1,\x20curCoord,u_alpha1TopLeft,\x20u_alpha1Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo2\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo2,\x0a\x09\x20alpha2,\x20u_matrix2,\x20curCoord,u_alpha2TopLeft,\x20u_alpha2Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo3\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo3,\x0a\x09\x20alpha3,\x20u_matrix3,\x20curCoord,u_alpha3TopLeft,\x20u_alpha3Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20{//only\x20video\x20texel,\x20no\x20logo\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20videoImagePix;\x0a\x20\x20}\x0a}\x0a','insertBefore','Setting\x20Callbacks','includes','drawArrays','Mac','The\x20window\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.','HTTP\x20error!\x20status:\x20','isAndroid','\x20FPS,\x20Aborting\x20augmentation.\x20Only\x2060FPS\x20screens\x20supported','webkitRequestFullscreen','isApple','getGlobalConfig','requestAnimationFrame','enabled','Platform','GenerateTexture','fetchOffsetForGameId','TimeCodeArray2TimeCodeJson','\x20version\x20','ScreenFPS','click','Video\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.','texParameteri','Augmenter','Folder\x20name\x20for\x20','Palm','digitTex','platform','u_digitSize','vertexShaderSource','clientHeight','hasDigit','210SPhHqv','video\x20element\x20is\x20not\x20yet\x20loaded.\x20Setting\x20up\x20loadedmetadata\x20event\x20to\x20wait\x20until\x20it\x27s\x20loaded','onNewMetadataInterface','amd','BlackBerry','TexUnitForGenericAd','alphaAsUint8Array','renderAugmentation','requestVideoFrameCallback\x20is\x20not\x20supported','checked','Src60_MediaTime59','Error\x20in\x20program\x20linking:\x20','ads','fillStyle','frames','eventType','\x20</br>','\x20FPS,\x20Continuing\x20augmentation','toLowerCase','bufferData','an\x20Android\x20phone','Clicked\x20on\x20ad:\x20','Missing\x20meta\x20data\x20at\x20time\x20code\x20','floor','requestAnimationFrame\x20is\x20supported','composer::AddAdvertisement:\x20ads-to-place\x20mapping:\x20','corners','isChromeMac','TEXTURE_WRAP_T','metadataMap','TEXTURE_MAG_FILTER','RenderTimecode','Win','Error\x20fetching\x20and\x20processing\x20GameId\x20JSON:','optionsFromMK:\x20','currentTime','Error\x20from\x20worker:','uniform1i','fragmentShaderSource','video','toISOString','CleanGL','assign','TexUnitForPlaceHolder','parentElement','OTTPlayer\x20version:\x20','Src59_MediaTime60','isConnected','webglUtils','timeDate2TC','#external','deleteTexture','compileShader','keys',',\x20time:\x20','ANI.\x20','right','appendChild','\x20Time\x20Fired:\x20','createObjectURL','MediaID\x20','Ads','PlayBook','getTime','an\x20iPhone','isSafariMac','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode,\x20fps\x20=\x20','ANI','weHaveTheGameID','random','Size','TexUnitBaseForAlpha','VID','globalConfig','canvasSize','requestVideoFrameCallback','charCodeAt','We\x20have\x20no\x20MetaDataDownloaderThread\x20yet.\x20Creating\x20it','\x20Time:\x20','Failed\x20to\x20create\x20alpha\x20texture','SetFps','):\x20','refreshRate','RenderFrame','message','presentationTime','top','messageroom:\x20','BB.Utils.getSourceFPS:\x20Unknown\x20FrameRate\x20mode','srcFrameRate','PalmOS','#version\x20300\x20es\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//The\x20textures\x0a//uniform\x20sampler2D\x20u_image;//video\x20frame\x27s\x20texture\x0auniform\x20sampler2D\x20ad0;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad1;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad2;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad3;//the\x20ad\x20texture\x0a\x0auniform\x20vec2\x20u_resolution2;//resolution\x20of\x20the\x20canvas\x0a\x0a//v_texCoord\x20from\x20the\x20vertex\x20shader\x0a//in\x20vec2\x20v_texCoord;\x0a\x0a//Logos\x27\x20staff\x0auniform\x20int\x20hasLogo0;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo0;\x0auniform\x20sampler2D\x20alpha0;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix0;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha0TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha0Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo1;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo1;\x0auniform\x20sampler2D\x20alpha1;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix1;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha1TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha1Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo2;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo2;\x0auniform\x20sampler2D\x20alpha2;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix2;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha2TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha2Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo3;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo3;\x0auniform\x20sampler2D\x20alpha3;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix3;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha3TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha3Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasDigit;//has\x20debug\x20digit\x20texture\x0auniform\x20sampler2D\x20digitTex;//the\x20digits\x27s\x20mate\x0auniform\x20vec2\x20u_digitTopLeft;//the\x20digit\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_digitTopLeft2;//the\x20digit\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_digitSize;//the\x20digit\x20mate\x27s\x20size\x0a\x0a//Output\x0aout\x20vec4\x20outColor;\x0abool\x20BlendDigit(in\x20vec2\x20curCoord)\x20{\x0a\x09//vec2\x20texCoord\x20=\x20curCoord;\x0a\x09//texCoord\x20/=\x20u_resolution2;\x0a\x09vec2\x20digitCoord\x20=\x20(curCoord\x20-\x20u_digitTopLeft)/u_digitSize;//get\x20the\x20coordinate\x20on\x20the\x20digit\x20size\x0a\x09if\x20(digitCoord.x\x20>=\x200.0\x20&&\x20digitCoord.y\x20>=\x200.0\x20&&\x20digitCoord.x\x20<=\x201.0\x20&&\x20digitCoord.y\x20<=\x201.0)\x0a\x09{\x0a\x09\x09outColor\x20=\x20texture(digitTex,\x20digitCoord);\x0a\x09\x09return\x20true;\x0a\x09}\x0a\x09return\x20false;\x0a}\x0abool\x20BlendDigit2(in\x20vec2\x20curCoord)\x20{\x0a\x09//vec2\x20texCoord\x20=\x20curCoord;\x0a\x09//texCoord\x20/=\x20u_resolution2;\x0a\x09vec2\x20digitCoord\x20=\x20(curCoord\x20-\x20u_digitTopLeft2)/u_digitSize;//get\x20the\x20coordinate\x20on\x20the\x20digit\x20size\x0a\x09if\x20(digitCoord.x\x20>=\x200.0\x20&&\x20digitCoord.y\x20>=\x200.0\x20&&\x20digitCoord.x\x20<=\x201.0\x20&&\x20digitCoord.y\x20<=\x201.0)\x0a\x09{\x0a\x09\x09outColor\x20=\x20texture(digitTex,\x20digitCoord);\x0a\x09\x09return\x20true;\x0a\x09}\x0a\x09return\x20false;\x0a}\x0abool\x20BlendWithLogo(\x0a\x09in\x20int\x20adUnit,\x0a\x20\x20\x20\x20in\x20sampler2D\x20alphaTexture,\x0a\x20\x20\x20\x20in\x20mat3\x20matrix,\x0a\x20\x20\x20\x20in\x20vec2\x20curCoord,\x0a\x20\x20\x20\x20in\x20vec2\x20alphaTopLeft,\x0a\x20\x20\x20\x20in\x20vec2\x20alphaSize)\x20\x0a{\x0a\x09\x0a\x09\x0a\x09\x0a\x20\x20\x20\x20vec2\x20texCoord;\x0a\x20\x20\x20\x20texCoord.x\x20=\x20(matrix[0][0]*curCoord.x\x20+\x20matrix[0][1]*curCoord.y\x20+\x20matrix[0][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord.y\x20=\x20(matrix[1][0]*curCoord.x\x20+\x20matrix[1][1]*curCoord.y\x20+\x20matrix[1][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord\x20/=\x20u_resolution2;\x0a\x0a\x20\x20\x20\x20//if\x20we\x27re\x20in\x20the\x20bounding\x20rect\x20of\x20the\x20logo\x0a\x20\x20\x20\x20if\x20(texCoord.x\x20>=\x200.0\x20&&\x20texCoord.y\x20>=\x200.0\x20&&\x20texCoord.x\x20<=\x201.0\x20&&\x20texCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20{\x0a\x09\x09\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20alphaCoord\x20=\x20(curCoord\x20-\x20alphaTopLeft)/alphaSize;//get\x20the\x20coordinate\x20on\x20the\x20alpha\x20mate\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(\x0a\x09\x09alphaCoord.x\x20>=\x200.0\x20&&\x20\x0a\x09\x09alphaCoord.y\x20>=\x200.0\x20&&\x20\x0a\x09\x09alphaCoord.x\x20<=\x201.0\x20&&\x20\x0a\x09\x09alphaCoord.y\x20<=\x201.0\x0a\x09\x09)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//get\x20the\x20alpha\x20texel:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha\x20*=\x20texture(alphaTexture,\x20alphaCoord).a;//without\x20blur\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x09\x09\x0a\x09\x09vec4\x20ad0Pix\x20=\x20\x0a\x09\x09\x09adUnit\x20==\x200\x20?\x20texture(ad0,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x201\x20?\x20texture(ad1,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x202\x20?\x20texture(ad2,\x20texCoord)\x20:\x0a\x09\x09\x09\x09\x09\x09\x20\x20texture(ad3,\x20texCoord);//get\x20the\x20logo\x27s\x20texel\x0a\x09\x09alpha\x20*=\x20ad0Pix.a;//consider\x20the\x20alpha\x20of\x20the\x20logo\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20resultRGB\x20=\x20ad0Pix.rgb;//\x20+\x20videoImagePix.rgb*(1.0-alpha);//blend\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(alpha\x20==\x200.0)\x20resultRGB\x20=\x20vec3(0,0,0);\x0a\x09\x09outColor\x20=\x20vec4(resultRGB,\x20alpha);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20return\x20false;\x0a\x20\x20\x0a}\x0avoid\x20main()\x0a{\x0a\x20\x20//calculate\x20cur-coord\x20(with\x20pixels\x20units)\x0a\x20\x20vec2\x20curCoord\x20=\x20gl_FragCoord.xy;\x0a\x20\x20curCoord.y\x20=\x20u_resolution2[1]\x20-\x20curCoord.y;\x0a\x20\x20//if\x20(hasDigit\x20==\x201\x20&&\x20(BlendDigit(curCoord)\x20||\x20BlendDigit2(curCoord)))\x20return;\x0a\x20\x20if\x20(hasDigit\x20==\x201\x20&&\x20(BlendDigit(curCoord)))\x20return;\x0a\x20\x20else\x20if\x20(hasLogo0\x20==\x201\x20&&\x20\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo0,\x0a\x09\x20alpha0,\x20u_matrix0,\x20curCoord,u_alpha0TopLeft,\x20u_alpha0Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo1\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo1,\x0a\x09\x20alpha1,\x20u_matrix1,\x20curCoord,u_alpha1TopLeft,\x20u_alpha1Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo2\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo2,\x0a\x09\x20alpha2,\x20u_matrix2,\x20curCoord,u_alpha2TopLeft,\x20u_alpha2Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo3\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo3,\x0a\x09\x20alpha3,\x20u_matrix3,\x20curCoord,u_alpha3TopLeft,\x20u_alpha3Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20{//no\x20logo\x0a\x20\x20\x20\x20outColor\x20=\x20vec4(0,0,0,0);\x0a\x20\x20}\x0a}\x0a','metadata','RenderDigits','messageroom','Windows\x20Phone','getCanvas','vertexAttribPointer','key','getElementsByTagName','MKsync','Composer3d','offset','webgl2',',\x20correction','error::','composer::SelectAd:\x20The\x20selected\x20ad\x20should\x20be\x20in\x20place\x20','header','Linux','Chrome','uniform2f','channelName','UNPACK_ALIGNMENT','AddAdvertisement','Checking\x20window\x20and\x20methods','textContent','slice','options\x20after\x20merge\x20with\x20MK\x27s\x20options:\x20','pointer-events','videoStarted','setLastFrame','ad2Url','test','config','function',',\x20stage:\x20','mediaTime','loadedmetadata','CreateDigitImg','playerTime','BB.Augmenter\x20Start','We\x20are\x20HERE:TimeCode','Calculating\x20ScreenFrameRate',',\x20Brain\x20Time-Code:\x20','innerHTML','program','https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js','BBerror','mimeType','black','onerror','OTTPlayer:\x20version:\x20','Src59_MediaTime59','field','socket\x20connected','https://www.virtualott.com/games/','dataos','Average\x20refresh\x20screen\x20rate:\x20','shift','_nextAdvertisement','Error\x20fetching\x20package.json:','createBuffer','ALPHA','from','Augment','Src60_MediaTime60','split','UNSIGNED_BYTE','roommembers','fetchAndFindGameIdAndOffsetFromMediaId','vertexShaderSourceV1','color:blue;font-weight:bold;','frameDrawer','SelectAd',')</span>','fps','STATIC_DRAW','timeDate2TCString','toggleBtn',',\x20offset:\x20','TimeCodeAddFrames','place2AdTexture','options\x20after\x20merge\x20with\x20the\x20global\x20options:\x20','getBoundingClientRect','iPhone','none','filter','x-shader/x-fragment','createProgram','fillRect','ad0','replace','then','RenderingMode','Macintosh','clientY','getContext','onNewSegmentInterface','height','COMPILE_STATUS','OTTPlayer:\x20','dateTime','ANI.','/package.json','Android','console','Utils','data','msMaxTouchPoints','tex','videoCopier','getDeviceName','TEXTURE_MIN_FILTER','#version\x20300\x20es\x0a\x0a//\x20an\x20attribute\x20is\x20an\x20input\x20(in)\x20to\x20a\x20vertex\x20shader.\x0a//\x20It\x20will\x20receive\x20vertex\x20data\x20from\x20the\x20buffer\x0ain\x20vec2\x20a_position;\x0a\x0a//Identity\x20matrix\x20for\x20now\x0auniform\x20mat3\x20u_matrix;\x0a\x0a//The\x20canvas\x20resolution,\x20to\x20covert\x20to\x20ZeTor\x0auniform\x20vec2\x20u_resolution;\x0a\x0a//a_texCoord->v_texCoord\x20interpolation\x0a//in\x20vec2\x20a_texCoord;\x0a//out\x20vec2\x20v_texCoord;\x0a\x0a//\x20Main\x20vertex\x20shader\x0avoid\x20main()\x20{\x0a\x20\x20//Translate,\x20rotate,\x20scale\x20by\x20u_matrix:\x0a\x20\x20vec2\x20position\x20=\x20(u_matrix\x20*\x20vec3(a_position,\x201)).xy;\x0a\x0a\x20\x20//Convert\x20the\x20position\x20from\x20pixels\x20to\x20ZeTor\x20[0.0,1.0]\x0a\x20\x20vec2\x20zeroToOne\x20=\x20position\x20/\x20u_resolution;\x0a\x0a\x20\x20//Convert\x20from\x20[0,1]\x20to\x20[0,2]\x0a\x20\x20vec2\x20zeroToTwo\x20=\x20zeroToOne\x20*\x202.0;\x0a\x0a\x20\x20//Convert\x20from\x20[0,2]\x20to\x20[-1,+1]\x20(clipspace)\x0a\x20\x20vec2\x20clipSpace\x20=\x20zeroToTwo\x20-\x201.0;\x0a\x0a\x20\x20gl_Position\x20=\x20vec4(clipSpace\x20*\x20vec2(1,\x20-1),\x200,\x201);\x0a\x0a\x20\x20//Pass\x20the\x20texCoord\x20to\x20the\x20fragment\x20shader\x0a\x20\x20//The\x20GPU\x20will\x20interpolate\x20this\x20value\x20between\x20points.\x0a\x20\x20//v_texCoord\x20=\x20a_texCoord;\x0a}\x0a','font','\x20ms','Trident','a\x20Mac','match','emit',',\x20so\x20I\x27m\x20launching\x20the\x20meta-data\x20fetcher\x20web-worker','text','Platform\x20not\x20supported','\x0a\x0a^^^\x20','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode','counter','getSourceFPS','plus05CorrectionCheckbox','ntc','options','abs','OS\x20X','u_matrix','clear','Error\x20fetching\x20JSON:','FPS\x20not\x20supported','catch','requestAnimationFrame\x20is\x20not\x20supported','if\x20(alpha\x20<\x200.8)','createShader','bottom','push','url','\x20not\x20found\x20in\x20JSON.','gameId','src','info','48914ZnpwXe','Network\x20response\x20was\x20not\x20ok','get','found','getProgramInfoLog','alphaTex','CallBacks\x20are\x20set','TimeCodesFramesTranslator','zIndex','12579237NkenFJ','white','join\x20\x20','substring','386085WNprfp','adLoopTime','ANI2','#ad','ARRAY_BUFFER','Version','readyState','error','enableVertexAttribArray','setMediaFPS:\x20Unknown\x20Media\x20FrameRate\x20mode','init','getShaderSource','url:\x20','webgl','index','\x20Setting\x20(some)\x20ms\x20timer','SynchMethod','COLOR_BUFFER_BIT','ToggleFullscreen','now','if\x20(alpha\x20==\x200.0)','fillText','Error\x20compiling\x20shader:\x20','%c%s','addEventListener','FRAGMENT_SHADER','SetRectangle','Silk','disconnect','Something\x20else','messageData','postMessage','FLOAT','ontouchstart','BBlog','utc_','LINK_STATUS','HTTP\x20error!\x20Status:\x20','createElement','InitGL','getShaderParameter','augmentation','getSeconds','getUTCMinutes','Safari','debugText','location','getShaderInfoLog','getUniformLocation','iOS','VID.','getMinutes'];_0x5c08=function(){return _0xa2b38d;};return _0x5c08();}function _0x1038(_0x5a3f68,_0x163346){const _0x5c0804=_0x5c08();return _0x1038=function(_0x10388f,_0x1a3e78){_0x10388f=_0x10388f-0xcf;let _0x377f79=_0x5c0804[_0x10388f];return _0x377f79;},_0x1038(_0x5a3f68,_0x163346);}const OTTPLAYER_VERSION=_0x3b39db(0x1ce),printVersion=()=>{const _0x2a628a=_0x3b39db;console['log'](_0x2a628a(0xf1)+OTTPLAYER_VERSION);},getVersion=()=>{const _0x502542=_0x3b39db,_0x47d294=document[_0x502542(0x195)][_0x502542(0x14f)],_0x4b6a04=_0x47d294[_0x502542(0x100)]('/')[_0x502542(0xd8)](0x0,-0x2)[_0x502542(0x220)]('/'),_0x21c4fa=_0x4b6a04+_0x502542(0x125);console['log'](_0x502542(0x223)+_0x21c4fa),fetch(_0x21c4fa)[_0x502542(0x11a)](_0x1022a5=>{const _0x1c1a61=_0x502542;if(!_0x1022a5['ok'])throw new Error(_0x1c1a61(0x26a)+_0x1022a5[_0x1c1a61(0x19a)]);return _0x1022a5[_0x1c1a61(0x1ac)]();})[_0x502542(0x11a)](_0x48bd58=>{const _0x39924e=_0x502542,_0x202221=_0x48bd58[_0x39924e(0x1a5)];console[_0x39924e(0x21d)](_0x39924e(0x2b1)+_0x202221);})[_0x502542(0x146)](_0x316877=>{const _0x1af859=_0x502542;console[_0x1af859(0x165)](_0x1af859(0xfa),_0x316877);});};printVersion();const META_WORKER=_0x3b39db(0x21c);let debug_lastFrameFromVideoCallback=-0x1,debug_tc='';(function(_0x5b7a9c,_0x32ed85){const _0x2dc7a6=_0x3b39db;typeof define===_0x2dc7a6(0xe0)&&define[_0x2dc7a6(0x287)]?define([],function(){const _0x1fa1f2=_0x2dc7a6;return _0x32ed85[_0x1fa1f2(0x1fb)](_0x5b7a9c);}):_0x5b7a9c[_0x2dc7a6(0x2b4)]=_0x32ed85[_0x2dc7a6(0x1fb)](_0x5b7a9c);}(this,function(){'use strict';const _0x4a6a2d=_0x3b39db;const _0x439f68=this;function _0xa6e835(_0xbcabdf){const _0x33ce5d=_0x1038;return _0xbcabdf=_0xbcabdf||_0x439f68,_0xbcabdf!==_0xbcabdf[_0x33ce5d(0x2da)];}!_0xa6e835()&&(console[_0x4a6a2d(0x21d)]('%c%s',_0x4a6a2d(0x105),_0x4a6a2d(0x1bb)),console[_0x4a6a2d(0x21d)](_0x4a6a2d(0x175),_0x4a6a2d(0x105),'http://webgl2fundamentals.org/webgl/lessons/webgl-boilerplate.html'));function _0x3c65cc(_0x3df5ca){const _0x4f1542=_0x4a6a2d;if(_0x439f68['console']){if(_0x439f68[_0x4f1542(0x127)]['error'])_0x439f68[_0x4f1542(0x127)][_0x4f1542(0x165)](_0x3df5ca);else _0x439f68[_0x4f1542(0x127)]['log']&&_0x439f68[_0x4f1542(0x127)][_0x4f1542(0x21d)](_0x3df5ca);}}const _0xbddf2a=/ERROR:\s*\d+:(\d+)/gi;function _0x587927(_0x5b2053,_0x15c0c6=''){const _0x2ee420=_0x4a6a2d,_0x5eac0c=[..._0x15c0c6[_0x2ee420(0x1ed)](_0xbddf2a)],_0x2a5651=new Map(_0x5eac0c['map']((_0x4f4f99,_0x375c9d)=>{const _0x5f2e15=_0x2ee420,_0x5d7a53=parseInt(_0x4f4f99[0x1]),_0x4d49dd=_0x5eac0c[_0x375c9d+0x1],_0x5c14ed=_0x4d49dd?_0x4d49dd[_0x5f2e15(0x16c)]:_0x15c0c6[_0x5f2e15(0x1fe)],_0x12d302=_0x15c0c6['substring'](_0x4f4f99[_0x5f2e15(0x16c)],_0x5c14ed);return[_0x5d7a53-0x1,_0x12d302];}));return _0x5b2053[_0x2ee420(0x100)]('\x0a')[_0x2ee420(0x1c2)]((_0x1c235e,_0x440dfc)=>{const _0x4026ad=_0x2ee420,_0x5a77d6=_0x2a5651[_0x4026ad(0x153)](_0x440dfc);return _0x440dfc+0x1+':\x20'+_0x1c235e+(_0x5a77d6?_0x4026ad(0x139)+_0x5a77d6:'');})[_0x2ee420(0x220)]('\x0a');}function _0x514cb4(_0x508b91,_0x18c3a7,_0xc52a29,_0xaf0027){const _0x15165d=_0x4a6a2d,_0x40e4e1=_0xaf0027||_0x3c65cc,_0x257f08=_0x508b91[_0x15165d(0x149)](_0xc52a29);_0x508b91[_0x15165d(0x1d5)](_0x257f08,_0x18c3a7),_0x508b91[_0x15165d(0x2b8)](_0x257f08);const _0x5d0ecb=_0x508b91[_0x15165d(0x186)](_0x257f08,_0x508b91[_0x15165d(0x121)]);if(!_0x5d0ecb){const _0x428630=_0x508b91[_0x15165d(0x18d)](_0x257f08);return _0x40e4e1(_0x15165d(0x174)+_0x428630+'\x0a'+_0x587927(_0x18c3a7,_0x428630)),_0x508b91['deleteShader'](_0x257f08),null;}return _0x257f08;}function _0x37f635(_0x4bf67f,_0x26e2f5,_0xcbf3ff,_0x1219ca,_0x4791ff){const _0x3b41e9=_0x4a6a2d,_0x401b5f=_0x4791ff||_0x3c65cc,_0x3a4d3b=_0x4bf67f[_0x3b41e9(0x116)]();_0x26e2f5[_0x3b41e9(0x1f7)](function(_0x21274f){_0x4bf67f['attachShader'](_0x3a4d3b,_0x21274f);});_0xcbf3ff&&_0xcbf3ff[_0x3b41e9(0x1f7)](function(_0x2ce490,_0x5e6c36){const _0x4dbb82=_0x3b41e9;_0x4bf67f[_0x4dbb82(0x1ea)](_0x3a4d3b,_0x1219ca?_0x1219ca[_0x5e6c36]:_0x5e6c36,_0x2ce490);});_0x4bf67f[_0x3b41e9(0x231)](_0x3a4d3b);const _0x2a5d42=_0x4bf67f['getProgramParameter'](_0x3a4d3b,_0x4bf67f[_0x3b41e9(0x182)]);if(!_0x2a5d42){const _0x2a0c33=_0x4bf67f[_0x3b41e9(0x155)](_0x3a4d3b);return _0x401b5f(_0x3b41e9(0x28f)+_0x2a0c33+'\x0a'+_0x26e2f5[_0x3b41e9(0x1c2)](_0x228784=>{const _0x57b66e=_0x3b41e9,_0x3562b0=_0x587927(_0x4bf67f[_0x57b66e(0x169)](_0x228784)),_0x42a47a=_0x4bf67f[_0x57b66e(0x186)](_0x228784,_0x4bf67f['SHADER_TYPE']);return glEnumToString(_0x4bf67f,_0x42a47a)+':\x0a'+_0x3562b0;})[_0x3b41e9(0x220)]('\x0a')),_0x4bf67f[_0x3b41e9(0x22a)](_0x3a4d3b),null;}return _0x3a4d3b;}function _0x165c79(_0x59070b,_0x112059,_0x5f14b2,_0x2c95d6){const _0x150e62=_0x4a6a2d;let _0x135ab7='',_0x18e691;const _0x562688=document[_0x150e62(0x1e6)](_0x112059);if(!_0x562688)throw _0x150e62(0x20a)+_0x112059;_0x135ab7=_0x562688[_0x150e62(0x137)];if(!_0x5f14b2){if(_0x562688[_0x150e62(0x248)]==='x-shader/x-vertex')_0x18e691=_0x59070b[_0x150e62(0x24c)];else{if(_0x562688['type']===_0x150e62(0x115))_0x18e691=_0x59070b[_0x150e62(0x177)];else{if(_0x18e691!==_0x59070b['VERTEX_SHADER']&&_0x18e691!==_0x59070b[_0x150e62(0x177)])throw _0x150e62(0x1f9);}}}return _0x514cb4(_0x59070b,_0x135ab7,_0x5f14b2?_0x5f14b2:_0x18e691,_0x2c95d6);}const _0x3d8b89=['VERTEX_SHADER',_0x4a6a2d(0x177)];function _0x4f4553(_0x1ae73c,_0x6e3ae3,_0x44ceab,_0x69708f,_0x3a2356){const _0x5cdf6e=_0x4a6a2d,_0x4258a1=[];for(let _0x41484d=0x0;_0x41484d<_0x6e3ae3[_0x5cdf6e(0x1fe)];++_0x41484d){_0x4258a1[_0x5cdf6e(0x14b)](_0x165c79(_0x1ae73c,_0x6e3ae3[_0x41484d],_0x1ae73c[_0x3d8b89[_0x41484d]],_0x3a2356));}return _0x37f635(_0x1ae73c,_0x4258a1,_0x44ceab,_0x69708f,_0x3a2356);}function _0x5e2b1c(_0x47d9b9,_0x549038,_0x466589,_0x257a96,_0x480b6a){const _0xe46a5f=[];for(let _0x5a21a4=0x0;_0x5a21a4<_0x549038['length'];++_0x5a21a4){_0xe46a5f['push'](_0x514cb4(_0x47d9b9,_0x549038[_0x5a21a4],_0x47d9b9[_0x3d8b89[_0x5a21a4]],_0x480b6a));}return _0x37f635(_0x47d9b9,_0xe46a5f,_0x466589,_0x257a96,_0x480b6a);}function _0x2e1124(_0x14dbdb,_0x2cc8fb){const _0x484d67=_0x4a6a2d;_0x2cc8fb=_0x2cc8fb||0x1;const _0x54b8f3=_0x14dbdb[_0x484d67(0x1d2)]*_0x2cc8fb|0x0,_0x273674=_0x14dbdb['clientHeight']*_0x2cc8fb|0x0;if(_0x14dbdb[_0x484d67(0x1d9)]!==_0x54b8f3||_0x14dbdb[_0x484d67(0x120)]!==_0x273674)return _0x14dbdb['width']=_0x54b8f3,_0x14dbdb['height']=_0x273674,!![];return![];}return{'createProgram':_0x37f635,'createProgramFromScripts':_0x4f4553,'createProgramFromSources':_0x5e2b1c,'resizeCanvasToDisplaySize':_0x2e1124};}));const BB={'MAX_LOGOS':0x4};BB['GL']={'vertexShaderSource':_0x3b39db(0x12f),'fragmentShaderSource':_0x3b39db(0x2df),'vertexShaderSourceV1':_0x3b39db(0x19d),'fragmentShaderSourceV1':_0x3b39db(0x263)},BB['FrameRateMode']={'Src60_MediaTime60':Symbol(_0x3b39db(0xff)),'Src59_MediaTime60':Symbol(_0x3b39db(0x2b2)),'Src59_MediaTime59':Symbol(_0x3b39db(0xf2)),'Src29_MediaTime29':Symbol(_0x3b39db(0x20e))},BB[_0x3b39db(0x11b)]={'RenderDigits':Symbol(_0x3b39db(0x2e1)),'RenderTimecode':Symbol(_0x3b39db(0x2a3)),'Augment':Symbol(_0x3b39db(0xfe))},BB[_0x3b39db(0x16e)]={'OnNewSegment':Symbol(_0x3b39db(0x1ba)),'OnMetadata':Symbol('OnMetadata'),'None':Symbol(_0x3b39db(0x21a))},BB['Utils']=((()=>{const _0x17c289=_0x3cc174=>{return _0x3cc174['toString']()['padStart'](0x2,'0');},_0x1a27e5=((()=>{const _0x70bd69=(_0x2da889,_0x4cc63e,_0x37ca24)=>{const _0x6396d7=_0x1038;let _0x2ee8fe='';if(Array[_0x6396d7(0x1e2)](_0x2da889)){_0x2ee8fe=[_0x17c289(_0x2da889[0x0]),_0x17c289(_0x2da889[0x1]),_0x17c289(_0x2da889[0x2]),_0x17c289(_0x2da889[0x3])]['join'](':');if(_0x37ca24==!![]){if(_0x2da889[0x4]==0x1&&(_0x4cc63e===undefined||_0x4cc63e))_0x2ee8fe+='.2';else _0x2ee8fe+='.1';}else{if(_0x2da889[0x4]==0x1&&(_0x4cc63e===undefined||_0x4cc63e))_0x2ee8fe+='.1';}}else{const _0x313af6=':';_0x2ee8fe=('0'+_0x2da889['h'])[_0x6396d7(0xd8)](-0x2)+_0x313af6+('0'+_0x2da889['m'])[_0x6396d7(0xd8)](-0x2)+_0x313af6+('0'+_0x2da889['s'])[_0x6396d7(0xd8)](-0x2)+_0x313af6+('0'+_0x2da889['f'])[_0x6396d7(0xd8)](-0x2);if(_0x4cc63e)_0x2ee8fe+='.'+(_0x2da889[_0x6396d7(0xf3)]?'1':'2');}return _0x2ee8fe;},_0x1800ad=_0xdc8a0b=>{const _0x4b54b7=_0x1038;let _0x307068=_0xdc8a0b[_0x4b54b7(0x100)](':');if(_0x307068[_0x4b54b7(0x1fe)]!=0x4)return console[_0x4b54b7(0x165)]('timeCodeStr2TimeCodeArray:\x20Failed\x20to\x20parse\x20'+_0xdc8a0b),[0x0,0x0,0x0,0x0,0x0];let _0x46aca3=[parseInt(_0x307068[0x0]),parseInt(_0x307068[0x1]),parseInt(_0x307068[0x2])];if(_0x307068[0x3]['indexOf']('.')>=0x0){let _0x2c10be=_0x307068[0x3][_0x4b54b7(0x100)]('.');_0x46aca3[_0x4b54b7(0x14b)](parseInt(_0x2c10be[0x0])),_0x46aca3['push'](parseInt(_0x2c10be[0x1]));}else _0x46aca3[_0x4b54b7(0x14b)](parseInt(_0x307068[0x3])),_0x46aca3['push'](0x0);return _0x46aca3;},_0x3101f8=(_0x7cd42b,_0x3af57a,_0x38f3cb)=>{const _0xec0e55=_0x1038;let _0x195c45=0x3c,_0x46e784=0x0;if(Math[_0xec0e55(0x29b)](_0x3af57a)==0x3c)_0x195c45=0x3c,_0x46e784=0x0;else{if(Math[_0xec0e55(0x29b)](_0x3af57a)==0x3b)_0x195c45=0x3c,_0x46e784=0x4;else{if(Math[_0xec0e55(0x29b)](_0x3af57a)==0x1e)_0x195c45=0x1e,_0x46e784=0x0;else Math[_0xec0e55(0x29b)](_0x3af57a)==0x1d&&(_0x195c45=0x1e,_0x46e784=0x2);}}let _0x45047f=0x0,_0x4abea8=Math[_0xec0e55(0x29b)](_0x3af57a*0x3c),_0x1dc07f=Math[_0xec0e55(0x29b)](_0x3af57a*0x3c*0xa),_0x81749a=_0x1dc07f*0x6,_0x4739ea=_0x7cd42b[0x0],_0x509a6c=_0x7cd42b[0x1],_0x4af230=_0x7cd42b[0x2],_0x476163=_0x7cd42b[0x3],_0x5ec4a9=_0x7cd42b[0x4];_0x45047f+=_0x4739ea*_0x81749a,_0x45047f+=_0x509a6c*(_0x195c45*0x3c),_0x45047f+=_0x4af230*_0x195c45;if(_0x38f3cb)_0x45047f+=_0x476163*0x2+_0x5ec4a9;else _0x45047f+=_0x476163;return _0x45047f-=_0x46e784*_0x509a6c,_0x45047f+=_0x46e784*Math['floor'](_0x509a6c/0xa),_0x45047f;},_0x32981d=(_0x788025,_0x204e1d,_0x443c32)=>{const _0x5008a6=_0x1038;let _0x1bf953=0x3c,_0x2a0fbd=0x0;if(Math[_0x5008a6(0x29b)](_0x204e1d)==0x3c)_0x1bf953=0x3c,_0x2a0fbd=0x0;else{if(Math[_0x5008a6(0x29b)](_0x204e1d)==0x3b)_0x1bf953=0x3c,_0x2a0fbd=0x4;else{if(Math['floor'](_0x204e1d)==0x1e)_0x1bf953=0x1e,_0x2a0fbd=0x0;else Math[_0x5008a6(0x29b)](_0x204e1d)==0x1d&&(_0x1bf953=0x1e,_0x2a0fbd=0x2);}}let _0x2aaee0=0x0,_0xc2ef47=Math[_0x5008a6(0x29b)](_0x204e1d*0x3c),_0x22f064=Math[_0x5008a6(0x29b)](_0x204e1d*0x3c*0xa),_0x6f3b80=_0x22f064*0x6,_0x380231=_0x788025,_0x68cfd7=Math[_0x5008a6(0x29b)](_0x380231/_0x6f3b80);_0x380231-=_0x68cfd7*_0x6f3b80;let _0x475047=Math[_0x5008a6(0x29b)](_0x380231/_0x22f064);_0x380231-=_0x475047*_0x22f064;if(_0x380231>=_0x1bf953*0x3c)_0x380231+=_0x2a0fbd*(Math[_0x5008a6(0x29b)]((_0x380231-_0x1bf953*0x3c)/_0xc2ef47)+0x1);let _0x47ebdf=Math[_0x5008a6(0x29b)](_0x380231/(_0x1bf953*0x3c));_0x380231-=_0x47ebdf*(_0x1bf953*0x3c);let _0x52a678=Math[_0x5008a6(0x29b)](_0x380231/_0x1bf953);_0x380231-=_0x52a678*_0x1bf953;let _0x3148e7=_0x380231;_0x47ebdf+=_0x475047*0xa,dotOne=0x0;_0x443c32&&(dotOne=_0x3148e7%0x2,_0x3148e7=Math[_0x5008a6(0x29b)](_0x3148e7/0x2));let _0x28444f=[_0x68cfd7,_0x47ebdf,_0x52a678,_0x3148e7,dotOne];return _0x28444f;},_0x1f1cbc=(_0x152f39,_0x1c0f4f,_0x2cdfb7)=>{let _0x16ec83=_0x2cdfb7>0x1e,_0x3867d4=_0x3101f8(_0x152f39,_0x2cdfb7,_0x16ec83);return _0x3867d4+=_0x1c0f4f,_0x32981d(_0x3867d4,_0x2cdfb7,_0x16ec83);},_0x43fc88=_0x151ad4=>{return{'h':_0x151ad4[0x0],'m':_0x151ad4[0x1],'s':_0x151ad4[0x2],'f':_0x151ad4[0x3],'field':_0x151ad4[0x4]};},_0x4e8d40=(_0x1865d9,_0x1336e5)=>{const _0x180e71=_0x1038;let _0x5e9deb=BB[_0x180e71(0x128)][_0x180e71(0x2b5)](_0x1865d9,_0x1336e5);return _0x1336e5>0x3b?BB['Utils'][_0x180e71(0x158)][_0x180e71(0x22d)](tcFromMessage,!![]):BB[_0x180e71(0x128)][_0x180e71(0x158)]['printTimecode'](tcFromMessage,![]);let _0x2d286a=BB[_0x180e71(0x128)][_0x180e71(0x272)],_0x4c502a='';_0x2d286a[_0x180e71(0x26e)]()?_0x4c502a=_0x1865d9:_0x4c502a=_0x1865d9[_0x180e71(0x2ac)]();let _0x20e5c0=_0x4c502a[_0x180e71(0x100)]('T')[0x1],_0x1c5b6d=_0x20e5c0[_0x180e71(0x100)](':'),_0x200a4c=parseInt(_0x1c5b6d[0x0]),_0x4a984a=parseInt(_0x1c5b6d[0x1]),_0x18d919=_0x1c5b6d[0x2][_0x180e71(0x100)]('.'),_0x402b62=parseInt(_0x18d919[0x0]),_0x3f61ac=parseInt(_0x18d919[0x1][_0x180e71(0x15d)](0x0,0x3)),_0x465940=Math[_0x180e71(0x1b2)](_0x3f61ac/0x3e8*_0x1336e5);if(_0x1336e5>0x3b){let _0x5c4f09=_0x465940%0x2==0x0?0x1:0x2;_0x465940=Math[_0x180e71(0x29b)](_0x465940/0x2);let _0x2b7e8d=_0x200a4c[_0x180e71(0x255)]()['padStart'](0x2,'0')+':'+_0x4a984a['toString']()[_0x180e71(0x1df)](0x2,'0')+':'+_0x402b62[_0x180e71(0x255)]()[_0x180e71(0x1df)](0x2,'0')+':'+_0x465940[_0x180e71(0x255)]()[_0x180e71(0x1df)](0x2,'0')+'.'+_0x5c4f09[_0x180e71(0x255)]();return _0x2b7e8d;}else{let _0x5b8b45=_0x200a4c[_0x180e71(0x255)]()[_0x180e71(0x1df)](0x2,'0')+':'+_0x4a984a[_0x180e71(0x255)]()[_0x180e71(0x1df)](0x2,'0')+':'+_0x402b62[_0x180e71(0x255)]()[_0x180e71(0x1df)](0x2,'0')+':'+_0x465940[_0x180e71(0x255)]()[_0x180e71(0x1df)](0x2,'0');return _0x5b8b45;}return str;},_0xebb178=(_0x294403,_0x1141a3)=>{const _0x1328b8=_0x1038;let _0x3a5d01=BB[_0x1328b8(0x128)][_0x1328b8(0x272)],_0x1b86e3='';_0x3a5d01[_0x1328b8(0x26e)]()?_0x1b86e3=_0x294403:_0x1b86e3=_0x294403['toISOString']();let _0xd48034=_0x1b86e3['split']('T')[0x1],_0x30064=_0xd48034['split'](':'),_0x4d2b21=parseInt(_0x30064[0x0]),_0x13492f=parseInt(_0x30064[0x1]),_0x4b0a72=_0x30064[0x2][_0x1328b8(0x100)]('.'),_0x79a587=parseInt(_0x4b0a72[0x0]),_0x1620c8=parseInt(_0x4b0a72[0x1]['substring'](0x0,0x3));if(_0x1141a3>0x3b){let _0x3a1a3d=Math[_0x1328b8(0x1b2)]((_0x1620c8/0x3e8+_0x79a587+_0x13492f*0x3c+_0x4d2b21*0x3c*0x3c)*_0x1141a3),_0x3db483=BB[_0x1328b8(0x128)]['TimeCodesFramesTranslator'][_0x1328b8(0x1d0)](_0x3a1a3d,_0x1141a3,!![]);return _0x3db483;}else{let _0x5398b0=Math[_0x1328b8(0x1b2)]((_0x1620c8/0x3e8+_0x79a587+_0x13492f*0x3c+_0x4d2b21*0x3c*0x3c)*_0x1141a3),_0x275798=BB[_0x1328b8(0x128)]['TimeCodesFramesTranslator'][_0x1328b8(0x1d0)](_0x5398b0,_0x1141a3,![]);return _0x275798;}};return{'printTimecode':_0x70bd69,'timeCodeStr2TimeCodeArray':_0x1800ad,'Timecode2Frames':_0x3101f8,'Frames2Timecode':_0x32981d,'TimeCodeAddFrames':_0x1f1cbc,'TimeCodeArray2TimeCodeJson':_0x43fc88,'timeDate2TCString':_0x4e8d40,'timeDate2TC':_0xebb178};})()),_0x23e4ed=_0x450fa3=>{let _0x3ea27c=_0x450fa3||0x2540be3ff,_0x5b2a73=[],_0x155380=0x0;const _0x387e16=_0xd445ae=>{const _0x4bb3d9=_0x1038;++_0x155380,_0x5b2a73[_0x4bb3d9(0x14b)](_0xd445ae);while(_0x5b2a73[_0x4bb3d9(0x1fe)]>_0x3ea27c)_0x5b2a73['shift']();},_0x398c37=()=>{const _0x1215e1=_0x1038;if(_0x5b2a73[_0x1215e1(0x1fe)]==0x0)return-0x1;let _0x436b9b=Array[_0x1215e1(0xfd)](_0x5b2a73)[_0x1215e1(0x261)]((_0xb1bb57,_0x4e3219)=>{return _0xb1bb57-_0x4e3219;});return _0x436b9b[parseInt(_0x436b9b[_0x1215e1(0x1fe)]/0x2)];},_0x377538=()=>{return _0x155380;};return{'add':_0x387e16,'getMedian':_0x398c37,'howMany':_0x377538};},_0x4a2ef0=((()=>{const _0x2129ca=()=>{const _0x4535ac=_0x1038,_0xa0302f=navigator['userAgent'];if(/windows/i[_0x4535ac(0xde)](_0xa0302f))return'Windows';else{if(/android/i[_0x4535ac(0xde)](_0xa0302f))return'Android';else{if(/iphone|ipad|ipod/i['test'](_0xa0302f))return'iOS';else{if(/mac/i[_0x4535ac(0xde)](_0xa0302f)){let _0x3a12a9=_0x4535ac(0x17f)in window||navigator[_0x4535ac(0x237)]>0x0||navigator[_0x4535ac(0x12a)]>0x0;if(_0x3a12a9)return _0x4535ac(0x251);else return _0x4535ac(0x268);}else return/ipad/i[_0x4535ac(0xde)](_0xa0302f)?_0x4535ac(0x251):_0x4535ac(0x17b);}}}},_0x58b857=()=>{const _0x36c599=_0x1038;let _0x166be3=_0x2129ca();return _0x166be3==_0x36c599(0x268);},_0x2c6fdb=()=>{const _0xf0c581=_0x1038;let _0xe8ed5c=_0x2129ca();return _0xe8ed5c==_0xf0c581(0x251);},_0x1efc3d=()=>{let _0x4f8017=_0x2129ca();return _0x4f8017=='iOS';},_0x172668=()=>{const _0x31c40a=_0x1038;let _0x6bb6bf=_0x2129ca();return _0x6bb6bf==_0x31c40a(0x18f)||_0x6bb6bf==_0x31c40a(0x268)||_0x6bb6bf=='iPad';},_0x5b3bc4=()=>{const _0x2c07fc=_0x1038;let _0x59dd5f=_0x2129ca();return _0x59dd5f==_0x2c07fc(0x1ad);},_0x17ce7c=()=>{const _0x3813dc=_0x1038;let _0x547017=_0x2129ca();return _0x547017==_0x3813dc(0x126);},_0x246878=()=>{const _0x55191c=_0x1038;let _0x38a0ab=_0x2129ca();if(_0x38a0ab==_0x55191c(0x1ad))return'a\x20Windows\x20PC';else{if(_0x38a0ab==_0x55191c(0x126))return _0x55191c(0x298);else{if(_0x38a0ab=='iOS')return _0x55191c(0x2c4);else{if(_0x38a0ab==_0x55191c(0x268))return _0x55191c(0x133);else{if(_0x38a0ab==_0x55191c(0x251))return'an\x20iPad';else return'an\x20Unknown\x20device';}}}}},_0x34e3b4=()=>{const _0x520c4d=_0x1038;let _0x3afbad={'options':[],'header':[navigator[_0x520c4d(0x27f)],navigator[_0x520c4d(0x232)],navigator[_0x520c4d(0x205)],navigator[_0x520c4d(0x1da)],window[_0x520c4d(0x213)]],'dataos':[{'name':_0x520c4d(0x2e3),'value':'Windows\x20Phone','version':'OS'},{'name':_0x520c4d(0x1ad),'value':_0x520c4d(0x2a4),'version':'NT'},{'name':_0x520c4d(0x112),'value':_0x520c4d(0x112),'version':'OS'},{'name':_0x520c4d(0x251),'value':_0x520c4d(0x251),'version':'OS'},{'name':_0x520c4d(0x1f4),'value':_0x520c4d(0x179),'version':_0x520c4d(0x179)},{'name':'Android','value':'Android','version':_0x520c4d(0x126)},{'name':_0x520c4d(0x2c2),'value':'PlayBook','version':'OS'},{'name':'BlackBerry','value':'BlackBerry','version':'/'},{'name':_0x520c4d(0x11c),'value':'Mac','version':_0x520c4d(0x141)},{'name':_0x520c4d(0xd0),'value':_0x520c4d(0xd0),'version':'rv'},{'name':_0x520c4d(0x27d),'value':_0x520c4d(0x27d),'version':_0x520c4d(0x2de)}],'databrowser':[{'name':_0x520c4d(0xd1),'value':_0x520c4d(0xd1),'version':'Chrome'},{'name':'Firefox','value':_0x520c4d(0x252),'version':_0x520c4d(0x252)},{'name':_0x520c4d(0x18a),'value':_0x520c4d(0x18a),'version':_0x520c4d(0x163)},{'name':_0x520c4d(0x1a0),'value':_0x520c4d(0x228),'version':_0x520c4d(0x228)},{'name':_0x520c4d(0x209),'value':_0x520c4d(0x209),'version':_0x520c4d(0x209)},{'name':_0x520c4d(0x288),'value':'CLDC','version':'CLDC'},{'name':'Mozilla','value':_0x520c4d(0x210),'version':_0x520c4d(0x210)}],'init':function(){const _0x20daef=_0x520c4d;let _0x522707=this[_0x20daef(0xcf)][_0x20daef(0x220)]('\x20'),_0xa79a62=this[_0x20daef(0x211)](_0x522707,this[_0x20daef(0xf6)]),_0xf4c2e8=this[_0x20daef(0x211)](_0x522707,this['databrowser']);return{'os':_0xa79a62,'browser':_0xf4c2e8};},'matchItem':function(_0x2c1b6c,_0x3dc4ab){const _0x2707c5=_0x520c4d;let _0x49c332=0x0,_0x315711=0x0,_0x31c332='',_0x4fa6e8,_0x574ff6,_0x153d2b,_0x3b2b13,_0x46e378;for(_0x49c332=0x0;_0x49c332<_0x3dc4ab['length'];_0x49c332+=0x1){_0x4fa6e8=new RegExp(_0x3dc4ab[_0x49c332][_0x2707c5(0x1e4)],'i'),_0x153d2b=_0x4fa6e8[_0x2707c5(0xde)](_0x2c1b6c);if(_0x153d2b){_0x574ff6=new RegExp(_0x3dc4ab[_0x49c332][_0x2707c5(0x1a5)]+'[-\x20/:;]([\x5cd._]+)','i'),_0x3b2b13=_0x2c1b6c[_0x2707c5(0x134)](_0x574ff6),_0x46e378='';_0x3b2b13&&(_0x3b2b13[0x1]&&(_0x3b2b13=_0x3b2b13[0x1]));if(_0x3b2b13){_0x3b2b13=_0x3b2b13[_0x2707c5(0x100)](/[._]+/);for(_0x315711=0x0;_0x315711<_0x3b2b13['length'];_0x315711+=0x1){_0x315711===0x0?_0x46e378+=_0x3b2b13[_0x315711]+'.':_0x46e378+=_0x3b2b13[_0x315711];}}else _0x46e378='0';return{'name':_0x3dc4ab[_0x49c332][_0x2707c5(0x1f8)],'version':parseFloat(_0x46e378)};}}return{'name':'unknown','version':0x0};}},_0x2bcbb6=_0x3afbad[_0x520c4d(0x168)]();return _0x2bcbb6['os'][_0x520c4d(0x1f8)];},_0x3503b5=()=>{const _0x580a5f=_0x1038,_0x4112b7=navigator[_0x580a5f(0x232)];if(_0x4112b7[_0x580a5f(0x1e7)](_0x580a5f(0xd1))>-0x1&&_0x4112b7[_0x580a5f(0x1e7)](_0x580a5f(0x25e))===-0x1)return _0x580a5f(0xd1);else{if(_0x4112b7[_0x580a5f(0x1e7)](_0x580a5f(0x18a))>-0x1&&_0x4112b7[_0x580a5f(0x1e7)](_0x580a5f(0xd1))===-0x1)return _0x580a5f(0x18a);else{if(_0x4112b7['indexOf']('Firefox')>-0x1)return _0x580a5f(0x252);else{if(_0x4112b7['indexOf'](_0x580a5f(0x228))>-0x1||_0x4112b7[_0x580a5f(0x1e7)](_0x580a5f(0x132))>-0x1)return'Internet\x20Explorer';else return _0x4112b7[_0x580a5f(0x1e7)](_0x580a5f(0x25e))>-0x1?'Edge':_0x580a5f(0x1aa);}}}},_0x54c7f8=()=>{const _0x14843d=_0x1038;return _0x58b857()&&_0x3503b5()==_0x14843d(0x18a);},_0x2a56c6=()=>{const _0x152166=_0x1038;return _0x58b857()&&_0x3503b5()==_0x152166(0xd1);},_0x3b59f9=()=>{const _0x116fa0=_0x1038;return _0x5b3bc4()&&_0x3503b5()==_0x116fa0(0xd1);};return{'getDeviceName':_0x34e3b4,'getCurrentPlatform':_0x2129ca,'isApple':_0x172668,'isWindows':_0x5b3bc4,'isAndroid':_0x17ce7c,'isMac':_0x58b857,'isiPhone':_0x1efc3d,'isiPad':_0x2c6fdb,'getDeviceDescription':_0x246878,'getBrowserName':_0x3503b5,'isSafariMac':_0x54c7f8,'isChromeMac':_0x2a56c6,'isChromeWin':_0x3b59f9};})()),_0x7492d=_0x4256b2=>{const _0x18b680=_0x1038;let _0x54846e=0x3c;switch(_0x4256b2){case BB[_0x18b680(0x1af)][_0x18b680(0xff)]:_0x54846e=0x3c;break;case BB[_0x18b680(0x1af)]['Src59_MediaTime60']:_0x54846e=0x3c;break;case BB['FrameRateMode'][_0x18b680(0xf2)]:_0x54846e=0xea60/0x3e9;break;case BB[_0x18b680(0x1af)][_0x18b680(0x20e)]:_0x54846e=0x7530/0x3e9;break;default:console[_0x18b680(0x165)](_0x18b680(0x20f));break;};return _0x54846e;},_0x1e368d=_0x1af2ef=>{const _0x248507=_0x1038;let _0x10ab0f=0x3c;switch(_0x1af2ef){case BB[_0x248507(0x1af)][_0x248507(0xff)]:_0x10ab0f=0x3c;break;case BB['FrameRateMode'][_0x248507(0x2b2)]:_0x10ab0f=0xea60/0x3e9;break;case BB[_0x248507(0x1af)]['Src59_MediaTime59']:_0x10ab0f=0xea60/0x3e9;break;case BB[_0x248507(0x1af)][_0x248507(0x20e)]:_0x10ab0f=0x7530/0x3e9;break;default:console['error'](_0x248507(0x2dc));break;};return _0x10ab0f;},_0x1cafb5=(_0x1051c5,_0x5b0c49)=>{const _0x545c8d=_0x1038,_0x56d8ad=(_0x97db50,_0x3262f8)=>{if(Math['abs'](_0x97db50-_0x3262f8)<0.01)return!![];else return![];};if(_0x56d8ad(_0x1051c5,0x3c)){if(_0x56d8ad(BB[_0x545c8d(0x128)]['getSourceFPS'](_0x5b0c49[_0x545c8d(0x22f)]),0x3c))_0x5b0c49[_0x545c8d(0x22f)]=BB[_0x545c8d(0x1af)][_0x545c8d(0xff)];else{if(_0x56d8ad(BB[_0x545c8d(0x128)][_0x545c8d(0x13c)](_0x5b0c49[_0x545c8d(0x22f)]),0xea60/0x3e9))_0x5b0c49[_0x545c8d(0x22f)]=BB[_0x545c8d(0x1af)]['Src59_MediaTime60'];else console['error'](_0x545c8d(0x13a));}}else{if(_0x56d8ad(_0x1051c5,0xea60/0x3e9)){if(_0x56d8ad(BB[_0x545c8d(0x128)][_0x545c8d(0x13c)](_0x5b0c49[_0x545c8d(0x22f)]),0x3c))_0x5b0c49[_0x545c8d(0x22f)]=BB[_0x545c8d(0x1af)][_0x545c8d(0x28e)];else{if(_0x56d8ad(BB[_0x545c8d(0x128)][_0x545c8d(0x13c)](_0x5b0c49[_0x545c8d(0x22f)]),0xea60/0x3e9))_0x5b0c49['frameRateMode']=BB['FrameRateMode'][_0x545c8d(0xf2)];else console[_0x545c8d(0x165)](_0x545c8d(0x13a));}}else{if(_0x56d8ad(_0x1051c5,0x7530/0x3e9)){if(_0x56d8ad(BB[_0x545c8d(0x128)]['getSourceFPS'](_0x5b0c49[_0x545c8d(0x22f)]),0x7530/0x3e9))_0x5b0c49['frameRateMode']=BB[_0x545c8d(0x1af)][_0x545c8d(0x20e)];else console['error'](_0x545c8d(0x2c6)+_0x1051c5);}else console[_0x545c8d(0x165)](_0x545c8d(0x167));}}},_0x37a12d=()=>{const _0x160f11=[0x7530/0x3e9,0x1e/0x1],_0x961f0a=[0xea60/0x3e9,0x3c/0x1];let _0x1bd3b3=[],_0x8c6036=[],_0x4e3771=0x0,_0x427caa=-0x1,_0x14f326=0x0;const _0x5f23e2=_0x46d357=>{const _0x3d56d1=_0x1038;_0x14f326++;let _0x868e11=0x3e7,_0x1ba135=0x0;if(_0x427caa==-0x1){_0x427caa=_0x46d357;return;}else{let _0x1bb088=_0x46d357-_0x427caa;if(_0x4e3771<0x64){_0x8c6036['push'](_0x1bb088),_0x4e3771++;return;}else _0x8c6036['push'](_0x1bb088),_0x8c6036[_0x3d56d1(0xf8)]();let _0x37e994=0x0;for(let _0x3cc030=0x0;_0x3cc030<_0x8c6036[_0x3d56d1(0x1fe)];_0x3cc030++){_0x37e994+=_0x8c6036[_0x3cc030];}_0x1bb088=_0x37e994/_0x8c6036[_0x3d56d1(0x1fe)];if(0x1/_0x1bb088<0x28)possibleFps=_0x160f11;else possibleFps=_0x961f0a;}_0x427caa=_0x46d357;for(let _0x4249a1=0x0;_0x4249a1<possibleFps['length'];++_0x4249a1){let _0x4ca43f=possibleFps[_0x4249a1],_0x371973=_0x46d357*_0x4ca43f,_0x51d21f=Math['round'](_0x371973),_0x13bc4f=Math[_0x3d56d1(0x140)](_0x371973-_0x51d21f);_0x13bc4f<_0x868e11&&(_0x868e11=_0x13bc4f,_0x1ba135=_0x4ca43f);}let _0x1b2fbb=_0x1ba135;_0x1bd3b3[_0x3d56d1(0x14b)](_0x1b2fbb);if(_0x14f326>0x3e8)_0x1bd3b3[_0x3d56d1(0xf8)]();},_0x3a0ee2=()=>{const _0x4a7418=_0x1038;let _0x1e59ce={},_0x3b72ea,_0x49d2e4=0x0;for(let _0x4920da=0x0;_0x4920da<_0x1bd3b3[_0x4a7418(0x1fe)];_0x4920da++){let _0x4b9ec8=_0x1bd3b3[_0x4920da];_0x1e59ce[_0x4b9ec8]=(_0x1e59ce[_0x4b9ec8]||0x0)+0x1,_0x1e59ce[_0x4b9ec8]>_0x49d2e4&&(_0x3b72ea=_0x4b9ec8,_0x49d2e4=_0x1e59ce[_0x4b9ec8]);}return _0x3b72ea;},_0x3e330d=()=>{return _0x14f326;};return{'addTime':_0x5f23e2,'getProbableFPS':_0x3a0ee2,'howMany':_0x3e330d};};return{'TimeCodesFramesTranslator':_0x1a27e5,'MedianCalculator':_0x23e4ed,'Platform':_0x4a2ef0,'getMediaTimeFPS':_0x7492d,'getSourceFPS':_0x1e368d,'setMediaFPS':_0x1cafb5,'FPSGetter':_0x37a12d};})()),BB[_0x3b39db(0x233)]=class{constructor(_0x373c2c){const _0x1ce294=_0x3b39db;this[_0x1ce294(0x2b3)]=![],this['folderName']='',this[_0x1ce294(0x208)]=_0x373c2c,this['name']='';}['Connect'](_0x224455){const _0x12464d=_0x3b39db;if(typeof io=='undefined'||this['isConnected'])return;this[_0x12464d(0x2b3)]=!![];const _0x3eeb8e=io('https://www.virtualott.com');_0x3eeb8e['on']('connect',()=>{const _0x19eed1=_0x12464d;console[_0x19eed1(0x21d)](_0x19eed1(0xf4));let _0x34441f=BB[_0x19eed1(0x128)][_0x19eed1(0x272)];_0x3eeb8e[_0x19eed1(0x135)]('setinfo',{'device':_0x34441f[_0x19eed1(0x12d)]()},_0x3c2270=>{const _0x5c748b=_0x19eed1;this[_0x5c748b(0x1f8)]=_0x3c2270[_0x5c748b(0x1f8)],_0x3eeb8e[_0x5c748b(0x135)]('join',_0x224455,_0x4fa2a6=>{const _0x2f5d47=_0x5c748b;console['log'](_0x2f5d47(0x15c)+_0x224455+'\x20room'),this[_0x2f5d47(0x208)](_0x2f5d47(0x220),_0x4fa2a6);});});}),_0x3eeb8e['on'](_0x12464d(0x165),_0x310e0a=>{const _0x5a590b=_0x12464d;console['error'](_0x5a590b(0x2ed)+_0x310e0a);}),_0x3eeb8e['on'](_0x12464d(0x17a),_0x2f0d92=>{const _0x200ea1=_0x12464d;console[_0x200ea1(0x165)](_0x200ea1(0x25c)+_0x2f0d92);}),_0x3eeb8e['on']('messageroom',_0x39a858=>{const _0x1d1268=_0x12464d;this['callback'](_0x1d1268(0x2e2),_0x39a858),console[_0x1d1268(0x21d)](_0x1d1268(0x2db),_0x39a858);}),_0x3eeb8e['on']('ads',_0x2f57d7=>{const _0x404fda=_0x12464d;this[_0x404fda(0x208)](_0x404fda(0x290),_0x2f57d7),console['log']('ads:',_0x2f57d7);});}},BB[_0x3b39db(0x27b)]=(_0x3a3f4b,_0x4dfc18,_0x578e33)=>{const _0x428903=_0x3b39db;console['log'](_0x428903(0xe6));function _0x49263f(_0x684a6f,_0x1a9ead){const _0x3c9bf8=_0x428903;let _0x5af0d3='';if(_0x684a6f&&_0x684a6f['includes']('www.mediakind.com/NTC')){const _0x1bb1b8=_0x684a6f[_0x3c9bf8(0x119)](/.*NTC./,'');let _0x2e5ab5=0x0;while(_0x2e5ab5+0x8<=_0x1bb1b8[_0x3c9bf8(0x1fe)]){const _0x27b493=_0x1bb1b8[_0x3c9bf8(0x15d)](_0x2e5ab5,_0x2e5ab5+0x4),_0x468779=((_0x1bb1b8['charCodeAt'](_0x2e5ab5+0x4)*0x100+_0x1bb1b8[_0x3c9bf8(0x2d0)](_0x2e5ab5+0x5))*0x100+_0x1bb1b8[_0x3c9bf8(0x2d0)](_0x2e5ab5+0x6))*0x100+_0x1bb1b8[_0x3c9bf8(0x2d0)](_0x2e5ab5+0x7);if(_0x2e5ab5+0x8+_0x468779>_0x1bb1b8[_0x3c9bf8(0x1fe)])break;const _0x13c745=_0x1bb1b8[_0x3c9bf8(0x15d)](_0x2e5ab5+0x8,_0x2e5ab5+0x8+_0x468779);_0x27b493==_0x3c9bf8(0x181)&&(timecodeDateTime=new Date(parseInt(_0x13c745))[_0x3c9bf8(0x2c3)]()/0x3e8,timecodeDelta=timecodeDateTime-_0x1a9ead);_0x27b493==_0x3c9bf8(0x1ee)&&(tcTimeStamp=new Date(parseInt(_0x13c745))[_0x3c9bf8(0x2c3)]());if(_0x27b493===_0x3c9bf8(0x217)){timecode_offset=parseInt(_0x13c745)/0x5a;if(_0x578e33['debug'])console['log'](_0x3c9bf8(0xe7),timecode_offset);}_0x2e5ab5+=0x8+_0x468779;}}return _0x5af0d3;}let _0x2821bb=[0x0,0x0,0x0,0x0,0x0];function _0x32d34f(_0x46f0d0){const _0x34b893=_0x428903;if(_0x46f0d0&&_0x46f0d0[_0x34b893(0x2e0)]&&_0x46f0d0['metadata']['id']==0x0||_0x192708[_0x34b893(0x2c5)]()){if(_0x46f0d0['metadata'][_0x34b893(0x17c)])_0x46f0d0['metadata'][_0x34b893(0x17c)]=_0x49263f(_0x46f0d0['metadata'][_0x34b893(0x17c)],_0x46f0d0[_0x34b893(0x2e0)][_0x34b893(0x2d9)]);else{if(_0x46f0d0['metadata'][_0x34b893(0x292)]&&_0x46f0d0[_0x34b893(0x2e0)]['frames']['length']&&_0x46f0d0[_0x34b893(0x2e0)][_0x34b893(0x292)][0x0]['key']&&_0x46f0d0[_0x34b893(0x2e0)]['frames'][0x0][_0x34b893(0x2e6)]['toLowerCase']()===_0x34b893(0x197)){const _0x558b46=_0x46f0d0['metadata'][_0x34b893(0x292)][_0x34b893(0x114)](_0x382e26=>{const _0xdb8b6c=_0x34b893;return _0x382e26[_0xdb8b6c(0x150)]&&_0x382e26['info'][_0xdb8b6c(0x296)]()[_0xdb8b6c(0x266)](_0xdb8b6c(0x13e));});_0x558b46[_0x34b893(0x1fe)]&&(messageData=_0x558b46[_0x558b46[_0x34b893(0x1fe)]-0x1]['info']+'\x00'+String['fromCharCode'](..._0x558b46[_0x558b46[_0x34b893(0x1fe)]-0x1]['data']),_0x46f0d0[_0x34b893(0x2e0)][_0x34b893(0x17c)]=_0x49263f(messageData,_0x46f0d0['metadata'][_0x34b893(0x2d9)]));}}(_0x46f0d0[_0x34b893(0x2e0)]['id']==0x0||_0x192708[_0x34b893(0x2c5)]()&&timecode_offset==0x0)&&(presentationTime=_0x46f0d0[_0x34b893(0x2e0)][_0x34b893(0x2d9)]*0x3e8,offsetTimeCode=new Date(tcTimeStamp-timecode_offset),offsetTimeCodeframeNumber=Math[_0x34b893(0x1b2)](offsetTimeCode[_0x34b893(0x221)]()*0x1e*0x2/0x3e9)/0x2,decimalPartOff=offsetTimeCodeframeNumber%0x1,partoff=0x1,decimalPartOff==0.5&&(offsetTimeCodeframeNumber=Math['floor'](offsetTimeCodeframeNumber),partoff=0x2),_0x2821bb=[offsetTimeCode[_0x34b893(0x1a7)](),offsetTimeCode[_0x34b893(0x189)](),offsetTimeCode['getUTCSeconds'](),parseInt(offsetTimeCodeframeNumber),partoff==0x1?0x0:0x1]);}}function _0x1e5075(_0x2f32cd){const _0x5b0227=_0x428903;if(typeof globalConfig!=='undefined'){if(typeof globalConfig[_0x5b0227(0x2e8)]!==_0x5b0227(0x1a8)){if(globalConfig[_0x5b0227(0x2e8)]=='no')return;}}if(BB['Utils'][_0x5b0227(0x13c)](_0x578e33[_0x5b0227(0x22f)])==0x7530/0x3e9){let _0x56aa18={'frame':0x0,'playerTime':0x0};_0x56aa18[_0x5b0227(0x1e0)]=BB['Utils']['TimeCodesFramesTranslator'][_0x5b0227(0x193)](_0x2821bb,0x7530/0x3e9,![]),_0x56aa18[_0x5b0227(0x1dd)]=BB[_0x5b0227(0x128)][_0x5b0227(0x158)][_0x5b0227(0x22d)](_0x2821bb,![],![]),console['log'](_0x5b0227(0x1cd)+_0x2f32cd[_0x5b0227(0x14c)]+'):\x20'+_0x56aa18[_0x5b0227(0x1dd)]+'\x20('+_0x56aa18[_0x5b0227(0x1e0)]+')'+_0x5b0227(0x241)+_0x2f32cd['playbackTime']),_0x56aa18['playerTime']=_0x2f32cd['playbackTime'],_0x578e33[_0x5b0227(0x25d)]=_0x56aa18;}else{if(BB[_0x5b0227(0x128)][_0x5b0227(0x13c)](_0x578e33[_0x5b0227(0x22f)])==0xea60/0x3e9){let _0x322973={'frame':0x0,'playerTime':0x0};_0x322973['frame']=BB[_0x5b0227(0x128)][_0x5b0227(0x158)]['Timecode2Frames'](_0x2821bb,0xea60/0x3e9,!![]),_0x322973[_0x5b0227(0x1dd)]=BB[_0x5b0227(0x128)][_0x5b0227(0x158)][_0x5b0227(0x22d)](_0x2821bb,!![],!![]),console[_0x5b0227(0x21d)](_0x5b0227(0x1cd)+_0x2f32cd[_0x5b0227(0x14c)]+_0x5b0227(0x2d5)+_0x322973[_0x5b0227(0x1dd)]+'\x20('+_0x322973[_0x5b0227(0x1e0)]+')'+_0x5b0227(0x241)+_0x2f32cd[_0x5b0227(0x1a6)]),_0x322973['playerTime']=_0x2f32cd[_0x5b0227(0x1a6)],_0x578e33[_0x5b0227(0x25d)]=_0x322973;}}_0x2f32cd[_0x5b0227(0xee)]['includes'](_0x5b0227(0x2ab))&&console[_0x5b0227(0x21d)](_0x5b0227(0x16a)+_0x2f32cd['url']);}function _0x1c370e(_0xd49835){const _0x5ce056=_0x428903;switch(_0xd49835[_0x5ce056(0x293)]){case wmcEvents['AMC_EVENT_PLAYER_SEGMENT_PLAYBACK']:let _0x48af86={'frame':0x0,'playerTime':0x0};BB[_0x5ce056(0x128)][_0x5ce056(0x13c)](_0x578e33[_0x5ce056(0x22f)])==0x7530/0x3e9&&(console[_0x5ce056(0x21d)]('New\x20segment\x20('+_0xd49835[_0x5ce056(0x14c)]+'):\x20'+BB[_0x5ce056(0x128)][_0x5ce056(0x158)][_0x5ce056(0x10b)](_0xd49835['dateTime'],0x7530/0x3e9)+'\x20playing\x20at\x20'+_0xd49835[_0x5ce056(0x1a6)]),_0x48af86['frame']=BB[_0x5ce056(0x128)][_0x5ce056(0x158)][_0x5ce056(0x193)](BB[_0x5ce056(0x128)][_0x5ce056(0x158)][_0x5ce056(0x2b5)](_0xd49835['dateTime'],0x7530/0x3e9),0x7530/0x3e9,![]),_0x48af86['stringTime']=BB[_0x5ce056(0x128)][_0x5ce056(0x158)][_0x5ce056(0x10b)](_0xd49835[_0x5ce056(0x123)],0x7530/0x3e9));BB[_0x5ce056(0x128)]['getSourceFPS'](_0x578e33[_0x5ce056(0x22f)])==0xea60/0x3e9&&(console[_0x5ce056(0x21d)](_0x5ce056(0x1cd)+_0xd49835['url']+'):\x20'+BB['Utils']['TimeCodesFramesTranslator'][_0x5ce056(0x10b)](_0xd49835['dateTime'],0xea60/0x3e9)+_0x5ce056(0x241)+_0xd49835['playbackTime']),_0x48af86[_0x5ce056(0x1e0)]=BB[_0x5ce056(0x128)]['TimeCodesFramesTranslator']['Timecode2Frames'](BB[_0x5ce056(0x128)][_0x5ce056(0x158)][_0x5ce056(0x2b5)](_0xd49835[_0x5ce056(0x123)]),fps,!![]),_0x48af86[_0x5ce056(0x1dd)]=BB[_0x5ce056(0x128)]['TimeCodesFramesTranslator']['timeDate2TCString'](_0xd49835[_0x5ce056(0x123)],0xea60/0x3e9));_0x48af86[_0x5ce056(0xe5)]=_0xd49835[_0x5ce056(0x1a6)],_0x578e33['syncPoint']=_0x48af86;break;default:}}let _0x405525=BB['Utils']['TimeCodesFramesTranslator'],_0x3a82ac=BB[_0x428903(0x128)]['getSourceFPS'](_0x578e33[_0x428903(0x22f)]),_0x3828bd=BB['Utils'][_0x428903(0x1f5)](_0x578e33[_0x428903(0x22f)]);refreshRate=_0x578e33[_0x428903(0x2d6)];let _0x1f0509=null,_0x85562b=null,_0x1d5356=null;if(_0x578e33['renderingMode']==BB[_0x428903(0x11b)]['Augment']){}else{let _0x562626=document[_0x428903(0x184)](_0x428903(0x226));_0x562626[_0x428903(0x1d9)]=0x1f4,_0x562626[_0x428903(0x120)]=0x1f4,document[_0x428903(0x23b)][_0x428903(0x2bd)](_0x562626),_0x1d5356=_0x562626[_0x428903(0x11e)](_0x428903(0x16b));}let _0x192708=BB[_0x428903(0x128)][_0x428903(0x272)],_0x4142a4=-0x1,_0x2fc669=![];const _0x8e0459=(_0x25db04,_0x310ca5)=>{const _0x32ad72=_0x428903,_0x754dd=performance[_0x32ad72(0x171)]();if(_0x4142a4==_0x25db04&&_0x310ca5==_0x2fc669){if(_0x578e33['debug'])console[_0x32ad72(0x180)]('render():\x20lastVideoFrameRenderedInGL==currentFrame:\x20'+_0x25db04);return 0x0;}if(!_0x578e33[_0x32ad72(0x271)]||_0x578e33['stopAugment'])return _0x85562b[_0x32ad72(0x2ad)](),0x0;if(_0x578e33[_0x32ad72(0x253)]==BB['RenderingMode'][_0x32ad72(0x2e1)])renderDigit(_0x1d5356,_0x25db04);else{if(_0x578e33[_0x32ad72(0x253)]==BB['RenderingMode'][_0x32ad72(0x2a3)]){if(_0x3a82ac==0xea60/0x3e9||_0x3a82ac==0x3c)renderTimecode(_0x1d5356,_0x405525[_0x32ad72(0x1d0)](_0x25db04,_0x3a82ac,!![]),!![]);else{if(_0x3a82ac==0x7530/0x3e9||_0x3a82ac==0x1e)renderTimecode(_0x1d5356,_0x405525['Frames2Timecode'](_0x25db04,_0x3a82ac,![]),![]);}}else{if(_0x578e33[_0x32ad72(0x253)]==BB[_0x32ad72(0x11b)][_0x32ad72(0xfe)]){if(_0x3a82ac==0xea60/0x3e9||_0x3a82ac==0x3c)_0x85562b[_0x32ad72(0x28b)](_0x405525[_0x32ad72(0x22d)](_0x405525[_0x32ad72(0x1d0)](_0x25db04,_0x3a82ac,!![])));else(_0x3a82ac==0x7530/0x3e9||_0x3a82ac==0x1e)&&(_0x310ca5?_0x85562b[_0x32ad72(0x28b)](_0x405525[_0x32ad72(0x22d)](_0x405525[_0x32ad72(0x1d0)](_0x25db04*0x2+0x1,_0x3a82ac*0x2,!![]),!![])):_0x85562b[_0x32ad72(0x28b)](_0x405525[_0x32ad72(0x22d)](_0x405525[_0x32ad72(0x1d0)](_0x25db04,_0x3a82ac,![]),![])));}}}_0x4142a4=_0x25db04,_0x2fc669=_0x310ca5;const _0xf50c95=performance[_0x32ad72(0x171)]();return _0xf50c95-_0x754dd;};let _0x56a5ed=0x0,_0x58e3b1=0x0,_0x4b7180=0x20,_0x10be09=0x20,_0xb638bc='',_0x3dc15b=0x0,_0x4011ae,_0x3bbaa7=function(_0x5aa5b7,_0x49ae79){const _0x4c8f53=_0x428903;if(_0xb638bc==_0x4c8f53(0x160)){if(_0x578e33['debug'])console[_0x4c8f53(0x180)]('This\x20videoCallback\x20can\x20be\x20incorrect.\x20This\x20time\x20doing\x20stuff\x20in\x20requestAnimation\x20frame');_0x4dfc18[_0x4c8f53(0x2cf)](_0x3bbaa7);return;}_0xb638bc=_0x4c8f53(0x2cc),lastNow=_0x5aa5b7;let _0x38d4da=(_0x49ae79['mediaTime']-_0x578e33[_0x4c8f53(0x25d)][_0x4c8f53(0xe5)])%(0x3c*0x3c*0x18)*_0x3828bd,_0x5dc165=_0x49ae79[_0x4c8f53(0xe2)]-_0x578e33['syncPoint'][_0x4c8f53(0xe5)];lastFrameFromVideoCallback=Math[_0x4c8f53(0x29b)](_0x38d4da+0.1)+_0x578e33[_0x4c8f53(0x25d)][_0x4c8f53(0x1e0)];if(_0x578e33[_0x4c8f53(0x1cf)]){var _0x550b73=document['getElementById'](_0x4c8f53(0x1d3))[_0x4c8f53(0x1e4)],_0x1117e7=parseInt(_0x550b73);lastFrameFromVideoCallback+=_0x1117e7;}else lastFrameFromVideoCallback+=0x1;_0x49d25c=_0x49ae79[_0x4c8f53(0xe2)];let _0x2d2ee4=_0x4dfc18[_0x4c8f53(0x2a7)],_0x167926=document['getElementById']('debugText2');var _0x4dc95a='';if(BB[_0x4c8f53(0x128)][_0x4c8f53(0x13c)](_0x578e33[_0x4c8f53(0x22f)])==0xea60/0x3e9)_0x4dc95a=_0x405525[_0x4c8f53(0x22d)](_0x405525[_0x4c8f53(0x1d0)](lastFrameFromVideoCallback,_0x3a82ac,!![]),!![],!![]);else BB[_0x4c8f53(0x128)]['getSourceFPS'](_0x578e33[_0x4c8f53(0x22f)])==0x7530/0x3e9?_0x4dc95a=_0x405525[_0x4c8f53(0x22d)](_0x405525[_0x4c8f53(0x1d0)](lastFrameFromVideoCallback,_0x3a82ac,![]),![],![]):_0x4dc95a=_0x4c8f53(0x225);var _0x556bd2='';if(BB['Utils'][_0x4c8f53(0x13c)](_0x578e33['frameRateMode'])==0xea60/0x3e9)_0x556bd2=_0x405525[_0x4c8f53(0x22d)](_0x405525[_0x4c8f53(0x1d0)](_0x578e33[_0x4c8f53(0x187)][_0x4c8f53(0x2ea)],_0x3a82ac,!![]),!![],!![]);else BB[_0x4c8f53(0x128)][_0x4c8f53(0x13c)](_0x578e33[_0x4c8f53(0x22f)])==0x7530/0x3e9?_0x556bd2=_0x405525[_0x4c8f53(0x22d)](_0x405525[_0x4c8f53(0x1d0)](_0x578e33[_0x4c8f53(0x187)][_0x4c8f53(0x2ea)],_0x3a82ac,![]),![],![]):_0x556bd2=_0x4c8f53(0x225);let _0x577c26=lastFrameFromVideoCallback-_0x578e33['augmentation'][_0x4c8f53(0x2ea)];if(_0x1f0509)_0x1f0509['setLastFrame'](_0x577c26);var _0x2844a2='';if(BB['Utils'][_0x4c8f53(0x13c)](_0x578e33[_0x4c8f53(0x22f)])==0xea60/0x3e9)_0x2844a2=_0x405525['printTimecode'](_0x405525[_0x4c8f53(0x1d0)](_0x577c26,_0x3a82ac,!![]),!![],!![]);else BB[_0x4c8f53(0x128)][_0x4c8f53(0x13c)](_0x578e33['frameRateMode'])==0x7530/0x3e9?_0x2844a2=_0x405525['printTimecode'](_0x405525[_0x4c8f53(0x1d0)](_0x577c26,_0x3a82ac,![]),![],![]):_0x2844a2=_0x4c8f53(0x225);let _0x2b5fc5=Date[_0x4c8f53(0x171)]()-_0x58e3b1,_0xa41691=new Date(),_0x48da84=String(_0xa41691[_0x4c8f53(0x236)]())[_0x4c8f53(0x1df)](0x2,'0'),_0x4ba209=String(_0xa41691['getMinutes']())[_0x4c8f53(0x1df)](0x2,'0'),_0x1d5b4f=String(_0xa41691['getSeconds']())[_0x4c8f53(0x1df)](0x2,'0'),_0x4f27e2=String(_0xa41691['getMilliseconds']())['padStart'](0x3,'0'),_0x5c8565=_0x48da84+':'+_0x4ba209+':'+_0x1d5b4f+'.'+_0x4f27e2;if(_0x578e33[_0x4c8f53(0x1cf)]){if(_0x578e33['augmentation']['offset']!=_0x3dc15b||_0x4011ae<0xa*0x3c)var _0xda8a2d=_0x4c8f53(0x1be);else var _0xda8a2d=_0x4c8f53(0xef);_0x167926[_0x4c8f53(0xea)]=_0x4c8f53(0x214)+'\x20Game:\x20'+_0x578e33['gameId']+_0x4c8f53(0x202)+_0x5c8565+',\x20PlayerTime:'+_0x49ae79[_0x4c8f53(0xe2)][_0x4c8f53(0x1e9)](0x4)+_0x4c8f53(0x219)+_0x4dc95a+_0x4c8f53(0x1ae)+_0xda8a2d+'\x27>'+_0x578e33['augmentation'][_0x4c8f53(0x2ea)]+'('+_0x556bd2+_0x4c8f53(0x108)+_0x4c8f53(0xe9)+_0x2844a2+',\x20TimeFromLastSync:'+_0x5dc165[_0x4c8f53(0x1e9)](0x4)+_0x4c8f53(0x240)+_0x578e33[_0x4c8f53(0x25d)]['playerTime'][_0x4c8f53(0x1e9)](0x4)+_0x4c8f53(0x224)+_0x578e33[_0x4c8f53(0x25d)][_0x4c8f53(0x1e0)]+',\x20LastSyncPoint:'+_0x578e33['syncPoint'][_0x4c8f53(0x1dd)]+_0x4c8f53(0x294),_0x578e33[_0x4c8f53(0x187)]['offset']!=_0x3dc15b&&(_0x4011ae=0x0),_0x3dc15b=_0x578e33[_0x4c8f53(0x187)][_0x4c8f53(0x2ea)],_0x4011ae++;}_0x56a5ed++,_0x58e3b1=Date[_0x4c8f53(0x171)]();let _0x20ab9d=![];if(_0x578e33[_0x4c8f53(0x1cf)]){var _0x57710d=document['getElementById'](_0x4c8f53(0x13d));_0x20ab9d=_0x57710d[_0x4c8f53(0x28d)];}let _0x1f63a3=0x0;if(BB['Utils'][_0x4c8f53(0x13c)](_0x578e33['frameRateMode'])==0x7530/0x3e9){let _0x5cf5e2=0x18,_0x50cfdf=0x21+(0x21-_0x5cf5e2);_0x2b5fc5<_0x5cf5e2&&_0x4b7180<_0x50cfdf||_0x4b7180<_0x5cf5e2&&_0x2b5fc5<_0x50cfdf||_0x10be09<_0x5cf5e2&&_0x4b7180<_0x50cfdf&&_0x2b5fc5<_0x50cfdf||_0x20ab9d==!![]?(_0x167926['innerHTML']+=_0x4c8f53(0x16d),setTimeout(function(){_0x8e0459(_0x577c26,![]);},0xa)):_0x8e0459(_0x577c26,![]);}else BB['Utils']['getSourceFPS'](_0x578e33[_0x4c8f53(0x22f)])==0xea60/0x3e9?_0x1f63a3=_0x8e0459(_0x577c26,![]):console[_0x4c8f53(0x180)](_0x4c8f53(0x145));_0x10be09=_0x4b7180,_0x4b7180=_0x2b5fc5;_0x578e33['debug']&&console[_0x4c8f53(0x180)](_0x4c8f53(0x190)+_0x4c8f53(0x1f1)+_0x5c8565+',\x20rendering:\x20'+_0x4dc95a+_0x4c8f53(0x200)+_0x1f63a3[_0x4c8f53(0x1e9)](0x4)+_0x4c8f53(0x131));_0x4dfc18[_0x4c8f53(0x2cf)](_0x3bbaa7);return;};const _0x19e7ef=_0x4d3efe=>{const _0x1a83fe=_0x428903;let _0x2ab7dd=new Date(),_0x3a3a8d=String(_0x2ab7dd[_0x1a83fe(0x236)]())[_0x1a83fe(0x1df)](0x2,'0'),_0x43d1b2=String(_0x2ab7dd[_0x1a83fe(0x191)]())[_0x1a83fe(0x1df)](0x2,'0'),_0x2b2caa=String(_0x2ab7dd[_0x1a83fe(0x188)]())[_0x1a83fe(0x1df)](0x2,'0'),_0x404eb7=String(_0x2ab7dd['getMilliseconds']())['padStart'](0x3,'0'),_0x3303f9=_0x3a3a8d+':'+_0x43d1b2+':'+_0x2b2caa+'.'+_0x404eb7;if(_0x4dfc18['paused']){window[_0x1a83fe(0x270)](_0x19e7ef);return;}let _0x4a416d=document[_0x1a83fe(0x1e6)]('debugText');if(_0x578e33[_0x1a83fe(0x1cf)])_0x4a416d['innerHTML']=_0x1a83fe(0x2bb)+_0x1a83fe(0x2be)+_0x3303f9;if(_0xb638bc=='ANI'||_0xb638bc==_0x1a83fe(0x160)){var _0x4c4d65='';if(BB[_0x1a83fe(0x128)]['getSourceFPS'](_0x578e33[_0x1a83fe(0x22f)])==0xea60/0x3e9)_0x4c4d65=_0x405525[_0x1a83fe(0x22d)](_0x405525[_0x1a83fe(0x1d0)](_0x4142a4+0x1,_0x3a82ac,!![]),!![],!![]);else BB[_0x1a83fe(0x128)][_0x1a83fe(0x13c)](_0x578e33[_0x1a83fe(0x22f)])==0x7530/0x3e9?_0x4c4d65=_0x405525[_0x1a83fe(0x22d)](_0x405525[_0x1a83fe(0x1d0)](_0x4142a4+0x1,_0x3a82ac,![]),![],![]):_0x4c4d65=_0x1a83fe(0x225);var _0x54d39e='';if(BB[_0x1a83fe(0x128)][_0x1a83fe(0x13c)](_0x578e33['frameRateMode'])==0xea60/0x3e9)_0x54d39e=_0x405525[_0x1a83fe(0x22d)](_0x405525[_0x1a83fe(0x1d0)](_0x578e33[_0x1a83fe(0x187)][_0x1a83fe(0x2ea)],_0x3a82ac,!![]),!![],!![]);else BB[_0x1a83fe(0x128)][_0x1a83fe(0x13c)](_0x578e33['frameRateMode'])==0x7530/0x3e9?_0x54d39e=_0x405525[_0x1a83fe(0x22d)](_0x405525[_0x1a83fe(0x1d0)](_0x578e33[_0x1a83fe(0x187)][_0x1a83fe(0x2ea)],_0x3a82ac,![]),![],![]):_0x54d39e=_0x1a83fe(0x225);let _0x107484=_0x4142a4-_0x578e33['augmentation'][_0x1a83fe(0x2ea)];var _0x3d8994='';if(BB[_0x1a83fe(0x128)][_0x1a83fe(0x13c)](_0x578e33[_0x1a83fe(0x22f)])==0xea60/0x3e9)_0x3d8994=_0x405525[_0x1a83fe(0x22d)](_0x405525['Frames2Timecode'](_0x107484,_0x3a82ac,!![]),!![],!![]);else BB[_0x1a83fe(0x128)][_0x1a83fe(0x13c)](_0x578e33[_0x1a83fe(0x22f)])==0x7530/0x3e9?_0x3d8994=_0x405525['printTimecode'](_0x405525[_0x1a83fe(0x1d0)](_0x107484,_0x3a82ac,![]),![],![]):_0x3d8994=_0x1a83fe(0x225);_0x578e33[_0x1a83fe(0x1cf)]&&(console[_0x1a83fe(0x180)](_0x1a83fe(0x19f)+_0x4c4d65+')'+_0x1a83fe(0xe1)+_0xb638bc),_0x4a416d['innerHTML']+=_0x1a83fe(0x24a));let _0x4e0639=_0x8e0459(_0x4142a4+0x1,![]);if(_0x578e33[_0x1a83fe(0x1cf)])console[_0x1a83fe(0x180)](_0x1a83fe(0x124)+'\x20Time\x20Fired:\x20'+_0x3303f9+_0x1a83fe(0x2ec)+_0x1a83fe(0x2ba)+_0x4c4d65+_0x1a83fe(0x10d)+_0x578e33[_0x1a83fe(0x187)]['offset']+'('+_0x54d39e+')'+',\x20resultTime:\x20'+_0x3d8994+_0x1a83fe(0x200)+_0x4e0639[_0x1a83fe(0x1e9)](0x4)+_0x1a83fe(0x131));if(_0xb638bc==_0x1a83fe(0x2c7))_0xb638bc='ANI2';else{if(_0xb638bc=='ANI2')_0xb638bc=_0x1a83fe(0x2c7);}}else{if(_0x578e33[_0x1a83fe(0x1cf)])console[_0x1a83fe(0x180)](_0x1a83fe(0x124)+_0x1a83fe(0x2be)+_0x3303f9);_0xb638bc=_0x1a83fe(0x2c7);}window[_0x1a83fe(0x270)](_0x19e7ef);};let _0x44e0b0=_0x578e33['frameRateMode']==BB[_0x428903(0x1af)][_0x428903(0x2b2)]?-0.04:+0.05,_0x5340dd=0x0,_0x1e834d={},_0x2c71b4=0x0,_0x230352=0x0,_0xd8713=0x0,_0xe6e7f8=0x0,_0x49e545=0x0,_0x49d25c=-0x1,_0x40e36d=0x0,_0x5af97b=![],_0x38ccf0=0x0,_0x2966d2=0x0,_0x451631=![];const _0x1b66c0=_0xaf51e7=>{const _0x4bd679=_0x428903;var _0x174842=0x2;if(_0x578e33[_0x4bd679(0x1cf)]){let _0x222652=document['getElementById'](_0x4bd679(0x18b));var _0x4fd1ea=document[_0x4bd679(0x1e6)]('numberInput')[_0x4bd679(0x1e4)];_0x174842=parseInt(_0x4fd1ea);}var _0x3fbe8a=0x0,_0x3890fb=(_0x4dfc18[_0x4bd679(0x2a7)]-_0x578e33[_0x4bd679(0x25d)][_0x4bd679(0xe5)])%(0x3c*0x3c*0x18)*_0x3828bd;_0x3fbe8a=Math[_0x4bd679(0x29b)](_0x3890fb)+_0x578e33[_0x4bd679(0x25d)][_0x4bd679(0x1e0)],_0x3fbe8a+=_0x174842;var _0x5dc1f9=_0x3890fb-Math[_0x4bd679(0x29b)](_0x3890fb);if(_0x451631||_0x5dc1f9<0.226)_0x451631=!![];if(_0x5dc1f9>0.8)_0x451631=![];if(_0x451631)_0x3fbe8a--;var _0x216289='';if(BB[_0x4bd679(0x128)]['getSourceFPS'](_0x578e33[_0x4bd679(0x22f)])==0xea60/0x3e9)_0x216289=_0x405525[_0x4bd679(0x22d)](_0x405525[_0x4bd679(0x1d0)](_0x3fbe8a,_0x3a82ac,!![]),!![],!![]);else BB['Utils']['getSourceFPS'](_0x578e33[_0x4bd679(0x22f)])==0x7530/0x3e9?_0x216289=_0x405525['printTimecode'](_0x405525[_0x4bd679(0x1d0)](_0x3fbe8a,_0x3a82ac,![]),![],![]):_0x216289=_0x4bd679(0x225);var _0x2c437f='';if(BB['Utils'][_0x4bd679(0x13c)](_0x578e33['frameRateMode'])==0xea60/0x3e9)_0x2c437f=_0x405525[_0x4bd679(0x22d)](_0x405525[_0x4bd679(0x1d0)](_0x578e33[_0x4bd679(0x187)][_0x4bd679(0x2ea)],_0x3a82ac,!![]),!![],!![]);else BB[_0x4bd679(0x128)][_0x4bd679(0x13c)](_0x578e33['frameRateMode'])==0x7530/0x3e9?_0x2c437f=_0x405525[_0x4bd679(0x22d)](_0x405525[_0x4bd679(0x1d0)](_0x578e33[_0x4bd679(0x187)]['offset'],_0x3a82ac,![]),![],![]):_0x2c437f='NOT\x20SUPPORTED';let _0x19c71a=_0x3fbe8a-_0x578e33[_0x4bd679(0x187)][_0x4bd679(0x2ea)];if(_0x1f0509)_0x1f0509[_0x4bd679(0xdc)](_0x19c71a);_0x8e0459(_0x19c71a),_0x4df4c4++,window[_0x4bd679(0x270)](_0x1b66c0);return;},_0x40ea2f=(_0x355dab,_0x277937)=>{const _0x429e4f=_0x428903;let _0x174415=_0x277937['mediaTime']*_0x3828bd;var _0x551af2=0x0;if(_0x578e33[_0x429e4f(0x1cf)]){var _0x3112e5=document['getElementById'](_0x429e4f(0x1d3))[_0x429e4f(0x1e4)];_0x551af2=parseInt(_0x3112e5);}_0x174415+=_0x551af2,_0x49e545=Math[_0x429e4f(0x29b)](_0x174415);var _0x2f36a9='';if(BB[_0x429e4f(0x128)][_0x429e4f(0x13c)](_0x578e33[_0x429e4f(0x22f)])==0xea60/0x3e9)_0x2f36a9=_0x405525[_0x429e4f(0x22d)](_0x405525[_0x429e4f(0x1d0)](_0x49e545,_0x3a82ac,!![]),!![],!![]);else BB[_0x429e4f(0x128)][_0x429e4f(0x13c)](_0x578e33['frameRateMode'])==0x7530/0x3e9?_0x2f36a9=_0x405525['printTimecode'](_0x405525[_0x429e4f(0x1d0)](_0x49e545,_0x3a82ac,![]),![],![]):_0x2f36a9='NOT\x20SUPPORTED';let _0x4386a0=document['getElementById'](_0x429e4f(0x1d4));_0x4386a0[_0x429e4f(0xd7)]='\x20dblFrame:\x20'+_0x174415[_0x429e4f(0x1e9)](0x4)+'\x20Frame:\x20'+_0x49e545+_0x429e4f(0x1c0)+_0xe6e7f8+_0x429e4f(0x2d2)+_0x2f36a9,_0xe6e7f8++,_0x49d25c=_0x277937[_0x429e4f(0xe2)],_0x4dfc18[_0x429e4f(0x2cf)](_0x40ea2f);return;_0xd8713=_0x355dab,_0x1e834d=_0x277937;let _0x7ddeb9=_0x4dfc18[_0x429e4f(0x2a7)],_0x8cc5e3=(_0x7ddeb9-_0x277937[_0x429e4f(0xe2)])*0x3e8;_0x5340dd=_0x8cc5e3,_0x4dfc18[_0x429e4f(0x2cf)](_0x40ea2f);};let _0x573894=-0x1,_0x539cfc=0x270f,_0x5ae23b=0x0,_0x4df4c4=0x0,_0x44834a=0x0;console[_0x428903(0x180)](_0x428903(0x265)),console[_0x428903(0x180)](_0x428903(0xd6));typeof window!==_0x428903(0x1a8)?console['BBlog']('The\x20window\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.'):console['BBlog'](_0x428903(0x269));'requestAnimationFrame'in window?console[_0x428903(0x180)](_0x428903(0x29c)):console['BBlog'](_0x428903(0x147));typeof _0x4dfc18!==_0x428903(0x1a8)?console[_0x428903(0x180)](_0x428903(0x216)):console[_0x428903(0x180)](_0x428903(0x279));_0x428903(0x2cf)in _0x4dfc18?console[_0x428903(0x180)]('requestVideoFrameCallback\x20is\x20supported'):console['BBlog'](_0x428903(0x28c));if(_0x192708[_0x428903(0x23a)]()||_0x192708[_0x428903(0x26b)]()||_0x192708[_0x428903(0x29f)]())window[_0x428903(0x270)](_0x19e7ef),_0x4dfc18[_0x428903(0x164)]>=0x2?(console[_0x428903(0x180)]('video\x20element\x20is\x20already\x20loaded.\x20Setting\x20up\x20requestVideoFrameCallback'),_0x4dfc18[_0x428903(0x2cf)](_0x3bbaa7)):(console[_0x428903(0x180)](_0x428903(0x285)),_0x4dfc18[_0x428903(0x176)](_0x428903(0xe3),()=>{_0x4dfc18['requestVideoFrameCallback'](_0x3bbaa7);}));else _0x192708['isSafariMac']()?window[_0x428903(0x270)](_0x1b66c0):console[_0x428903(0x180)](_0x428903(0x138));console[_0x428903(0x180)](_0x428903(0x157)),console[_0x428903(0x180)](_0x428903(0xe8));function _0x59664b(){return new Promise(_0x2f02e1=>{let _0x158436=0x0;const _0x3c0976=[],_0xa6e2af=0x14;function _0x2e534f(_0x3bcc70){const _0x22a5c4=_0x1038;if(_0x158436){const _0x406c8e=_0x3bcc70-_0x158436,_0x38994b=0x3e8/_0x406c8e;if(!(_0x38994b===undefined)){if(_0x38994b>0x0&&_0x38994b<0xc8)_0x3c0976[_0x22a5c4(0x14b)](_0x38994b);}if(_0x3c0976[_0x22a5c4(0x1fe)]===_0xa6e2af){const _0x505950=_0x3c0976[_0x22a5c4(0x1e8)]((_0x40435f,_0x470377)=>_0x40435f+_0x470377,0x0)/_0xa6e2af;_0x2f02e1(Math[_0x22a5c4(0x1b2)](_0x505950));return;}}_0x158436=_0x3bcc70,requestAnimationFrame(_0x2e534f);}requestAnimationFrame(_0x2e534f);});}_0x59664b()[_0x428903(0x11a)](_0x4070db=>{const _0x5ce8c8=_0x428903;_0x578e33[_0x5ce8c8(0x277)]=_0x4070db,_0x578e33[_0x5ce8c8(0x277)]>0x46||_0x578e33[_0x5ce8c8(0x277)]<0x32?(console[_0x5ce8c8(0xed)](_0x5ce8c8(0xf7)+_0x4070db+_0x5ce8c8(0x26c)),_0x578e33['stopAugment']=!![]):console[_0x5ce8c8(0x180)](_0x5ce8c8(0xf7)+_0x4070db+_0x5ce8c8(0x295));});const _0x32d4d4=()=>{const _0x2bff77=_0x428903;let _0x471da4=_0x4dfc18[_0x2bff77(0x2b0)];_0x85562b=new BB[(_0x2bff77(0x2e9))](_0x471da4,_0x4dfc18,_0x578e33),ads=BB[_0x2bff77(0x2c1)](_0x85562b,_0x578e33),_0x1f0509=BB[_0x2bff77(0x1fc)](_0x578e33,_0x85562b);},_0xcb5e28=()=>{return _0x85562b['getCanvas']();},_0x15ac4c=_0x534ebc=>{_0x1e5075(_0x534ebc);},_0x1d0710=_0x30a71f=>{_0x32d34f(_0x30a71f);};return{'getCanvas':_0xcb5e28,'onNewSegmentInterface':_0x15ac4c,'onNewMetadataInterface':_0x1d0710,'initializeComponents':_0x32d4d4};},BB[_0x3b39db(0x2e9)]=class{constructor(_0x3234bc,_0x38423d,_0x3a1842){const _0x209823=_0x3b39db;if(_0x3a1842[_0x209823(0x187)]['renderTimecode']){this['digitImg']={};for(let _0x1d7148=0x0;_0x1d7148<0xa;++_0x1d7148){let _0x1179de=_0x1d7148+'.1',_0x159ea6=_0x1d7148+'.2';this['digitImg'][_0x1179de]=this[_0x209823(0xe4)](_0x1179de),this[_0x209823(0x1b8)][_0x159ea6]=this[_0x209823(0xe4)](_0x159ea6);}}this[_0x209823(0x13f)]=Object[_0x209823(0x2ae)]({'adLoopTime':0x1388,'isAdLoop':![]},_0x3a1842||{}),this[_0x209823(0x1b0)]=BB[_0x209823(0x128)][_0x209823(0x13c)](this[_0x209823(0x13f)][_0x209823(0x22f)]),this[_0x209823(0x1a2)]=[],this[_0x209823(0x2a1)]={},this[_0x209823(0xdb)]=![],this[_0x209823(0x1dc)]={},this[_0x209823(0xdd)]={},this[_0x209823(0x12c)]=null,this[_0x209823(0x226)]=document[_0x209823(0x184)](_0x209823(0x226)),this[_0x209823(0x20c)]=this[_0x209823(0x226)][_0x209823(0x11e)](_0x209823(0x2eb),{'premultipliedAlpha':![]});this[_0x209823(0x20c)]==null?(this['ctx']=this[_0x209823(0x226)][_0x209823(0x11e)]('webgl',{'premultipliedAlpha':![]}),this['webGLVersion']=0x1):this[_0x209823(0x21f)]=0x2;console[_0x209823(0x21d)]('Created\x20webgl1\x20context:\x20'+this[_0x209823(0x20c)]+_0x209823(0x276)+this[_0x209823(0x21f)]);let _0x26cfa4=_0x3234bc[_0x209823(0x249)],_0x892f84=_0x3234bc[_0x209823(0x1c8)],_0x455406=_0x3234bc[_0x209823(0x2e7)](_0x209823(0x2ab))[0x0];this[_0x209823(0x226)]['style'][_0x209823(0x2da)]=0x0,this[_0x209823(0x226)][_0x209823(0x238)][_0x209823(0x1c7)]=0x0,this['canvas']['style'][_0x209823(0x1d9)]='100%',this['canvas'][_0x209823(0x238)][_0x209823(0x159)]=0x186a0,this[_0x209823(0x226)][_0x209823(0x1d9)]=_0x3234bc['clientWidth'],this[_0x209823(0x226)][_0x209823(0x120)]=_0x3234bc[_0x209823(0x282)],this[_0x209823(0x226)][_0x209823(0x238)]['position']=_0x209823(0x1f2);let _0x218caa=_0x455406[_0x209823(0x196)];if(_0x218caa)_0x3234bc[_0x209823(0x264)](this[_0x209823(0x226)],_0x218caa);else _0x3234bc[_0x209823(0x2bd)](this[_0x209823(0x226)]);this[_0x209823(0x226)]['style'][_0x209823(0xda)]=_0x209823(0x113),_0x455406[_0x209823(0x176)](_0x209823(0x278),_0x5d5b68=>{this['OnUserClickOnCanvas'](_0x5d5b68);}),this['InitGL'](),this['adTexture']=null,this[_0x209823(0x10f)]={},this[_0x209823(0x198)]={},this[_0x209823(0x19e)]={},this['currentAds2BoundingRect']=[],this['lastTimeReportedIncomingTC']=0x0,this[_0x209823(0x1a4)]=null;}[_0x3b39db(0x260)](_0x33077f){return(_0x33077f&_0x33077f-0x1)==0x0;}[_0x3b39db(0xe4)](_0x3df1aa){const _0x2321f0=_0x3b39db;let _0x5364e7=document[_0x2321f0(0x184)](_0x2321f0(0x226));_0x5364e7[_0x2321f0(0x1d9)]=0x32,_0x5364e7[_0x2321f0(0x120)]=0x32;let _0x113674=_0x5364e7['getContext']('2d');_0x113674[_0x2321f0(0x291)]='black',_0x113674[_0x2321f0(0x117)](0x0,0x0,_0x5364e7[_0x2321f0(0x1d9)],_0x5364e7[_0x2321f0(0x120)]),_0x113674[_0x2321f0(0x130)]=_0x2321f0(0x212),_0x113674[_0x2321f0(0x291)]=_0x2321f0(0x15b),_0x113674[_0x2321f0(0x173)](_0x3df1aa,0xa,0x23);let _0x2fc4cc=_0x5364e7['toDataURL'](),_0x479159=document['createElement']('img');return _0x479159[_0x2321f0(0x14f)]=_0x2fc4cc,_0x479159;}[_0x3b39db(0x1d6)](_0x4f3495){const _0x562ee6=_0x3b39db,_0x2bd704=this[_0x562ee6(0x226)][_0x562ee6(0x111)]();let _0x259f6d=event[_0x562ee6(0x20d)]-_0x2bd704[_0x562ee6(0x1c7)],_0x4acfa4=event[_0x562ee6(0x11d)]-_0x2bd704['top'];_0x259f6d=_0x259f6d/(_0x2bd704[_0x562ee6(0x2bc)]-_0x2bd704[_0x562ee6(0x1c7)]),_0x4acfa4=_0x4acfa4/(_0x2bd704[_0x562ee6(0x14a)]-_0x2bd704['top']);for(let _0x5cb606 of this['currentAds2BoundingRect']){if(_0x5cb606[_0x562ee6(0x1ec)]['l']<=_0x259f6d&&_0x5cb606['rect']['r']>=_0x259f6d&&_0x5cb606[_0x562ee6(0x1ec)]['t']<=_0x4acfa4&&_0x5cb606[_0x562ee6(0x1ec)]['b']>=_0x4acfa4){let _0x591e49=_0x5cb606['name']['substring'](0x1);if(this[_0x562ee6(0xdd)][_0x591e49]){let _0x1f54ce=this[_0x562ee6(0xdd)][_0x591e49];console[_0x562ee6(0x21d)](_0x562ee6(0x299)+_0x591e49+_0x562ee6(0x1e3)+_0x1f54ce+'\x20!!!!!!!!!!!!!!!!!!!!!!'),window['open'](_0x1f54ce,'_blank');}return;}}}[_0x3b39db(0x289)](){return 0x0;}[_0x3b39db(0x1c4)](_0x39b7e3){const _0x118281=_0x3b39db;let _0x4adfb7=Object[_0x118281(0x2b9)](this['place2ad']);for(let _0x353bc7=0x0;_0x353bc7<_0x4adfb7[_0x118281(0x1fe)];++_0x353bc7){if(_0x39b7e3==_0x4adfb7[_0x353bc7])return _0x353bc7+0x1;}return 0x0;}['TexUnitForPlaceHolder'](_0xf698c9){const _0x1f35a9=_0x3b39db;let _0x297444=Object['keys'](this[_0x1f35a9(0x198)]);for(let _0x3f3699=0x0;_0x3f3699<_0x297444[_0x1f35a9(0x1fe)];++_0x3f3699){let _0x2b1b98=_0x297444[_0x3f3699];if(_0xf698c9['name']['indexOf'](_0x2b1b98)>=0x0)return _0x3f3699;}return 0x0;}[_0x3b39db(0x199)](_0xcd5d29){const _0x8aca9c=_0x3b39db;let _0x2261fa=Object[_0x8aca9c(0x2b9)](this[_0x8aca9c(0x198)]);for(let _0x49259d=0x0;_0x49259d<_0x2261fa[_0x8aca9c(0x1fe)];++_0x49259d){let _0x290aa8=_0x2261fa[_0x49259d];if(_0xcd5d29['name'][_0x8aca9c(0x1e7)](_0x290aa8)>=0x0&&this[_0x8aca9c(0x10f)]&&this[_0x8aca9c(0x10f)][_0x290aa8]&&this['place2AdTexture'][_0x290aa8]['name'])return this[_0x8aca9c(0x10f)][_0x290aa8][_0x8aca9c(0x1f8)];}return this[_0x8aca9c(0x246)];}[_0x3b39db(0x2cb)](){const _0x150319=_0x3b39db;return 0x1+Object[_0x150319(0x2b9)](this[_0x150319(0x198)])['length'];}[_0x3b39db(0x185)](){const _0x57fdc7=_0x3b39db;let _0x33f97b=BB['GL']['fragmentShaderSource'];if(BB['Utils'][_0x57fdc7(0x272)][_0x57fdc7(0x2c5)]())_0x33f97b=BB['GL'][_0x57fdc7(0x2aa)][_0x57fdc7(0x119)](_0x57fdc7(0x172),_0x57fdc7(0x148));this[_0x57fdc7(0xeb)]=webglUtils[_0x57fdc7(0x1b5)](this[_0x57fdc7(0x20c)],this['webGLVersion']==0x2?[BB['GL'][_0x57fdc7(0x281)],_0x33f97b]:[BB['GL'][_0x57fdc7(0x104)],BB['GL'][_0x57fdc7(0x24d)]]),this[_0x57fdc7(0x20c)]['clearColor'](0x0,0x0,0x0,0x0),this[_0x57fdc7(0x20c)][_0x57fdc7(0x143)](this[_0x57fdc7(0x20c)]['COLOR_BUFFER_BIT']),this[_0x57fdc7(0x20c)][_0x57fdc7(0x1cb)](this[_0x57fdc7(0xeb)]),this['counter']=0x0,this['CleanGL']();}[_0x3b39db(0x2ad)](){const _0x264498=_0x3b39db;this[_0x264498(0x226)][_0x264498(0x238)]['display']=_0x264498(0x113),this[_0x264498(0x1d1)]=0x0;}[_0x3b39db(0x273)](_0x44eee4,_0x403719,_0x31f995,_0x5ddf70,_0x4fb8cf,_0x1b9a2a,_0x5cf9fd){const _0xedc70a=_0x3b39db;_0x5cf9fd?this['ctx'][_0xedc70a(0x1b4)](this['ctx'][_0xedc70a(0xd4)],0x1):this[_0xedc70a(0x20c)]['pixelStorei'](this[_0xedc70a(0x20c)]['UNPACK_ALIGNMENT'],0x4);this[_0xedc70a(0x20c)][_0xedc70a(0x1b4)](this[_0xedc70a(0x20c)]['UNPACK_FLIP_Y_WEBGL'],![]);const _0x302013=this[_0xedc70a(0x20c)][_0xedc70a(0x25a)]();this[_0xedc70a(0x20c)][_0xedc70a(0x1a1)](this[_0xedc70a(0x20c)][_0xedc70a(0x22e)]+_0x403719),this[_0xedc70a(0x20c)]['bindTexture'](this[_0xedc70a(0x20c)][_0xedc70a(0x250)],_0x302013);try{_0x4fb8cf&&_0x1b9a2a?this[_0xedc70a(0x20c)]['texImage2D'](this[_0xedc70a(0x20c)]['TEXTURE_2D'],0x0,_0x5ddf70==null?this[_0xedc70a(0x20c)][_0xedc70a(0x192)]:_0x5ddf70,_0x4fb8cf,_0x1b9a2a,0x0,_0x5ddf70==null?this['ctx'][_0xedc70a(0x192)]:_0x5ddf70,this[_0xedc70a(0x20c)]['UNSIGNED_BYTE'],_0x44eee4):this[_0xedc70a(0x20c)][_0xedc70a(0x24b)](this[_0xedc70a(0x20c)][_0xedc70a(0x250)],0x0,_0x5ddf70==null?this[_0xedc70a(0x20c)][_0xedc70a(0x192)]:_0x5ddf70,this['ctx']['RGBA'],this[_0xedc70a(0x20c)][_0xedc70a(0x101)],_0x44eee4);}catch(_0x426ecc){return console[_0xedc70a(0x165)](_0x426ecc),null;}if(this['webGLVersion']==0x1){let _0x6f60b6=_0x4fb8cf||_0x44eee4[_0xedc70a(0x1d9)],_0x519b51=_0x1b9a2a||_0x44eee4['height'];_0x6f60b6&&this[_0xedc70a(0x260)](_0x6f60b6)&&_0x519b51&&this['isPowerOf2'](_0x519b51)?this[_0xedc70a(0x20c)]['generateMipmap'](this[_0xedc70a(0x20c)]['TEXTURE_2D']):(this[_0xedc70a(0x20c)][_0xedc70a(0x27a)](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_S'],this[_0xedc70a(0x20c)][_0xedc70a(0x1eb)]),this[_0xedc70a(0x20c)][_0xedc70a(0x27a)](this[_0xedc70a(0x20c)][_0xedc70a(0x250)],this[_0xedc70a(0x20c)]['TEXTURE_WRAP_T'],this[_0xedc70a(0x20c)][_0xedc70a(0x1eb)]),this[_0xedc70a(0x20c)][_0xedc70a(0x27a)](this[_0xedc70a(0x20c)][_0xedc70a(0x250)],this[_0xedc70a(0x20c)][_0xedc70a(0x12e)],this['ctx']['LINEAR']));}else this['ctx'][_0xedc70a(0x27a)](this[_0xedc70a(0x20c)][_0xedc70a(0x250)],this[_0xedc70a(0x20c)][_0xedc70a(0x1ff)],this[_0xedc70a(0x20c)][_0xedc70a(0x1eb)]),this[_0xedc70a(0x20c)][_0xedc70a(0x27a)](this[_0xedc70a(0x20c)]['TEXTURE_2D'],this[_0xedc70a(0x20c)][_0xedc70a(0x2a0)],this[_0xedc70a(0x20c)][_0xedc70a(0x1eb)]),this[_0xedc70a(0x20c)]['texParameteri'](this[_0xedc70a(0x20c)][_0xedc70a(0x250)],this[_0xedc70a(0x20c)][_0xedc70a(0x12e)],this[_0xedc70a(0x20c)]['LINEAR']),this[_0xedc70a(0x20c)][_0xedc70a(0x27a)](this[_0xedc70a(0x20c)][_0xedc70a(0x250)],this[_0xedc70a(0x20c)][_0xedc70a(0x2a2)],this[_0xedc70a(0x20c)]['LINEAR']);let _0x18640d=this[_0xedc70a(0x20c)][_0xedc70a(0x18e)](this[_0xedc70a(0xeb)],_0x31f995);return _0x18640d&&this[_0xedc70a(0x20c)][_0xedc70a(0x2a9)](_0x18640d,_0x403719),_0x302013;}['_nextAdvertisement'](){const _0x430ef3=_0x3b39db;this[_0x430ef3(0x1a4)]=setTimeout(()=>{const _0x79f621=_0x430ef3,_0x2d13dd=Object[_0x79f621(0x2b9)](this[_0x79f621(0x1dc)]);_0x2d13dd[_0x79f621(0x1fe)]&&(this[_0x79f621(0x107)](_0x2d13dd[Math['floor'](Math[_0x79f621(0x2c9)]()*_0x2d13dd[_0x79f621(0x1fe)])]),this[_0x79f621(0xf9)]());},this['options'][_0x430ef3(0x15f)]);}[_0x3b39db(0xd5)](_0x5590f9,_0x44f5b1,_0x478d68=null){const _0x2f15b7=_0x3b39db;if(_0x5590f9[_0x2f15b7(0x1e7)](_0x2f15b7(0x1c5))>-0x1){fetch(_0x44f5b1)['then'](async _0x5d20cb=>{const _0x22ede3=_0x2f15b7;this[_0x22ede3(0x198)]=await _0x5d20cb[_0x22ede3(0x1ac)](),this[_0x22ede3(0x19e)]={};let _0x1a7423=Object[_0x22ede3(0x2b9)](this['place2ad']);for(let _0x2f0ccf=0x0;_0x2f0ccf<_0x1a7423[_0x22ede3(0x1fe)];++_0x2f0ccf){let _0x255aab=_0x1a7423[_0x2f0ccf];if(_0x255aab=='urls'){this['ad2Url']=this[_0x22ede3(0x198)][_0x255aab],delete this[_0x22ede3(0x198)][_0x255aab];continue;}let _0x87d8a8=this[_0x22ede3(0x198)][_0x255aab];for(let _0x45ed4a=0x0;_0x45ed4a<_0x87d8a8['length'];++_0x45ed4a){let _0x2f86a0=_0x87d8a8[_0x45ed4a];this[_0x22ede3(0x19e)]['#'+_0x2f86a0]=_0x255aab;}}Object[_0x22ede3(0x2b9)](this[_0x22ede3(0x198)])['length']>0x0&&(console[_0x22ede3(0x21d)]('composer::AddAdvertisement:\x20place-to-ads\x20mapping:\x20',this[_0x22ede3(0x198)]),console[_0x22ede3(0x21d)](_0x22ede3(0x29d),this[_0x22ede3(0x19e)]),setTimeout(()=>{const _0x307822=_0x22ede3;this[_0x307822(0x1c9)]();},0xbb8));});if(_0x478d68)_0x478d68();return;}const _0x420c95=new Image();return _0x420c95['crossOrigin']='Anonymous',_0x420c95[_0x2f15b7(0x1d8)]=()=>{const _0x44ffdf=_0x2f15b7;let _0x5dba0a=Object[_0x44ffdf(0x2b9)](this[_0x44ffdf(0x1dc)])[_0x44ffdf(0x1fe)]===0x0;this['advertisementMap'][_0x5590f9]=_0x420c95;_0x5dba0a&&(this['SelectAd'](_0x5590f9),this[_0x44ffdf(0x13f)][_0x44ffdf(0x242)]&&(clearTimeout(this[_0x44ffdf(0x1a4)]),this[_0x44ffdf(0xf9)]()));if(_0x478d68)_0x478d68();},_0x420c95[_0x2f15b7(0xf0)]=()=>{const _0x5b9792=_0x2f15b7;alert(_0x5b9792(0x1b3)+_0x44f5b1+'\x20.');},_0x420c95[_0x2f15b7(0x14f)]=_0x44f5b1,_0x420c95;}[_0x3b39db(0x1c9)](){const _0x931709=_0x3b39db;if(this['place2ad']){let _0x20f7be=Object['keys'](this[_0x931709(0x198)]);for(let _0x17363b=0x0;_0x17363b<_0x20f7be['length'];++_0x17363b){let _0x13424c=_0x20f7be[_0x17363b];!this[_0x931709(0x10f)][_0x13424c]&&this[_0x931709(0x198)][_0x13424c][_0x931709(0x1fe)]>0x0&&(console[_0x931709(0x21d)]('MakeSureAdPerPlace:\x20Set\x20default\x20image\x20'+this['place2ad'][_0x13424c][0x0]+_0x931709(0x245)+_0x13424c),this[_0x931709(0x107)]('#'+this[_0x931709(0x198)][_0x13424c][0x0]));}}}[_0x3b39db(0x107)](_0x2d0308){const _0x4b7a98=_0x3b39db;console[_0x4b7a98(0x21d)](_0x4b7a98(0x1a3)+_0x2d0308);let _0x2008f9=this[_0x4b7a98(0x1dc)][_0x2d0308];if(!_0x2008f9)console[_0x4b7a98(0x165)]('SelectAd:\x20Failed\x20to\x20find\x20image\x20\x27'+_0x2d0308+'\x27');else{if(this[_0x4b7a98(0x19e)]&&this[_0x4b7a98(0x19e)][_0x2d0308]){let _0x1dc3b6=this['ad2place'][_0x2d0308];console[_0x4b7a98(0x21d)](_0x4b7a98(0x2ee)+_0x1dc3b6);let _0xbfbaf6=this[_0x4b7a98(0x1c4)](_0x1dc3b6),_0x196338='ad'+(_0xbfbaf6-0x1);if(this[_0x4b7a98(0x10f)][_0x1dc3b6])this[_0x4b7a98(0x20c)][_0x4b7a98(0x2b7)](this[_0x4b7a98(0x10f)][_0x1dc3b6][_0x4b7a98(0x12b)]);this[_0x4b7a98(0x10f)][_0x1dc3b6]={'tex':this[_0x4b7a98(0x273)](_0x2008f9,_0xbfbaf6,_0x196338),'texUnitId':_0xbfbaf6,'texName':_0x196338,'name':_0x2d0308};}else this['adTexture']!=null&&this[_0x4b7a98(0x20c)][_0x4b7a98(0x2b7)](this['adTexture']),this['adTexture']=this[_0x4b7a98(0x273)](_0x2008f9,this[_0x4b7a98(0x289)](),_0x4b7a98(0x118)),this[_0x4b7a98(0x244)]=_0x2008f9,this[_0x4b7a98(0x246)]=_0x2d0308;}}[_0x3b39db(0x1ca)](_0x2adc35){const _0x1c38dc=_0x3b39db;this[_0x1c38dc(0x2a1)][_0x2adc35[_0x1c38dc(0x256)]]=_0x2adc35,this[_0x1c38dc(0x1a2)][_0x1c38dc(0x14b)](_0x2adc35['timecode']);}[_0x3b39db(0x170)](){const _0x3458e3=_0x3b39db;(this['requestFullscreen']||this[_0x3458e3(0x26d)])[_0x3458e3(0x1fb)](this)['catch'](_0xcd6ad5=>{console['error'](_0xcd6ad5);});}[_0x3b39db(0x2d7)](){const _0xbd93b5=_0x3b39db;let _0x36df19=this[_0xbd93b5(0x20c)][_0xbd93b5(0x23d)](this[_0xbd93b5(0xeb)],'a_position'),_0x4d515b=this[_0xbd93b5(0x20c)][_0xbd93b5(0x18e)](this['program'],'u_resolution'),_0x4cf76c=this[_0xbd93b5(0x20c)][_0xbd93b5(0x18e)](this[_0xbd93b5(0xeb)],'u_resolution2');this['ctx']['uniform2f'](_0x4d515b,this[_0xbd93b5(0x20c)][_0xbd93b5(0x226)][_0xbd93b5(0x1d9)],this[_0xbd93b5(0x20c)][_0xbd93b5(0x226)]['height']),this[_0xbd93b5(0x20c)][_0xbd93b5(0xd2)](_0x4cf76c,this['ctx']['canvas']['width'],this[_0xbd93b5(0x20c)][_0xbd93b5(0x226)][_0xbd93b5(0x120)]);if(this[_0xbd93b5(0x21f)]==0x2){let _0x4bdaca=this['ctx']['getUniformLocation'](this[_0xbd93b5(0xeb)],_0xbd93b5(0x142)),_0xd01e96=[0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1];this[_0xbd93b5(0x20c)][_0xbd93b5(0x227)](_0x4bdaca,![],_0xd01e96);}let _0x321a98=null;this[_0xbd93b5(0x21f)]==0x2&&(_0x321a98=this[_0xbd93b5(0x20c)]['createVertexArray'](),this[_0xbd93b5(0x20c)][_0xbd93b5(0x230)](_0x321a98));let _0x5e7402=this['ctx'][_0xbd93b5(0xfb)]();this[_0xbd93b5(0x20c)][_0xbd93b5(0x166)](_0x36df19),this['ctx'][_0xbd93b5(0x239)](this[_0xbd93b5(0x20c)]['ARRAY_BUFFER'],_0x5e7402);let _0x358f3a=0x2,_0x559cf8=this[_0xbd93b5(0x20c)][_0xbd93b5(0x17e)],_0x7b1cac=![],_0xe1d334=0x0,_0x5950d6=0x0;this[_0xbd93b5(0x20c)][_0xbd93b5(0x2e5)](_0x36df19,_0x358f3a,_0x559cf8,_0x7b1cac,_0xe1d334,_0x5950d6);let _0x530d03=this['ctx'][_0xbd93b5(0xfb)]();this[_0xbd93b5(0x20c)][_0xbd93b5(0x239)](this[_0xbd93b5(0x20c)][_0xbd93b5(0x162)],_0x530d03),this[_0xbd93b5(0x20c)][_0xbd93b5(0x297)](this[_0xbd93b5(0x20c)][_0xbd93b5(0x162)],new Float32Array([0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1,0x1]),this['ctx'][_0xbd93b5(0x10a)]),this[_0xbd93b5(0x20c)]['viewport'](0x0,0x0,this['ctx']['canvas'][_0xbd93b5(0x1d9)],this['ctx']['canvas'][_0xbd93b5(0x120)]),this[_0xbd93b5(0x20c)]['clearColor'](0x0,0x0,0x0,0x0),this[_0xbd93b5(0x20c)]['clear'](this['ctx'][_0xbd93b5(0x16f)]|this[_0xbd93b5(0x20c)][_0xbd93b5(0x1b7)]),this[_0xbd93b5(0x20c)][_0xbd93b5(0x239)](this['ctx'][_0xbd93b5(0x162)],_0x5e7402),this[_0xbd93b5(0x178)](this[_0xbd93b5(0x20c)],0x0,0x0,this[_0xbd93b5(0x226)]['width'],this['canvas'][_0xbd93b5(0x120)]);let _0xca66b3=this[_0xbd93b5(0x20c)][_0xbd93b5(0x1f0)],_0x2c9476=0x6;this[_0xbd93b5(0x20c)][_0xbd93b5(0x267)](_0xca66b3,_0x5950d6,_0x2c9476);}[_0x3b39db(0x178)](_0x3d395d,_0x1a7058,_0x20f74f,_0x343241,_0x90ec3f){const _0x596bb1=_0x3b39db;let _0x4bdad2=_0x1a7058,_0x17fa09=_0x1a7058+_0x343241,_0xdba562=_0x20f74f,_0xb97f0=_0x20f74f+_0x90ec3f;this['ctx'][_0x596bb1(0x297)](this[_0x596bb1(0x20c)][_0x596bb1(0x162)],new Float32Array([_0x4bdad2,_0xdba562,_0x17fa09,_0xdba562,_0x4bdad2,_0xb97f0,_0x4bdad2,_0xb97f0,_0x17fa09,_0xdba562,_0x17fa09,_0xb97f0]),this[_0x596bb1(0x20c)][_0x596bb1(0x10a)]);}[_0x3b39db(0x28b)](_0x2cf942){const _0x3c7b0f=_0x3b39db;let _0x4df552=BB[_0x3c7b0f(0x128)][_0x3c7b0f(0x158)],_0x60140f=_0x4df552[_0x3c7b0f(0x207)](_0x2cf942),_0x35c8bb=_0x4df552[_0x3c7b0f(0x10e)](_0x60140f,0x1,this[_0x3c7b0f(0x1b0)]),_0x4e4c4d=_0x4df552['TimeCodeAddFrames'](_0x60140f,0x2,this['sourceFPS']),_0x110856=_0x4df552[_0x3c7b0f(0x22d)](_0x35c8bb),_0x57e41d=_0x4df552[_0x3c7b0f(0x22d)](_0x4e4c4d);this[_0x3c7b0f(0xdb)]=!![];const _0x36e5b4=performance[_0x3c7b0f(0x171)]();let _0x1d2b07=null,_0x1b14b3=[];if(this[_0x3c7b0f(0x2a1)][_0x2cf942]){_0x1d2b07=this['metadataMap'][_0x2cf942];this[_0x3c7b0f(0x2a1)][_0x110856]&&_0x1b14b3[_0x3c7b0f(0x14b)]({'nextVideo':this[_0x3c7b0f(0x2a1)][_0x110856],'nextTimeCode':_0x110856});this[_0x3c7b0f(0x2a1)][_0x57e41d]&&_0x1b14b3[_0x3c7b0f(0x14b)]({'nextVideo':this[_0x3c7b0f(0x2a1)][_0x57e41d],'nextTimeCode':_0x57e41d});const _0xab39a6=this['metadataArr'][_0x3c7b0f(0x1e7)](_0x2cf942);if(_0xab39a6>-0x5)this[_0x3c7b0f(0x1a2)]['splice'](0x0,_0xab39a6-0x4)[_0x3c7b0f(0x1f7)](_0x412c18=>{const _0x30feb=_0x3c7b0f;delete this[_0x30feb(0x2a1)][_0x412c18];});this[_0x3c7b0f(0x1d1)]++;}else this[_0x3c7b0f(0x13b)]++,this[_0x3c7b0f(0x13b)]>0x3c&&(this[_0x3c7b0f(0x13b)]=0x0,console['error'](_0x3c7b0f(0x29a)+_0x2cf942)),this[_0x3c7b0f(0x1d1)]++;this[_0x3c7b0f(0x1d1)]>0x1e&&this[_0x3c7b0f(0x226)][_0x3c7b0f(0x238)]['display']=='none'&&(this['canvas'][_0x3c7b0f(0x238)][_0x3c7b0f(0x20b)]='');let _0x11069b=[];this[_0x3c7b0f(0x226)][_0x3c7b0f(0x1d9)]=0x500,this['canvas'][_0x3c7b0f(0x120)]=0x2d0;let _0x59181b=0x0;this[_0x3c7b0f(0x203)]=[];if(_0x1d2b07){let _0x40d440=![];if(this[_0x3c7b0f(0x13f)][_0x3c7b0f(0x1cf)]){var _0x14c54b=document[_0x3c7b0f(0x1e6)](_0x3c7b0f(0x229));_0x40d440=_0x14c54b[_0x3c7b0f(0x28d)];}if(!_0x40d440)for(const _0x2c09c1 in _0x1d2b07[_0x3c7b0f(0x1e5)]){const _0x388db4=_0x1d2b07['placeholders'][_0x2c09c1];if(!_0x388db4['alphaAsUint8Array'])continue;let _0x374f62=_0x3c7b0f(0x1c6)+_0x59181b,_0xd7132f=this[_0x3c7b0f(0x2cb)]()+_0x59181b;_0x388db4[_0x3c7b0f(0x156)]=this['GenerateTexture'](_0x388db4[_0x3c7b0f(0x28a)],_0xd7132f,_0x374f62,this[_0x3c7b0f(0x20c)][_0x3c7b0f(0xfc)],_0x388db4[_0x3c7b0f(0x1d9)],_0x388db4[_0x3c7b0f(0x120)],!![]),_0x388db4[_0x3c7b0f(0x28a)]=null;if(!_0x388db4['alphaTex']){console[_0x3c7b0f(0x165)](_0x3c7b0f(0x2d3));continue;}_0x11069b[_0x3c7b0f(0x14b)](_0x388db4[_0x3c7b0f(0x156)]);let _0xa6121d=_0x3c7b0f(0x22b)+_0x59181b,_0xa56ec9=this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x18e)](this['program'],_0xa6121d);this['ctx'][_0x3c7b0f(0x2a9)](_0xa56ec9,0x1);let _0x383968=_0x3c7b0f(0x1b1)+_0x59181b,_0x575cb2=this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x18e)](this[_0x3c7b0f(0xeb)],_0x383968),_0x1e79b7=![];_0x388db4[_0x3c7b0f(0x1f8)]['indexOf'](_0x3c7b0f(0x222))>=0x0?(this['ctx']['uniform1i'](_0x575cb2,0x63),_0x1e79b7=!![]):this[_0x3c7b0f(0x20c)]['uniform1i'](_0x575cb2,this[_0x3c7b0f(0x2af)](_0x388db4));let _0xc3398b='u_alpha'+_0x59181b+_0x3c7b0f(0x1db),_0x3296e7=this[_0x3c7b0f(0x20c)]['getUniformLocation'](this[_0x3c7b0f(0xeb)],_0xc3398b);this[_0x3c7b0f(0x20c)]['uniform2fv'](_0x3296e7,[_0x388db4['maskX'],_0x388db4[_0x3c7b0f(0x258)]]);let _0xc92bee=_0x3c7b0f(0x254)+_0x59181b+_0x3c7b0f(0x2ca),_0x496dc2=this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x18e)](this['program'],_0xc92bee);this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x19c)](_0x496dc2,[_0x388db4['width'],_0x388db4[_0x3c7b0f(0x120)]]);let _0x3c9715=_0x3c7b0f(0x142)+_0x59181b,_0x925163=this['ctx']['getUniformLocation'](this['program'],_0x3c9715);this['ctx'][_0x3c7b0f(0x227)](_0x925163,![],_0x388db4['tranform']);if(!_0x1e79b7){let _0x9099a0={'l':-0x1,'t':-0x1,'r':-0x1,'b':-0x1};for(let _0x58121a of _0x388db4[_0x3c7b0f(0x29e)]){if(_0x58121a['x']<_0x9099a0['l']||_0x9099a0['l']==-0x1)_0x9099a0['l']=_0x58121a['x'];if(_0x58121a['x']>_0x9099a0['r']||_0x9099a0['r']==-0x1)_0x9099a0['r']=_0x58121a['x'];if(_0x58121a['y']<_0x9099a0['t']||_0x9099a0['t']==-0x1)_0x9099a0['t']=_0x58121a['y'];if(_0x58121a['y']>_0x9099a0['b']||_0x9099a0['b']==-0x1)_0x9099a0['b']=_0x58121a['y'];}_0x9099a0['l']/=_0x1d2b07[_0x3c7b0f(0x2ce)][_0x3c7b0f(0x1d9)],_0x9099a0['r']/=_0x1d2b07[_0x3c7b0f(0x2ce)][_0x3c7b0f(0x1d9)],_0x9099a0['t']/=_0x1d2b07[_0x3c7b0f(0x2ce)][_0x3c7b0f(0x120)],_0x9099a0['b']/=_0x1d2b07[_0x3c7b0f(0x2ce)][_0x3c7b0f(0x120)],this[_0x3c7b0f(0x203)][_0x3c7b0f(0x14b)]({'name':this[_0x3c7b0f(0x199)](_0x388db4),'rect':_0x9099a0});}_0x59181b++;}}else{}for(;_0x59181b<BB['MAX_LOGOS'];++_0x59181b){let _0x24a683=_0x3c7b0f(0x22b)+_0x59181b,_0x3057b6=this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x18e)](this[_0x3c7b0f(0xeb)],_0x24a683);this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x2a9)](_0x3057b6,0x0);let _0x58691a=_0x3c7b0f(0x1c6)+_0x59181b,_0x18efca=this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x18e)](this[_0x3c7b0f(0xeb)],_0x58691a);this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x2a9)](_0x18efca,0x0);}if(this[_0x3c7b0f(0x13f)][_0x3c7b0f(0x187)][_0x3c7b0f(0x1cc)]){let _0x3f8716=_0x2cf942[_0x3c7b0f(0x100)](':')[0x3],_0x1f83b2=_0x3f8716['indexOf']('.')>=0x0?0x2:0x1,_0x2cbbb7=parseInt(_0x3f8716['split']('.')[0x0])%0xa,_0x3c065a=_0x2cbbb7+'.'+_0x1f83b2,_0x3e5431=this[_0x3c7b0f(0x2cb)]()+0x5,_0x1b95f5=this['GenerateTexture'](this['digitImg'][_0x3c065a],_0x3e5431,_0x3c7b0f(0x27e));_0x11069b[_0x3c7b0f(0x14b)](_0x1b95f5);let _0x4473ef='hasDigit',_0x566757=this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x18e)](this[_0x3c7b0f(0xeb)],_0x4473ef);this[_0x3c7b0f(0x20c)]['uniform1i'](_0x566757,0x1);let _0x3ff7ac=_0x3c7b0f(0x24f),_0x461cdd=this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x18e)](this[_0x3c7b0f(0xeb)],_0x3ff7ac);this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x19c)](_0x461cdd,[0x0,0x0]);let _0x271595=_0x3c7b0f(0x280),_0x48ba64=this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x18e)](this[_0x3c7b0f(0xeb)],_0x271595);this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x19c)](_0x48ba64,[0xc8,0xc8]);}else{let _0x359e3b=_0x3c7b0f(0x283),_0x3416ec=this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x18e)](this['program'],_0x359e3b);this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x2a9)](_0x3416ec,0x0);}this[_0x3c7b0f(0x2d7)]();for(const _0x450035 of _0x11069b){this[_0x3c7b0f(0x20c)][_0x3c7b0f(0x2b7)](_0x450035);}}[_0x3b39db(0x2e4)](){return this['canvas'];}},BB[_0x3b39db(0x2c1)]=(_0x31ab73,_0x4703e1)=>{const _0x1b721d=_0x3b39db;let _0x10e4e9=[];const _0x4972d3=new BB[(_0x1b721d(0x233))]((_0x3b629b,_0x14074e)=>{const _0x19b6bf=_0x1b721d;switch(_0x3b629b){case _0x19b6bf(0x102):console['log'](_0x19b6bf(0x24e),_0x14074e);break;case _0x19b6bf(0x220):const _0x495a85=document['getElementById'](_0x19b6bf(0x1f8));_0x495a85&&(_0x495a85[_0x19b6bf(0xd7)]=_0x4972d3[_0x19b6bf(0x1f8)]);break;case _0x19b6bf(0x2e2):if(_0x14074e[_0x19b6bf(0x215)]===_0x4972d3[_0x19b6bf(0x1f8)]){if(_0x14074e[_0x19b6bf(0x14c)]){const _0x3f5561=_0x19b6bf(0x2b6);_0x31ab73['AddAdvertisement'](_0x3f5561,_0x14074e[_0x19b6bf(0x14c)],()=>{_0x31ab73['SelectAd'](_0x3f5561);});}else _0x10e4e9=_0x14074e[_0x19b6bf(0x290)],_0x10e4e9['length']&&_0x31ab73[_0x19b6bf(0x107)](_0x10e4e9[0x0]);}break;case'ads':_0x10e4e9=_0x14074e;_0x10e4e9[_0x19b6bf(0x1fe)]&&_0x31ab73[_0x19b6bf(0x107)](_0x10e4e9[0x0]);break;}});var _0x5c6b57=document['createElement'](_0x1b721d(0x1bd));_0x5c6b57['src']=_0x1b721d(0xec),document[_0x1b721d(0x2e7)]('head')[0x0][_0x1b721d(0x2bd)](_0x5c6b57),_0x5c6b57[_0x1b721d(0x1d8)]=function(){const _0x1b99af=_0x1b721d;_0x4972d3[_0x1b99af(0x23f)](_0x4703e1['augmentation'][_0x1b99af(0xd3)]);},_0x4703e1['augmentation'][_0x1b721d(0x1ab)]?_0x31ab73[_0x1b721d(0xd5)](_0x1b721d(0x161),_0x4703e1['augmentation']['logoURL']):fetch('https://www.virtualott.com/ads/'+_0x4703e1[_0x1b721d(0x187)]['channelName'])[_0x1b721d(0x11a)](async _0x4f0ec3=>{const _0x5005e3=await _0x4f0ec3['json']();_0x5005e3['forEach'](_0x316593=>{const _0x3979e3=_0x1038;_0x31ab73[_0x3979e3(0xd5)]('#'+_0x316593[_0x3979e3(0x1f8)],_0x316593['url']);});});},BB[_0x3b39db(0x1fc)]=(_0x3a16db,_0x41832a)=>{const _0x5422ee=_0x3b39db;let _0x300020=BB[_0x5422ee(0x128)]['TimeCodesFramesTranslator'],_0x244c62=BB[_0x5422ee(0x128)][_0x5422ee(0x13c)](_0x3a16db[_0x5422ee(0x22f)]),_0x1e4b7d,_0x20c1c0,_0x32c670=null,_0x260d2c=null;console['log']('Project\x20name:\x20'+_0x3a16db[_0x5422ee(0x14e)]);const _0x19ea20=_0x5978a8=>{const _0x407e04=_0x5422ee;_0x1e4b7d=_0x5978a8,console[_0x407e04(0x21d)](_0x407e04(0x27c)+_0x3a16db[_0x407e04(0x14e)]+':\x20'+_0x1e4b7d),_0x20c1c0&&_0x437e64(_0x20c1c0);};async function _0x4245f3(){const _0x50c42d=_0x5422ee,_0x4aa6b0=await fetch(_0x3a16db[_0x50c42d(0x1bc)]),_0xf7e708=await _0x4aa6b0[_0x50c42d(0x1ac)]();_0x19ea20(_0x3a16db[_0x50c42d(0x14e)]);}_0x4245f3();const _0x1d4f97=_0x3c0683=>{_0x20c1c0=_0x3c0683,_0x1e4b7d&&_0x437e64(_0x20c1c0);},_0x437e64=_0x3cbfc2=>{const _0x347639=_0x5422ee;if(_0x32c670==null){console['BBlog'](_0x347639(0x2d1));let _0x5744cd=new Blob([META_WORKER],{'type':_0x347639(0x1c1)});_0x32c670=new Worker(URL[_0x347639(0x2bf)](_0x5744cd)),_0x32c670[_0x347639(0xf0)]=function(_0x3ebc94){const _0x3d22b6=_0x347639;console[_0x3d22b6(0x165)](_0x3d22b6(0x2a8),_0x3ebc94);},_0x32c670[_0x347639(0x176)](_0x347639(0x165),function(_0x332992){const _0x13d07f=_0x347639;console[_0x13d07f(0x165)](_0x13d07f(0x201),_0x332992[_0x13d07f(0x2d8)]);});if(_0x32c670)console['BBlog'](_0x347639(0x206));else console[_0x347639(0x180)](_0x347639(0x21e));_0x32c670['addEventListener'](_0x347639(0x2d8),_0x1d7864=>{const _0x174b8a=_0x347639;if(_0x1d7864[_0x174b8a(0x129)][_0x174b8a(0x21b)]){}else _0x41832a['OnMetaData'](_0x1d7864['data']);});let _0xfb2d47=_0x300020['TimeCodeArray2TimeCodeJson'](_0x300020[_0x347639(0x1d0)](_0x3cbfc2,_0x244c62,!![]));_0x32c670[_0x347639(0x17d)]({'cloudFrontURL':_0x3a16db[_0x347639(0x1c3)],'folderName':_0x1e4b7d,'tc':_0x300020[_0x347639(0x22d)](_0xfb2d47,![])});}else{let _0x1c1cb7=_0x300020[_0x347639(0x275)](_0x300020[_0x347639(0x1d0)](_0x3cbfc2,_0x244c62,!![]));_0x32c670[_0x347639(0x17d)]({'tc':_0x300020['printTimecode'](_0x1c1cb7,![]),'enabled':_0x3a16db[_0x347639(0x271)]});}};return{'setLastFrame':_0x1d4f97};},BB[_0x3b39db(0x235)]=class{constructor(_0x42fde6,_0x1818d9,_0x3c2407){const _0xf3413b=_0x3b39db;this[_0xf3413b(0x2ab)]=_0x42fde6,this[_0xf3413b(0x2dd)]=_0x1818d9,console['log'](_0xf3413b(0x2a6),_0x3c2407),this[_0xf3413b(0x13f)]=Object[_0xf3413b(0x2ae)]({'enabled':!![],'stopAugment':![],'gameId':_0xf3413b(0x1aa),'medialook':![],'allGamesURL':_0xf3413b(0xf5),'cloudFrontURL':_0xf3413b(0x204),'mediaIdJsonURL':'https://games-prod.virtualott.com/map','offsetJsonURL':_0xf3413b(0x1b6),'frameRateMode':BB[_0xf3413b(0x1af)][_0xf3413b(0x2b2)],'renderingMode':BB[_0xf3413b(0x11b)][_0xf3413b(0xfe)],'SynchMethod':BB[_0xf3413b(0x16e)][_0xf3413b(0x21a)],'debug':![],'augmentation':{'renderTimecode':!![],'offset':0x0},'syncPoint':{'frame':0x0,'playerTime':0x0,'mediaTimeMS':0x0}},_0x3c2407||{}),console['log'](_0xf3413b(0xd9),this['options']),this[_0xf3413b(0x13f)][_0xf3413b(0x187)][_0xf3413b(0xd3)]=_0xf3413b(0x1e1),console['BBlog']=function(_0x42ce5f){const _0x271100=_0xf3413b;console[_0x271100(0x21d)](_0x271100(0x122)+_0x42ce5f);},console[_0xf3413b(0xed)]=function(_0xd162){const _0x4dc46f=_0xf3413b;console[_0x4dc46f(0x165)](_0x4dc46f(0x122)+_0xd162);};function _0x40e33d(_0x45d9d4,_0x302422){const _0x2251ab=_0xf3413b,_0x2c359d=_0x45d9d4[_0x2251ab(0x100)]('.')[_0x2251ab(0x1c2)](Number),_0x345310=_0x302422[_0x2251ab(0x100)]('.')['map'](Number);for(let _0x53bc69=0x0;_0x53bc69<Math[_0x2251ab(0x1a9)](_0x2c359d['length'],_0x345310[_0x2251ab(0x1fe)]);_0x53bc69++){const _0x4d5f4b=_0x2c359d[_0x53bc69]||0x0,_0x221f0b=_0x345310[_0x53bc69]||0x0;if(_0x4d5f4b<_0x221f0b)return-0x1;else{if(_0x4d5f4b>_0x221f0b)return 0x1;}}return 0x0;}this[_0xf3413b(0x26f)]();}['init'](){const _0x252358=_0x3b39db;if(typeof globalConfig===_0x252358(0x1a8))this['options']=Object[_0x252358(0x2ae)](this['options'],{});else this[_0x252358(0x13f)]=Object[_0x252358(0x2ae)](this[_0x252358(0x13f)],globalConfig);this[_0x252358(0x13f)][_0x252358(0x187)]['offset']=0x0,console[_0x252358(0x21d)](_0x252358(0x110),this['options']);if(!this[_0x252358(0x13f)]['debug']){let _0x4e7b1f=[_0x252358(0x18b),_0x252358(0x194),_0x252358(0x22c),_0x252358(0x1d4),_0x252358(0x10c),'numberInput',_0x252358(0x13d),_0x252358(0x229),'plus05CorrectionLabel',_0x252358(0x234),'br1',_0x252358(0x1f3)];for(let _0x5eaae=0x0;_0x5eaae<_0x4e7b1f[_0x252358(0x1fe)];_0x5eaae++){const _0x481334=document[_0x252358(0x1e6)](_0x4e7b1f[_0x5eaae]);_0x481334&&(_0x481334[_0x252358(0x238)][_0x252358(0x20b)]=_0x252358(0x113));}}let _0x5ee66c=BB['Utils'][_0x252358(0x272)],_0x3ecd7a=BB[_0x252358(0x128)]['TimeCodesFramesTranslator'];if(this['srcFrameRate'])this[_0x252358(0x2d4)](this[_0x252358(0x2dd)]);this[_0x252358(0x103)](this[_0x252358(0x13f)][_0x252358(0x14e)]);}[_0x3b39db(0x2c8)](){const _0x456167=_0x3b39db;let _0x1ef60d={};this['frameDrawer']=BB[_0x456167(0x27b)](_0x1ef60d,this['video'],this[_0x456167(0x13f)]),this[_0x456167(0x13f)][_0x456167(0x253)]==BB[_0x456167(0x11b)]['Augment']&&this[_0x456167(0x106)]['initializeComponents']();}async[_0x3b39db(0x26f)](){const _0x416595=_0x3b39db,_0x33e968=new URL(document[_0x416595(0x18c)]),_0x403f38=_0x33e968['searchParams'][_0x416595(0x153)](_0x416595(0xdf))||'';if(_0x403f38!=='')try{const _0x5b818f=await fetch(_0x403f38);if(!_0x5b818f['ok'])throw new Error(_0x416595(0x152));const _0x362f98=await _0x5b818f[_0x416595(0x1ac)]();console['log'](_0x416595(0x23e),_0x362f98);if(typeof globalConfig==_0x416595(0x1a8))window[_0x416595(0x2cd)]={};globalConfig=Object[_0x416595(0x2ae)]({},globalConfig,_0x362f98);}catch(_0x42e6ac){console[_0x416595(0x165)](_0x416595(0x144),_0x42e6ac);}this['init']();}async['fetchAndFindGameIdAndOffsetFromMediaId'](_0x4fe249){const _0x3e091d=_0x3b39db;try{const _0x11223c=await fetch(this[_0x3e091d(0x13f)][_0x3e091d(0x1d7)]+'/'+_0x4fe249);if(!_0x11223c['ok'])throw new Error(_0x3e091d(0x183)+_0x11223c[_0x3e091d(0x19a)]);const _0x5a7f41=await _0x11223c['json']();if(_0x5a7f41[_0x3e091d(0x1fd)](_0x3e091d(0x1bf))){const _0x356aec=_0x5a7f41[_0x3e091d(0x1bf)];console[_0x3e091d(0x180)](_0x3e091d(0x218)+_0x4fe249+':\x20'+_0x356aec),this[_0x3e091d(0x13f)][_0x3e091d(0x14e)]=_0x356aec,console['log'](_0x3e091d(0x19b)+this[_0x3e091d(0x13f)]['gameId']+_0x3e091d(0x136)),this[_0x3e091d(0x2c8)](),this['fetchOffsetForGameId'](this[_0x3e091d(0x13f)]['gameId']);}else console[_0x3e091d(0xed)](_0x3e091d(0x2c0)+_0x4fe249+_0x3e091d(0x14d)),this[_0x3e091d(0x13f)]['stopAugment']=!![];}catch(_0x54e617){console['BBerror'](_0x3e091d(0x2a5),_0x54e617);}}async[_0x3b39db(0x274)](_0x22cda1){const _0x2b2276=_0x3b39db;try{const _0x2846dc=await fetch(this['options'][_0x2b2276(0x247)]+'/'+this['options']['gameId']);!_0x2846dc['ok']&&(console[_0x2b2276(0x180)](_0x2b2276(0x183)+_0x2846dc[_0x2b2276(0x19a)]),setTimeout(()=>{const _0x153c8c=_0x2b2276;this[_0x153c8c(0x274)](_0x22cda1);},0x1388));const _0x325f67=await _0x2846dc[_0x2b2276(0x1ac)]();if(_0x325f67[_0x2b2276(0x1fd)](_0x2b2276(0x2ea))&&_0x325f67['hasOwnProperty']('found')){const _0x30de1a=_0x325f67[_0x2b2276(0x2ea)],_0x46cb26=_0x325f67[_0x2b2276(0x154)];_0x46cb26==!![]&&(console[_0x2b2276(0x180)](_0x2b2276(0x243)+_0x22cda1+':\x20'+_0x30de1a),this['options'][_0x2b2276(0x187)][_0x2b2276(0x2ea)]=_0x30de1a,setTimeout(()=>{const _0x3c813b=_0x2b2276;this[_0x3c813b(0x274)](_0x22cda1);},0xea60));}else console['BBlog']('offset\x20for\x20'+mediaID+'\x20not\x20found\x20in\x20JSON.'),setTimeout(()=>{this['fetchOffsetForGameId'](_0x22cda1);},0x1388);}catch(_0x45e7c2){console[_0x2b2276(0xed)](_0x2b2276(0x25b),_0x45e7c2),setTimeout(()=>{const _0x55ca55=_0x2b2276;this[_0x55ca55(0x274)](_0x22cda1);},0x1388);}}['Toggle'](_0x253f3e){const _0x4f17ad=_0x3b39db;this[_0x4f17ad(0x13f)]['enabled']=_0x253f3e;}['GetCanvas'](){const _0x73197d=_0x3b39db;return this[_0x73197d(0x106)][_0x73197d(0x2e4)]();}['SetFps'](_0xe14e76){const _0x26c025=_0x3b39db;let _0x27339b=BB[_0x26c025(0x128)][_0x26c025(0x272)];switch(_0xe14e76){case 0x3c:this[_0x26c025(0x13f)][_0x26c025(0x22f)]=BB['FrameRateMode'][_0x26c025(0xff)];break;case 0xea60/0x3e9:case 59.94:_0x27339b[_0x26c025(0x23a)]()||_0x27339b[_0x26c025(0x26b)]()||_0x27339b[_0x26c025(0x29f)]()?this['options'][_0x26c025(0x22f)]=BB[_0x26c025(0x1af)][_0x26c025(0xf2)]:this[_0x26c025(0x13f)][_0x26c025(0x22f)]=BB[_0x26c025(0x1af)][_0x26c025(0xf2)];break;case 0x7530/0x3e9:case 29.97:this[_0x26c025(0x13f)][_0x26c025(0x22f)]=BB[_0x26c025(0x1af)][_0x26c025(0x20e)];break;default:console[_0x26c025(0x165)](_0x26c025(0x1b9)+_0xe14e76+_0x26c025(0x109));break;}}['SetSyncPoint'](_0x6b248f){const _0x119fd2=_0x3b39db;this[_0x119fd2(0x13f)]['syncPoint']=_0x6b248f;}[_0x3b39db(0x25f)](_0x497016){const _0x27b4f9=_0x3b39db;this['frameDrawer'][_0x27b4f9(0x11f)](_0x497016);}[_0x3b39db(0x1f6)](_0x5df8f3){const _0xae396f=_0x3b39db;this[_0xae396f(0x106)][_0xae396f(0x286)](_0x5df8f3);}};
|