window.addEventListener('message', function(e) { console.log(e.data) if (e.data == "click") { document.body.click() } if (e.data == "ready") { app.ready() } }) function rand(n){ return (Math.random()*n) } function randint(n){ return rand(n)|0 } function randrange(a,b){ return a + rand(b-a) } function choice(a){ return a[randint(a.length)] } function clamp(n,a,b){ return n 0.0001) { var mid = (r + l) / 2; var a = document.createElement('div'); a.style.cssText = 'position: absolute;left:0;top:0;background: red;z-index: 1000;'; a.style[width ? 'width' : 'height'] = mid.toFixed(3) + '%'; a.style[width ? 'height' : 'width'] = '100%'; element.appendChild(a); var x = document.elementFromPoint(event.clientX, event.clientY); element.removeChild(a); if (x === a) { r = mid; } else { if (r === 200) { return null; } l = mid; } } return mid; } var l = a(1), t = a(0); return l && t ? { left: l / 100, top: t / 100, toString: function () { return 'left: ' + l + '%, top: ' + t + '%'; } } : null; } // Check if supports 3D transforms function has3d(){ var el = $('

')[0], $iframe = $('