\n ").concat(a.name,"\n ").concat(a.help(Math.max(1,e.perks[a.id])),"\n
\n ").concat(r.reverse().join(""),"\n".concat(X("score_panel.upgrades_picked"),"
")+a.join("")}function eT(e,a){if(!e.perks.clairvoyant||e.creative)return"";for(var n="",r=0;r".concat(X("score_panel.upcoming_levels"),"
").concat(n,"
")}function eC(e){return e.level}function ej(e){return -1!==e.bricks.indexOf(e.ballsColor)}function eA(e){if(!e.perks.reach)return -1;for(var a=e.level.size,n=-1,r=-1,i=-1,s=0;s0&&J(1-a.y/e.gameZoneHeight*1.1+.1,0,1)||0}function eD(e,a){return Math.pow(e.x-a.x,2)+Math.pow(e.y-a.y,2)}function eF(e,a){return Math.sqrt(eD(e,a))}function eI(e){return!!(e.lastPuckMove&&e.perks.passive_income&&e.lastPuckMove>e.levelTime-250*e.perks.passive_income)}function eV(){try{return parseInt(localStorage.getItem("breakout-3-hs-short")||"0")}catch(e){}return 0}function eZ(e){var a=[],n=[],r=Math.max(-1e3+100*e,0);if(e>20){var i=ea.slice(0,Math.floor(e/2)).map(function(e){return e}).filter(function(e){var a;return a=e.id,o||(o=new Set(["extra_levels","extra_life","one_more_choice","instant_upgrade","shunt","slow_down"]),ea.forEach(function(e){e.requires&&o.add(e.requires)})),!o.has(a)}).sort(function(a,n){return ei(e+a.id)-ei(e+n.id)}),s=Math.min(3,Math.ceil(e/30));a=i.slice(0,s),n=i.slice(s,s+s)}return{required:a,forbidden:n,minScore:r}}function eN(e,a,n){var r=eZ(e),i=r.required,s=r.forbidden,t=r.minScore,o=function(e){var a,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return(a=Math).max.apply(a,[0].concat(x(e.filter(function(e){return!n.find(function(a){var n;return!(null==e?void 0:null===(n=e.perks)||void 0===n?void 0:n[a.id])})&&!r.find(function(a){var n;return null==e?void 0:null===(n=e.perks)||void 0===n?void 0:n[a.id]})}).map(function(e){return e.score}))))}(a,i,s),_=o&&n?X("unlocks.reached",{reached:o}):"";return o>=t?null:i.length||s.length?{reached:o,minScore:t,text:X("unlocks.minScoreWithPerks",{minScore:t,required:i.map(function(e){return e.name}).join(", "),forbidden:s.map(function(e){return e.name}).join(", ")})+_}:{reached:o,minScore:t,text:X("unlocks.minScore",{minScore:t})+_}}var eU={};if(eU=k("kqXj6").getBundleURL("lzUSl")+"sw-b71.01445e2e.js","serviceWorker"in navigator&&window.location.href.endsWith("/index.html?isPWA=true")){var eK=new URL(eU);navigator.serviceWorker.register(eK)}var f=k("5mG9B"),q=k("6QuVk"),eY=document.getElementById("game"),eX=eY.getContext("2d",{alpha:!1}),eJ=document.createElement("img");eJ.src="data:image/svg+xml;base64,"+btoa(''),eJ.onload=function(){return ny.needsRender=!0};var eQ=document.createElement("img");eQ.onload=function(){return ny.needsRender=!0};var e$=document.createElement("canvas"),e0=document.createElement("canvas"),e1=e0.getContext("2d",{alpha:!1});function e2(e,a,n,r,i,s,t){var o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:1;e.globalAlpha=o,n&&("#FF0000"==n?(e.strokeStyle="#FF0000",e.lineDashOffset=as(a),e.lineWidth=2,e.setLineDash(ai)):(e.strokeStyle="#FFFFFF",e.lineWidth=1),e.beginPath(),e.moveTo(r,i),e.lineTo(s,t),e.stroke(),"#FF0000"==n&&(e.setLineDash(ar),e.lineWidth=1),e.globalAlpha=1)}var e4=document.createElement("canvas"),e3="",e5={};function e6(e,a,n,r,i){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"",t="ball"+a+"_"+n+"_"+s,o=Math.round(n);if(!e5[t]){var _=document.createElement("canvas");_.width=o,_.height=o;var l=_.getContext("2d");l.beginPath(),l.arc(o/2,o/2,Math.round(o/2)-1,0,2*Math.PI),l.fillStyle=a,l.fill(),s&&(l.lineWidth=2,l.strokeStyle=s,l.stroke()),e5[t]=_}e.drawImage(e5[t],Math.round(r-o/2),Math.round(i-o/2))}function e7(e,a,n,r,i,s,t){var o=(Math.round(t/Math.PI*64)%32+32)%32,_="coin with halo_"+a+"_"+n+"_"+s+"_"+("#ffd300"===a?o:"whatever");if(!e5[_]){var l=document.createElement("canvas");l.width=n,l.height=n;var u=l.getContext("2d");u.beginPath(),u.arc(n/2,n/2,n/2,0,2*Math.PI),u.fillStyle=a,u.fill(),u.strokeStyle=s,"#FF0000"==s&&(u.lineWidth=2,u.setLineDash(ai)),u.stroke(),"#ffd300"===a&&(u.beginPath(),u.arc(n/2,n/2,n/2*.6,0,2*Math.PI),u.fillStyle="rgba(255,255,255,0.5)",u.fill(),u.translate(n/2,n/2),u.rotate(o/16),u.translate(-n/2,-n/2),u.globalCompositeOperation="multiply",ae(u,"$",a,n-2,n/2,n/2+1),ae(u,"$",a,n-2,n/2,n/2+1)),e5[_]=l}e.drawImage(e5[_],Math.round(r-n/2),Math.round(i-n/2))}function e8(e,a,n,r,i){var s="fuzzy-circle"+a+"_"+n;null==a||a.startsWith("#");var t=Math.round(3*n);if(!(!t||isNaN(t))){if(!e5[s]){var o=document.createElement("canvas");o.width=t,o.height=t;var _=o.getContext("2d"),l=_.createRadialGradient(t/2,t/2,0,t/2,t/2,t/2);l.addColorStop(0,a),l.addColorStop(.3,a+"88"),l.addColorStop(.6,a+"22"),l.addColorStop(1,"transparent"),_.fillStyle=l,_.fillRect(0,0,t,t),e5[s]=o}e.drawImage(e5[s],Math.round(r-t/2),Math.round(i-t/2))}}function e9(e,a,n,r,i){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,t=arguments.length>6?arguments[6]:void 0,o=Math.ceil(r-e.brickWidth/2),_=Math.ceil(i-e.brickWidth/2),l=Math.ceil(r+e.brickWidth/2)-1,u=Math.ceil(i+e.brickWidth/2)-1,c=l-o,d=u-_,p="brick"+n+"__"+c+"_"+d+"_"+s+"_"+t+"_";if(!e5[p]){var m,g,b,h,v,k,y=document.createElement("canvas");y.width=c,y.height=d;var f=y.getContext("2d");f.fillStyle=n,f.setLineDash(-1!==s?ai:ar),f.lineDashOffset=s,f.strokeStyle=-1!==s&&"#FF000033"||n,f.lineJoin="round",f.lineWidth=4,m=f,g=2,b=2,h=c-4,v=d-4,k=2,m.beginPath(),m.moveTo(4,2),m.lineTo(g+h-k,b),m.quadraticCurveTo(g+h,b,g+h,b+k),m.lineTo(g+h,b+v-k),m.quadraticCurveTo(g+h,b+v,g+h-k,b+v),m.lineTo(g+k,b+v),m.quadraticCurveTo(g,b+v,g,b+v-k),m.lineTo(g,b+k),m.quadraticCurveTo(g,b,g+k,b),m.closePath(),t||f.fill(),f.stroke(),e5[p]=y}a.drawImage(e5[p],o,_,c,d)}function ae(e,a,n,r,i,s){var t=arguments.length>6&&void 0!==arguments[6]&&arguments[6],o="text"+a+"_"+n+"_"+r+"_"+t;if(!e5[o]){var _=document.createElement("canvas");_.width=r*a.length,_.height=r;var l=_.getContext("2d");l.fillStyle=n,l.textAlign=t?"left":"center",l.textBaseline="middle",l.font=r+"px monospace",l.fillText(a,t?0:_.width/2,_.height/2,_.width),e5[o]=_}e.drawImage(e5[o],t?i:Math.round(i-e5[o].width/2),Math.round(s-e5[o].height/2))}var aa=document.getElementById("score"),an=document.getElementById("menuLabel"),ar=[],ai=[5,5];function as(e){return eg("basic")?0:Math.floor(e.levelTime%500/500*10)%10}function at(e,a){return e.perks.metamorphosis||eg("colorful_coins")?a.color:"#ffd300"}var f=k("5mG9B"),q=k("6QuVk");function ao(){eg("record")&&(null==_?void 0:_.state)==="recording"&&(null==_||_.pause())}function a_(){eg("record")&&_&&(null==_||_.stop(),_=null)}var f=k("5mG9B"),q=k("6QuVk"),al=0,au=null,ac=document.getElementById("popup"),ad=document.getElementById("close-modale");ad.addEventListener("click",function(e){e.preventDefault(),au&&au()}),ad.title=X("play.close_modale_window_tooltip");var ap=-1;function am(e){return ag.apply(this,arguments)}function ag(){return(ag=(0,f._)(function(e){var a,n,r,i,s,t,o;return(0,q.__generator)(this,function(_){return a=e.title,r=void 0===(n=e.content)?[]:n,s=void 0===(i=e.allowClose)||i,o=void 0===(t=e.className)?"":t,ab(1),[2,new Promise(function(e){var n,i=function(a){_||(_=!0,Array.prototype.forEach.call(t.querySelectorAll("button:not([disabled])"),function(e){return e.disabled=!0}),document.body.style.minHeight=document.body.scrollHeight+"px",setTimeout(function(){return document.body.style.minHeight=""},0),t.remove(),e(a))};ac.className=o,ad.style.display=s?"":"none";var t=document.createElement("div"),_=!1;if(au=s?function(){i(void 0)}:null,a){var l=document.createElement("h1");l.innerHTML=a,t.appendChild(l)}null==r||r.filter(function(e){return e}).forEach(function(e,a){if(e){if("string"==typeof e){var n,r,s=document.createElement("div");s.innerHTML=e,t.appendChild(s);return}(null===(n=t.lastChild)||void 0===n?void 0:n.nodeName)=="SECTION"?r=t.lastChild:((r=document.createElement("section")).className="actions",t.appendChild(r));var o=e.text,_=e.value,l=e.help,u=e.disabled,c=e.className,d=e.icon,p=e.tooltip,m=document.createElement("button");m.innerHTML="\n".concat(void 0===d?"":d,"\n\n ").concat(e.name,"\n ").concat(e.help(1),"\n
\n".concat(a,"
\n").concat(X("gameOver.cumulative_total",{startTs:r,endTs:n}),"
\n "),{icon:eu["icon:new_run"],value:null,text:X("confirmRestart.yes"),help:""},'',s,function(e){if(e.creative)return"";var a="",n="";try{var r=ed.map(function(e,a){var n;return{li:a,l:e,r:null===(n=eN(a,ak,!1))||void 0===n?void 0:n.text}}).filter(function(e){return e.r});e.runStatistics.runTime=Math.round(e.runStatistics.runTime);var i=z({},e.perks);for(var s in i)i[s]||delete i[s];ak.push(w(z({},e.runStatistics),{perks:i,appVersion:el}));var t=r.filter(function(e){var a=e.li;return!eN(a,ak,!0)});t.length&&(a="\n\n\n ").concat(a.name,"\n ").concat(ex(a),"\n
\n".concat(X("gameOver.stats.intro",{count:ak.length-1}),"
")+n)}catch(e){console.warn(e)}return a+n}(ny)]}).then(function(){return nf({levelToAvoid:eC(ny).name})})}}function av(e){return e.creative?""+X("gameOver.creative")+"
":""}var ak=[];try{ak=JSON.parse(localStorage.getItem("breakout_71_runs_history")||"[]").sort(function(e,a){return a.score-e.score}).slice(0,100)}catch(e){}var ay=0;function af(e){var a=document.createElement("div");a.classList="toast",a.innerHTML=e;var n=1500+200*ay;a.style.animationDuration=n+"ms",a.style.top=40+50*ay+"px",document.body.appendChild(a),ay++,setTimeout(function(){a.remove(),ay--},n)}function aW(e,a){e.puckPosition=a,e.needsRender=!0}function az(e){aw(e);var a,n=1+((null===(a=e.perks)||void 0===a?void 0:a.multiball)||0),r=e.puckWidth/(n+1);e.balls=[],e.ballsColor="#FFFFFF",(e.perks.picky_eater||e.perks.pierce_color)&&(e.ballsColor=function(e){var a,n,r={};e.forEach(function(e){return r[e]=(r[e]||0)+1});var i=(n=Math).max.apply(n,x(Object.keys(r).map(function(e){return r[e]})));return(a=Object.keys(r).filter(function(e){return r[e]==i}))[Math.floor(a.length*Math.random())]}(e.bricks.filter(function(e){return e}))||"#FFFFFF");for(var i=0;i".concat(X("score_panel.close_to_unlock"),'
\n\n ").concat(t,"\n ").concat(null===(a=r.reason)||void 0===a?void 0:a.text,"\n
\n".concat(X("level_up.before_buttons",{score:e.score-e.levelStartScore,catchGain:i,levelSpawnedCoins:e.levelSpawnedCoins,time:Math.round(e.levelTime/1e3),timeGain:r,levelMisses:e.levelMisses,missesGain:t,levelWallBounces:e.levelWallBounces,wallHitsGain:s,compliment:_}),"\n
\n").concat(X("level_up.after_buttons",{level:e.currentLevel+1,max:eL(e)}),"
\n").concat(eT(e,e.currentLevel+1),"
\n")].concat(x(o),[eR(e),a5(e),''])}),{allowClose:!1}))];case 2:return"reroll"===(l=u.sent())?(n++,e.rerolls--):(e.perks[l]++,"instant_upgrade"===l&&(n+=2),e.runStatistics.upgrades_picked++),[3,1];case 3:return[2]}})})).apply(this,arguments)}function nn(e,a){return eG(ny,Math.floor(a/ny.brickWidth),Math.floor((e-ny.offsetX)/ny.brickWidth))}function nr(e){if(ny.bricks[e])return e}function ni(e,a,n){var r,i,s;return null!==(s=null!==(i=null!==(r=nr(nn(e-n,a-n)))&&void 0!==r?r:nr(nn(e+n,a-n)))&&void 0!==i?i:nr(nn(e+n,a+n)))&&void 0!==s?s:nr(nn(e-n,a+n))}window.addEventListener("resize",ne),window.addEventListener("fullscreenchange",ne),setInterval(function(){var e=eY.getBoundingClientRect(),a=e.width,n=e.height;(a!==ny.canvasWidth||n!==ny.canvasHeight)&&ne()},1e3),eY.addEventListener("mouseup",function(e){0===e.button&&(ny.running?a9(!0):(a7(),eg("pointerLock")&&eY.requestPointerLock&&eY.requestPointerLock().then()))}),eY.addEventListener("mousemove",function(e){document.pointerLockElement===eY?aW(ny,ny.puckPosition+e.movementX):aW(ny,e.x)}),eY.addEventListener("touchstart",function(e){var a;e.preventDefault(),(null===(a=e.touches)||void 0===a?void 0:a.length)&&(aW(ny,e.touches[0].pageX),aw(ny),a7())}),eY.addEventListener("touchend",function(e){e.preventDefault(),a9(!0)}),eY.addEventListener("touchcancel",function(e){e.preventDefault(),a9(!0)}),eY.addEventListener("touchmove",function(e){var a;(null===(a=e.touches)||void 0===a?void 0:a.length)&&aW(ny,e.touches[0].pageX)});var ns=0,nt=60;setInterval(function(){nt=ns,ns=0},1e3),setInterval(function(){ny.creative||(p||(p=ed.map(function(e,a){return z({name:e.name,li:a,l:e},eZ(a))})),p.forEach(function(e){var a=e.name,n=e.minScore,r=e.forbidden,i=e.required;e.l,!(a6.has(a)||ny.score\n ").concat(e.name,"
\n ").concat(e.help(1),"\n
\n ").concat(e.name," \n
\n ").concat(ee(e.credit||""),"\n\n Made in France by Renan LE CARO. \n Donate\n Discord\n F-Droid\n Google Play\n itch.io \n Gitlab\n Web version\n HackerNews\n Privacy Policy\n Archives\n v.'.concat(el,"\n
")]),allowClose:!0})];case 1:return(a=n.sent())&&(a(),ny.needsRender=!0),[2]}})})).apply(this,arguments)}function nu(){return nc.apply(this,arguments)}function nc(){return(nc=(0,f._)(function(){var e,a,n,r,i,s,t,o,_;return(0,q.__generator)(this,function(l){switch(l.label){case 0:a9(!0),(a=[{disabled:eg("easy"),icon:eu["icon:starting_perks"],text:X("main_menu.starting_perks"),help:X("main_menu.starting_perks_help"),value:function(){return(0,f._)(function(){return(0,q.__generator)(this,function(e){switch(e.label){case 0:return[4,aY()];case 1:return e.sent(),[2]}})})()}}]).push({icon:eu[null===(e=U.find(function(e){return e.value===Y()}))||void 0===e?void 0:e.levelName],text:X("main_menu.language"),help:X("main_menu.language_help"),value:function(){return(0,f._)(function(){var e,a;return(0,q.__generator)(this,function(n){switch(n.label){case 0:return[4,am({title:X("main_menu.language"),content:[X("main_menu.language_help")].concat(x(U.map(function(e){return w(z({},e),{icon:eu[e.levelName]})}))),allowClose:!0})];case 1:if(!(a=(e=n.sent())&&e!==Y()))return[3,3];return[4,ng(ny)];case 2:a=n.sent(),n.label=3;case 3:return a&&(I("lang",e),window.location.reload()),[2]}})})()}}),n=!0,r=!1,i=void 0;try{for(s=function(){var e=o.value;em[e]&&a.push({icon:eg(e)?eu["icon:checkmark_checked"]:eu["icon:checkmark_unchecked"],text:em[e].name,help:em[e].help,value:function(){eb(e),ne(),nd(),nu()}})},t=Object.keys(em)[Symbol.iterator]();!(n=(o=t.next()).done);n=!0)s()}catch(e){r=!0,i=e}finally{try{n||null==t.return||t.return()}finally{if(r)throw i}}return a.push({icon:eu["icon:download"],text:X("main_menu.download_save_file"),help:X("main_menu.download_save_file_help"),value:function(){return(0,f._)(function(){var e,a;return(0,q.__generator)(this,function(n){return e=a$(),(a=document.createElement("a")).setAttribute("href","data:application/json;base64,"+btoa(JSON.stringify({fileType:"B71-save-file",appVersion:el,signedPayload:e,key:ei("Security by obscurity, but really the game is oss so eh"+e)}))),a.setAttribute("download","b71-save-"+new Date().toISOString().slice(0,19).replace(/[^0-9]+/gi,"-")+".b71"),document.body.appendChild(a),a.click(),setTimeout(function(){return document.body.removeChild(a)},1e3),[2]})})()}}),a.push({icon:eu["icon:upload"],text:X("main_menu.load_save_file"),help:X("main_menu.load_save_file_help"),value:function(){return(0,f._)(function(){var e,a;return(0,q.__generator)(this,function(n){if(!document.getElementById("save_file_picker")){var r;(a=document.createElement("input")).setAttribute("type","file"),a.setAttribute("id","save_file_picker"),a.setAttribute("accept",".b71,.json"),a.style.position="absolute",a.style.left="-1000px",a.addEventListener("change",(r=(0,f._)(function(e){var n,r,i,s,t,o,_,l,u;return(0,q.__generator)(this,function(e){switch(e.label){case 0:if(e.trys.push([0,4,,6]),!(r=a&&(null===(n=a.files)||void 0===n?void 0:n.item(0))))return[3,3];return[4,new Promise(function(e,a){var n=new FileReader;n.onload=function(){var a;e((null===(a=n.result)||void 0===a?void 0:a.toString())||"")},n.onerror=function(){a(n.error)},n.readAsText(r)})];case 1:if(s=(i=JSON.parse(e.sent())).fileType,t=i.appVersion,o=i.signedPayload,_=i.key,"B71-save-file"!==s)throw Error("Not a B71 save file");if(t>el)throw Error("Please update your app first, this file is for version "+t+" or newer.");if(_!==ei("Security by obscurity, but really the game is oss so eh"+o))throw Error("Key does not match content.");for(var c in l=JSON.parse(o),localStorage.clear(),l)localStorage.setItem(c,l[c]);return[4,am({title:X("main_menu.save_file_loaded"),content:[X("main_menu.save_file_loaded_help"),{text:X("main_menu.save_file_loaded_ok")}]})];case 2:e.sent(),window.location.reload(),e.label=3;case 3:return[3,6];case 4:return u=e.sent(),[4,am({title:X("main_menu.save_file_error"),content:[u.message,{text:X("main_menu.save_file_loaded_ok")}]})];case 5:return e.sent(),[3,6];case 6:return a.value="",[2]}})}),function(e){return r.apply(this,arguments)})),document.body.appendChild(a)}return null===(e=document.getElementById("save_file_picker"))||void 0===e||e.click(),[2]})})()}}),a.push({icon:eu["icon:coins"],text:X("main_menu.max_coins",{max:Z()}),help:X("main_menu.max_coins_help"),value:function(){return(0,f._)(function(){return(0,q.__generator)(this,function(e){switch(e.label){case 0:return I("max_coins",(F("max_coins",1)+1)%6),[4,nu()];case 1:return e.sent(),[2]}})})()}}),a.push({icon:eu["icon:particles"],text:X("main_menu.max_particles",{max:N()}),help:X("main_menu.max_particles_help"),value:function(){return(0,f._)(function(){return(0,q.__generator)(this,function(e){switch(e.label){case 0:return I("max_particles",(F("max_particles",1)+1)%6),[4,nu()];case 1:return e.sent(),[2]}})})()}}),a.push({icon:eu["icon:reset"],text:X("main_menu.reset"),help:X("main_menu.reset_help"),value:function(){return(0,f._)(function(){return(0,q.__generator)(this,function(e){switch(e.label){case 0:return[4,am({title:X("main_menu.reset"),content:[X("main_menu.reset_instruction"),{text:X("main_menu.reset_confirm"),value:!0},{text:X("main_menu.reset_cancel"),value:!1}],allowClose:!0})];case 1:return e.sent()&&(localStorage.clear(),window.location.reload()),[2]}})})()}}),[4,am({title:X("main_menu.settings_title"),content:[X("main_menu.settings_help")].concat(x(a)),allowClose:!0,className:"settings"})];case 1:return(_=l.sent())&&(_(),ny.needsRender=!0),[2]}})})).apply(this,arguments)}function nd(){return np.apply(this,arguments)}function np(){return(np=(0,f._)(function(){var e;return(0,q.__generator)(this,function(a){switch(a.label){case 0:if(a.trys.push([0,10,,11]),!(document.fullscreenEnabled||document.webkitFullscreenEnabled))return[2,!1];if(!(null!==document.fullscreenElement&&!eg("fullscreen")))return[3,5];if(!document.exitFullscreen)return[3,2];return[4,document.exitFullscreen()];case 1:case 3:case 6:case 8:return a.sent(),[2,!0];case 2:if(!document.webkitCancelFullScreen)return[3,4];return[4,document.webkitCancelFullScreen()];case 4:return[3,9];case 5:if(!(eg("fullscreen")&&!document.fullscreenElement))return[3,9];if(!(e=document.documentElement).requestFullscreen)return[3,7];return[4,e.requestFullscreen()];case 7:if(!e.webkitRequestFullscreen)return[3,9];return[4,e.webkitRequestFullscreen()];case 9:return[3,11];case 10:return console.warn(a.sent()),[3,11];case 11:return[2,!1]}})})).apply(this,arguments)}function nm(){return(nm=(0,f._)(function(){var e,a,n,r,i,s;return(0,q.__generator)(this,function(t){switch(t.label){case 0:return e=V(),a=eg("mobile-mode")?"help":"tooltip",n=ep.sort(function(e,a){return e.threshold-a.threshold}).map(function(n){var r=n.name,i=n.id,s=n.threshold,t=n.icon,o=n.help;return W({text:r,disabled:e".concat(X("unlocks.intro",{ts:e}),"\n ").concat(n.find(function(e){return e.disabled})?X("unlocks.greyed_out_help"):"","
")].concat(x(n),[X("unlocks.level",{unlocked:i.filter(function(e){return!e.disabled}).length,out_of:i.length})],x(i)),allowClose:!0,className:eg("mobile-mode")?"":"actionsAsGrid"})];case 1:if(!(s=t.sent()))return[3,3];return[4,ng(ny)];case 2:t.sent()&&nf(z({},s)),t.label=3;case 3:return[2]}})})).apply(this,arguments)}function ng(e){return nb.apply(this,arguments)}function nb(){return(nb=(0,f._)(function(e){return(0,q.__generator)(this,function(a){return!e.currentLevel||al?[2,!0]:(a9(!0),[2,am({title:X("confirmRestart.title"),content:[X("confirmRestart.text"),{value:!0,text:X("confirmRestart.yes")},{value:!1,text:X("confirmRestart.no")}]})])})})).apply(this,arguments)}var nh={ArrowLeft:0,ArrowRight:0,Shift:0};function nv(e,a){nh[e]=a,ny.keyboardPuckSpeed=(nh.ArrowRight-nh.ArrowLeft)*(1+2*nh.Shift)*ny.gameZoneWidth/50}document.addEventListener("keydown",(n=(0,f._)(function(e){return(0,q.__generator)(this,function(a){return"f"!==e.key.toLowerCase()||e.ctrlKey||e.metaKey?e.key in nh&&nv(e.key,1):(eb("fullscreen"),nd())," "!==e.key||al||(ny.running?a9(!0):a7(),e.preventDefault()),[2]})}),function(e){return n.apply(this,arguments)}));var nk=new Date;document.addEventListener("keyup",(r=(0,f._)(function(e){var a,n,r,i,s;return(0,q.__generator)(this,function(t){switch(t.label){case 0:if(s=document.querySelector("button:focus"),!(e.key in nh))return[3,1];return nv(e.key,0),[3,10];case 1:if("ArrowDown"!==e.key||(null==s?void 0:null===(a=s.nextElementSibling)||void 0===a?void 0:a.tagName)!=="BUTTON")return[3,2];return null==s||null===(n=s.nextElementSibling)||void 0===n||n.focus(),[3,10];case 2:if("ArrowUp"!==e.key||(null==s?void 0:null===(r=s.previousElementSibling)||void 0===r?void 0:r.tagName)!=="BUTTON")return[3,3];return null==s||null===(i=s.previousElementSibling)||void 0===i||i.focus(),[3,10];case 3:if(!("Escape"===e.key&&au))return[3,4];return au(),[3,10];case 4:if(!("Escape"===e.key&&ny.running))return[3,5];return a9(!0),[3,10];case 5:if(!("m"===e.key.toLowerCase()&&!al))return[3,6];return n_().then(),[3,10];case 6:if(!("s"===e.key.toLowerCase()&&!al))return[3,7];return a4().then(),[3,10];case 7:if(!("r"===e.key.toLowerCase()&&!al&&nk