\n ").concat(_.name,"\n ").concat(_.help(Math.max(1,e.perks[_.id])),"\n
\n ").concat(r.reverse().join(""),"\n".concat(j("score_panel.upgrades_picked"),"
")+_.join("")}function eq(e,_){if(!e.perks.clairvoyant||e.creative)return"";for(var t="",r=0;r".concat(j("score_panel.upcoming_levels"),"
").concat(t,"
")}function eG(e){return e.level}function eP(e){return -1!==e.bricks.indexOf(e.ballsColor)}function eR(e){if(!e.perks.reach)return -1;for(var _=e.level.size,t=-1,r=-1,n=-1,a=0;a<_;a++)for(var o=0;o<_;o++)e.bricks[o+a*_]&&(-1==t&&(t=a),r0&&V(1-_.y/e.gameZoneHeight*1.1+.1,0,1)||0}function eB(e,_){return Math.pow(e.x-_.x,2)+Math.pow(e.y-_.y,2)}function eC(e,_){return Math.sqrt(eB(e,_))}function eT(e){return!!(e.lastPuckMove&&e.perks.passive_income&&e.lastPuckMove>e.levelTime-250*e.perks.passive_income)}function eH(){try{return parseInt(localStorage.getItem("breakout-3-hs-short")||"0")}catch(e){}return 0}function eA(e){var _=[],t=[],r=Math.max(-1e3+100*e,0);if(e>20){var n=X.slice(0,Math.floor(e/2)).map(function(e){return e}).filter(function(e){var _;return _=e.id,s||(s=new Set(["extra_levels","extra_life","one_more_choice","instant_upgrade","shunt","slow_down"]),X.forEach(function(e){e.requires&&s.add(e.requires)})),!s.has(_)}).sort(function(_,t){return Q(e+_.id)-Q(e+t.id)}),a=Math.min(3,Math.ceil(e/30));_=n.slice(0,a),t=n.slice(a,a+a)}return{required:_,forbidden:t,minScore:r}}function eF(e,_,t){var r=eA(e),n=r.required,a=r.forbidden,o=r.minScore,s=function(e){var _,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return(_=Math).max.apply(_,[0].concat(z(e.filter(function(e){return!t.find(function(_){var t;return!(null==e?void 0:null===(t=e.perks)||void 0===t?void 0:t[_.id])})&&!r.find(function(_){var t;return null==e?void 0:null===(t=e.perks)||void 0===t?void 0:t[_.id]})}).map(function(e){return e.score}))))}(_,n,a),i=s&&t?j("unlocks.reached",{reached:s}):"";return s>=o?null:n.length||a.length?{reached:s,minScore:o,text:j("unlocks.minScoreWithPerks",{minScore:o,required:n.map(function(e){return e.name}).join(", "),forbidden:a.map(function(e){return e.name}).join(", ")})+i}:{reached:s,minScore:o,text:j("unlocks.minScore",{minScore:o})+i}}function eE(e,_){return V(_.perks.transparency*(1-e.y/_.gameZoneHeight)-.2,0,1)}var eD={};if(eD=y("kqXj6").getBundleURL("lzUSl")+"sw-b71.1a70bf70.js","serviceWorker"in navigator&&window.location.href.endsWith("/index.html?isPWA=true")){var eI=new URL(eD);navigator.serviceWorker.register(eI)}var W=y("5mG9B"),M=y("6QuVk"),ej=document.getElementById("game"),eV=ej.getContext("2d",{alpha:!1}),eZ=document.createElement("img");eZ.src="data:image/svg+xml;base64,"+btoa(''),eZ.onload=function(){return tg.needsRender=!0};var eN=document.createElement("img");eN.onload=function(){return tg.needsRender=!0};var eU=document.createElement("canvas"),eX=document.createElement("canvas"),eY=eX.getContext("2d",{alpha:!1});function eJ(e,_,t,r,n,a,o){var s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:1;e.globalAlpha=s,t&&("#FF0000"==t?(e.strokeStyle="#FF0000",e.lineDashOffset=e9(_),e.lineWidth=2,e.setLineDash(e8)):(e.strokeStyle="#FFFFFF",e.lineWidth=1),e.beginPath(),e.moveTo(r,n),e.lineTo(a,o),e.stroke(),"#FF0000"==t&&(e.setLineDash(e7),e.lineWidth=1),e.globalAlpha=1)}var eQ=document.createElement("canvas"),eK="",e$={};function e0(e,_,t,r,n){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"",o="ball"+_+"_"+t+"_"+a,s=Math.round(t);if(!e$[o]){var i=document.createElement("canvas");i.width=s,i.height=s;var l=i.getContext("2d");l.beginPath(),l.arc(s/2,s/2,Math.round(s/2)-1,0,2*Math.PI),l.fillStyle=_,l.fill(),a&&(l.lineWidth=2,l.strokeStyle=a,l.stroke()),e$[o]=i}e.drawImage(e$[o],Math.round(r-s/2),Math.round(n-s/2))}function e1(e,_,t,r,n,a,o){var s=(Math.round(o/Math.PI*64)%32+32)%32,i="coin with halo_"+_+"_"+t+"_"+a+"_"+("#ffd300"===_?s:"whatever");if(!e$[i]){var l=document.createElement("canvas");l.width=t,l.height=t;var u=l.getContext("2d");u.beginPath(),u.arc(t/2,t/2,t/2,0,2*Math.PI),u.fillStyle=_,u.fill(),u.strokeStyle=a,"#FF0000"==a&&(u.lineWidth=2,u.setLineDash(e8)),u.stroke(),"#ffd300"===_&&(u.beginPath(),u.arc(t/2,t/2,t/2*.6,0,2*Math.PI),u.fillStyle="rgba(255,255,255,0.5)",u.fill(),u.translate(t/2,t/2),u.rotate(s/16),u.translate(-t/2,-t/2),u.globalCompositeOperation="multiply",e3(u,"$",_,t-2,t/2,t/2+1),e3(u,"$",_,t-2,t/2,t/2+1)),e$[i]=l}e.drawImage(e$[i],Math.round(r-t/2),Math.round(n-t/2))}function e2(e,_,t,r,n){var a="fuzzy-circle"+_+"_"+t;null==_||_.startsWith("#");var o=Math.round(3*t);if(!(!o||isNaN(o))){if(!e$[a]){var s=document.createElement("canvas");s.width=o,s.height=o;var i=s.getContext("2d"),l=i.createRadialGradient(o/2,o/2,0,o/2,o/2,o/2);l.addColorStop(0,_),l.addColorStop(.3,_+"88"),l.addColorStop(.6,_+"22"),l.addColorStop(1,"transparent"),i.fillStyle=l,i.fillRect(0,0,o,o),e$[a]=s}e.drawImage(e$[a],Math.round(r-o/2),Math.round(n-o/2))}}function e4(e,_,t,r,n){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6?arguments[6]:void 0,s=Math.ceil(r-e.brickWidth/2),i=Math.ceil(n-e.brickWidth/2),l=Math.ceil(r+e.brickWidth/2)-1,u=Math.ceil(n+e.brickWidth/2)-1,c=l-s,p=u-i,d="brick"+t+"__"+c+"_"+p+"_"+a+"_"+o+"_";if(!e$[d]){var b,g,m,h,v,y,f=document.createElement("canvas");f.width=c,f.height=p;var W=f.getContext("2d");W.fillStyle=t,W.setLineDash(-1!==a?e8:e7),W.lineDashOffset=a,W.strokeStyle=-1!==a&&"#FF000033"||t,W.lineJoin="round",W.lineWidth=4,b=W,g=2,m=2,h=c-4,v=p-4,y=2,b.beginPath(),b.moveTo(4,2),b.lineTo(g+h-y,m),b.quadraticCurveTo(g+h,m,g+h,m+y),b.lineTo(g+h,m+v-y),b.quadraticCurveTo(g+h,m+v,g+h-y,m+v),b.lineTo(g+y,m+v),b.quadraticCurveTo(g,m+v,g,m+v-y),b.lineTo(g,m+y),b.quadraticCurveTo(g,m,g+y,m),b.closePath(),o||W.fill(),W.stroke(),e$[d]=f}_.drawImage(e$[d],s,i,c,p)}function e3(e,_,t,r,n,a){var o=arguments.length>6&&void 0!==arguments[6]&&arguments[6],s="text"+_+"_"+t+"_"+r+"_"+o;if(!e$[s]){var i=document.createElement("canvas");i.width=r*_.length,i.height=r;var l=i.getContext("2d");l.fillStyle=t,l.textAlign=o?"left":"center",l.textBaseline="middle",l.font=r+"px monospace",l.fillText(_,o?0:i.width/2,i.height/2,i.width),e$[s]=i}e.drawImage(e$[s],o?n:Math.round(n-e$[s].width/2),Math.round(a-e$[s].height/2))}var e5=document.getElementById("score"),e6=document.getElementById("menuLabel"),e7=[],e8=[5,5];function e9(e){return ei("basic")?0:Math.floor(e.levelTime%500/500*10)%10}function _e(e,_){return e.perks.metamorphosis||ei("colorful_coins")?_.color:"#ffd300"}var W=y("5mG9B"),M=y("6QuVk");function __(){ei("record")&&(null==i?void 0:i.state)==="recording"&&(null==i||i.pause())}function _t(){ei("record")&&i&&(null==i||i.stop(),i=null)}var W=y("5mG9B"),M=y("6QuVk"),_r=0,_n=null,_a=document.getElementById("popup"),_o=document.getElementById("close-modale");_o.addEventListener("click",function(e){e.preventDefault(),_n&&_n()}),_o.title=j("play.close_modale_window_tooltip");var _s=-1;function _i(e){return _l.apply(this,arguments)}function _l(){return(_l=(0,W._)(function(e){var _,t,r,n,a,o,s;return(0,M.__generator)(this,function(i){return _=e.title,r=void 0===(t=e.content)?[]:t,a=void 0===(n=e.allowClose)||n,s=void 0===(o=e.className)?"":o,_u(1),[2,new Promise(function(e){var t,n=function(_){i||(i=!0,Array.prototype.forEach.call(o.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),o.remove(),e(_))};_a.className=s,_o.style.display=a?"":"none";var o=document.createElement("div"),i=!1;if(_n=a?function(){n(void 0)}:null,_){var l=document.createElement("h1");l.innerHTML=_,o.appendChild(l)}null==r||r.filter(function(e){return e}).forEach(function(e,_){if(e){if("string"==typeof e){var t,r,a=document.createElement("div");a.innerHTML=e,o.appendChild(a);return}(null===(t=o.lastChild)||void 0===t?void 0:t.nodeName)=="SECTION"?r=o.lastChild:((r=document.createElement("section")).className="actions",o.appendChild(r));var s=e.text,i=e.value,l=e.help,u=e.disabled,c=e.className,p=e.icon,d=e.tooltip,b=document.createElement("button");b.innerHTML="\n".concat(void 0===p?"":p,"\n\n ").concat(e.name,"\n ").concat(e.help(1),"\n
\n".concat(_,"
\n").concat(j("gameOver.cumulative_total",{startTs:r,endTs:t}),"
\n "),{icon:er["icon:new_run"],value:null,text:j("confirmRestart.yes"),help:""},'',a,function(e){if(e.creative)return"";var _="",t="";try{var r=ea.map(function(e,_){var t;return{li:_,l:e,r:null===(t=eF(_,_d,!1))||void 0===t?void 0:t.text}}).filter(function(e){return e.r});e.runStatistics.runTime=Math.round(e.runStatistics.runTime);var n=w({},e.perks);for(var a in n)n[a]||delete n[a];_d.push(x(w({},e.runStatistics),{perks:n,appVersion:et}));var o=r.filter(function(e){var _=e.li;return!eF(_,_d,!0)});o.length&&(_="\n\n\n ").concat(_.name,"\n ").concat(ey(_),"\n
\n".concat(j("gameOver.stats.intro",{count:_d.length-1}),"
")+t)}catch(e){console.warn(e)}return _+t}(tg)]}).then(function(){return tm({levelToAvoid:eG(tg).name})})}}function _p(e){return e.creative?""+j("gameOver.creative")+"
":""}var _d=[];try{_d=JSON.parse(localStorage.getItem("breakout_71_runs_history")||"[]").sort(function(e,_){return _.score-e.score}).slice(0,100)}catch(e){}var _b=0;function _g(e){var _=document.createElement("div");_.classList="toast",_.innerHTML=e;var t=1500+200*_b;_.style.animationDuration=t+"ms",_.style.top=40+50*_b+"px",document.body.appendChild(_),_b++,setTimeout(function(){_.remove(),_b--},t)}function _m(e,_){e.puckPosition=_,e.needsRender=!0}function _h(e){_v(e);var _,t=1+((null===(_=e.perks)||void 0===_?void 0:_.multiball)||0),r=e.puckWidth/(t+1);e.balls=[],e.ballsColor="#FFFFFF",(e.perks.picky_eater||e.perks.pierce_color)&&(e.ballsColor=function(e){var _,t,r={};e.forEach(function(e){return r[e]=(r[e]||0)+1});var n=(t=Math).max.apply(t,z(Object.keys(r).map(function(e){return r[e]})));return(_=Object.keys(r).filter(function(e){return r[e]==n}))[Math.floor(_.length*Math.random())]}(e.bricks.filter(function(e){return e}))||"#FFFFFF");for(var n=0;n".concat(j("score_panel.close_to_unlock"),'
\n\n ").concat(o,"\n ").concat(null===(_=r.reason)||void 0===_?void 0:_.text,"\n
\n".concat(j("level_up.before_buttons",{score:e.score-e.levelStartScore,catchGain:n,levelSpawnedCoins:e.levelSpawnedCoins,time:Math.round(e.levelTime/1e3),timeGain:r,levelMisses:e.levelMisses,missesGain:o,levelWallBounces:e.levelWallBounces,wallHitsGain:a,compliment:i}),"\n
\n").concat(j("level_up.after_buttons",{level:e.currentLevel+1,max:ez(e)}),"
\n").concat(eq(e,e.currentLevel+1),"
\n")].concat(z(s),[eM(e),_0(e),''])}),{allowClose:!1}))];case 2:return"reroll"===(l=u.sent())?(t++,e.rerolls--):(e.perks[l]++,"instant_upgrade"===l&&(t+=2),e.runStatistics.upgrades_picked++),[3,1];case 3:return[2]}})})).apply(this,arguments)}function _7(e,_){return ex(tg,Math.floor(_/tg.brickWidth),Math.floor((e-tg.offsetX)/tg.brickWidth))}function _8(e){if(tg.bricks[e])return e}function _9(e,_,t){var r,n,a;return null!==(a=null!==(n=null!==(r=_8(_7(e-t,_-t)))&&void 0!==r?r:_8(_7(e+t,_-t)))&&void 0!==n?n:_8(_7(e+t,_+t)))&&void 0!==a?a:_8(_7(e-t,_+t))}window.addEventListener("resize",_5),window.addEventListener("fullscreenchange",_5),setInterval(function(){var e=ej.getBoundingClientRect(),_=e.width,t=e.height;(_!==tg.canvasWidth||t!==tg.canvasHeight)&&_5()},1e3),ej.addEventListener("mouseup",function(e){0===e.button&&(tg.running?_3(!0):(_2(),ei("pointerLock")&&ej.requestPointerLock&&ej.requestPointerLock().then()))}),ej.addEventListener("mousemove",function(e){document.pointerLockElement===ej?_m(tg,tg.puckPosition+e.movementX):_m(tg,e.x)}),ej.addEventListener("touchstart",function(e){var _;e.preventDefault(),(null===(_=e.touches)||void 0===_?void 0:_.length)&&(_m(tg,e.touches[0].pageX),_v(tg),_2())}),ej.addEventListener("touchend",function(e){e.preventDefault(),_3(!0)}),ej.addEventListener("touchcancel",function(e){e.preventDefault(),_3(!0)}),ej.addEventListener("touchmove",function(e){var _;(null===(_=e.touches)||void 0===_?void 0:_.length)&&_m(tg,e.touches[0].pageX)});var te=0,t_=60;setInterval(function(){t_=te,te=0},1e3),setInterval(function(){tg.creative||(d||(d=ea.map(function(e,_){return w({name:e.name,li:_,l:e},eA(_))})),d.forEach(function(e){var _=e.name,t=e.minScore,r=e.forbidden,n=e.required;e.l,!(_1.has(_)||tg.score\n ").concat(e.name,"
\n ").concat(e.help(1),"\n
\n ").concat(e.name," \n
\n ").concat(U(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(et,"\n
")]),allowClose:!0})];case 1:return(_=t.sent())&&(_(),tg.needsRender=!0),[2]}})})).apply(this,arguments)}function ta(){return to.apply(this,arguments)}function to(){return(to=(0,W._)(function(){var e,_,t,r,n,a,o,s,i;return(0,M.__generator)(this,function(l){switch(l.label){case 0:_3(!0),(_=[{disabled:ei("easy"),icon:er["icon:starting_perks"],text:j("main_menu.starting_perks"),help:j("main_menu.starting_perks_help"),value:function(){return(0,W._)(function(){return(0,M.__generator)(this,function(e){switch(e.label){case 0:return[4,_V()];case 1:return e.sent(),[2]}})})()}}]).push({icon:er[null===(e=F.find(function(e){return e.value===I()}))||void 0===e?void 0:e.levelName],text:j("main_menu.language"),help:j("main_menu.language_help"),value:function(){return(0,W._)(function(){var e,_;return(0,M.__generator)(this,function(t){switch(t.label){case 0:return[4,_i({title:j("main_menu.language"),content:[j("main_menu.language_help")].concat(z(F.map(function(e){return x(w({},e),{icon:er[e.levelName]})}))),allowClose:!0})];case 1:if(!(_=(e=t.sent())&&e!==I()))return[3,3];return[4,tu(tg)];case 2:_=t.sent(),t.label=3;case 3:return _&&(C("lang",e),window.location.reload()),[2]}})})()}}),t=!0,r=!1,n=void 0;try{for(a=function(){var e=s.value;es[e]&&_.push({icon:ei(e)?er["icon:checkmark_checked"]:er["icon:checkmark_unchecked"],text:es[e].name,help:es[e].help,value:function(){el(e),_5(),ts(),ta()}})},o=Object.keys(es)[Symbol.iterator]();!(t=(s=o.next()).done);t=!0)a()}catch(e){r=!0,n=e}finally{try{t||null==o.return||o.return()}finally{if(r)throw n}}return _.push({icon:er["icon:download"],text:j("main_menu.download_save_file"),help:j("main_menu.download_save_file_help"),value:function(){return(0,W._)(function(){var e,_;return(0,M.__generator)(this,function(t){return e=_X(),(_=document.createElement("a")).setAttribute("href","data:application/json;base64,"+btoa(JSON.stringify({fileType:"B71-save-file",appVersion:et,signedPayload:e,key:Q("Security by obscurity, but really the game is oss so eh"+e)}))),_.setAttribute("download","b71-save-"+new Date().toISOString().slice(0,19).replace(/[^0-9]+/gi,"-")+".b71"),document.body.appendChild(_),_.click(),setTimeout(function(){return document.body.removeChild(_)},1e3),[2]})})()}}),_.push({icon:er["icon:upload"],text:j("main_menu.load_save_file"),help:j("main_menu.load_save_file_help"),value:function(){return(0,W._)(function(){var e,_;return(0,M.__generator)(this,function(t){if(!document.getElementById("save_file_picker")){var r;(_=document.createElement("input")).setAttribute("type","file"),_.setAttribute("id","save_file_picker"),_.setAttribute("accept",".b71,.json"),_.style.position="absolute",_.style.left="-1000px",_.addEventListener("change",(r=(0,W._)(function(e){var t,r,n,a,o,s,i,l,u;return(0,M.__generator)(this,function(e){switch(e.label){case 0:if(e.trys.push([0,4,,6]),!(r=_&&(null===(t=_.files)||void 0===t?void 0:t.item(0))))return[3,3];return[4,new Promise(function(e,_){var t=new FileReader;t.onload=function(){var _;e((null===(_=t.result)||void 0===_?void 0:_.toString())||"")},t.onerror=function(){_(t.error)},t.readAsText(r)})];case 1:if(a=(n=JSON.parse(e.sent())).fileType,o=n.appVersion,s=n.signedPayload,i=n.key,"B71-save-file"!==a)throw Error("Not a B71 save file");if(o>et)throw Error("Please update your app first, this file is for version "+o+" or newer.");if(i!==Q("Security by obscurity, but really the game is oss so eh"+s))throw Error("Key does not match content.");for(var c in l=JSON.parse(s),localStorage.clear(),l)localStorage.setItem(c,l[c]);return[4,_i({title:j("main_menu.save_file_loaded"),content:[j("main_menu.save_file_loaded_help"),{text:j("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,_i({title:j("main_menu.save_file_error"),content:[u.message,{text:j("main_menu.save_file_loaded_ok")}]})];case 5:return e.sent(),[3,6];case 6:return _.value="",[2]}})}),function(e){return r.apply(this,arguments)})),document.body.appendChild(_)}return null===(e=document.getElementById("save_file_picker"))||void 0===e||e.click(),[2]})})()}}),_.push({icon:er["icon:coins"],text:j("main_menu.max_coins",{max:H()}),help:j("main_menu.max_coins_help"),value:function(){return(0,W._)(function(){return(0,M.__generator)(this,function(e){switch(e.label){case 0:return C("max_coins",(B("max_coins",1)+1)%6),[4,ta()];case 1:return e.sent(),[2]}})})()}}),_.push({icon:er["icon:particles"],text:j("main_menu.max_particles",{max:A()}),help:j("main_menu.max_particles_help"),value:function(){return(0,W._)(function(){return(0,M.__generator)(this,function(e){switch(e.label){case 0:return C("max_particles",(B("max_particles",1)+1)%6),[4,ta()];case 1:return e.sent(),[2]}})})()}}),_.push({icon:er["icon:reset"],text:j("main_menu.reset"),help:j("main_menu.reset_help"),value:function(){return(0,W._)(function(){return(0,M.__generator)(this,function(e){switch(e.label){case 0:return[4,_i({title:j("main_menu.reset"),content:[j("main_menu.reset_instruction"),{text:j("main_menu.reset_confirm"),value:!0},{text:j("main_menu.reset_cancel"),value:!1}],allowClose:!0})];case 1:return e.sent()&&(localStorage.clear(),window.location.reload()),[2]}})})()}}),[4,_i({title:j("main_menu.settings_title"),content:[j("main_menu.settings_help")].concat(z(_)),allowClose:!0,className:"settings"})];case 1:return(i=l.sent())&&(i(),tg.needsRender=!0),[2]}})})).apply(this,arguments)}function ts(){return ti.apply(this,arguments)}function ti(){return(ti=(0,W._)(function(){var e;return(0,M.__generator)(this,function(_){switch(_.label){case 0:if(_.trys.push([0,10,,11]),!(document.fullscreenEnabled||document.webkitFullscreenEnabled))return[2,!1];if(!(null!==document.fullscreenElement&&!ei("fullscreen")))return[3,5];if(!document.exitFullscreen)return[3,2];return[4,document.exitFullscreen()];case 1:case 3:case 6:case 8:return _.sent(),[2,!0];case 2:if(!document.webkitCancelFullScreen)return[3,4];return[4,document.webkitCancelFullScreen()];case 4:return[3,9];case 5:if(!(ei("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(_.sent()),[3,11];case 11:return[2,!1]}})})).apply(this,arguments)}function tl(){return(tl=(0,W._)(function(){var e,_,t,r,n,a;return(0,M.__generator)(this,function(o){switch(o.label){case 0:return e=T(),_=ei("mobile-mode")?"help":"tooltip",t=eo.sort(function(e,_){return e.threshold-_.threshold}).map(function(t){var r=t.name,n=t.id,a=t.threshold,o=t.icon,s=t.help;return k({text:r,disabled:e'):"";return k({text:e.name+a,disabled:!!n,value:{level:e.name},icon:er[e.name]},_,(null==n?void 0:n.text)||ey(e))}),[4,_i({title:j("unlocks.title_upgrades",{unlocked:t.filter(function(e){return!e.disabled}).length,out_of:t.length}),content:["".concat(j("unlocks.intro",{ts:e}),"\n ").concat(t.find(function(e){return e.disabled})?j("unlocks.greyed_out_help"):"","
")].concat(z(t),[j("unlocks.level",{unlocked:n.filter(function(e){return!e.disabled}).length,out_of:n.length})],z(n)),allowClose:!0,className:ei("mobile-mode")?"":"actionsAsGrid"})];case 1:if(!(a=o.sent()))return[3,3];return[4,tu(tg)];case 2:o.sent()&&tm(w({},a)),o.label=3;case 3:return[2]}})})).apply(this,arguments)}function tu(e){return tc.apply(this,arguments)}function tc(){return(tc=(0,W._)(function(e){return(0,M.__generator)(this,function(_){return!e.currentLevel||_r?[2,!0]:(_3(!0),[2,_i({title:j("confirmRestart.title"),content:[j("confirmRestart.text"),{value:!0,text:j("confirmRestart.yes")},{value:!1,text:j("confirmRestart.no")}]})])})})).apply(this,arguments)}var tp={ArrowLeft:0,ArrowRight:0,Shift:0};function td(e,_){tp[e]=_,tg.keyboardPuckSpeed=(tp.ArrowRight-tp.ArrowLeft)*(1+2*tp.Shift)*tg.gameZoneWidth/50}document.addEventListener("keydown",(t=(0,W._)(function(e){return(0,M.__generator)(this,function(_){return"f"!==e.key.toLowerCase()||e.ctrlKey||e.metaKey?e.key in tp&&td(e.key,1):(el("fullscreen"),ts())," "!==e.key||_r||(tg.running?_3(!0):_2(),e.preventDefault()),[2]})}),function(e){return t.apply(this,arguments)}));var tb=new Date;document.addEventListener("keyup",(r=(0,W._)(function(e){var _,t,r,n,a;return(0,M.__generator)(this,function(o){switch(o.label){case 0:if(a=document.querySelector("button:focus"),!(e.key in tp))return[3,1];return td(e.key,0),[3,10];case 1:if("ArrowDown"!==e.key||(null==a?void 0:null===(_=a.nextElementSibling)||void 0===_?void 0:_.tagName)!=="BUTTON")return[3,2];return null==a||null===(t=a.nextElementSibling)||void 0===t||t.focus(),[3,10];case 2:if("ArrowUp"!==e.key||(null==a?void 0:null===(r=a.previousElementSibling)||void 0===r?void 0:r.tagName)!=="BUTTON")return[3,3];return null==a||null===(n=a.previousElementSibling)||void 0===n||n.focus(),[3,10];case 3:if(!("Escape"===e.key&&_n))return[3,4];return _n(),[3,10];case 4:if(!("Escape"===e.key&&tg.running))return[3,5];return _3(!0),[3,10];case 5:if(!("m"===e.key.toLowerCase()&&!_r))return[3,6];return tr().then(),[3,10];case 6:if(!("s"===e.key.toLowerCase()&&!_r))return[3,7];return _K().then(),[3,10];case 7:if(!("r"===e.key.toLowerCase()&&!_r&&tb