/gi,">")}function el(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var a,t,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var s=[],o=!0,n=!1;try{for(i=i.call(e);!(o=(a=i.next()).done)&&(s.push(a.value),!r||s.length!==r);o=!0);}catch(e){n=!0,t=e}finally{try{o||null==i.return||i.return()}finally{if(n)throw t}}return s}}(e,r)||B(e,r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ed(e,r,a){return Math.max(r,Math.min(e,a))}function ec(e,r){return r.perks.transparency?ed(r.perks.transparency*(1-e.y/r.gameZoneHeight*1.2),0,1):0}function eu(e){var r=1+e.perks.sturdy_bricks/2+e.perks.smaller_puck/2+e.perks.transparency/2;return e.perks.minefield&&e.bricks.forEach(function(a){"black"===a&&(r+=.1*e.perks.minefield)}),Math.ceil(Math.max(e.combo,e.lastCombo)*r)}function ep(e){var r=[],a=null;return e.split("\n").forEach(function(e){var t,i=null===(t=e.match(/^#+ /))||void 0===t?void 0:t[0];i?(a&&r.push(a),a={tagName:"h"+(i.length-1),text:e.slice(i.length)}):e.startsWith("- ")?((null==a?void 0:a.tagName)!=="ul"&&(a&&r.push(a),a={tagName:"ul",text:""}),a.text+="
\n ').concat(r.name,"\n ").concat(eI(r,e)," \n ").concat(r.help(e.perks[r.id]||1)," \n \n
\n".concat(e_("score_panel.upgrades_picked"),"
")+r.join("")}function eK(e,r){if(!e.perks.clairvoyant||e.creative)return"";for(var a="",t=0;t".concat(e_("score_panel.upcoming_levels"),"
").concat(a,"
")}function eY(e){return e.level}function eX(e){return -1!==e.bricks.indexOf(e.ballsColor)}function eJ(e){if(!e.perks.reach)return -1;for(var r=e.level.size,a=-1,t=-1,i=-1,s=0;s".concat(P,"\n ")]})];case 7:O.sent(),O.label=8;case 8:if("rename"===p&&(R=prompt(e_("editor.editing.rename_prompt"),t.name))&&(t.name=R),"credit"===p&&"null"!==(L=prompt(e_("editor.editing.credit_prompt"),t.credit||""))&&(t.credit=L||""),"delete"===p)return Q("custom_levels",a=a.filter(function(r,a){return a!==e})),at(),[2];O.label=9;case 9:return t.color=eg(i),Q("custom_levels",a),as(e,r),[2]}})})).apply(this,arguments)}var w=f("5mG9B"),O=f("6QuVk"),an={},a_=r(JSON.parse('{"71 mini":{"minScore":0,"required":[],"forbidden":[]},"Butterfly":{"minScore":0,"required":[],"forbidden":[]},"Castle":{"minScore":0,"required":[],"forbidden":[]},"Creeper":{"minScore":0,"required":[],"forbidden":[]},"Stairs":{"minScore":0,"required":[],"forbidden":[]},"Dots":{"minScore":0,"required":[],"forbidden":[]},"Lines":{"minScore":0,"required":[],"forbidden":[]},"Heart":{"minScore":0,"required":[],"forbidden":[]},"Swiss":{"minScore":0,"required":[],"forbidden":[]},"Germany":{"minScore":0,"required":[],"forbidden":[]},"France":{"minScore":100,"required":[],"forbidden":[]},"Smiley":{"minScore":200,"required":[],"forbidden":[]},"Labyrinthe":{"minScore":300,"required":[],"forbidden":[]},"Temple":{"minScore":400,"required":[],"forbidden":[]},"Pacman":{"minScore":500,"required":[],"forbidden":[]},"Ship":{"minScore":600,"required":[],"forbidden":[]},"We come in peace":{"minScore":700,"required":[],"forbidden":[]},"Space mushroom":{"minScore":800,"required":[],"forbidden":[]},"Wololo":{"minScore":900,"required":[],"forbidden":[]},"Small heart":{"minScore":1000,"required":[],"forbidden":[]},"Eye":{"minScore":1100,"required":["streak_shots"],"forbidden":["base_combo"]},"Enderman":{"minScore":1200,"required":["streak_shots"],"forbidden":["viscosity"]},"Mushroom":{"minScore":1300,"required":["streak_shots"],"forbidden":["base_combo"]},"Tulip":{"minScore":1400,"required":["viscosity"],"forbidden":["left_is_lava"]},"Chain":{"minScore":1500,"required":["left_is_lava"],"forbidden":["right_is_lava"]},"Marion":{"minScore":1600,"required":["viscosity"],"forbidden":["left_is_lava"]},"Renan":{"minScore":1700,"required":["viscosity"],"forbidden":["skip_last"]},"Violet Pairs":{"minScore":1800,"required":["skip_last"],"forbidden":["base_combo"]},"Red Cups":{"minScore":1900,"required":["skip_last"],"forbidden":["viscosity"]},"Cactus":{"minScore":2000,"required":["right_is_lava"],"forbidden":["skip_last"]},"Sunny Face":{"minScore":2100,"required":["streak_shots","base_combo"],"forbidden":["smaller_puck","skip_last"]},"Mountain":{"minScore":2200,"required":["smaller_puck","streak_shots"],"forbidden":["left_is_lava","skip_last"]},"Dollar":{"minScore":2300,"required":["pierce","smaller_puck"],"forbidden":["left_is_lava","base_combo"]},"Waves":{"minScore":2400,"required":["left_is_lava","smaller_puck"],"forbidden":["picky_eater","pierce"]},"Box":{"minScore":2500,"required":["left_is_lava","picky_eater"],"forbidden":["smaller_puck","base_combo"]},"Rose":{"minScore":2600,"required":["compound_interest","picky_eater"],"forbidden":["left_is_lava","base_combo"]},"Time":{"minScore":2700,"required":["picky_eater","right_is_lava"],"forbidden":["pierce","left_is_lava"]},"Watermelon":{"minScore":2800,"required":["hot_start","base_combo"],"forbidden":["pierce","right_is_lava"]},"Worms":{"minScore":2900,"required":["picky_eater","hot_start"],"forbidden":["right_is_lava","pierce"]},"Ocean Sunrise":{"minScore":3000,"required":["smaller_puck","hot_start"],"forbidden":["streak_shots","telekinesis"]},"Crosses":{"minScore":3100,"required":["pierce","sapper"],"forbidden":["smaller_puck","compound_interest"]},"Negative space":{"minScore":3200,"required":["left_is_lava","smaller_puck"],"forbidden":["right_is_lava","hot_start"]},"UK":{"minScore":3300,"required":["right_is_lava","left_is_lava"],"forbidden":["base_combo","smaller_puck"]},"Greece":{"minScore":3400,"required":["left_is_lava","right_is_lava"],"forbidden":["telekinesis","hot_start"]},"Russia":{"minScore":3500,"required":["compound_interest","bigger_explosions"],"forbidden":["sapper","pierce"]},"Ukraine":{"minScore":3600,"required":["pierce","sapper"],"forbidden":["base_combo","bigger_explosions"]},"Poland":{"minScore":3700,"required":["viscosity","picky_eater"],"forbidden":["skip_last","pierce"]},"Yellow 71":{"minScore":3800,"required":["base_combo","viscosity"],"forbidden":["picky_eater","skip_last"]},"71 on white":{"minScore":3900,"required":["viscosity","picky_eater"],"forbidden":["compound_interest","skip_last"]},"Blue 71":{"minScore":4000,"required":["compound_interest","pierce_color"],"forbidden":["left_is_lava","viscosity"]},"Seventy one":{"minScore":4100,"required":["viscosity","base_combo"],"forbidden":["left_is_lava","pierce_color"]},"B71":{"minScore":4200,"required":["skip_last","viscosity"],"forbidden":["telekinesis","left_is_lava"]},"Pig":{"minScore":4300,"required":["skip_last","viscosity"],"forbidden":["ball_repulse_ball","telekinesis"]},"Big Pig":{"minScore":4400,"required":["pierce","sapper"],"forbidden":["skip_last","compound_interest"]},"Donkey Kong":{"minScore":4500,"required":["ball_attract_ball","right_is_lava"],"forbidden":["bigger_explosions","skip_last"]},"Banana":{"minScore":4600,"required":["right_is_lava","soft_reset"],"forbidden":["base_combo","skip_last"]},"Fox":{"minScore":4700,"required":["ball_repulse_ball","puck_repulse_ball"],"forbidden":["right_is_lava","skip_last"]},"Wiki":{"minScore":4800,"required":["base_combo","sapper"],"forbidden":["compound_interest","pierce"]},"Baby Dog":{"minScore":4900,"required":["bigger_explosions","pierce"],"forbidden":["sapper","compound_interest"]},"dog 21":{"minScore":5000,"required":["ball_attract_ball","respawn"],"forbidden":["telekinesis","right_is_lava"]},"A":{"minScore":5100,"required":["telekinesis","base_combo","sturdy_bricks"],"forbidden":["hot_start","top_is_lava","bigger_puck"]},"B":{"minScore":5200,"required":["pierce","hot_start","telekinesis"],"forbidden":["sapper","ball_repulse_ball","puck_repulse_ball"]},"C":{"minScore":5300,"required":["hot_start","telekinesis","compound_interest"],"forbidden":["top_is_lava","bigger_puck","bigger_explosions"]},"D":{"minScore":5400,"required":["hot_start","bigger_explosions","ball_attract_ball"],"forbidden":["telekinesis","soft_reset","compound_interest"]},"e":{"minScore":5500,"required":["respawn","hot_start","telekinesis"],"forbidden":["ball_attract_ball","top_is_lava","bigger_puck"]},"Elephant":{"minScore":5600,"required":["ball_repulse_ball","puck_repulse_ball","soft_reset"],"forbidden":["base_combo","sapper","telekinesis"]},"Orca":{"minScore":5700,"required":["pierce","sapper","respawn"],"forbidden":["concave_puck","telekinesis","compound_interest"]},"Shark":{"minScore":5800,"required":["bigger_explosions","compound_interest","base_combo"],"forbidden":["right_is_lava","concave_puck","ball_attract_ball"]},"Bird":{"minScore":5900,"required":["right_is_lava","concave_puck","sturdy_bricks"],"forbidden":["ball_attract_ball","streak_shots","soft_reset"]},"Tux":{"minScore":6000,"required":["pierce","coin_magnet","bigger_puck"],"forbidden":["sapper","top_is_lava","helium"]},"Armenia":{"minScore":6100,"required":["top_is_lava","respawn","bigger_puck"],"forbidden":["base_combo","coin_magnet","ball_repulse_ball"]},"Austria":{"minScore":6200,"required":["top_is_lava","telekinesis","bigger_puck"],"forbidden":["coin_magnet","viscosity","unbounded"]},"Benin":{"minScore":6300,"required":["telekinesis","right_is_lava","bigger_explosions"],"forbidden":["viscosity","top_is_lava","unbounded"]},"Botswana":{"minScore":6400,"required":["viscosity","telekinesis","unbounded"],"forbidden":["sturdy_bricks","soft_reset","right_is_lava"]},"Bulgaria":{"minScore":6500,"required":["helium","puck_repulse_ball","unbounded"],"forbidden":["ball_repulse_ball","viscosity","pierce"]},"Canada":{"minScore":6600,"required":["skip_last","respawn","base_combo"],"forbidden":["asceticism","unbounded","telekinesis"]},"Chad":{"minScore":6700,"required":["compound_interest","bigger_explosions","skip_last"],"forbidden":["concave_puck","streak_shots","telekinesis"]},"China":{"minScore":6800,"required":["nbricks","concave_puck","streak_shots"],"forbidden":["ball_attract_ball","skip_last","base_combo"]},"Colombia":{"minScore":6900,"required":["streak_shots","smaller_puck","concave_puck"],"forbidden":["puck_repulse_ball","ball_repulse_ball","sapper"]},"Republic of the Congo":{"minScore":7000,"required":["ball_repulse_ball","puck_repulse_ball","coin_magnet"],"forbidden":["bigger_puck","top_is_lava","skip_last"]},"Côte d\'Ivoire":{"minScore":7100,"required":["coin_magnet","bigger_puck","top_is_lava"],"forbidden":["base_combo","etherealcoins","telekinesis"]},"Denmark":{"minScore":7200,"required":["bigger_explosions","coin_magnet","etherealcoins"],"forbidden":["respawn","bigger_puck","top_is_lava"]},"El Salvador":{"minScore":7300,"required":["bigger_puck","top_is_lava","helium"],"forbidden":["pierce","coin_magnet","sapper"]},"Egypt":{"minScore":7400,"required":["zen","top_is_lava","soft_reset"],"forbidden":["bigger_puck","telekinesis","puck_repulse_ball"]},"Estonia":{"minScore":7500,"required":["zen","telekinesis","hot_start"],"forbidden":["top_is_lava","bigger_puck","concave_puck"]},"Finland":{"minScore":7600,"required":["concave_puck","hot_start","telekinesis"],"forbidden":["zen","compound_interest","base_combo"]},"Gabon":{"minScore":7700,"required":["respawn","ball_attract_ball","zen"],"forbidden":["streak_shots","sturdy_bricks","hot_start"]},"Georgia":{"minScore":7800,"required":["helium","zen","smaller_puck"],"forbidden":["pierce","telekinesis","sapper"]},"Guinea":{"minScore":7900,"required":["zen","nbricks","smaller_puck"],"forbidden":["pierce_color","left_is_lava","ball_repulse_ball"]},"Indonesia":{"minScore":8000,"required":["trampoline","zen","right_is_lava"],"forbidden":["nbricks","coin_magnet","hot_start"]},"Pingwin":{"minScore":8100,"required":["zen","compound_interest","pierce"],"forbidden":["right_is_lava","sturdy_bricks","helium"]},"Dog 8":{"minScore":8200,"required":["zen","ball_attract_ball","coin_magnet"],"forbidden":["sacrifice","sturdy_bricks","bigger_puck"]},"Sunglasses":{"minScore":8300,"required":["zen","sacrifice","coin_magnet"],"forbidden":["respawn","bigger_puck","top_is_lava"]},"Balloon":{"minScore":8400,"required":["soft_reset","coin_magnet","zen"],"forbidden":["concave_puck","sacrifice","bigger_puck"]},"Opening":{"minScore":8500,"required":["streak_shots","bigger_puck","top_is_lava"],"forbidden":["zen","etherealcoins","coin_magnet"]},"Stripes":{"minScore":8600,"required":["helium","base_combo","zen"],"forbidden":["top_is_lava","ball_attract_ball","bigger_puck"]},"You are here":{"minScore":8700,"required":["zen","forgiving","telekinesis"],"forbidden":["smaller_puck","viscosity","top_is_lava"]},"Gear":{"minScore":8800,"required":["pierce_color","telekinesis","left_is_lava"],"forbidden":["unbounded","respawn","zen"]},"Play":{"minScore":8900,"required":["zen","right_is_lava","skip_last"],"forbidden":["ball_attracts_coins","telekinesis","unbounded"]},"City":{"minScore":9000,"required":["passive_income","asceticism","soft_reset"],"forbidden":["hot_start","ball_repulse_ball","base_combo"]},"Wiggle":{"minScore":9100,"required":["right_is_lava","trampoline","ball_attracts_coins"],"forbidden":["sturdy_bricks","hot_start","compound_interest"]},"Graph":{"minScore":9200,"required":["hot_start","shocks","sapper"],"forbidden":["pierce","ball_attract_ball","ball_attracts_coins"]},"Lightbulb":{"minScore":9300,"required":["hot_start","passive_income","helium"],"forbidden":["trampoline","ball_attracts_coins","pierce"]},"Note":{"minScore":9400,"required":["ball_repulse_ball","puck_repulse_ball","nbricks"],"forbidden":["hot_start","respawn","etherealcoins"]},"Rocket":{"minScore":9500,"required":["etherealcoins","soft_reset","asceticism"],"forbidden":["coin_magnet","hot_start","bigger_puck"]},"Abstract":{"minScore":9600,"required":["bigger_explosions","compound_interest","etherealcoins"],"forbidden":["coin_magnet","passive_income","nbricks"]},"Fingerprint":{"minScore":9700,"required":["pierce","sapper","shocks"],"forbidden":["base_combo","implosions","helium"]},"Leaf":{"minScore":9800,"required":["concave_puck","sacrifice","puck_repulse_ball"],"forbidden":["coin_magnet","trampoline","ball_repulse_ball"]},"Abstract 2":{"minScore":9900,"required":["coin_magnet","streak_shots","sacrifice"],"forbidden":["bigger_puck","top_is_lava","right_is_lava"]},"Abstract 3":{"minScore":10000,"required":["sacrifice","nbricks","etherealcoins"],"forbidden":["shocks","sapper","asceticism"]},"Abstract 4":{"minScore":10100,"required":["trampoline","bigger_explosions","sacrifice"],"forbidden":["ball_attracts_coins","ghost_coins","ball_attract_ball"]},"Abstract 5":{"minScore":10200,"required":["ball_attracts_coins","implosions","forgiving"],"forbidden":["viscosity","base_combo","unbounded"]},"Abstract 6":{"minScore":10300,"required":["puck_repulse_ball","ball_repulse_ball","forgiving"],"forbidden":["viscosity","unbounded","passive_income"]},"Hemiola":{"minScore":10400,"required":["limitless","unbounded","viscosity"],"forbidden":["right_is_lava","forgiving","sturdy_bricks"]},"Obigre":{"minScore":10500,"required":["sapper","shocks","soft_reset"],"forbidden":["bigger_explosions","pierce","skip_last"]},"Noodlemire":{"minScore":10600,"required":["skip_last","concave_puck","passive_income"],"forbidden":["ball_attract_ball","side_flip","side_kick"]},"Bearded axe":{"minScore":10700,"required":["base_combo","streak_shots","side_flip"],"forbidden":["side_kick","implosions","concave_puck"]},"Lebanon":{"minScore":10800,"required":["side_kick","side_flip","etherealcoins"],"forbidden":["smaller_puck","streak_shots","trampoline"]},"Spain":{"minScore":10900,"required":["smaller_puck","passive_income","compound_interest"],"forbidden":["fountain_toss","side_kick","side_flip"]},"Uzbekistan":{"minScore":11000,"required":["picky_eater","ghost_coins","bigger_explosions"],"forbidden":["base_combo","clairvoyant","implosions"]},"Pakistan":{"minScore":11100,"required":["nbricks","ghost_coins","trampoline"],"forbidden":["picky_eater","clairvoyant","corner_shot"]},"Korea":{"minScore":11200,"required":["puck_repulse_ball","ball_attracts_coins","ball_repulse_ball"],"forbidden":["ghost_coins","picky_eater","etherealcoins"]},"Chile":{"minScore":11300,"required":["shocks","sapper","pierce"],"forbidden":["etherealcoins","ball_attracts_coins","ghost_coins"]},"Türkiye":{"minScore":11400,"required":["compound_interest","fountain_toss","concave_puck"],"forbidden":["bigger_explosions","superhot","respawn"]},"Taj Mahal":{"minScore":11500,"required":["asceticism","soft_reset","streak_shots"],"forbidden":["concave_puck","ball_attract_ball","hot_start"]},"Abstract 7":{"minScore":11600,"required":["hot_start","nbricks","streak_shots"],"forbidden":["trampoline","smaller_puck","superhot"]},"Abstract 9":{"minScore":11700,"required":["implosions","smaller_puck","right_is_lava"],"forbidden":["base_combo","sturdy_bricks","hot_start"]},"Crosshair":{"minScore":11800,"required":["pierce","pierce_color","left_is_lava"],"forbidden":["sapper","transparency","shocks"]},"Abstract 10":{"minScore":11900,"required":["transparency","ball_attract_ball","left_is_lava"],"forbidden":["pierce_color","rainbow","passive_income"]},"Face":{"minScore":12000,"required":["rainbow","corner_shot","bricks_attract_coins"],"forbidden":["base_combo","clairvoyant","respawn"]},"Eiffel tower":{"minScore":12100,"required":["shocks","sapper","clairvoyant"],"forbidden":["passive_income","picky_eater","pierce"]},"Abstract 11":{"minScore":12200,"required":["picky_eater","nbricks","addiction"],"forbidden":["minefield","sturdy_bricks","ghost_coins"]},"Abstract 12":{"minScore":12300,"required":["ghost_coins","sacrifice","ball_attracts_coins"],"forbidden":["concave_puck","picky_eater","compound_interest"]},"Abstract 13":{"minScore":12400,"required":["ball_attract_ball","streak_shots","ghost_coins"],"forbidden":["passive_income","sacrifice","picky_eater"]},"Abstract 14":{"minScore":12500,"required":["smaller_puck","asceticism","rainbow"],"forbidden":["bricks_attract_ball","soft_reset","respawn"]},"S":{"minScore":12600,"required":["pierce","sapper","shocks"],"forbidden":["etherealcoins","trampoline","pierce_color"]},"Abstract 15":{"minScore":12700,"required":["forgiving","viscosity"],"forbidden":["fountain_toss","transparency","left_is_lava"]},"Mario!":{"minScore":12800,"required":["unbounded","limitless","viscosity"],"forbidden":["forgiving","skip_last","ball_attract_ball"]},"Minesweeper":{"minScore":12900,"required":["ottawa_treaty","skip_last","unbounded"],"forbidden":["limitless","viscosity","forgiving"]},"Target":{"minScore":13000,"required":["skip_last","implosions","base_combo"],"forbidden":["etherealcoins","reach","three_cushion"]},"The Boys":{"minScore":13100,"required":["concave_puck","respawn","rainbow"],"forbidden":["reach","corner_shot","skip_last"]},"A Very Dangerous High-Five":{"minScore":13200,"required":["side_kick","rainbow","corner_shot"],"forbidden":["streak_shots","reach","clairvoyant"]},"Blinky":{"required":["clairvoyant","reach","double_or_nothing"],"forbidden":["nbricks","corner_shot","smaller_puck"],"minScore":13300},"Fish":{"required":["reach","pierce","picky_eater"],"forbidden":["sapper","shocks","ghost_coins"],"minScore":13400},"Spider":{"required":["transparency","ghost_coins","left_is_lava"],"forbidden":["pierce_color","reach","sticky_coins"],"minScore":13500},"Gliders":{"required":["trampoline","superhot","bricks_attract_ball"],"forbidden":["reach","rainbow","ghost_coins"],"minScore":13600},"Lone island":{"required":["reach","passive_income","happy_family"],"forbidden":["bigger_explosions","wrap_right","ghost_coins"],"minScore":13700},"Spacewyrm Jon":{"required":["nbricks","reach","three_cushion"],"forbidden":["happy_family","metamorphosis","hot_start"],"minScore":13800},"Taijitu":{"required":["hot_start","puck_repulse_ball","ball_repulse_ball"],"forbidden":["helium","pierce","etherealcoins"],"minScore":13900},"Egg pan":{"required":["hot_start","streak_shots","implosions"],"forbidden":["concave_puck","bricks_attract_coins","base_combo"],"minScore":14000},"Inception":{"required":["hot_start","wrap_left","smaller_puck"],"forbidden":["streak_shots","superhot","bricks_attract_coins"],"minScore":14100},"Chess":{"required":["respawn","wrap_left","sapper"],"forbidden":["shocks","metamorphosis","pierce"],"minScore":14200},"italy":{"required":["sticky_coins","pierce_color","left_is_lava"],"forbidden":["transparency","etherealcoins","three_cushion"],"minScore":14300},"Nuclear Throne":{"required":[],"forbidden":[],"minScore":0},"utc":{"required":["ball_attracts_coins","corner_shot","ball_repulse_ball"],"forbidden":["puck_repulse_ball","clairvoyant","nbricks"],"minScore":14400},"Bzh":{"required":["clairvoyant","addiction","corner_shot"],"forbidden":["minefield","base_combo","picky_eater"],"minScore":14500},"FTL":{"required":["bigger_explosions","minefield","happy_family"],"forbidden":["picky_eater","trampoline","clairvoyant"],"minScore":14600},"Nova drift":{"required":["rainbow","ghost_coins","sacrifice"],"forbidden":["picky_eater","pierce","wrap_right"],"minScore":14700},"Heat Signature":{"required":["extra_life","ghost_coins","sturdy_bricks"],"forbidden":["picky_eater","puck_repulse_ball","sacrifice"],"minScore":14800},"Noita":{"required":["nbricks","ghost_coins","golden_goose"],"forbidden":["forgiving","picky_eater","viscosity"],"minScore":14900},"Enter the gungeon":{"required":["shocks","sapper","smaller_puck"],"forbidden":["pierce","implosions","wrap_right"],"minScore":15000},"ZERO Sievert":{"required":["ottawa_treaty","superhot","forgiving"],"forbidden":["sticky_coins","pierce_color","viscosity"],"minScore":15100},"Factorio":{"required":["limitless","unbounded","viscosity"],"forbidden":["passive_income","right_is_lava","forgiving"],"minScore":15200},"Brigador":{"required":["puck_repulse_ball","respawn","soft_reset"],"forbidden":["ball_repulse_ball","skip_last","unbounded"],"minScore":15300},"Teleglitch":{"required":["happy_family","skip_last","ball_attracts_coins"],"forbidden":["side_flip","side_kick","corner_shot"],"minScore":15400},"Big turtle":{"required":[],"forbidden":[],"minScore":0},"Big yoyo":{"required":[],"forbidden":[],"minScore":0},"Piñata":{"required":["bricks_attract_ball","wrap_right","corner_shot"],"forbidden":["clairvoyant","fountain_toss","picky_eater"],"minScore":15700},"Zen monk":{"required":["respawn","rainbow","golden_goose"],"forbidden":["clairvoyant","extra_life","picky_eater"],"minScore":15800},"Lotus flower":{"required":["picky_eater","bricks_attract_coins","ghost_coins"],"forbidden":["clairvoyant","golden_goose","compound_interest"],"minScore":15900},"Rainbow Spiral":{"required":["bigger_explosions","trickledown","transparency"],"forbidden":["left_is_lava","pierce_color","sticky_coins"],"minScore":16000},"GNU":{"required":["extra_life","superhot","trickledown"],"forbidden":["etherealcoins","transparency","left_is_lava"],"minScore":16100},"Pipe":{"required":["fountain_toss","happy_family","puck_repulse_ball"],"forbidden":["ball_repulse_ball","trickledown","hot_start"],"minScore":16200},"Brazil":{"required":["pierce","soft_reset","sapper"],"forbidden":["shocks","asceticism","hot_start"],"minScore":16300},"Profit motive":{"required":["ottawa_treaty","hot_start","compound_interest"],"forbidden":["respawn","rainbow","bigger_explosions"],"minScore":16400},"Home":{"required":["ball_attracts_coins","steering","implosions"],"forbidden":["ball_attract_ball","base_combo","right_is_lava"],"minScore":16500},"Last leaf":{"required":["wrap_left","golden_goose","nbricks"],"forbidden":["trampoline","sturdy_bricks","corner_shot"],"minScore":16600},"Peaceful Dove":{"required":["golden_goose","wrap_right","bricks_attract_ball"],"forbidden":["corner_shot","wrap_left","clairvoyant"],"minScore":16700},"Corporate dress":{"required":["metamorphosis","helium","superhot"],"forbidden":["corner_shot","passive_income","pierce"],"minScore":16800},"Zombie":{"required":["corner_shot","respawn","addiction"],"forbidden":["minefield","clairvoyant","etherealcoins"],"minScore":16900},"Dead Meme":{"required":["wrap_right","minefield","addiction"],"forbidden":["sturdy_bricks","passive_income","wrap_up"],"minScore":17000},"Taiwan":{"required":["pierce","sacrifice","extra_life"],"forbidden":["sapper","shocks","happy_family"],"minScore":17100},"Toadshield":{"required":["trickledown","sacrifice","metamorphosis"],"forbidden":["minefield","happy_family","addiction"],"minScore":17200},"Tree":{"required":["asceticism","three_cushion","trickledown"],"forbidden":["soft_reset","compound_interest","metamorphosis"],"minScore":17300},"missle":{"required":["double_or_nothing","ball_attract_ball","etherealcoins"],"forbidden":["trampoline","forgiving","golden_goose"],"minScore":17400}}'));function al(e,r){if(a_[r])return a_[r];var a={required:[],forbidden:[],minScore:Math.max(-1e3+100*e,0)};if(e>20){var t=M(ex).slice(0,Math.floor(e/2)).filter(function(e){var r;return r=e.id,g||(g=new Set(["extra_levels","one_more_choice","shunt","slow_down"]),ex.forEach(function(e){e.requires&&g.add(e.requires)})),!g.has(r)}).sort(function(r,a){return eW(e+r.id)-eW(e+a.id)}).map(function(e){return e.id}),i=Math.min(3,Math.ceil(e/30));a.required=t.slice(0,i),a.forbidden=t.slice(i,i+i)}return a}function ad(e){var r,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return(r=Math).max.apply(r,[0].concat(M(e.filter(function(e){return!a.find(function(r){var a;return!(null==e?void 0:null===(a=e.perks)||void 0===a?void 0:a[r])})&&!t.find(function(r){var a;return null==e?void 0:null===(a=e.perks)||void 0===a?void 0:a[r]})}).map(function(e){return e.score}))))}function ac(e,r,a){var t=al(e,r),i=t.required,s=t.forbidden,o=t.minScore;return ad(a,i,s)
".concat(e_("score_panel.close_to_unlock"),'
\n\n ").concat(s,"\n ").concat(null===(r=a.reason)||void 0===r?void 0:r.text,"\n
\n\n ").concat(e,"
\n ").concat(_||n?e_("level_up.challenges.gain",{up:_,choices:n}):e_("level_up.challenges.no_gain"),"\n \n
\n ").concat(e.name,"\n ").concat(e.help(1),"\n
\n".concat(r,"
\n").concat(e_("gameOver.cumulative_total",{startTs:t,endTs:a}),"
\n "),az(),{icon:eO["icon:new_run"],value:null,text:e_("confirmRestart.yes"),help:""},'',s,function(e){if(e.creative)return"";var r="",a="";try{var t=eC.map(function(e,r){var a;return{li:r,l:e,r:null===(a=au(r,e.name,aB,!1))||void 0===a?void 0:a.text}}).filter(function(e){return e.r});e.runStatistics.runTime=Math.round(e.runStatistics.runTime);var i=S({},e.perks);for(var s in i)i[s]||delete i[s];aB.push(x(S({},e.runStatistics),{perks:i,appVersion:eM}));var o=t.filter(function(e){var r=e.li,a=e.l;return!ac(r,a.name,aB)});o.length&&(r="\n\n\n ").concat(r.name,"\n ").concat(eR(r),"\n
\n".concat(e_("gameOver.stats_intro",{count:aB.length-1}),"
")+a)}catch(e){console.warn(e)}return r+a}(tM),eZ(tM)]})];case 1:return aw(o.sent()),tO({levelToAvoid:eY(tM).name}),[2]}})})).apply(this,arguments)}function aq(e){return e.creative?""+e_("gameOver.creative")+"
":""}var aB=[];try{aB=JSON.parse(localStorage.getItem("breakout_71_runs_history")||"[]").sort(function(e,r){return r.score-e.score}).slice(0,100)}catch(e){}function aM(e,r){e.startParams.computer_controlled||(e.puckPosition=r,e.needsRender=!0)}function aO(e){return+!e.perks.concave_puck*(Math.random()>.5?e.baseSpeed:-e.baseSpeed)}function aG(e){aC(e);var r,a=1+((null===(r=e.perks)||void 0===r?void 0:r.multiball)||0),t=e.puckWidth/(a+1);e.balls=[],e.ballsColor="#FFFFFF",(e.perks.picky_eater||e.perks.pierce_color)&&(e.ballsColor=function(e){var r,a={};e.forEach(function(e){return a[e]=(a[e]||0)+1});var t=(r=Math).max.apply(r,M(Object.keys(a).map(function(e){return a[e]})));return eL(Object.keys(a).filter(function(e){return a[e]==t}))}(e.bricks.filter(function(e){return e}))||"#FFFFFF");for(var i=0;i1&&e.running&&(e.lastPuckMove=e.levelTime)}function aR(e){return eb(e.perks.base_combo)}function aL(e,r,a){var t=e.combo;e.combo=aR(e),e.perks.double_or_nothing&&t>e.combo&&(e.score=Math.floor(e.score*ed(1-e.perks.double_or_nothing/10,0,1)),aF(e,"lifeLost",r,1)),t>e.combo&&e.perks.soft_reset&&(e.combo+=Math.floor((t-e.combo)*em(e.perks.soft_reset)));var i=Math.max(0,t-e.combo);if(i){for(var s=0;s0)r*=1+e.perks.double_or_nothing,e.combo+=r,aJ(e,a,t,"#ffd300","+"+r,25,400+r);else{var i=e.combo;e.combo=Math.max(aR(e),e.combo+r);var s=Math.max(0,i-e.combo);s&&(aF(e,"comboDecrease",a,1),aJ(e,a,t,"#FF0000","-"+s,20,400+s))}}}function aA(e,r,a,t,i){if(!ri("basic")){a0(e.particles)>er()&&(r=1);for(var s=0;s\n ").concat(e.name,"
\n ").concat(e.help(1),"\n
\n ").concat(e.name," \n
\n ").concat(ep(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 Weblate\n Web version\n HackerNews\n Privacy Policy\n Archives\n v.'.concat(eM,"\n
")]),allowClose:!0})];case 1:return(r=a.sent())&&(r(),tM.needsRender=!0),[2]}})})).apply(this,arguments)}function tv(){return ty.apply(this,arguments)}function ty(){return(ty=(0,w._)(function(){var e,r,a,t,i,s,o,n,_;return(0,O.__generator)(this,function(l){switch(l.label){case 0:to(!0),(r=[{disabled:ri("kid"),icon:eO["icon:starting_perks"],text:e_("starting_perks.title"),help:e_("starting_perks.help"),value:function(){return(0,w._)(function(){return(0,O.__generator)(this,function(e){switch(e.label){case 0:return[4,a7()];case 1:return e.sent(),[2]}})})()}}]).push({icon:eO[null===(e=ei.find(function(e){return e.value===en()}))||void 0===e?void 0:e.levelName],text:e_("settings.language"),help:e_("settings.language_help"),value:function(){return(0,w._)(function(){var e,r;return(0,O.__generator)(this,function(a){switch(a.label){case 0:return[4,r9({title:e_("settings.language"),content:[e_("settings.language_help")].concat(M(ei.map(function(e){return x(S({},e),{icon:eO[e.levelName]})}))),allowClose:!0})];case 1:if(!(r=(e=a.sent())&&e!==en()))return[3,3];return[4,tz(tM)];case 2:r=a.sent(),a.label=3;case 3:return r&&(Q("lang",e),$(),window.location.reload()),[2]}})})()}}),a=!0,t=!1,i=void 0;try{for(s=function(){var e=n.value;rt[e]&&r.push({icon:ri(e)?eO["icon:checkmark_checked"]:eO["icon:checkmark_unchecked"],text:rt[e].name,help:rt[e].help,disabled:ri("basic")&&["extra_bright","contrast","smooth_lighting","precise_lighting","probabilistic_lighting"].includes(e)||!1,value:function(){rs(e),tn(tM),tk(),tv()}})},o=Object.keys(rt)[Symbol.iterator]();!(a=(n=o.next()).done);a=!0)s()}catch(e){t=!0,i=e}finally{try{a||null==o.return||o.return()}finally{if(t)throw i}}return r.push({icon:eO["icon:download"],text:e_("settings.download_save_file"),help:e_("settings.download_save_file_help"),value:function(){return(0,w._)(function(){var e,r;return(0,O.__generator)(this,function(a){return e=document.createElement("a"),r=JSON.stringify({fileType:"B71-save-file",appVersion:eM,payload:te()},null,2),e.setAttribute("href","data:application/json;charset=utf-8,"+encodeURIComponent(r)),e.setAttribute("download","b71-save-"+new Date().toISOString().slice(0,19).replace(/[^0-9]+/gi,"-")+".json"),document.body.appendChild(e),e.click(),setTimeout(function(){return document.body.removeChild(e)},1e3),[2]})})()}}),r.push({icon:eO["icon:upload"],text:e_("settings.load_save_file"),help:e_("settings.load_save_file_help"),value:function(){return(0,w._)(function(){var e,r;return(0,O.__generator)(this,function(a){if(!document.getElementById("save_file_picker")){var t;(r=document.createElement("input")).setAttribute("type","file"),r.setAttribute("id","save_file_picker"),r.setAttribute("accept",".b71,.json"),r.style.position="absolute",r.style.left="-1000px",r.addEventListener("change",(t=(0,w._)(function(e){var a,t,i,s,o,n,_,l;return(0,O.__generator)(this,function(e){switch(e.label){case 0:if(e.trys.push([0,4,,6]),!(t=r&&(null===(a=r.files)||void 0===a?void 0:a.item(0))))return[3,3];return[4,new Promise(function(e,r){var a=new FileReader;a.onload=function(){var r;e((null===(r=a.result)||void 0===r?void 0:r.toString())||"")},a.onerror=function(){r(a.error)},a.readAsText(t)})];case 1:if(s=(i=JSON.parse(e.sent())).fileType,o=i.signedPayload,n=i.payload,"B71-save-file"!==s)throw Error("Not a B71 save file");if(n)for(var d in localStorage.clear(),n)localStorage.setItem(d,JSON.stringify(n[d]));else if(o)for(var c in _=JSON.parse(o),localStorage.clear(),_)localStorage.setItem(c,_[c]);return[4,r9({title:e_("settings.save_file_loaded"),content:[e_("settings.save_file_loaded_help"),{text:e_("settings.save_file_loaded_ok")}]})];case 2:e.sent(),window.location.reload(),e.label=3;case 3:return[3,6];case 4:return l=e.sent(),[4,r9({title:e_("settings.save_file_error"),content:[l.message,{text:e_("settings.save_file_loaded_ok")}]})];case 5:return e.sent(),[3,6];case 6:return r.value="",[2]}})}),function(e){return t.apply(this,arguments)})),document.body.appendChild(r)}return null===(e=document.getElementById("save_file_picker"))||void 0===e||e.click(),[2]})})()}}),r.push({icon:eO["icon:coins"],text:e_("settings.max_coins",{max:er()}),help:e_("settings.max_coins_help"),value:function(){return(0,w._)(function(){return(0,O.__generator)(this,function(e){switch(e.label){case 0:return Q("max_coins",(X("max_coins",2)+1)%7),[4,tv()];case 1:return e.sent(),[2]}})})()}}),r.push({icon:eO["icon:reset"],text:e_("settings.reset"),help:e_("settings.reset_help"),value:function(){return(0,w._)(function(){return(0,O.__generator)(this,function(e){switch(e.label){case 0:return[4,r9({title:e_("settings.reset"),content:[e_("settings.reset_instruction"),{text:e_("settings.reset_confirm"),value:!0},{text:e_("settings.reset_cancel"),value:!1}],allowClose:!0})];case 1:return e.sent()&&(localStorage.clear(),window.location.reload()),[2]}})})()}}),r.push({text:e_("settings.autoplay"),help:e_("settings.autoplay_help"),value:function(){return(0,w._)(function(){return(0,O.__generator)(this,function(e){return tG(!1),[2]})})()}}),r.push({text:e_("settings.stress_test"),help:e_("settings.stress_test_help"),value:function(){return(0,w._)(function(){return(0,O.__generator)(this,function(e){return tG(!0),[2]})})()}}),[4,r9({title:e_("main_menu.settings_title"),content:[e_("main_menu.settings_help")].concat(M(r)),allowClose:!0,className:"settings"})];case 1:return(_=l.sent())&&(_(),tM.needsRender=!0),[2]}})})).apply(this,arguments)}function tk(){return tf.apply(this,arguments)}function tf(){return(tf=(0,w._)(function(){var e;return(0,O.__generator)(this,function(r){switch(r.label){case 0:if(r.trys.push([0,10,,11]),!(document.fullscreenEnabled||document.webkitFullscreenEnabled))return[2,!1];if(!(null!==document.fullscreenElement&&!ri("fullscreen")))return[3,5];if(!document.exitFullscreen)return[3,2];return[4,document.exitFullscreen()];case 1:case 3:case 6:case 8:return r.sent(),[2,!0];case 2:if(!document.webkitCancelFullScreen)return[3,4];return[4,document.webkitCancelFullScreen()];case 4:return[3,9];case 5:if(!(ri("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(r.sent()),[3,11];case 11:return[2,!1]}})})).apply(this,arguments)}function tW(){return(tW=(0,w._)(function(){var e,r,a;return(0,O.__generator)(this,function(t){switch(t.label){case 0:return e=ee(),r=ex.map(function(r){var a=r.name,t=r.id,i=r.threshold,s=r.help,o=r.category,n=r.fullHelp;return{text:a,disabled:ei?"used":""),actionLabel:e_("unlocks.use")}}).sort(function(e,r){return e.threshold-r.threshold}),[4,r9({title:e_("unlocks.title_upgrades",{unlocked:r.filter(function(e){return!e.disabled}).length,out_of:r.length}),content:[e_("unlocks.intro",{ts:e}),r.find(function(e){return e.disabled})?e_("unlocks.greyed_out_help"):"",ep(e_("unlocks.category.beginner"))].concat(M(r.filter(function(e){return e.category==ev.beginner})),[ep(e_("unlocks.category.combo"))],M(r.filter(function(e){return e.category==ev.combo})),[ep(e_("unlocks.category.combo_boost"))],M(r.filter(function(e){return e.category==ev.combo_boost})),[ep(e_("unlocks.category.simple"))],M(r.filter(function(e){return e.category==ev.simple})),[ep(e_("unlocks.category.advanced"))],M(r.filter(function(e){return e.category==ev.advanced}))),allowClose:!0})];case 1:if(!(a=t.sent()))return[3,3];return[4,tz(tM)];case 2:t.sent()&&tO(S({},a)),t.label=3;case 3:return[2]}})})).apply(this,arguments)}function tw(){return(tw=(0,w._)(function(){var e,r,a;return(0,O.__generator)(this,function(t){switch(t.label){case 0:return e=new Set(X("breakout_71_unlocked_levels",[])),r=eC.map(function(r,a){var t=e.has(r.name)?null:au(a,r.name,aB,!0);return{text:r.name,disabled:!!t,value:{level:r},icon:eO[r.name],help:(null==t?void 0:t.text)||eR(r),className:"upgrade choice "+(t?"":"used"),tooltip:r.credit,actionLabel:e_("unlocks.try")}}),[4,r9({title:e_("unlocks.level",{unlocked:r.filter(function(e){return!e.disabled}).length,out_of:r.length}),content:M(r),allowClose:!0,className:"actionsAsGrid large"})];case 1:if(!(a=t.sent()))return[3,3];return[4,tz(tM)];case 2:t.sent()&&tO(S({},a)),t.label=3;case 3:return[2]}})})).apply(this,arguments)}function tz(e){return tS.apply(this,arguments)}function tS(){return(tS=(0,w._)(function(e){return(0,O.__generator)(this,function(r){return!e.currentLevel||r4?[2,!0]:(to(!0),[2,r9({title:e_("confirmRestart.title"),content:[e_("confirmRestart.text"),{value:!0,text:e_("confirmRestart.yes")},{value:!1,text:e_("confirmRestart.no")}]})])})})).apply(this,arguments)}var tx={ArrowLeft:0,ArrowRight:0,Shift:0};function tq(e,r){tx[e]=r,tM.keyboardPuckSpeed=(tx.ArrowRight-tx.ArrowLeft)*(1+2*tx.Shift)*tM.gameZoneWidth/50}document.addEventListener("keydown",(t=(0,w._)(function(e){return(0,O.__generator)(this,function(r){return"f"!==e.key.toLowerCase()||e.ctrlKey||e.metaKey?e.key in tx&&tq(e.key,1):(rs("fullscreen"),tk())," "!==e.key||r4||(tM.running?to(!0):ti(),e.preventDefault()),[2]})}),function(e){return t.apply(this,arguments)}));var tB=new Date;document.addEventListener("keyup",(i=(0,w._)(function(e){var r,a,t,i,s;return(0,O.__generator)(this,function(o){switch(o.label){case 0:if(s=document.querySelector("button:focus"),!(e.key in tx))return[3,1];return tq(e.key,0),[3,10];case 1:if("ArrowDown"!==e.key||(null==s?void 0:null===(r=s.nextElementSibling)||void 0===r?void 0:r.tagName)!=="BUTTON")return[3,2];return null==s||null===(a=s.nextElementSibling)||void 0===a||a.focus(),[3,10];case 2:if("ArrowUp"!==e.key||(null==s?void 0:null===(t=s.previousElementSibling)||void 0===t?void 0:t.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&&r5))return[3,4];return r5(),[3,10];case 4:if(!("Escape"===e.key&&tM.running))return[3,5];return to(!0),[3,10];case 5:if(!("m"===e.key.toLowerCase()&&!r4))return[3,6];return tb().then(),[3,10];case 6:if(!("s"===e.key.toLowerCase()&&!r4))return[3,7];return ah(tM).then(),[3,10];case 7:if(!("r"===e.key.toLowerCase()&&!r4&&tBaR(tM),r=e&&tM.perks.picky_eater&&eX(tM),a=eJ(tM),t=tM.perks.clairvoyant,i=rJ(tM);r||-1!==a||tM.perks.zen||(i=0);var s=t&&tM.brickHP.reduce(function(e,r){return e+r},0),o=tM.gameZoneWidth+"_"+tM.bricks.join("_")+rG.complete+"_"+a+"_"+r+"_"+tM.ballsColor+"_"+tM.perks.pierce_color+"_"+s+"_"+i;if(o!==rD){rD=o,rj.width=tM.gameZoneWidth,rj.height=tM.gameZoneWidth+1;var n=rj.getContext("2d");n.clearRect(0,0,tM.gameZoneWidth,tM.gameZoneWidth),n.resetTransform(),n.translate(-tM.offsetX,0),tM.bricks.forEach(function(s,o){var _=eE(tM,o),l=ej(tM,o);if(s){var d=a===Math.floor(o/tM.level.size),c=tM.ballsColor!==s&&"black"!==s&&r||e&&tM.perks.zen&&"black"===s||d;n.globalCompositeOperation="source-over",rI(tM,n,s,_,l,c?i:-1,t>=2),tM.brickHP[o]>1&&t&&(n.globalCompositeOperation="source-over",rU(n,tM.brickHP[o].toString(),t>=2?s:tM.level.color,tM.puckHeight,_,l)),"black"===s&&(n.globalCompositeOperation="source-over",function(e,r,a,t,i){var s="svg"+r+"_"+a+"_"+r.complete;if(!rH[s]){var o=document.createElement("canvas");o.width=a,o.height=a;var n=o.getContext("2d"),_=a/Math.max(r.width,r.height),l=r.width*_,d=r.height*_;n.drawImage(r,(a-l)/2,(a-d)/2,l,d),rH[s]=o}e.drawImage(rH[s],Math.round(t-a/2),Math.round(i-a/2))}(n,rG,tM.brickWidth,_,l))}})}rO.drawImage(rj,tM.offsetX,0)}(),rx("render:lights"),rO.globalCompositeOperation="screen",a2(e.lights,function(r){var a=r.x,t=r.y,i=r.time,s=r.color,o=(r.size,r.duration);rO.globalAlpha=.5*Math.min(1,2-(e.levelTime-i)/o*2),rI(e,rO,s,a,t,-1,e.perks.clairvoyant>=2)}),rx("render:texts"),rO.globalCompositeOperation="screen",a2(e.texts,function(r){var a=r.x,t=r.y,i=r.time,s=r.color,o=r.size,n=r.duration,_=e.levelTime-i;rO.globalAlpha=Math.max(0,Math.min(1,2-_/n*2)),rO.globalCompositeOperation="source-over",rU(rO,r.text,s,o,a,t-_/10)}),rx("render:particles"),a2(e.particles,function(r){var a=r.x,t=r.y,i=r.time,s=r.color,o=r.size,n=r.duration;rO.globalAlpha=Math.max(0,Math.min(1,2-(e.levelTime-i)/n*2)),rO.globalCompositeOperation="screen",rF(rO,s,o,a,t)}),rx("render:extra_life"),e.perks.extra_life){rO.globalAlpha=e.balls.length>1?.2:1,rO.globalCompositeOperation="source-over",rO.fillStyle=e.puckColor;for(var k=0;k