Online PHP and Javascript Decoder decode hidden script to uncover its real functionality


const vA = ["image", "title", "ПРОДОЛЖИТЬ", "top", "clientHeight", "build", "direction", "statistics", "createPattern", "#2d6998", "yellow", "notifications", "expires", "normalize", "keydown", "__n", "Replaying", "setProperty", "focus", "animation", "Это не база", "repeat", "newScore", "log", "display", "distance", "onOut", "off", "baseDistance", "getDerivedStateFromError", "baseNearestPoint", "checkBaseCommits", "preparing", "calcSquare", "paper.io.storage", "cells", "concat", "fsm", "data", "ceil", "circular", "metrics", " – ", "c13", "skins-container", "progress", "findSegment", "reduce", "самопересечение", "substring", "#ff0000", "pivot", "insertBefore", "bronze", "unusedAssets", "renderTime", "alloc", "shouldComponentUpdate", "newText", "startTime", "#fcb9b2", "ИГРАТЬ", "boolean", "#e7fff4", "#4b692f", "lineWidth", "entries", "aiStartTime", "fadein", "defaultPlayerName", "c22", "#000000", "draw", "overlay", "covidquest", "ДЛИТЕЛЬНОСТЬ", "getRenderContext", "sin", "skins_unlock", "#ff8800", "loop", "insideNew", "container", "paper2IO", "nodeType", "globalCompositeOperation", "sanitizerquest", "reverse", "ShowPreroll", "update", "random", "style", "maxDanger", "height", "getPlayerSkin", "div", "modes", "body", "Убит", "#dddddd", "country", "push", "qas", "debounceRendering", "download", "greed", "render", "description", "switch", "New skin unlocked!", "polyline", "#c68642", "rng", "Игрок", "shift", "appendChild", "trackDistance", "abs", "#ed6a5a", "skip cycles to: ", "killText", "УБИТО", "__html", "idle", "function", "change", "ЛУЧШИЙ РЕЗУЛЬТАТ", "attack", "убит откружением столицы", "values", "min", "setTransform", "pressed", "prepare", "playerDeathCallback", "looped", "убит об стену", "DeadMorose\nold_demon\nfox\nDeFreeZe\nGoSeek\nKeyplex\nDarkfury\nFunnyway\nBLACK_PRINCE\n[BigBoss]ShadiBoo\nDizzer\nKARATEL\nHowlux\nLight_Soul\n2fab4u\nBoOT\nMrKat2017\nSkulL\nCmeTano4Ka\nflash\nh1me3ra\nHoward\ni_Pro\nred_devil\nbest_of_the_best\nblow_crazy \nface_of_vengeance\nGlambit \nMASTER_GRIF\nMr.ByBlIk\nn1ce_DayZ\nRantom\nAbove Daemons\ncompany_THE_Best\nDanie\ndarklight\nDaxmaut\ndiablo\ngreat_man\nkiller_innothing\nNix\nValett\nDarkAngelKael\nduelist\ni_zadrot\nMonster_Energy\nMr.Winston\nRaindrops\nSumerbraum\nTermit\nTITAN\nWOOOlf\nAVSTRAL\nBadLike\nBuri\ncop_zombie\ndestroyer_for_us\nEKEN\nEksnet\nFrostorik\nghost_of_fear\nHotzarzim\nj111m\nKael\nKikET\n4CHAN\nPIKABU\n9GAG\naustralia\naustria\nayylmao\nbait\nbangladesh\nbelgium\nbosnia\nbotswana\nbrazil\nbulgaria\ncambodia\ncanada\nchile\nchina\ncia\nconfederate\ncroatia\ndenmark\nea\nearth\nestonia\neuropeanunion\nfacepunch\nfeminism\nfinland\nfrance\ngermanempire\ngermany\ngreece\nhongkong\nhungary\nindia\nindiana\nindonesia\niran\niraq\nireland\nitaly\njamaica\njapan\nkc\nlatvia\nlithuania\nluxembourg\nmaldivas\nmatriarchy\nmexico\nmoon\nnazi\nnetherlands\nnigeria\nnorthkorea\nnorway\norigin\npakistan\npatriarchy\nperu\npewdiepie\npiccolo\npoland\nportugal\nprodota\nqingdynasty\nquebec\nreddit\nrussia\nsanik\nsatanist\nsealand\nsouthkorea\nspain\nstalin\nsteam\nsweden\nswitzerland\ntaiwan\ntexas\nthailand\ntsaristrussia\ntumblr\nukraine\nunitedkingdom\nusa\nussr\nvinesauce\nyaranaika\ntumblr\nhongkong\nKillerGamer\nLimuzin\nmage\nMCGaMeR\nMr_Het\nNadornsMonsters\nnero\noutcaster\nSteepCat\nTUCA\nurban_hunter\nvirtual_lord\nwertyi\nWinstonLight\nWoJDoo\nArtemad\nClydeKautz\nBarney\nRhodaPing\nSharlaPropes\nNanciTyner\nIlaWorm\nSebastianRawlinson\nCraigFlury\nEstebanBrehm\nDeberaVancuren\nTabithaOlivieri\nTrishaKimball\nMilagrosHyler\nCinderellaGerson\nFranBaldridge\nMelisaBrock\nGaynelleSimmonds\nEttaMirabella\nLaveraLabrecque\nBudNormand\nEliasSherwood\nJackpot\nSensation\nChuck\nSoots\nTheSaint\nICEman\nMiracleSnoopy\nBahartet\nBiotary\nHammer85\nBizcarit\nBlackenta\nBurkelstrin\nBurntSeen\nChariana\ngoldfinger\nConfidentHelp\nCopiconc\nDemocoman\nGaartely\nGenantro\nGlitzMcGenius\nJuliatu\nKalstaxi\nKeymatr\nKredicon\nLuvGurly\nMasteranca\nMediaBolt\nMeemuset\nMonsterInformer\nOccuiffu\nOnnitall\nRodeonevedo\nSandBlondeFully\nShipnease\nSlypectle\nSpinfonexu\nAdocarli\nAnglosi\nSimba\nAuetonbr\nBanshfeli\nQWERT\nBezequaci\nBizarrebobw\nBizarrewo\nBlenetra\nBootXboxStein\nBradleyFinest\nCeticRaven\nChunkyKlug\nDailiesHigh\nDravencybe\nFarerSaiyan\nGabring\nHalcytech\nHeminepe\nHeraldhama\nImagene\nLolandexte\nLucebayn\nMatroner\nMediumbben\nMofficanki\nNateinvelo\nTIMBERLAKE\nNessDiddy\nPlatinumTrippin\ntheviking\nPlusedge\nRaetstalyda\nJustinStromberg\nRebecaSenn\nRoxy\nNeil\nMaria\nWarren\nGrace\nWilliam\nJane\nVanessa\nLisa\nStephanie\nDidi\nBoris\nRuth\nLeonard\nJack\nCaroline\nSebastian\nConnor\nIan\nTOMAS\nSue\nFOX\nDylan\nLisa\nGrace\nJabbaDabba\nJennifer\nBenjamin\nPiPPa\nSteven\nJoe\nKNine\nKevin\nCaroline\nMcFlurry\nKatherine\nLeah\nIrene\nOwen\nUna\nGabrielleSlater\nAmyFisher\nAngelaGrant\nAlisonOgden\nDeadshot\nNitro\nTrevorBlack\nKatherinePullman\nOliverMacDonald\nAvaVaughan\nJenniferWhite\nWarrenPeters\nLeahCameron\nAlisonBerry\nKeithBuckland\nJulianMackay\nNatalieSanderson\nviZion\nJoshuaPeake\nKeithDowd\nHotdog\nJamesLambert\nJanBond\nColinMarshall\nJasonRees\nFRED\nJaneHughes\nLeonardOliver\nHarryAnderson\nGraceSmith\nDeirdreJones\nAudreySpringer\nEllaGray\nDominicHamilton\nKeithBlake\nRuthJackson\nMollyHudson\nSophieBerry\nCarolineLyman\nEmmaHudson\nJoeLyman\nOliviaPiper\nChristopherAllan\nMariaKing\nPippaSlater\nSarahJohnston\nRyanWhite\nJackHill\nWilliamMackay\nBenjaminAlsop\nAmandaRoberts\nThomasParsons\nLiamMcGrath\nJanHenderson\nSoniaChapman\nWilliam\nLily\nPeter\nKeith\nIsaac\nLeah\nMadeleine\nKaren\nFrank\nAlan\nMichael\nRachel\nDominic\nPaul\nNicola\nEmily\nTim\nbigBEN\nCohen\nGood\nFrancis\nOdom\nGreen\nCain\nTrevino\nLucero\nAshley\nigloo\nduffer\nloaded\nsickness\ngreeting\nlonely\nbafflement\ntrusty\nalteration\nevil\nsolva\npenumbra\ndauphine\nalluring\nlilly\nstinchar\ncubic\nblackbrook\nrebuff\ninclined\nlyon\nsquash\nunique\nlyne\nchewy\nmasticate\nmagnet\nknit\nindolent\nsevere\nfestus\ntrain\nincisionKim\nBean\nAguilar\nErnesto\nCurtis\nCortez\nTyshawn\nBrady\nBeckett\nXavier\nCason\nBryson\nSheldon\nPierce\nDeshawn\nAndy\nAaron\nArmando\nKarson\nK9\nNadia\nJovan\nErin\nTerry\nGrayson\nCelia\nAlexzander\nCannon\nJoey\nStella\nGracie\nKFCLOVER\nChico\nPrince\nMocha\nScooter\nChester\nCoco\nDusty\nZoe\nSocks\njefferson\nignore\nalladale\nvirtue\nprovided\ncohesive\nbullfinche\ncomet\ndip\nzipper\npostulate\nlick\nbashful\npascals\nrudy\ngloaming\ncashew\nmixcloud\ntraumatic\nprostate\npeas\nmelon\nbulbous\ngavel\nnumnah\nnavel\nriver\nsaskatoon\ncaused\nhardy\npare\nfemale\nvolunteer\nspeck\nyears\nvalid\narmpit\nbobby\nbolham\ngoogle\nbrennand\npastry\nweapon\ncuillin\ndescent\neasier\nmore\nrisedale\ngoggles\ncute\nmagellanic\nrenal\nzunyi\nEveryPrivate\nChipmunkThreat\nLeafyForefoot\nSebastianExxon\nHuckFaisalabad\nWheelchairHadar\nBulimiaMilk\nEiderStallion\nMoronicBuckinghamshire\nPayBiff\nHillsboroughEnvelope\nAllianzRhapsody\nArseEnteral\nBoronRadiant\nArchiveUntrue\nPlasticSpeech\nOfficerWiltshire\nBungBuzzard\nMoscowStellar\nTrialsHearty\nModelHorse\nBootsGrimacing\nShiraMosedale\nLeopardClapper\nSkatersStars\nCaramelizeStraws\nAngolanVinomadefied\nBatterySiemens\nHedgeThompson\nLukaIcing\nMimosaBrunswick\nTinForgetful\nHumberHook\nSeagullTrump\nBookerTouring\nSugarWarn\nCustardsStructure\nRudyBarium\nElectrolyteDisfigured\nBlighterPhysicist\nAntoniadiAtom\nPachaRule\nMaltyPatches\nHonoluluSwedish\nGemGleaming\nAssociatedThose\nAfterCointreau\nEyesPierre\nStewartGels\nAretePuppy\nFullscreenTrophic\nMailWillow\nScaupFrosty\nZaraBipedal\nCheapScafell\nDevonYolk\nSkegCohesive\nCricketBashful\nCocoaPuck\nDecathlonIschemic\nOftSnottor\nCheepNewlyn\nSwimGrill\nBaubleSymbolic\nAstronomerSpam\nVarlotLealt\nSensorSquamish\nKeyTechnetium\nCrummyQuirky\nVinePlane\nWaterskiBlind\nOrdinateCrown\nSpotTense\nFumeVine\nGlasswareCherries\nPhenomenonWillied\nPappusWazzed\nFilterSpace\nHypnosisSociable\nGaffEnder\nTordaHelpless\nResearchMat\nAmpereHeptagon\nEclipseBaldy\nLliediDiopside\nRockersGatcombe\nSabineEssential\nPlutoAbsurd\nTagTestify\nForswearJosie\nEquuleusFalter\nChewieFluther\nWombYakama\nHinderHighland\nBiteSeptum\nRifleGym\nJuneauInboard\nTroubadourChillingwood\nNeogeneLecturer\nSullivanStencils\nCheesecakePit\nClumpUnhelpful\nCheckBig\nLollyPumpkin\nCitrusyCountless\nVarunaRemy\nDivergentOils\nFallingTalisker\nBlackwaterNifty\nBrinkworthFranklyn\nFreddyPostman\nClumperPoke\nSlopeTokahee\nStencilsHume\nJijiKey\nAdeptStores\nUnicodeIgneous\nMeatyNut\nMaskSpark\nForegoingMoist\nEthicalConfident\nOblongataIsraeli\nGreenAle\nFibulaJoss\nShrugMinge\nFlowsWhispers\nActiveGlissade\nExaltedSpaghetti\nMeerkatMatch\nCouldHoff\nYawnObtuse\nCrazyUnknown\nPlanemoTyler\nCalderaBeans\nSoundcloudJapan\nSeveralGalled\nStarbucksDomain\nEdibleGlazier\nResourcesCapital\nNitrogenBella\nFlavorfulProtoplanet\nTeachSqueeze\nMeiosisSiphon\nTelephoneMarl\nTrundleRitec\nTheodoreShamrock\nNoirMelody\nVanillaArmenian\nHonkExoticism\nMandibleSepsis\nVenomousSignal\nManukaEval\nLooksLeaves\nFriedInto\nBlowTalented\nStubbsHeadphones\nWigeonNewcastle\nLoadHamster\nPinkieSaint\nEuphoniumRedundant\nSabdenRoad\nSuccessApache\nPateraCitric\nBalnagownQuiver\nGambianHartford\nRidingNostalgic\nAmbushFlex\nBretonCommon\nSpot!Fine\nPlaintivePride\nDiphthongPraline\nShearraInflate\nWoldsLennon\nSordiniMeathead\nSordCegidog\nSelfiesWeigh\nOrganVile\nPinchWeixin\nSassyFlag\nAlberniDart\nBowenImmense\nRulerFocus\nMaggotMine\nRegulateInventions\nMeshAlbite\nPoxArabella\nTikiFredericton\nNeedleDiapir\nGeneBlurt\nBindyFollowed\nMongolianTurtle\nSenseProfess\nFoldingHacking\nArsonistClipping\nKerryBonnie\nMaliciousMilitary\nMountainFrivolous\nCannonCog\nCordFlapping\nSnickerIndonesian\ndome\nking\nohio\nstandard\nfustilarian\nnative\nsupply\namherst\ninitial\ntowel\npumpion\nperfect\nmouldy\nflasks\ncarina\nduchess\ncrackers\nexciting\nhole\nwiggle\ngreat\nben\npoop\notis\npolite\nslapping\notherwise\ngrilled\nwes\nsummary\nnice\nbasketball\nstarbolins\nbaby\nbooking\nrhubarb\nperson\nshooter\nbounded\nnorthamptonshire\nsyllable\ngreenish\nuptight\ntweed\nthe\nreeky\nlathered\nascension\nobtain\nnagging\nchallenger\nsecret\nworcester\nlangley\npolly\nurinal\ntrusting\nbeverley\nfrankie\ndartmoor\nmash\ngillie\nmethodist\ngalaxy\nmozart\nbarrage\nspoticus\nscheduled\neel\npanel\nflapjack\nchemist\nalbert\nmetacarpus\ndense\nbleeding\nfixation\nniggles\ncamel\nrosin\ncommunity\nleash\ndulais\nladder\nlee\nindices\nyou\neducation\ndumplings\nbid\nprince\nartiste\navocet\nburns\nbarney\nmanaged\nburritos\npeduncle\npaltry\nequator\nsubmerge\nexpected\nfags\nperl\nclueless\ncartier\nwombled\nbearded\nkalman\ntrees\npink\naddie\ntod\nusd", "pool", "getCell", "list", "slice", "measureText", "currentlyPlaying", "проход", "Применить", "ВАШ РЕЗУЛЬТАТ", "timeAccumulated", "fill", "isTrack", "#1a936f", "naturalHeight", "debu", "send", "skip", "#a7adba", "spawnEndTime", "content", "black", "visible", "componentWillUpdate", "square", "#ffffff88", "baseHeight", "svg", "getSchemes", "touchmove", "hide", "aiEndTime", "labels", "orange noPadding", "meta", "Provider", "color", "pop", "href", "gray", "commit", "rotation", "green", "toDataURL", "textAlign", "diffed", "tips", "calcSimplify", "buttons", "drawImage", "removeEventListener", "getChildContext", "nickName", "aviable", "#00000088", "#ffffff", "addButton", "fpsSequence", "addUnit", "componentWillMount", "baseNearestPointNormal", "pow", "updateBounds", "logo", "function *\\( *\\)", "while (true) {}", "aggro", "right", "defaults", "cycle", "componentDidCatch", "#8d5524", "checked", "ctrl", "currMetric", "#f1c27d", "skipping", "НОВЫЙ", "No skin", "children", "substr", "events", "test", "#b23a48", "maxPreparingTime", "checker", "minDistance", " has no heigth", "assets/images/logo.png", "color: white;", "layers", "reaper", "shape", "schemesManager", "nearPlayerBotSpawnCount", "ИГРАТЬ СНОВА", "down", "safety", "browserLanguage", "count", "find", "__P", "capital", "getChecker", "renderEndTime", "#f00", "http://www.w3.org/2000/svg", "ads", "tag", "registerAssets", "colored", "#64a1f4", "play", "manager", "#f77f00", "setAttribute", "#99000040", "props", "segments", "bottom", "languages", "extraLife", "#00000022", "leaderboard", "autoCheckUnlock", "billboard", "keyboard", "cities", "gameOver", "add2", "#8b9dc3", "action", "strokeStyle", "https://gameads.io/adspixel.png", "isArray", "addSet", "active", "flags", "number", "quality", "result", "game", "addPlayer", "middle", "capSquare", "main", "dot", "map", "getCitySkin", "assert", "renderer", "bold ", "points", "lastMouse", "localName", "#8f974a", "radius", "sqrt", "roundedFlag", "src", "metaKey", "scores", "bot.position", "img", "убит пересечением трека", "assets", "#68b0ab", "vnode", "fillText", "acceleration", "yellow slider-5", "displays", "mousemove", "font", "#8dbdff", "defaultProps", "ready", "addColorStop", "debugGraph", "language", "timings", "clientWidth", "touchend", "forceUpdate", "constructor", "charAt", "read", "geraldquest1", "debugView", "onload", "handleIntersect", "убит разделением со столицей", "capture", "clip", "best", "returns", "ait", "key", "indexOf", "keyboardModeSwitch", "back", "polygon", "componentWillUnmount", "unit", "all", "fps", "updateTime", "exit", "def", "exports", "slider-1", "rawSquare", "floor", "getTransform", "fadein 500ms", "bestPercent", "closePath", "segment", "type", "movement", "owner", "notsupported", "intersect", "calc", "addLabel", "apply", "jitter", "updateParticlesId", "globalAlpha", "#2a9d8f", "timePlayed", "error", "right_side", "px ", "fillStyle", "loadAsset", "seed", "sub", "sort", "spawnStartTime", "setSkin", "vector", "selfKillDelay", "insert", "clone", "sign", "removeChild", "#363331", "clientY", "level", "stroke", "sets", "stats", "updateStartTime", "#2a4d69", "fakeMouse", "velocity", "create", "percent", "splice", "kill", "changeShields", "mouse", "application/json", "handleReturn", "calcPath", "mode2", "componentDidUpdate", "__b", "cross", "last", "__H", "quadraticCurveTo", "write", "#524b24", "__cC", "charCodeAt", "image/png", "silver", "equal", "Recording: ", "checkPoint", "toFixed", "stopped", "__d", "alt", "window.shop unavaliable", "replace", "renderStartTime", "toLowerCase", "fromCharCode", "#fcbf49", "topListChanged", "skin-view", "toISOString", "skin", "codes", "#990099cc", "gger", "keyup", "Render time: ", "track", "results", "nom", "max", "thanos", "none", "gameOverCallback", "undefined", "Cookies", "#ffff00", "assets/languages.json", "barWidth", "pressedButtons", "enemyKillDelay", "split", "init", "clear", "removeAsset", "Schemes", "выигрыш", "__E", "exitPoint", "ownerSVGElement", "now", "shiftKey", "lineCap", "respawn", "path", "prepareCounter", "touchstart", "capAmerica", "translate", "addAsset", "accumulator", "out", "finishPrepare", "slider-4", "leave", "#65737e", "#99e550", "print", "ref", "unitSpeed", "nav", "counter", "config", "replaying", "bind", "spawnBot", "width", "cssText", "next", "#ff3377", "paper2_results", "placeholderText", "paperio-site_multisize", "__r", "isFlagSkinManager", "CONNECT2MEDIA", "registerAsset", "targets", "startGame", "Version: A6 2020-10-14T10:51:36.392Z", "pageY", "doctorquest", "lng", "orange", "newBest", "copy", "then", "base", "noskin", "mouseleave", "__s", "load", "onEarned", "plate", "lineTo", " has no width", "toUpperCase", "childNodes", "classic", "#d62828", "#ff99cc", "json", "createSVGMatrix", "__h", "skinManager", "position", "createTextNode", "form", "achievements", "unitToTrackDistances", "spawnPlayer", "left_side", "nextSibling", "success", "getElementById", "duration", "keys", "bestScore", "Пересекайте хвосты противников и не позволяйте им пересечь свой!", "setState", "lastSquare", "#8874a3", "randomAssetName", "componentWillReceiveProps", "simplyline", "updateMetrics", "user", "clearRect", "unmount", "showAds", "Quality: ", "nameManager", "__c", "onKill", "segmentsCount", "preventDefault", "colors", "startBotLevel", "chain", "aspect", "__k", "innerHTML", "Consumer", "botSpawnLimited", "point", "enter", "some", "modifiers", "frameTime", "kills", "textBaseline", "has", "gold", "simplify", "storageName", "botLevel", "player", "renderContext", "prepareAcceleration", "addEventListener", "contextmenu", "cell", "barHeight", "scale", "from", "atan2", "invert", "bots", "onKeyChange", "createElementNS", "POST", "/newpaperio/ajax/results.php", ".png", "source", "__e", "Spawn time: ", "getJSON", "spawnSuspend", "footer", "vrange", "backLayers", "destination-over", "naturalWidth", "mark", "handleEnemyIntersect", "отдаление", "add", "Recording", "killer", "requestAnimationFrame", "space", "attributes", "#88d498", "resize", "Не знаете как играть?", "achievementsProfile", "units", "every", "paperio2api", "shieldSkinAssets", "platesStrokeWidth", "getMovement", "left", "get", "hasPoint", "#843b62", "#ffffffcc", "isPlayer", "value", "убит окружением", "schemes", "#fe4a49", "pattern", "nick", "#00000099", "angle", "userLanguage", "dangerouslySetInnerHTML", "vscale", "mouseenter", "#c2d6cdaa", "parentNode", "death", "getSpawnPosition", "getContext", "createElement", "state", "cos", "handleUnitMovements", "circle", "restore", "mouseup", "tagName", "join", "__v", "getScheme", "input", "recording", "onScoreChanged", "finish", "bounds", "bestTxt", "yandex_rtb", "toString", "mousedown", "removeAttribute", "menu", "setLeaderboard", "assets/skins/skins.json", "doctor", "mulScalar", "label", "prototype", "span", "debug", "Ваше имя", "event", "fillRect", "assets/skins/select/", "remove", "altKey", "usedBy", "payload", "ДОПОЛНИТЕЛЬНАЯ ЖИЗНЬ!", "size", "comeback", "#8a6f30", "contextType", "onMouseChange", "set", "#ff77aa", "red", "loadingStarted", "geralt", "updateEndTime", "string", "readInput", "controller", "save", "#4b86b4", "intersections", "paperio_challenges", "Level: ", "distance2", "#ffe066", "arc", "hideAds", "skins", "prepareAndUpdate", "tip", "shop", "score", "inside", "slider-3", "earned", "filter", "release", "maxScale", "addCity", "bornTime", "yourScore", "magnitude", "resultbox", "#3b5998", "playersKilled", "center", "shields", "url", "forEach", "end", "border", "distanceDanger", "tailRecovered", "#0000ffcc", "strokeText", "uibox", "rescale", "particles", "reskin", "time", "Particles: ", "assign", "canvas", "available", "current", "Игра не поддерживается на вашем браузере", "resolve", "text", "findIndex", "frontLayers", "moveTo", "Бывает ли такое?", "beginPath", "stringify", "playerId", "dratest", "origin", "index", "view", "#3b7dd8", "#00000033", "check", "getSnapshotBeforeUpdate", "levelStart", "clientX", "Units: ", "length", "shadowBlur", "round", "rotate", "name", "layer", "target", "parse", "start", "AI time: ", "button", "removeAttributeNS", "ЛУЧШИЙ", "PT Sans Caption", "states", "reason", "smoothness", "btnSelect", "Recovering tail, cycle: ", "noPlayerBotLevel", "assets/skins/", "unitDanger", "getSeconds", "baseNearestPointTangent", "setAttributeNS", "alert", "убит захватом точки выхода", "shadowColor", "handleSelfIntersect", "cookie", "call", "отстрел", "profile", "getDerivedStateFromProps", "context"];
(function (p, p2) {
  const vF = function (p3) {
    while (--p3) {
      p.push(p.shift());
    }
  };
  vF(++p2);
})(vA, 307);
const vF2 = function (p4, p5) {
  p4 = p4 - 0;
  let v2 = vA[p4];
  return v2;
};
(function () {
  "use strict";
  var v8;
  var v9;
  var v10;
  var v11;
  var v12;
  var v13;
  var vO = {};
  var vA2 = [];
  var v14 = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;
  function f(p8, p9) {
    for (var v15 in p9) {
      p8[v15] = p9[v15];
    }
    return p8;
  }
  function f2(p10) {
    var v16 = p10[vF2("0x14f")];
    if (v16) {
      v16[vF2("0x4c")](p10);
    }
  }
  function f3(p11, p12, p13) {
    var v17;
    var v18;
    var v19;
    var vArguments = arguments;
    var vO2 = {};
    for (v19 in p12) {
      if (v19 == "key") {
        v17 = p12[v19];
      } else if (vF2("0xac") == v19) {
        v18 = p12[v19];
      } else {
        vO2[v19] = p12[v19];
      }
    }
    if (arguments[vF2("0x1cc")] > 3) {
      p13 = [p13];
      v19 = 3;
      for (; v19 < arguments[vF2("0x1cc")]; v19++) {
        p13[vF2("0x254")](vArguments[v19]);
      }
    }
    if (p13 != null) {
      vO2.children = p13;
    }
    if (vF2("0x26b") == typeof p11 && p11.defaultProps != null) {
      for (v19 in p11.defaultProps) {
        if (vO2[v19] === undefined) {
          vO2[v19] = p11[vF2("0x5")][v19];
        }
      }
    }
    return f4(p11, vO2, v17, v18, null);
  }
  function f4(p14, p15, p16, p17, p18) {
    var vO3 = {
      type: p14,
      props: p15,
      key: p16,
      ref: p17,
      __k: null,
      __: null,
      __b: 0,
      __e: null,
      __d: undefined,
      __c: null,
      __h: null,
      constructor: undefined,
      __v: p18
    };
    if (p18 == null) {
      vO3[vF2("0x15c")] = vO3;
    }
    if (v8[vF2("0x31f")] != null) {
      v8.vnode(vO3);
    }
    return vO3;
  }
  function f5(p19) {
    return p19[vF2("0x2c7")];
  }
  function f6(p20, p21) {
    this[vF2("0x2ed")] = p20;
    this[vF2("0x1ee")] = p21;
  }
  function f7(p22, p23) {
    if (p23 == null) {
      if (p22.__) {
        return f7(p22.__, p22.__[vF2("0xfe")][vF2("0x1c")](p22) + 1);
      } else {
        return null;
      }
    }
    var v20;
    for (; p23 < p22[vF2("0xfe")][vF2("0x1cc")]; p23++) {
      if ((v20 = p22[vF2("0xfe")][p23]) != null && v20[vF2("0x120")] != null) {
        return v20.__e;
      }
    }
    if (typeof p22.type == "function") {
      return f7(p22);
    } else {
      return null;
    }
  }
  function f8(p24) {
    var v21;
    var v22;
    if ((p24 = p24.__) != null && p24[vF2("0xf6")] != null) {
      p24[vF2("0x120")] = p24[vF2("0xf6")][vF2("0xc9")] = null;
      v21 = 0;
      for (; v21 < p24[vF2("0xfe")][vF2("0x1cc")]; v21++) {
        if ((v22 = p24[vF2("0xfe")][v21]) != null && v22.__e != null) {
          p24[vF2("0x120")] = p24[vF2("0xf6")].base = v22[vF2("0x120")];
          break;
        }
      }
      return f8(p24);
    }
  }
  function f9(p25) {
    if (!p25.__d && (p25[vF2("0x72")] = true) && v9[vF2("0x254")](p25) && !f10[vF2("0xbb")]++ || v11 !== v8[vF2("0x256")]) {
      ((v11 = v8.debounceRendering) || v10)(f10);
    }
  }
  function f10() {
    var v23;
    for (; f10.__r = v9[vF2("0x1cc")];) {
      v23 = v9[vF2("0x44")](function (p26, p27) {
        return p26[vF2("0x15c")][vF2("0x62")] - p27[vF2("0x15c")].__b;
      });
      v9 = [];
      v23[vF2("0x104")](function (p28) {
        var v24;
        var v25;
        var v26;
        var v27;
        var v28;
        var v29;
        var v30;
        if (p28[vF2("0x72")]) {
          v29 = (v28 = (v24 = p28)[vF2("0x15c")])[vF2("0x120")];
          if (v30 = v24[vF2("0x2dd")]) {
            v25 = [];
            (v26 = f({}, v28))[vF2("0x15c")] = v26;
            v27 = f19(v30, v28, v26, v24[vF2("0x1fe")], v30[vF2("0x99")] !== undefined, v28[vF2("0xd9")] != null ? [v29] : null, v25, v29 == null ? f7(v28) : v29, v28[vF2("0xd9")]);
            f20(v25, v28);
            if (v27 != v29) {
              f8(v28);
            }
          }
        }
      });
    }
  }
  function f11(p29, p30, p31, p32, p33, p34, p35, p36, p37, p38) {
    var v31;
    var v32;
    var v33;
    var v34;
    var v35;
    var v36;
    var v37;
    var v38 = p32 && p32[vF2("0xfe")] || vA2;
    var v39 = v38[vF2("0x1cc")];
    if (p37 == vO) {
      p37 = p35 != null ? p35[0] : v39 ? f7(p32, 0) : null;
    }
    p31.__k = [];
    v31 = 0;
    for (; v31 < p30[vF2("0x1cc")]; v31++) {
      if ((v34 = p31[vF2("0xfe")][v31] = (v34 = p30[v31]) == null || vF2("0x22d") == typeof v34 ? null : vF2("0x185") == typeof v34 || vF2("0x302") == typeof v34 ? f4(null, v34, null, null, v34) : Array.isArray(v34) ? f4(f5, {
        children: v34
      }, null, null, null) : v34[vF2("0x120")] != null || v34[vF2("0xf6")] != null ? f4(v34[vF2("0x30")], v34[vF2("0x2ed")], v34.key, null, v34[vF2("0x15c")]) : v34) != null) {
        v34.__ = p31;
        v34[vF2("0x62")] = p31[vF2("0x62")] + 1;
        if ((v33 = v38[v31]) === null || v33 && v34[vF2("0x1b")] == v33.key && v34.type === v33.type) {
          v38[v31] = undefined;
        } else {
          for (v32 = 0; v32 < v39; v32++) {
            if ((v33 = v38[v32]) && v34[vF2("0x1b")] == v33[vF2("0x1b")] && v34[vF2("0x30")] === v33[vF2("0x30")]) {
              v38[v32] = undefined;
              break;
            }
            v33 = null;
          }
        }
        v35 = f19(p29, v34, v33 = v33 || vO, p33, p34, p35, p36, p37, p38);
        if ((v32 = v34[vF2("0xac")]) && v33[vF2("0xac")] != v32) {
          v37 ||= [];
          if (v33.ref) {
            v37.push(v33[vF2("0xac")], null, v34);
          }
          v37[vF2("0x254")](v32, v34[vF2("0xf6")] || v35, v34);
        }
        if (v35 != null) {
          if (v36 == null) {
            v36 = v35;
          }
          p37 = f12(p29, v34, v33, v38, p35, v35, p37);
          if (p38 || p31[vF2("0x30")] != "option") {
            if (vF2("0x26b") == typeof p31[vF2("0x30")]) {
              p31[vF2("0x72")] = p37;
            }
          } else {
            p29[vF2("0x142")] = "";
          }
        } else if (p37 && v33[vF2("0x120")] == p37 && p37[vF2("0x14f")] != p29) {
          p37 = f7(v33);
        }
      }
    }
    p31[vF2("0x120")] = v36;
    if (p35 != null && vF2("0x26b") != typeof p31.type) {
      for (v31 = p35[vF2("0x1cc")]; v31--;) {
        if (p35[v31] != null) {
          f2(p35[v31]);
        }
      }
    }
    for (v31 = v39; v31--;) {
      if (v38[v31] != null) {
        f23(v38[v31], v38[v31]);
      }
    }
    if (v37) {
      for (v31 = 0; v31 < v37[vF2("0x1cc")]; v31++) {
        f22(v37[v31], v37[++v31], v37[++v31]);
      }
    }
  }
  function f12(p39, p40, p41, p42, p43, p44, p45) {
    var v40;
    var v41;
    var v42;
    if (p40.__d !== undefined) {
      v40 = p40.__d;
      p40.__d = undefined;
    } else if (p43 == p41 || p44 != p45 || p44[vF2("0x14f")] == null) {
      _0x48ed47: if (p45 == null || p45[vF2("0x14f")] !== p39) {
        p39[vF2("0x262")](p44);
        v40 = null;
      } else {
        v41 = p45;
        v42 = 0;
        for (; (v41 = v41[vF2("0xe2")]) && v42 < p42[vF2("0x1cc")]; v42 += 2) {
          if (v41 == p44) {
            break _0x48ed47;
          }
        }
        p39[vF2("0x223")](p44, p45);
        v40 = p45;
      }
    }
    if (v40 !== undefined) {
      return v40;
    } else {
      return p44[vF2("0xe2")];
    }
  }
  function f13(p46, p47, p48, p49, p50) {
    var v43;
    for (v43 in p48) {
      if (vF2("0x2c7") !== v43 && vF2("0x1b") !== v43 && !(v43 in p47)) {
        f15(p46, v43, null, p48[v43], p49);
      }
    }
    for (v43 in p47) {
      if ((!p50 || vF2("0x26b") == typeof p47[v43]) && vF2("0x2c7") !== v43 && vF2("0x1b") !== v43 && vF2("0x142") !== v43 && vF2("0x2c0") !== v43 && p48[v43] !== p47[v43]) {
        f15(p46, v43, p47[v43], p48[v43], p49);
      }
    }
  }
  function f14(p51, p52, p53) {
    if (p52[0] === "-") {
      p51[vF2("0x200")](p52, p53);
    } else {
      p51[p52] = p53 == null ? "" : vF2("0x302") != typeof p53 || v14[vF2("0x2ca")](p52) ? p53 : p53 + "px";
    }
  }
  function f15(p54, p55, p56, p57, p58) {
    var v44;
    var v45;
    var v46;
    if (p58 && p55 == "className") {
      p55 = "class";
    }
    if (vF2("0x24a") === p55) {
      if (vF2("0x185") == typeof p56) {
        p54[vF2("0x24a")][vF2("0xb5")] = p56;
      } else {
        if (typeof p57 == "string") {
          p54[vF2("0x24a")][vF2("0xb5")] = p57 = "";
        }
        if (p57) {
          for (p55 in p57) {
            if (!p56 || !(p55 in p56)) {
              f14(p54[vF2("0x24a")], p55, "");
            }
          }
        }
        if (p56) {
          for (p55 in p56) {
            if (!p57 || p56[p55] !== p57[p55]) {
              f14(p54.style, p55, p56[p55]);
            }
          }
        }
      }
    } else if (p55[0] === "o" && p55[1] === "n") {
      v44 = p55 !== (p55 = p55[vF2("0x75")](/Capture$/, ""));
      if ((v45 = p55[vF2("0x77")]()) in p54) {
        p55 = v45;
      }
      p55 = p55[vF2("0x27c")](2);
      p54.l ||= {};
      p54.l[p55 + v44] = p56;
      v46 = v44 ? f17 : f16;
      if (p56) {
        if (!p57) {
          p54[vF2("0x111")](p55, v46, v44);
        }
      } else {
        p54.removeEventListener(p55, v46, v44);
      }
    } else if (vF2("0x27b") !== p55 && vF2("0x15a") !== p55 && vF2("0xdd") !== p55 && vF2("0x30") !== p55 && vF2("0x17a") !== p55 && vF2("0x257") !== p55 && vF2("0x29e") !== p55 && !p58 && p55 in p54) {
      p54[p55] = p56 == null ? "" : p56;
    } else if (typeof p56 != "function" && p55 !== "dangerouslySetInnerHTML") {
      if (p55 !== (p55 = p55[vF2("0x75")](/xlink:?/, ""))) {
        if (p56 == null || p56 === false) {
          p54[vF2("0x1d7")]("http://www.w3.org/1999/xlink", p55.toLowerCase());
        } else {
          p54[vF2("0x1e4")]("http://www.w3.org/1999/xlink", p55[vF2("0x77")](), p56);
        }
      } else if (p56 == null || p56 === false && !/^ar/.test(p55)) {
        p54[vF2("0x167")](p55);
      } else {
        p54[vF2("0x2eb")](p55, p56);
      }
    }
  }
  function f16(p59) {
    this.l[p59[vF2("0x30")] + false](v8[vF2("0x172")] ? v8[vF2("0x172")](p59) : p59);
  }
  function f17(p60) {
    this.l[p60[vF2("0x30")] + true](v8[vF2("0x172")] ? v8[vF2("0x172")](p60) : p60);
  }
  function f18(p61, p62, p63) {
    var v47;
    var v48;
    for (v47 = 0; v47 < p61[vF2("0xfe")][vF2("0x1cc")]; v47++) {
      if (v48 = p61[vF2("0xfe")][v47]) {
        v48.__ = p61;
        if (v48[vF2("0x120")]) {
          if (vF2("0x26b") == typeof v48[vF2("0x30")] && v48[vF2("0xfe")][vF2("0x1cc")] > 1) {
            f18(v48, p62, p63);
          }
          p62 = f12(p63, v48, v48, p61[vF2("0xfe")], null, v48.__e, p62);
          if (vF2("0x26b") == typeof p61[vF2("0x30")]) {
            p61[vF2("0x72")] = p62;
          }
        }
      }
    }
  }
  function f19(p64, p65, p66, p67, p68, p69, p70, p71, p72) {
    var v49;
    var v50;
    var v51;
    var v52;
    var v53;
    var v54;
    var v55;
    var v56;
    var v57;
    var v58;
    var v59;
    var v60 = p65[vF2("0x30")];
    if (p65[vF2("0xe")] !== undefined) {
      return null;
    }
    if (p66[vF2("0xd9")] != null) {
      p72 = p66.__h;
      p71 = p65[vF2("0x120")] = p66[vF2("0x120")];
      p65.__h = null;
      p69 = [p71];
    }
    if (v49 = v8[vF2("0x62")]) {
      v49(p65);
    }
    try {
      _0x38b1fe: if (vF2("0x26b") == typeof v60) {
        v56 = p65[vF2("0x2ed")];
        v57 = (v49 = v60[vF2("0x17d")]) && p67[v49[vF2("0xf6")]];
        v58 = v49 ? v57 ? v57[vF2("0x2ed")][vF2("0x142")] : v49.__ : p67;
        if (p66[vF2("0xf6")]) {
          v55 = (v50 = p65[vF2("0xf6")] = p66[vF2("0xf6")]).__ = v50.__E;
        } else {
          if (vF2("0x16e") in v60 && v60.prototype.render) {
            p65.__c = v50 = new v60(v56, v58);
          } else {
            p65[vF2("0xf6")] = v50 = new f6(v56, v58);
            v50.constructor = v60;
            v50[vF2("0x259")] = f24;
          }
          if (v57) {
            v57[vF2("0x43")](v50);
          }
          v50[vF2("0x2ed")] = v56;
          v50[vF2("0x154")] ||= {};
          v50[vF2("0x1ee")] = v58;
          v50[vF2("0x1fe")] = p67;
          v51 = v50[vF2("0x72")] = true;
          v50[vF2("0xd9")] = [];
        }
        if (v50[vF2("0xcc")] == null) {
          v50[vF2("0xcc")] = v50.state;
        }
        if (v60[vF2("0x1ed")] != null) {
          if (v50[vF2("0xcc")] == v50.state) {
            v50.__s = f({}, v50.__s);
          }
          f(v50.__s, v60[vF2("0x1ed")](v56, v50[vF2("0xcc")]));
        }
        v52 = v50.props;
        v53 = v50[vF2("0x154")];
        if (v51) {
          if (v60[vF2("0x1ed")] == null && v50.componentWillMount != null) {
            v50[vF2("0x2b3")]();
          }
          if (v50.componentDidMount != null) {
            v50[vF2("0xd9")][vF2("0x254")](v50.componentDidMount);
          }
        } else {
          if (v60[vF2("0x1ed")] == null && v56 !== v52 && v50[vF2("0xed")] != null) {
            v50[vF2("0xed")](v56, v58);
          }
          if (!v50[vF2("0x120")] && v50[vF2("0x228")] != null && v50[vF2("0x228")](v56, v50[vF2("0xcc")], v58) === false || p65.__v === p66[vF2("0x15c")]) {
            v50[vF2("0x2ed")] = v56;
            v50[vF2("0x154")] = v50[vF2("0xcc")];
            if (p65[vF2("0x15c")] !== p66[vF2("0x15c")]) {
              v50[vF2("0x72")] = false;
            }
            v50.__v = p65;
            p65.__e = p66[vF2("0x120")];
            p65[vF2("0xfe")] = p66[vF2("0xfe")];
            if (v50[vF2("0xd9")].length) {
              p70[vF2("0x254")](v50);
            }
            f18(p65, p71, p64);
            break _0x38b1fe;
          }
          if (v50[vF2("0x28f")] != null) {
            v50[vF2("0x28f")](v56, v50.__s, v58);
          }
          if (v50[vF2("0x61")] != null) {
            v50.__h[vF2("0x254")](function () {
              v50[vF2("0x61")](v52, v53, v54);
            });
          }
        }
        v50.context = v58;
        v50[vF2("0x2ed")] = v56;
        v50.state = v50.__s;
        if (v49 = v8[vF2("0xbb")]) {
          v49(p65);
        }
        v50.__d = false;
        v50[vF2("0x15c")] = p65;
        v50[vF2("0x2dd")] = p64;
        v49 = v50[vF2("0x259")](v50[vF2("0x2ed")], v50[vF2("0x154")], v50[vF2("0x1ee")]);
        v50[vF2("0x154")] = v50[vF2("0xcc")];
        if (v50[vF2("0x2ab")] != null) {
          p67 = f(f({}, p67), v50.getChildContext());
        }
        if (!v51 && v50[vF2("0x1c8")] != null) {
          v54 = v50[vF2("0x1c8")](v52, v53);
        }
        v59 = v49 != null && v49.type == f5 && v49[vF2("0x1b")] == null ? v49[vF2("0x2ed")][vF2("0x2c7")] : v49;
        f11(p64, Array.isArray(v59) ? v59 : [v59], p65, p66, p67, p68, p69, p70, p71, p72);
        v50[vF2("0xc9")] = p65[vF2("0x120")];
        p65[vF2("0xd9")] = null;
        if (v50.__h[vF2("0x1cc")]) {
          p70.push(v50);
        }
        if (v55) {
          v50[vF2("0x97")] = v50.__ = null;
        }
        v50[vF2("0x120")] = false;
      } else if (p69 == null && p65[vF2("0x15c")] === p66.__v) {
        p65[vF2("0xfe")] = p66[vF2("0xfe")];
        p65.__e = p66[vF2("0x120")];
      } else {
        p65.__e = f21(p66[vF2("0x120")], p65, p66, p67, p68, p69, p70, p72);
      }
      if (v49 = v8.diffed) {
        v49(p65);
      }
    } catch (e) {
      p65.__v = null;
      if (p72 || p69 != null) {
        p65[vF2("0x120")] = p71;
        p65[vF2("0xd9")] = !!p72;
        p69[p69.indexOf(p71)] = null;
      }
      v8[vF2("0x120")](e, p65, p66);
    }
    return p65.__e;
  }
  function f20(p73, p74) {
    if (v8[vF2("0xf6")]) {
      v8[vF2("0xf6")](p74, p73);
    }
    p73.some(function (p75) {
      try {
        p73 = p75[vF2("0xd9")];
        p75[vF2("0xd9")] = [];
        p73[vF2("0x104")](function (p76) {
          p76.call(p75);
        });
      } catch (e2) {
        v8[vF2("0x120")](e2, p75.__v);
      }
    });
  }
  function f21(p77, p78, p79, p80, p81, p82, p83, p84) {
    var v61;
    var v62;
    var v63;
    var v64;
    var v65;
    var v66 = p79.props;
    var v67 = p78[vF2("0x2ed")];
    p81 = p78[vF2("0x30")] === "svg" || p81;
    if (p82 != null) {
      for (v61 = 0; v61 < p82[vF2("0x1cc")]; v61++) {
        if ((v62 = p82[v61]) != null && ((p78.type === null ? v62[vF2("0x243")] === 3 : v62[vF2("0x312")] === p78[vF2("0x30")]) || p77 == v62)) {
          p77 = v62;
          p82[v61] = null;
          break;
        }
      }
    }
    if (p77 == null) {
      if (p78[vF2("0x30")] === null) {
        return document[vF2("0xdc")](v67);
      }
      p77 = p81 ? document[vF2("0x11b")](vF2("0x2e2"), p78.type) : document[vF2("0x153")](p78[vF2("0x30")], v67.is && {
        is: v67.is
      });
      p82 = null;
      p84 = false;
    }
    if (p78[vF2("0x30")] === null) {
      if (v66 !== v67 && (!p84 || p77[vF2("0x215")] !== v67)) {
        p77[vF2("0x215")] = v67;
      }
    } else {
      if (p82 != null) {
        p82 = vA2[vF2("0x27c")][vF2("0x1ea")](p77[vF2("0xd3")]);
      }
      v63 = (v66 = p79[vF2("0x2ed")] || vO)[vF2("0x14b")];
      v64 = v67[vF2("0x14b")];
      if (!p84) {
        if (p82 != null) {
          v66 = {};
          v65 = 0;
          for (; v65 < p77[vF2("0x131")].length; v65++) {
            v66[p77[vF2("0x131")][v65][vF2("0x1d0")]] = p77.attributes[v65][vF2("0x142")];
          }
        }
        if (v64 || v63) {
          if (!v64 || (!v63 || v64[vF2("0x269")] != v63[vF2("0x269")]) && v64[vF2("0x269")] !== p77[vF2("0xff")]) {
            p77[vF2("0xff")] = v64 && v64.__html || "";
          }
        }
      }
      f13(p77, v67, v66, p81, p84);
      if (v64) {
        p78.__k = [];
      } else {
        v61 = p78[vF2("0x2ed")][vF2("0x2c7")];
        f11(p77, Array[vF2("0x2fe")](v61) ? v61 : [v61], p78, p79, p80, p78.type !== "foreignObject" && p81, p82, p83, vO, p84);
      }
      if (!p84) {
        if (vF2("0x142") in v67 && (v61 = v67[vF2("0x142")]) !== undefined && (v61 !== p77[vF2("0x142")] || vF2("0x21c") === p78[vF2("0x30")] && !v61)) {
          f15(p77, vF2("0x142"), v61, v66[vF2("0x142")], false);
        }
        if ("checked" in v67 && (v61 = v67[vF2("0x2c0")]) !== undefined && v61 !== p77[vF2("0x2c0")]) {
          f15(p77, vF2("0x2c0"), v61, v66.checked, false);
        }
      }
    }
    return p77;
  }
  function f22(p85, p86, p87) {
    try {
      if (vF2("0x26b") == typeof p85) {
        p85(p86);
      } else {
        p85[vF2("0x1b6")] = p86;
      }
    } catch (e3) {
      v8.__e(e3, p87);
    }
  }
  function f23(p88, p89, p90) {
    var v68;
    var v69;
    var v70;
    if (v8.unmount) {
      v8[vF2("0xf2")](p88);
    }
    if (v68 = p88[vF2("0xac")]) {
      if (!v68.current || v68[vF2("0x1b6")] === p88[vF2("0x120")]) {
        f22(v68, null, p89);
      }
    }
    if (!p90 && vF2("0x26b") != typeof p88[vF2("0x30")]) {
      p90 = (v69 = p88.__e) != null;
    }
    p88.__e = p88[vF2("0x72")] = undefined;
    if ((v68 = p88[vF2("0xf6")]) != null) {
      if (v68[vF2("0x20")]) {
        try {
          v68[vF2("0x20")]();
        } catch (e4) {
          v8[vF2("0x120")](e4, p89);
        }
      }
      v68[vF2("0xc9")] = v68[vF2("0x2dd")] = null;
    }
    if (v68 = p88.__k) {
      for (v70 = 0; v70 < v68[vF2("0x1cc")]; v70++) {
        if (v68[v70]) {
          f23(v68[v70], p89, p90);
        }
      }
    }
    if (v69 != null) {
      f2(v69);
    }
  }
  function f24(p91, p92, p93) {
    return this[vF2("0xe")](p91, p93);
  }
  function f25(p94, p95, p96) {
    var v71;
    var v72;
    var v73;
    if (v8.__) {
      v8.__(p94, p95);
    }
    v72 = (v71 = p96 === v12) ? null : p96 && p96[vF2("0xfe")] || p95[vF2("0xfe")];
    p94 = f3(f5, null, [p94]);
    v73 = [];
    f19(p95, (v71 ? p95 : p96 || p95)[vF2("0xfe")] = p94, v72 || vO, vO, p95[vF2("0x99")] !== undefined, p96 && !v71 ? [p96] : v72 ? null : p95.childNodes[vF2("0x1cc")] ? vA2[vF2("0x27c")][vF2("0x1ea")](p95[vF2("0xd3")]) : null, v73, p96 || vO, v71);
    f20(v73, p94);
  }
  function f26(p97, p98) {
    var vO4 = {
      __c: p98 = vF2("0x69") + v13++,
      __: p97,
      Consumer: function (p99, p100) {
        return p99[vF2("0x2c7")](p100);
      },
      Provider: function (p101, p102, p103) {
        if (!this[vF2("0x2ab")]) {
          p102 = [];
          (p103 = {})[p98] = this;
          this[vF2("0x2ab")] = function () {
            return p103;
          };
          this[vF2("0x228")] = function (p104) {
            if (this[vF2("0x2ed")][vF2("0x142")] !== p104[vF2("0x142")]) {
              p102[vF2("0x104")](f9);
            }
          };
          this.sub = function (p105) {
            p102[vF2("0x254")](p105);
            var v74 = p105[vF2("0x20")];
            p105.componentWillUnmount = function () {
              p102[vF2("0x59")](p102[vF2("0x1c")](p105), 1);
              if (v74) {
                v74[vF2("0x1ea")](p105);
              }
            };
          };
        }
        return p101[vF2("0x2c7")];
      }
    };
    return vO4.Provider.__ = vO4[vF2("0x100")].contextType = vO4;
  }
  v8 = {
    __e: function (p106, p107) {
      var v75;
      var v76;
      for (var v77, v78 = p107[vF2("0xd9")]; p107 = p107.__;) {
        if ((v75 = p107[vF2("0xf6")]) && !v75.__) {
          try {
            if ((v76 = v75[vF2("0xe")]) && v76[vF2("0x20c")] != null) {
              v75.setState(v76[vF2("0x20c")](p106));
              v77 = v75.__d;
            }
            if (v75[vF2("0x2be")] != null) {
              v75.componentDidCatch(p106);
              v77 = v75[vF2("0x72")];
            }
            if (v77) {
              p107[vF2("0xd9")] = v78;
              return v75[vF2("0x97")] = v75;
            }
          } catch (e5) {
            p106 = e5;
          }
        }
      }
      throw p106;
    }
  };
  f6[vF2("0x16e")][vF2("0xe9")] = function (p108, p109) {
    var v79;
    v79 = this[vF2("0xcc")] != null && this[vF2("0xcc")] !== this[vF2("0x154")] ? this[vF2("0xcc")] : this[vF2("0xcc")] = f({}, this[vF2("0x154")]);
    if (vF2("0x26b") == typeof p108) {
      p108 = p108(f({}, v79), this[vF2("0x2ed")]);
    }
    if (p108) {
      f(v79, p108);
    }
    if (p108 != null && this[vF2("0x15c")]) {
      if (p109) {
        this[vF2("0xd9")][vF2("0x254")](p109);
      }
      f9(this);
    }
  };
  f6[vF2("0x16e")][vF2("0xd")] = function (p110) {
    if (this.__v) {
      this[vF2("0x120")] = true;
      if (p110) {
        this[vF2("0xd9")][vF2("0x254")](p110);
      }
      f9(this);
    }
  };
  f6[vF2("0x16e")][vF2("0x259")] = f5;
  v9 = [];
  v10 = vF2("0x26b") == typeof Promise ? Promise[vF2("0x16e")][vF2("0xc8")][vF2("0xb2")](Promise[vF2("0x1b8")]()) : setTimeout;
  f10[vF2("0xbb")] = 0;
  v12 = vO;
  v13 = 0;
  function f27(p111, p112) {
    p112 = {
      exports: {}
    };
    p111(p112, p112[vF2("0x27")]);
    return p112[vF2("0x27")];
  }
  var vF27 = f27(function (p113, p114) {
    (function (p115) {
      var v80;
      {
        p113[vF2("0x27")] = p115();
        v80 = true;
      }
      if (!v80) {
        var v81 = window[vF2("0x8b")];
        var v82 = window[vF2("0x8b")] = p115();
        v82.noConflict = function () {
          window[vF2("0x8b")] = v81;
          return v82;
        };
      }
    })(function () {
      function f28() {
        var vLN0 = 0;
        var vO5 = {};
        for (; vLN0 < arguments[vF2("0x1cc")]; vLN0++) {
          var v83 = arguments[vLN0];
          for (var v84 in v83) {
            vO5[v84] = v83[v84];
          }
        }
        return vO5;
      }
      function f29(p116) {
        return p116[vF2("0x75")](/(%[0-9A-Z]{2})+/g, decodeURIComponent);
      }
      function f30(p117) {
        function f31() {}
        function f32(p118, p119, p120) {
          if (typeof document === vF2("0x8a")) {
            return;
          }
          p120 = f28({
            path: "/"
          }, f31[vF2("0x2bc")], p120);
          if (typeof p120[vF2("0x1fb")] === vF2("0x302")) {
            p120[vF2("0x1fb")] = new Date(new Date() * 1 + p120[vF2("0x1fb")] * 86400000);
          }
          p120[vF2("0x1fb")] = p120.expires ? p120.expires.toUTCString() : "";
          try {
            var v85 = JSON[vF2("0x1bf")](p119);
            if (/^[\{\[]/[vF2("0x2ca")](v85)) {
              p119 = v85;
            }
          } catch (e6) {}
          p119 = p117.write ? p117[vF2("0x67")](p119, p118) : encodeURIComponent(String(p119))[vF2("0x75")](/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
          p118 = encodeURIComponent(String(p118))[vF2("0x75")](/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)[vF2("0x75")](/[\(\)]/g, escape);
          var vLS = "";
          for (var v86 in p120) {
            if (!p120[v86]) {
              continue;
            }
            vLS += "; " + v86;
            if (p120[v86] === true) {
              continue;
            }
            vLS += "=" + p120[v86][vF2("0x91")](";")[0];
          }
          return document[vF2("0x1e9")] = p118 + "=" + p119 + vLS;
        }
        function f33(p121, p122) {
          if (typeof document === vF2("0x8a")) {
            return;
          }
          var vO6 = {};
          var v87 = document.cookie ? document[vF2("0x1e9")].split("; ") : [];
          var vLN02 = 0;
          for (; vLN02 < v87.length; vLN02++) {
            var v88 = v87[vLN02][vF2("0x91")]("=");
            var v89 = v88[vF2("0x27c")](1).join("=");
            if (!p122 && v89[vF2("0xf")](0) === "\"") {
              v89 = v89[vF2("0x27c")](1, -1);
            }
            try {
              var vF29 = f29(v88[0]);
              v89 = (p117[vF2("0x10")] || p117)(v89, vF29) || f29(v89);
              if (p122) {
                try {
                  v89 = JSON[vF2("0x1d3")](v89);
                } catch (e7) {}
              }
              vO6[vF29] = v89;
              if (p121 === vF29) {
                break;
              }
            } catch (e8) {}
          }
          if (p121) {
            return vO6[p121];
          } else {
            return vO6;
          }
        }
        f31.set = f32;
        f31.get = function (p123) {
          return f33(p123, false);
        };
        f31[vF2("0x122")] = function (p124) {
          return f33(p124, true);
        };
        f31[vF2("0x175")] = function (p125, p126) {
          f32(p125, "", f28(p126, {
            expires: -1
          }));
        };
        f31[vF2("0x2bc")] = {};
        f31.withConverter = f30;
        return f31;
      }
      return f30(function () {});
    });
  });
  const v90 = Math[vF2("0x2b5")](2, -26);
  const vF4 = p127 => Math[vF2("0x264")](p127) <= v90;
  const vF5 = (p128, p129) => Math.abs(p128 - p129) <= v90;
  const vF6 = (p130, p131, p132) => p130 + (p131 - p130) * p132;
  const vF7 = p133 => --p133 * p133 * p133 + 1;
  const vF8 = (p134, p135, p136) => {
    if (p136 < p134) {
      return p134;
    }
    if (p136 > p135) {
      return p135;
    }
    return p136;
  };
  const vF9 = (p137, p138, p139, p140) => p137 * p140 - p138 * p139;
  const vF10 = (p141, p142, p143) => Math.min(p141, p142) - v90 <= p143 && p143 <= Math[vF2("0x86")](p141, p142) + v90;
  const vF11 = (v91, v92, v93, v94) => {
    if (v91 > v92) {
      [v91, v92] = [v92, v91];
    }
    if (v93 > v94) {
      [v93, v94] = [v94, v93];
    }
    return Math.min(v92, v94) - Math.max(v91, v93);
  };
  function f34(p148, p149, p150) {
    let v95 = false;
    let v96 = p148[vF2("0x1cc")];
    for (let vLN03 = 0, v97 = v96 - 1; vLN03 < v96; v97 = vLN03++) {
      let v98 = p148[vLN03][0];
      let v99 = p148[vLN03][1];
      let v100 = p148[v97][0];
      let v101 = p148[v97][1];
      if (f35(p149, p150, v98, v99, v100, v101)) {
        return 1;
      }
      var v102 = v99 > p150 != v101 > p150 && p149 < (v100 - v98) * (p150 - v99) / (v101 - v99) + v98;
      if (v102) {
        v95 = !v95;
      }
    }
    if (v95) {
      return 2;
    } else {
      return 0;
    }
  }
  function f35(p151, p152, p153, p154, p155, p156) {
    let v103 = p153 - p151;
    let v104 = p154 - p152;
    let v105 = p155 - p151;
    let v106 = p156 - p152;
    let v107 = v103 * v106 - v104 * v105;
    let v108 = v103 * v105 + v104 * v106;
    return v107 == 0 && v108 <= 0;
  }
  let vLN1 = 1;
  const vF12 = () => vLN1++;
  class C {
    constructor(p157, p158) {
      this[vF2("0x47")] = undefined;
      this.a = undefined;
      this.b = undefined;
      this.c = undefined;
      if (p157.equal(p158)) ;
      this[vF2("0x129")] = 0;
      this[vF2("0x2d4")] = null;
      this[vF2("0x1d4")] = p157;
      this[vF2("0x1a7")] = p158;
      this[vF2("0x35")]();
    }
    get [vF2("0x32")]() {
      return null;
    }
    [vF2("0x35")]() {
      const {
        start,
        end
      } = this;
      this.vector = end[vF2("0x4a")]()[vF2("0x43")](start);
      let v109 = start.y - end.y;
      let v110 = end.x - start.x;
      const v111 = Math[vF2("0x315")](v109 * v109 + v110 * v110);
      v109 /= v111;
      v110 /= v111;
      this.a = v109;
      this.b = v110;
      this.c = -(v109 * start.x + v110 * start.y);
    }
    [vF2("0x4a")]() {
      return new C(this[vF2("0x1d4")], this.end);
    }
    [vF2("0x246")]() {
      const v112 = this.start;
      this[vF2("0x1d4")] = this.end;
      this[vF2("0x1a7")] = v112;
      this[vF2("0x35")]();
      return this;
    }
    [vF2("0x2a0")](p159) {
      this[vF2("0x2d4")] = p159;
      this[vF2("0x1d4")][vF2("0x2a0")](this);
      this[vF2("0x1a7")][vF2("0x2a0")](this);
      return this;
    }
    remove() {
      this[vF2("0x2d4")] = null;
      this[vF2("0x1d4")][vF2("0x175")](this);
      this[vF2("0x1a7")][vF2("0x175")](this);
    }
    [vF2("0x1cc")]() {
      return this[vF2("0x47")][vF2("0x19f")]();
    }
    zn(p160) {
      const v113 = p160.a;
      const v114 = p160.b;
      const {
        a,
        b
      } = this;
      return vF9(v113, v114, a, b);
    }
    intersect(p161) {
      const v115 = p161.a;
      const v116 = p161.b;
      const v117 = p161.c;
      const v118 = p161[vF2("0x1d4")];
      const v119 = p161.end;
      const {
        a,
        b,
        c,
        start,
        end
      } = this;
      const vVF9 = vF9(v115, v116, a, b);
      if (!vF4(vVF9)) {
        const v120 = -vF9(v117, v116, c, b) / vVF9;
        const v121 = -vF9(v115, v117, a, c) / vVF9;
        const v122 = vF10(v118.x, v119.x, v120) && vF10(v118.y, v119.y, v121) && vF10(start.x, end.x, v120) && vF10(start.y, end.y, v121) && new C4(v120, v121);
        if (!v122) {
          return null;
        }
        return {
          point: start[vF2("0x6d")](v122) && start || end[vF2("0x6d")](v122) && end || v118.equal(v122) && v118 || v119[vF2("0x6d")](v122) && v119 || v122,
          segment: this,
          distance: v122.distance2(v118),
          overlay: false,
          zn: Math[vF2("0x4b")](vVF9)
        };
      }
      const vVF11 = vF11(v118.x, v119.x, start.x, end.x);
      const vVF112 = vF11(v118.y, v119.y, start.y, end.y);
      if (vF4(vF9(v115, v117, a, c)) && vF4(vF9(v116, v117, b, c)) && vVF11 >= -v90 && vVF112 >= -v90) {
        if (vVF11 >= v90 || vVF112 >= v90) {
          let v123;
          if (vF10(start.x, end.x, v118.x) && vF10(start.y, end.y, v118.y)) {
            v123 = start.equal(v118) && start || end[vF2("0x6d")](v118) && end || v118;
          } else {
            v123 = v118.distance2(start) >= v118[vF2("0x18d")](end) ? end : start;
          }
          return {
            point: v123,
            segment: this,
            distance: v123[vF2("0x18d")](v118),
            overlay: true,
            zn: 0
          };
        }
        const v124 = start[vF2("0x6d")](v118) || start[vF2("0x6d")](v119) ? start : end;
        return {
          point: v124,
          segment: this,
          distance: v124[vF2("0x18d")](v118),
          overlay: false,
          zn: 0
        };
      }
      return null;
    }
    [vF2("0x109")](p162) {
      return this[vF2("0x1d4")] === p162 || this[vF2("0x1a7")] === p162;
    }
  }
  const vLN12 = 1;
  class C2 {
    constructor(p163, p164) {
      this[vF2("0x310")] = [];
      this.x = p163;
      this.y = p164;
    }
    [vF2("0x2a0")](p165) {
      this[vF2("0x310")][vF2("0x254")](p165);
      p165[vF2("0x113")] = this;
    }
    [vF2("0x175")](p166) {
      const {
        points
      } = this;
      const v125 = points[vF2("0x1c")](p166);
      if (v125 !== -1) {
        points.splice(v125, 1);
        p166[vF2("0x113")] = null;
      }
    }
  }
  class C3 {
    constructor(p167, p168, p169) {
      this[vF2("0xb4")] = p167;
      this[vF2("0x24c")] = p168;
      this[vF2("0x1a3")] = new C4(p167 / 2, p168 / 2);
      this.size = p169;
      this.w = Math[vF2("0x216")](p167 / p169);
      this.h = Math[vF2("0x216")](p168 / p169);
      this.cells = [];
      for (let vLN04 = 0; vLN04 < this.h; vLN04++) {
        for (let vLN05 = 0; vLN05 < this.w; vLN05++) {
          this[vF2("0x212")][vF2("0x254")](new C2(vLN05, vLN04));
        }
      }
      C4[vF2("0x130")] = this;
    }
    [vF2("0x2db")]() {
      let vLN06 = 0;
      this[vF2("0x212")].forEach(p170 => {
        vLN06 += p170.points.length;
      });
      return vLN06;
    }
    [vF2("0x113")](p171) {
      return this[vF2("0x27a")](Math[vF2("0x2a")](p171.x / this[vF2("0x17a")]) % this.w, Math.floor(p171.y / this[vF2("0x17a")]) % this.h);
    }
    [vF2("0x27a")](p172, p173) {
      let v126 = this[vF2("0x212")][p172 + p173 * this.w];
      if (!v126) {
        // TOLOOK
        debugger;
      }
      return v126;
    }
    [vF2("0x6f")](p174) {
      const v127 = this[vF2("0x113")](p174);
      return v127[vF2("0x310")][vF2("0x2dc")](p175 => p175[vF2("0x6d")](p174)) || p174;
    }
    [vF2("0xf8")]() {
      const vO7 = {};
      for (let vLN07 = 0; vLN07 < this.h; vLN07++) {
        for (let vLN08 = 0; vLN08 < this.w; vLN08++) {
          this[vF2("0x27a")](vLN08, vLN07)[vF2("0x310")][vF2("0x1a6")](p176 => {
            p176.segments[vF2("0x1a6")](p177 => vO7[p177.id] = p177);
          });
        }
      }
      return vO7;
    }
    [vF2("0x18a")](p178) {
      const v128 = this[vF2("0x113")](p178.start);
      const v129 = this[vF2("0x113")](p178.end);
      const v130 = Math.max(0, Math[vF2("0x271")](v128.x, v129.x) - vLN12);
      const v131 = Math[vF2("0x271")](this.w - 1, Math[vF2("0x86")](v128.x, v129.x) + vLN12);
      const v132 = Math[vF2("0x86")](0, Math[vF2("0x271")](v128.y, v129.y) - vLN12);
      const v133 = Math[vF2("0x271")](this.h - 1, Math[vF2("0x86")](v128.y, v129.y) + vLN12);
      const vVF12 = vF12();
      const vA3 = [];
      for (let vV132 = v132; vV132 <= v133; vV132++) {
        for (let vV130 = v130; vV130 <= v131; vV130++) {
          this[vF2("0x27a")](vV130, vV132)[vF2("0x310")][vF2("0x1a6")](p179 => {
            p179.segments[vF2("0x1a6")](p180 => {
              if (p180[vF2("0x129")] !== vVF12) {
                const v134 = p180[vF2("0x34")](p178);
                if (v134) {
                  vA3.push(v134);
                }
                p180[vF2("0x129")] = vVF12;
              }
            });
          });
        }
      }
      return vA3;
    }
    [vF2("0x93")]() {
      this.cells = [];
    }
  }
  const vLN30000 = 30000;
  const v135 = Array[vF2("0x116")]({
    length: vLN30000
  });
  let vLN09 = 0;
  class C4 {
    constructor(p181, p182) {
      this.x = undefined;
      this.y = undefined;
      this[vF2("0x113")] = null;
      this.segments = [];
      this[vF2("0x17f")](p181, p182);
    }
    [vF2("0x17f")](p183, p184) {
      this.x = p183 || 0;
      this.y = p184 || (p184 === 0 ? 0 : this.x);
      return this;
    }
    [vF2("0x2a0")](p185) {
      if (this[vF2("0x2ee")][vF2("0x1c")](p185) === -1) {
        this[vF2("0x2ee")].push(p185);
      }
      if (!this[vF2("0x113")]) {
        const v136 = C4[vF2("0x130")][vF2("0x113")](this);
        v136[vF2("0x2a0")](this);
      }
    }
    [vF2("0x175")](p186) {
      const v137 = this[vF2("0x2ee")][vF2("0x1c")](p186);
      this[vF2("0x2ee")][vF2("0x59")](v137, 1);
      if (this[vF2("0x113")] && !this.segments[vF2("0x1cc")]) {
        this.cell[vF2("0x175")](this);
      }
    }
    release() {
      C4.release(this);
    }
    [vF2("0x12c")](p187) {
      this.x += p187.x;
      this.y += p187.y;
      return this;
    }
    [vF2("0x43")](p188) {
      this.x -= p188.x;
      this.y -= p188.y;
      return this;
    }
    mul(p189) {
      this.x *= p189.x;
      this.y *= p189.y;
      return this;
    }
    [vF2("0x16c")](p190) {
      this.x *= p190;
      this.y *= p190;
      return this;
    }
    magnitude() {
      const {
        x,
        y
      } = this;
      return Math.sqrt(x * x + y * y);
    }
    [vF2("0x1fc")]() {
      const v138 = this[vF2("0x19f")]();
      if (v138) {
        this[vF2("0x16c")](1 / v138);
      }
      return this;
    }
    [vF2("0xc7")](p191) {
      this.x = p191.x;
      this.y = p191.y;
      return this;
    }
    [vF2("0x208")](p192) {
      return Math[vF2("0x315")](this[vF2("0x18d")](p192));
    }
    [vF2("0x18d")](p193) {
      const v139 = this.x - p193.x;
      const v140 = this.y - p193.y;
      return v139 * v139 + v140 * v140;
    }
    [vF2("0x63")](p194) {
      return this.x * p194.y - this.y * p194.x;
    }
    [vF2("0x30a")](p195) {
      return this.x * p195.x + this.y * p195.y;
    }
    rotate(p196) {
      const {
        x,
        y
      } = this;
      const v141 = Math[vF2("0x155")](p196);
      const v142 = Math[vF2("0x23c")](p196);
      this.x = x * v141 - y * v142;
      this.y = x * v142 + y * v141;
      return this;
    }
    [vF2("0x149")](p197) {
      return Math[vF2("0x117")](this[vF2("0x63")](p197), this.dot(p197));
    }
    [vF2("0x118")]() {
      return this.mulScalar(-1);
    }
    [vF2("0x6d")](p198) {
      return vF5(this.x, p198.x) && vF5(this.y, p198.y);
    }
    clone() {
      return new C4(this.x, this.y);
    }
    static [vF2("0x227")](p199, p200) {
      if (vLN09) {
        let v143 = v135[--vLN09][vF2("0x17f")](p199, p200);
        return v143;
      }
      return new C4(p199, p200);
    }
    static [vF2("0x4a")](p201) {
      return C4[vF2("0x227")](p201.x, p201.y);
    }
    static poolLength() {
      return vLN09;
    }
    [vF2("0x165")]() {
      return "[" + this.x[vF2("0x70")](4) + "," + this.y[vF2("0x70")](4) + "]";
    }
    static release(p202) {
      if (vLN09 < vLN30000) {
        p202[vF2("0x17f")]();
        if (p202[vF2("0x113")] || p202[vF2("0x2ee")][vF2("0x1cc")]) {
          // TOLOOK
          debugger;
        }
        v135[vLN09++] = p202;
      }
    }
  }
  C4.space = undefined;
  const vLN25 = 25;
  const v144 = vLN25 * vLN25;
  const vLN010 = 0;
  const vLN13 = 1;
  const vLN2 = 2;
  const vLN3 = 3;
  const vLN4 = 4;
  const vLN5 = 5;
  const vLN6 = 6;
  const vLN7 = 7;
  const v145 = 1000 / 60;
  const v146 = 1000 / 60 * 2;
  class C5 {
    constructor(p203) {
      this.owner = p203 || null;
      this[vF2("0x1d4")] = null;
      this[vF2("0x1a7")] = null;
      this[vF2("0x2ee")] = [];
      this[vF2("0x162")] = {
        left: Infinity,
        right: -Infinity,
        top: Infinity,
        bottom: -Infinity
      };
      this[vF2("0x9e")] = new Path2D();
    }
    [vF2("0x2a0")](p204) {
      this[vF2("0x2ee")][vF2("0x1a6")](p205 => p205[vF2("0x2a0")](p204));
    }
    [vF2("0x175")]() {
      this.segments.forEach(p206 => p206.remove());
    }
    [vF2("0x246")]() {
      this[vF2("0x2ee")][vF2("0x246")]()[vF2("0x1a6")](p207 => p207[vF2("0x246")]());
      if (this.end) {
        [this[vF2("0x1d4")], this[vF2("0x1a7")]] = [this[vF2("0x1a7")], this[vF2("0x1d4")]];
      }
      return this;
    }
    clone() {
      const v147 = new C5();
      v147[vF2("0x2ee")] = this[vF2("0x2ee")][vF2("0x30b")](p208 => p208.clone());
      v147[vF2("0x1d4")] = this.start;
      v147[vF2("0x1a7")] = this.end;
      Object[vF2("0x1b3")](v147.bounds, this.bounds);
      return v147;
    }
    updateBounds(p209) {
      const {
        x,
        y
      } = p209;
      this.bounds[vF2("0x13c")] = Math[vF2("0x271")](this[vF2("0x162")][vF2("0x13c")], x);
      this[vF2("0x162")].right = Math[vF2("0x86")](this[vF2("0x162")][vF2("0x2bb")], x);
      this[vF2("0x162")][vF2("0x1f2")] = Math[vF2("0x271")](this[vF2("0x162")].top, y);
      this[vF2("0x162")].bottom = Math[vF2("0x86")](this[vF2("0x162")][vF2("0x2ef")], y);
    }
    [vF2("0x2f9")](p210) {
      const v148 = this.end || this[vF2("0x1d4")];
      if (v148 && v148[vF2("0x6d")](p210)) {
        return false;
      }
      const {
        x,
        y
      } = p210;
      if (this[vF2("0x1a7")]) {
        this[vF2("0x2ee")][vF2("0x254")](new C(this.end, p210).commit(this));
        this[vF2("0x1a7")] = p210;
        this[vF2("0x2b6")](p210);
        this[vF2("0x9e")][vF2("0xd0")](x, y);
        return true;
      }
      if (this[vF2("0x1d4")]) {
        this.segments.push(new C(this[vF2("0x1d4")], p210)[vF2("0x2a0")](this));
        this[vF2("0x1a7")] = p210;
        this[vF2("0x2b6")](p210);
        this[vF2("0x9e")][vF2("0xd0")](x, y);
        return true;
      }
      this[vF2("0x1d4")] = p210;
      this[vF2("0x2b6")](p210);
      this[vF2("0x9e")][vF2("0x1bc")](x, y);
      return true;
    }
    [vF2("0x310")]() {
      const v149 = this[vF2("0x2ee")][vF2("0x30b")](p211 => p211.start);
      if (this.end) {
        v149[vF2("0x254")](this.end);
      }
      return v149;
    }
    toString() {
      return this[vF2("0x2ee")][vF2("0x30b")](p212 => p212.start[vF2("0x165")]())[vF2("0x15b")]("");
    }
  }
  const vF13 = (p213, p214, p215) => {
    const v150 = p213.x - p215.x;
    const v151 = p213.y - p215.y;
    const v152 = p214.x - p215.x;
    const v153 = p214.y - p215.y;
    if (v151 * v153 > 0) {
      return 1;
    }
    const v154 = v150 * v153 - v151 * v152;
    const v155 = vF4(v154) ? 0 : Math[vF2("0x4b")](v154);
    if (v155 === 0) {
      if (v150 * v152 <= 0) {
        return 0;
      }
      return 1;
    }
    if (v151 < 0) {
      return -v155;
    }
    if (v153 < 0) {
      return v155;
    }
    return 1;
  };
  class C6 {
    constructor(p216) {
      this[vF2("0x2ee")] = [];
      this[vF2("0x10b")] = [];
      this[vF2("0x32")] = null;
      this[vF2("0x162")] = null;
      const {
        length
      } = p216;
      for (let vLN011 = 0; vLN011 < length;) {
        this[vF2("0x2ee")][vF2("0x254")](new C(p216[vLN011++], p216[vLN011 < length ? vLN011 : 0]));
      }
      this[vF2("0x2b6")]();
    }
    [vF2("0x2a0")](p217) {
      if (p217) {
        this[vF2("0x32")] = p217;
      }
      this.segments[vF2("0x1a6")](p218 => p218[vF2("0x2a0")](this));
    }
    [vF2("0x175")]() {
      this.segments[vF2("0x1a6")](p219 => p219[vF2("0x175")]());
    }
    [vF2("0x246")]() {
      this.segments.reverse();
      this.segments.forEach(p220 => p220[vF2("0x246")]());
      return this;
    }
    [vF2("0x49")](p221, p222) {
      if (!p221[vF2("0x109")](p222)) {
        const v156 = this[vF2("0x2ee")][vF2("0x1ba")](p223 => p223 === p221);
        const v157 = new C(p221[vF2("0x1d4")], p222)[vF2("0x2a0")](this);
        const v158 = new C(p222, p221.end)[vF2("0x2a0")](this);
        p221[vF2("0x175")]();
        this.segments[vF2("0x59")](v156, 1, v157, v158);
      }
    }
    [vF2("0x13e")](p224) {
      return this[vF2("0x2ee")].some(p225 => p225.has(p224));
    }
    [vF2("0x21d")](p226) {
      const v159 = this[vF2("0x2ee")][vF2("0x1ba")](p227 => p227[vF2("0x1d4")] === p226);
      return v159;
    }
    splice(p228, p229, p230) {
      const v160 = this[vF2("0x2ee")][vF2("0x59")](p229, p230 - p229, ...p228[vF2("0x2ee")]);
      v160[vF2("0x1a6")](p231 => p231[vF2("0x175")]());
      p228[vF2("0x2a0")](this);
    }
    unsplice(p232, p233, p234) {
      const v161 = this[vF2("0x2ee")][vF2("0x59")](p233, p234 - p233);
      this[vF2("0x175")]();
      this[vF2("0x2ee")] = v161[vF2("0x213")](p232[vF2("0x246")]().segments);
      p232[vF2("0x2a0")](this);
    }
    [vF2("0x13c")](p235, p236, p237) {
      const vA4 = [];
      for (let vLN012 = 0; vLN012 < p235[vF2("0x1cc")] - 1; vLN012++) {
        vA4[vF2("0x254")](new C(p235[vLN012], p235[vLN012 + 1]));
      }
      const v162 = this[vF2("0x2ee")].splice(p236, p237 - p236, ...vA4);
      vA4[vF2("0x1a6")](p238 => p238.commit(this));
      v162[vF2("0x1a6")](p239 => p239[vF2("0x175")]());
    }
    [vF2("0x2bb")](p240, p241, p242) {
      const vA5 = [];
      for (let vLN013 = 0; vLN013 < p240[vF2("0x1cc")] - 1; vLN013++) {
        vA5[vF2("0x254")](new C(p240[vLN013], p240[vLN013 + 1]));
      }
      const v163 = this[vF2("0x2ee")][vF2("0x59")](p241, p242 - p241);
      this.remove();
      vA5[vF2("0x246")]().forEach(p243 => p243[vF2("0x246")]()[vF2("0x2a0")](this));
      this[vF2("0x2ee")] = v163[vF2("0x213")](vA5);
    }
    [vF2("0x310")]() {
      return this.segments[vF2("0x30b")](p244 => p244[vF2("0x1d4")]);
    }
    [vF2("0x18a")](p245) {
      let vA6 = [];
      if (this.segments[vF2("0x1cc")] > 1) {
        this.segments[vF2("0x1a6")](p246 => {
          const v164 = p246[vF2("0x34")](p245);
          if (v164) {
            vA6[vF2("0x254")](v164);
          }
        });
      }
      if (vA6[vF2("0x1cc")] > 1) {
        vA6[vF2("0x44")]((p247, p248) => p247[vF2("0x208")] - p248[vF2("0x208")]);
        vA6 = vA6[vF2("0x199")](function (p249, p250) {
          return vA6[vF2("0x1ba")](p251 => p251[vF2("0x102")] === p249[vF2("0x102")]) == p250;
        });
      }
      return vA6;
    }
    inside(p252) {
      const {
        length
      } = this[vF2("0x2ee")];
      let vLN14 = 1;
      for (let vLN014 = 0; vLN014 < length; vLN014++) {
        const {
          start,
          end
        } = this.segments[vLN014];
        const vVF13 = vF13(start, end, p252);
        if (vVF13 === 0) {
          return true;
        }
        vLN14 *= vVF13;
      }
      return vLN14 !== 1;
    }
    [vF2("0x240")](p253) {
      return !!f34(this.segments[vF2("0x30b")](p254 => [p254.start.x, p254.start.y]), p253.x, p253.y);
    }
    [vF2("0x29")]() {
      let vLN015 = 0;
      this.segments[vF2("0x1a6")](p255 => {
        const {
          start,
          end
        } = p255;
        vLN015 += (start.x + end.x) * (end.y - start.y);
      });
      return vLN015 / 2;
    }
    [vF2("0x290")]() {
      let v165 = this[vF2("0x29")]();
      if (v165 < 0) {
        {
          v165 *= -1;
        }
      }
      return v165;
    }
    calcPath() {
      const v166 = new Path2D();
      const {
        segments
      } = this;
      const {
        length
      } = segments;
      const {
        start
      } = segments[0];
      v166[vF2("0x1bc")](start.x, start.y);
      for (let vLN15 = 1; vLN15 < length; vLN15++) {
        const {
          start: _0x397cee
        } = segments[vLN15];
        v166.lineTo(_0x397cee.x, _0x397cee.y);
      }
      v166[vF2("0x2e")]();
      this[vF2("0x9e")] = v166;
      this[vF2("0x2b6")]();
    }
    [vF2("0x2a7")]() {
      this[vF2("0x10b")] = [];
      let vLN016 = 0;
      this[vF2("0x2ee")][vF2("0x1a6")](p256 => {
        const {
          start
        } = p256;
        if (vLN016 < 2) {
          this[vF2("0x10b")][vF2("0x254")](start);
          vLN016++;
        } else {
          const v167 = this[vF2("0x10b")][vLN016 - 2];
          if (start.distance2(v167) < v144) {
            this[vF2("0x10b")][vLN016 - 1] = start;
          } else {
            this.simplify[vF2("0x254")](start);
            vLN016++;
          }
        }
      });
    }
    [vF2("0x2b6")]() {
      this[vF2("0x2a7")]();
      let vInfinity = Infinity;
      let v168 = -Infinity;
      let vInfinity2 = Infinity;
      let v169 = -Infinity;
      this[vF2("0x10b")][vF2("0x1a6")](p257 => {
        const {
          x,
          y
        } = p257;
        vInfinity = Math[vF2("0x271")](vInfinity, x);
        v168 = Math[vF2("0x86")](v168, x);
        vInfinity2 = Math.min(vInfinity2, y);
        v169 = Math[vF2("0x86")](v169, y);
      });
      vInfinity -= vLN25;
      v168 += vLN25;
      vInfinity2 -= vLN25;
      v169 += vLN25;
      this.bounds = {
        left: vInfinity,
        right: v168,
        top: vInfinity2,
        bottom: v169
      };
    }
  }
  const v170 = typeof performance !== "undefined" ? performance : Date;
  const v171 = v170[vF2("0x9a")][vF2("0xb2")](v170);
  const vF14 = (p258, p259, p260) => {
    if (typeof p258.x !== "number") {
      throw Error(vF2("0x157"));
    }
    const v172 = Math.PI * 2;
    const v173 = v172 / p259;
    const vA7 = [];
    for (let vLN017 = 0; vLN017 < v172 - v90; vLN017 += v173) {
      vA7[vF2("0x254")](new C4(p258.x + Math[vF2("0x155")](vLN017) * p260, p258.y + Math[vF2("0x23c")](vLN017) * p260));
    }
    return vA7;
  };
  const vF15 = p261 => {
    const vParseInt = parseInt(p261[vF2("0x220")](1, 3), 16);
    const vParseInt2 = parseInt(p261[vF2("0x220")](3, 5), 16);
    const vParseInt3 = parseInt(p261.substring(5, 7), 16);
    return {
      r: vParseInt,
      g: vParseInt2,
      b: vParseInt3
    };
  };
  const vF16 = ({
    r,
    g,
    b
  }) => {
    let v174;
    let v175;
    let v176;
    let v177;
    let v178;
    let v179;
    let v180;
    let v181;
    let v182;
    let v183;
    let v184;
    let v185;
    v174 = r / 255;
    v175 = g / 255;
    v176 = b / 255;
    v182 = Math[vF2("0x86")](v174, v175, v176);
    v183 = v182 - Math[vF2("0x271")](v174, v175, v176);
    v184 = p262 => (v182 - p262) / 6 / v183 + 1 / 2;
    v185 = p263 => Math[vF2("0x1ce")](p263 * 100) / 100;
    if (v183 == 0) {
      v180 = v181 = 0;
    } else {
      v181 = v183 / v182;
      v177 = v184(v174);
      v178 = v184(v175);
      v179 = v184(v176);
      if (v174 === v182) {
        v180 = v179 - v178;
      } else if (v175 === v182) {
        v180 = 1 / 3 + v177 - v179;
      } else if (v176 === v182) {
        v180 = 2 / 3 + v178 - v177;
      }
      if (v180 < 0) {
        v180 += 1;
      } else if (v180 > 1) {
        v180 -= 1;
      }
    }
    return {
      h: Math[vF2("0x1ce")](v180 * 360),
      s: v185(v181 * 100),
      v: v185(v182 * 100)
    };
  };
  const vF17 = ({
    r,
    g,
    b
  }) => {
    const vF18 = p264 => {
      const v186 = p264.toString(16);
      if (v186[vF2("0x1cc")] < 2) {
        return "0" + v186;
      } else {
        return v186;
      }
    };
    return "#" + vF18(r) + vF18(g) + vF18(b);
  };
  const vF19 = ({
    h: h,
    s: s,
    v: v
  }) => {
    var v187;
    var v188;
    var v189;
    var v190;
    var v191;
    var v192;
    var v193;
    var v194;
    h = Math[vF2("0x86")](0, Math[vF2("0x271")](360, h));
    s = Math[vF2("0x86")](0, Math.min(100, s));
    v = Math[vF2("0x86")](0, Math[vF2("0x271")](100, v));
    s /= 100;
    v /= 100;
    if (s == 0) {
      v187 = v188 = v189 = v;
      return {
        r: Math.round(v187 * 255),
        g: Math.round(v188 * 255),
        b: Math[vF2("0x1ce")](v189 * 255)
      };
    }
    h /= 60;
    v190 = Math.floor(h);
    v191 = h - v190;
    v192 = v * (1 - s);
    v193 = v * (1 - s * v191);
    v194 = v * (1 - s * (1 - v191));
    switch (v190) {
      case 0:
        v187 = v;
        v188 = v194;
        v189 = v192;
        break;
      case 1:
        v187 = v193;
        v188 = v;
        v189 = v192;
        break;
      case 2:
        v187 = v192;
        v188 = v;
        v189 = v194;
        break;
      case 3:
        v187 = v192;
        v188 = v193;
        v189 = v;
        break;
      case 4:
        v187 = v194;
        v188 = v192;
        v189 = v;
        break;
      default:
        v187 = v;
        v188 = v192;
        v189 = v193;
    }
    return {
      r: Math[vF2("0x1ce")](v187 * 255),
      g: Math[vF2("0x1ce")](v188 * 255),
      b: Math[vF2("0x1ce")](v189 * 255)
    };
  };
  const vF20 = p265 => vF17(vF19(p265));
  function f36(p266) {
    if (p266 > 0 && p266 < 1) {
      p266 = Math.floor(p266 * 1000000000);
    }
    let vF21 = p267 => {
      p266 = (p266 * 69069 + 1) % 2147483648;
      return p266 % p267;
    };
    let vF22 = p268 => p268 == null ? vF21(1000000000) / 1000000000 : vF21(p268);
    return vF22;
  }
  function f37(p269) {
    return new Promise(p270 => {
      let v195 = document[vF2("0x153")](vF2("0x31b"));
      v195[vF2("0x317")] = p269;
      v195[vF2("0x13")] = function () {
        p270(v195);
      };
    });
  }
  function f38(p271, p272) {
    let {
      h,
      s,
      v: v
    } = p271;
    v *= p272;
    return {
      h: h,
      s: s,
      v: v
    };
  }
  function f39(p273, p274) {
    let {
      h,
      s,
      v: v
    } = p273;
    const v196 = 100 - v;
    v = Math[vF2("0x86")](v * p274, v + p274 * v196 / 4);
    return {
      h: h,
      s: s,
      v: v
    };
  }
  function f40(p275, p276) {
    let {
      h,
      s,
      v: v
    } = p275;
    v = p276;
    return {
      h: h,
      s: s,
      v: v
    };
  }
  function f41(p277) {
    return p277[vF2("0x70")](2);
  }
  class C7 {
    constructor(p278, p279, p280) {
      if (!(p278 instanceof C6)) {
        // TOLOOK
        debugger;
      }
      this[vF2("0x1f")] = p278;
      this.radius = p280;
      this[vF2("0x1a3")] = p279;
    }
    static [vF2("0x217")](p281, p282, p283) {
      return new C7(new C6(vF14(p281, p282, p283)), p281, p283);
    }
    [vF2("0x18a")](p284) {
      {
        if (p284.start.distance2(this[vF2("0x1a3")]) < this[vF2("0x314")] ** 2 * 0.95 && p284.end[vF2("0x18d")](this[vF2("0x1a3")]) < this[vF2("0x314")] ** 2 * 0.95) {
          return [];
        }
      }
      return this[vF2("0x1f")].intersections(p284).filter(p285 => !p285[vF2("0x238")]);
    }
  }
  class C8 {
    constructor(p286, p287) {
      this[vF2("0x21")] = undefined;
      this[vF2("0x284")] = undefined;
      this[vF2("0x21")] = p286;
      this.merges = [];
      this.polygon = new C6(p287);
      this.polygon[vF2("0x2a0")](this);
      this[vF2("0x210")]();
      this[vF2("0x1f")][vF2("0x5f")]();
    }
    calcPath() {
      this.path = new Path2D();
      const {
        segments
      } = this.polygon;
      const {
        length
      } = segments;
      const {
        start
      } = segments[0];
      this.path[vF2("0x1bc")](start.x, start.y);
      for (let vLN16 = 1; vLN16 < length; vLN16++) {
        const {
          start: _0xbf2b7e
        } = segments[vLN16];
        this.path[vF2("0xd0")](_0xbf2b7e.x, _0xbf2b7e.y);
      }
      this.path[vF2("0x2e")]();
      return this[vF2("0x9e")];
    }
    calcSquare() {
      this[vF2("0x290")] = this.polygon[vF2("0x290")]();
    }
    [vF2("0x175")]() {
      this[vF2("0x1f")][vF2("0x175")]();
    }
    [vF2("0x14")](p288, p289, p290) {
      if (p289 === this[vF2("0x21")]) {
        this[vF2("0x1e8")](p288, p289, p290);
      } else {
        this[vF2("0x12a")](p288, p289, p290);
      }
    }
    [vF2("0x1e8")](p291, p292, p293) {
      if (p291[vF2("0x238")]) {
        return;
      }
      this[vF2("0x21")][vF2("0x160")]();
      const {
        point: _0x38ac8f,
        segment: _0xc0765
      } = p291;
      if (p292.in === this) {
        if (p291.zn < 0) {
          return;
        }
        if (_0x38ac8f[vF2("0x6d")](p293[vF2("0x1a7")])) {
          return;
        }
        this[vF2("0x1f")][vF2("0x49")](_0xc0765, _0x38ac8f);
        p292[vF2("0x83")][vF2("0x12c")](_0x38ac8f);
        p292.in = null;
        if (p292[vF2("0x144")]) {
          p292[vF2("0x144")][vF2("0xa5")]();
        }
        if (p292.achievements) {
          p292[vF2("0xde")][vF2("0x209")]();
        }
      } else {
        if (p291.zn > 0) {
          return;
        }
        if (_0x38ac8f[vF2("0x6d")](p293.start)) {
          return;
        }
        if (p292.in) {
          return;
        }
        this.polygon[vF2("0x49")](_0xc0765, _0x38ac8f);
        p292[vF2("0x83")][vF2("0x12c")](_0x38ac8f);
        if (p292[vF2("0x83")][vF2("0x25d")][vF2("0x1a7")]) {
          this[vF2("0x21")][vF2("0x305")][vF2("0x5e")](p292);
        }
        p292.in = this;
        p292.track[vF2("0x175")]();
      }
    }
    handleEnemyIntersect(p294, p295, p296) {
      const {
        point: _0x59ff3e,
        segment: _0x323756
      } = p294;
      if (p295.in === this) {
        if (p294.zn < 0) {
          return;
        }
        this[vF2("0x1f")][vF2("0x49")](_0x323756, _0x59ff3e);
        p295[vF2("0x83")].add(_0x59ff3e);
        p295.track[vF2("0x34")](p294, this, false);
        p295.in = null;
      } else {
        if (p294.zn > 0) {
          return;
        }
        if (p294[vF2("0x238")]) {
          return;
        }
        if (_0x59ff3e[vF2("0x6d")](p296[vF2("0x1a7")])) {
          return;
        }
        if (p295.in) {
          return;
        }
        this[vF2("0x1f")].insert(_0x323756, _0x59ff3e);
        p295.track.add(_0x59ff3e);
        p295.track[vF2("0x34")](p294, this, true);
        p295.in = this;
      }
    }
  }
  class C9 {
    constructor(p297) {
      this[vF2("0x25d")] = new C5(this);
      this[vF2("0xee")] = [];
      this[vF2("0x21")] = p297;
      this[vF2("0x1cc")] = 0;
      this.intersections = [];
      this.isTrack = true;
    }
    [vF2("0x12c")](p298) {
      if (this[vF2("0x25d")][vF2("0x2f9")](p298)) {
        const v197 = this[vF2("0x25d")].segments[vF2("0x1cc")];
        if (v197 > 0) {
          const v198 = this[vF2("0x25d")][vF2("0x2ee")][v197 - 1];
          this.length += v198.start[vF2("0x208")](v198.end);
        }
        const {
          simplyline
        } = this;
        const {
          length
        } = simplyline;
        if (length > 2) {
          const v199 = simplyline[length - 2];
          if (p298[vF2("0x18d")](v199) < v144) {
            simplyline[length - 1] = p298;
          } else {
            simplyline.push(p298);
          }
        } else {
          simplyline.push(p298);
        }
      }
    }
    intersect(p299, p300, p301) {
      const v200 = this[vF2("0x18a")].find(p302 => p302[vF2("0x102")][vF2("0x6d")](p299[vF2("0x102")]));
      if (v200) {
        v200.intersections[vF2("0x254")]({
          intersection: p299,
          base: p300,
          enter: p301
        });
      } else {
        this[vF2("0x18a")][vF2("0x254")]({
          point: p299[vF2("0x102")],
          intersections: [{
            intersection: p299,
            base: p300,
            enter: p301
          }]
        });
      }
    }
    [vF2("0x175")]() {
      this[vF2("0x25d")][vF2("0x175")]();
      this.polyline = new C5(this);
      this[vF2("0x1cc")] = 0;
      this[vF2("0xee")] = [];
      this.intersections = [];
    }
    handleIntersect(p303, p304, p305) {
      let v201 = p304[vF2("0x305")];
      if (p304 === this[vF2("0x21")]) {
        if (p303[vF2("0x238")] === true || p303[vF2("0x102")] !== this[vF2("0x25d")].segments[this[vF2("0x25d")][vF2("0x2ee")].length - 1][vF2("0x1a7")]) {
          this[vF2("0x21")][vF2("0xdb")] = p303.point;
          const v202 = v201.border.radius - p304.position[vF2("0x208")](v201.space[vF2("0x1a3")]) < 5 ? vLN2 : vLN13;
          v201[vF2("0x5a")](this.unit, undefined, v202);
        }
      } else {
        v201[vF2("0x5a")](this[vF2("0x21")], p304, vLN3);
      }
    }
  }
  class C10 {
    constructor(p306, p307, p308) {
      this[vF2("0x1da")] = p306;
      this.state = "";
      this[vF2("0x178")] = p308;
      this[vF2("0x1ee")] = {};
      this.change(p307);
    }
    change(p309) {
      const v203 = this[vF2("0x1da")][this[vF2("0x154")]];
      if (v203 && v203.leave) {
        this[vF2("0x1ee")] = v203[vF2("0xa8")](this[vF2("0x178")], this[vF2("0x1ee")]) || this[vF2("0x1ee")];
      }
      const v204 = this.states[p309];
      if (v204) {
        this[vF2("0x154")] = p309;
        this[vF2("0x1ee")] = v204.enter && v204[vF2("0x103")](this.payload, this.context) || this.context;
        this[vF2("0x248")]();
      }
    }
    update() {
      const v205 = this.states[this[vF2("0x154")]];
      const v206 = v205 && v205.update(this.payload, this[vF2("0x1ee")]);
      if (v206) {
        this[vF2("0x26c")](v206);
      }
    }
  }
  const vF23 = p310 => {
    const {
      player
    } = p310[vF2("0x305")];
    if (player) {
      const v207 = Math[vF2("0x86")](p310[vF2("0x125")], player[vF2("0x125")]);
      const v208 = v207 * p310[vF2("0x2ba")] * 0.75;
      const {
        simplyline
      } = player.track;
      for (let vLN018 = 0, v209 = simplyline[vF2("0x1cc")]; vLN018 < v209; vLN018++) {
        if (p310[vF2("0xdb")].distance2(simplyline[vLN018]) < v208 * v208) {
          return true;
        }
      }
    }
  };
  const vF24 = (p311, p312) => {
    if (p311.in === p311[vF2("0xc9")]) {
      return false;
    }
    return p311[vF2("0x24b")] > p311.def * 0.8;
  };
  var vO8 = {
    idle: {
      enter: function () {
        return {};
      },
      update: function (p313, p314) {
        if (p313.in === p313[vF2("0xc9")]) {
          if (p313[vF2("0x305")][vF2("0x25f")]() < 0.25) {
            return "cut";
          } else {
            return vF2("0x25");
          }
        } else {
          return vF2("0x1e");
        }
      }
    },
    capital: {
      update: function (p315, p316) {
        if (p315.in !== p315[vF2("0xc9")]) {
          return vF2("0x16");
        }
        const v210 = p315[vF2("0xdb")][vF2("0x208")](p315[vF2("0x305")].space[vF2("0x1a3")]);
        const v211 = p315[vF2("0x305")][vF2("0x1a8")][vF2("0x314")] - v210;
        p315[vF2("0x1d2")] = p316[vF2("0x102")];
      }
    },
    cut: {
      enter: function (p317) {
        const v212 = p317[vF2("0xdb")][vF2("0x4a")]()[vF2("0x43")](p317[vF2("0x305")][vF2("0x130")][vF2("0x1a3")]);
        const v213 = v212.magnitude();
        const v214 = new C(p317[vF2("0xdb")], v212.normalize().mulScalar(p317[vF2("0x305")][vF2("0x1a8")].radius + 10)[vF2("0x12c")](p317[vF2("0x305")][vF2("0x130")][vF2("0x1a3")]));
        const v215 = p317[vF2("0xc9")].polygon[vF2("0x18a")](v214);
        const vO9 = {};
        if (!v215[vF2("0x1cc")]) {
          console[vF2("0x206")](vF2("0x31a"), p317[vF2("0xdb")].x, p317[vF2("0xdb")].y);
          console[vF2("0x206")](vF2("0x18a"), v215);
        }
        v215[vF2("0x44")]((p318, p319) => p318[vF2("0x208")] - p319[vF2("0x208")]);
        vO9[vF2("0x98")] = v215[0] && v215[0][vF2("0x102")];
        return vO9;
      },
      update: function (p320, p321) {
        if (p320.in !== p320.base) {
          return vF2("0x16");
        }
        const v216 = p320[vF2("0xdb")][vF2("0x208")](p320.game[vF2("0x130")][vF2("0x1a3")]);
        const v217 = p320[vF2("0x305")][vF2("0x1a8")][vF2("0x314")] - v216;
        if (!p321[vF2("0x98")] || v217 < 1) {
          return "idle";
        }
        p320.target = p321.exitPoint;
      }
    },
    exit: {
      enter: function (p322) {
        const vO10 = {};
        let vInfinity3 = Infinity;
        let v218;
        const {
          length
        } = p322[vF2("0xc9")][vF2("0x1f")][vF2("0x2ee")];
        let v219 = p322[vF2("0x305")][vF2("0xb0")][vF2("0xad")];
        vO10[vF2("0x2ce")] = v219;
        while (v218 === undefined) {
          for (let vLN019 = 0; vLN019 < 1; vLN019++) {
            const v220 = ~~(p322[vF2("0x305")][vF2("0x25f")]() * length);
            const v221 = p322[vF2("0xc9")][vF2("0x1f")][vF2("0x2ee")][v220][vF2("0x1d4")];
            const v222 = v221[vF2("0x208")](p322[vF2("0xdb")]);
            if (v222 < vInfinity3 && v222 > v219) {
              vInfinity3 = v222;
              v218 = v220;
            }
          }
          v219 *= 0.75;
        }
        vO10[vF2("0x98")] = p322[vF2("0xc9")][vF2("0x1f")].segments[v218][vF2("0x1d4")];
        return vO10;
      },
      update: function (p323, p324) {
        if (p323.in !== p323[vF2("0xc9")]) {
          p324 = {};
          return "capture";
        }
        if (vF23(p323)) {
          return "attack";
        }
        const {
          length
        } = p323[vF2("0xc9")][vF2("0x1f")].segments;
        const {
          minDistance
        } = p324;
        const v223 = ~~(p323.game.rng() * length);
        const v224 = p323[vF2("0xc9")][vF2("0x1f")][vF2("0x2ee")][v223][vF2("0x1d4")];
        const v225 = v224.distance(p323[vF2("0xdb")]);
        let v226 = p324[vF2("0x98")][vF2("0x208")](p323[vF2("0xdb")]);
        if (v225 > minDistance && v225 < v226) {
          p324[vF2("0x98")] = v224;
        } else {
          if (!Object[vF2("0x270")](p324[vF2("0x98")][vF2("0x2ee")])[vF2("0x104")](p325 => p325 && p325[vF2("0x2d4")] === p323[vF2("0xc9")][vF2("0x1f")])) {
            p324[vF2("0x98")] = v224;
          }
          if (p323.target && p323[vF2("0x1d2")][vF2("0x208")](p323[vF2("0x305")][vF2("0x130")].center) > p323[vF2("0x305")][vF2("0x1a8")][vF2("0x314")] - 1) {
            p324.exitPoint = v224;
          }
        }
        p323[vF2("0x1d2")] = p324[vF2("0x98")];
      }
    },
    capture: {
      update: function (p326, p327) {
        if (p326.in === p326.base) {
          return vF2("0x26a");
        }
        if (vF23(p326)) {
          return vF2("0x26e");
        }
        const {
          unitSpeed
        } = p326[vF2("0x305")][vF2("0xb0")];
        const {
          center
        } = p326[vF2("0x305")][vF2("0x130")];
        const {
          radius
        } = p326[vF2("0x305")][vF2("0x1a8")];
        const v227 = p326.position[vF2("0x208")](center);
        const v228 = radius - v227;
        if (p326[vF2("0x20b")] < unitSpeed / 4 && p326.track[vF2("0x1cc")] > unitSpeed * 2 && v228 > 10) {
          return vF2("0x1e");
        }
        const vLN252 = 25;
        const v229 = vLN252 / 2;
        const v230 = v229 * v229;
        if (p326[vF2("0xdb")].distance2(p326[vF2("0x1d2")]) < v230 && v228 > vLN252) {
          return;
        }
        let vLN020 = 0;
        for (let vLN17 = 1, v231 = p326.track[vF2("0xee")][vF2("0x1cc")]; vLN17 < v231; vLN17++) {
          const v232 = p326.track[vF2("0xee")][vLN17 - 1];
          const v233 = p326[vF2("0x83")].simplyline[vLN17];
          vLN020 += (v232.x + v233.x) * (v233.y - v232.y);
        }
        let v234 = p326[vF2("0x83")][vF2("0xee")][p326[vF2("0x83")].simplyline[vF2("0x1cc")] - 1];
        let v235 = p326[vF2("0x20d")];
        vLN020 += (v234.x + v235.x) * (v235.y - v234.y);
        v234 = p326.baseNearestPoint;
        v235 = p326[vF2("0x83")][vF2("0xee")][0];
        vLN020 += (v234.x + v235.x) * (v235.y - v234.y);
        const v236 = Math[vF2("0x4b")](vLN020);
        vLN020 = Math.abs(vLN020 / 2);
        p326.capSquare = vLN020;
        const {
          def,
          greed,
          safety
        } = p326;
        const v237 = Math.PI * 2 * p326[vF2("0x125")] * greed;
        const v238 = p326[vF2("0x83")][vF2("0x1cc")] / v237;
        const v239 = Math.min(p326[vF2("0xc9")][vF2("0x290")], Math.PI * p326[vF2("0x125")] * p326[vF2("0x125")]) * greed;
        const v240 = p326[vF2("0x308")] / v239;
        const v241 = p326[vF2("0x125")] * vF6(3, 0.7, safety);
        const v242 = p326[vF2("0xdb")][vF2("0x208")](p326[vF2("0x83")][vF2("0x25d")][vF2("0x1d4")]) / v241;
        const v243 = p326[vF2("0xdf")][vF2("0x21e")]((p328, p329) => Math[vF2("0x271")](p329[vF2("0x263")], p328), Infinity) * 0.8 * def;
        const v244 = p326[vF2("0x20b")] / v243;
        const v245 = Math[vF2("0x86")](v238, v240, v242, v244);
        if (v245 > 1) {
          return vF2("0x1e");
        }
        const v246 = p326[vF2("0x125")] * greed;
        const v247 = p326[vF2("0x1a9")] * 0.6 * def;
        const vV246 = v246;
        const v248 = vV246 * 0.8;
        const v249 = p326[vF2("0x1d2")][vF2("0x4a")]().sub(p326[vF2("0xdb")]);
        let v250;
        if (p326[vF2("0x20b")] > vV246 || v245 > 0.75) {
          p326.aspect = "приближение";
          v250 = p326[vF2("0x2b4")].clone()[vF2("0x16c")](vLN252)[vF2("0x1cf")]((Math.PI / 2 + Math.PI / 4) * v236);
        } else if (p326[vF2("0x20b")] < v248) {
          p326.aspect = vF2("0x12b");
          let v251 = Math.PI / 4;
          const v252 = p326[vF2("0x83")].length / v248;
          if (v252 < 1) {
            p326[vF2("0xfd")] = vF2("0x1eb");
            v251 = vF6(Math.PI / 2 * greed, 0, v252);
          }
          v250 = p326[vF2("0x2b4")][vF2("0x4a")]()[vF2("0x16c")](vLN252)[vF2("0x1cf")]((Math.PI / 2 - v251) * v236);
        } else {
          p326[vF2("0xfd")] = vF2("0x27f");
          v250 = p326[vF2("0x2b4")].clone()[vF2("0x16c")](vLN252).rotate(Math.PI / 2 * v236);
          p326[vF2("0x1dc")] = 1 + (1 - Math[vF2("0x271")](1, p326.maxDanger)) * 3;
        }
        p326[vF2("0x1dc")] = 1 + (1 - Math.min(1, p326[vF2("0x24b")])) * 1;
        if (v228 < vLN252 * 2 && v228 > vLN252 / 4 && v228 < p326[vF2("0xdb")].clone()[vF2("0x12c")](v250)[vF2("0x208")](center)) {
          const v253 = p326[vF2("0xdb")][vF2("0x4a")]()[vF2("0x43")](center);
          const v254 = v253.angle(v249);
          const v255 = Math.sign(v254);
          let v256 = v253[vF2("0x149")](v250);
          let v257 = Math[vF2("0x4b")](v256);
          if (v255 !== v257) {
            v256 *= -1;
            v257 *= -1;
            v250.rotate(v256 * 2);
          }
          const v258 = Math[vF2("0x264")](v256);
          if (v258 < Math.PI / 4) {
            v250[vF2("0x1cf")]((Math.PI / 4 - v258) * v257);
          }
        }
        p326.target = p326[vF2("0xdb")][vF2("0x4a")]().add(v250);
        if (p326[vF2("0x1d2")][vF2("0x208")](center) > radius + vLN252 * 0.75) {
          const v259 = p326[vF2("0xdb")][vF2("0x4a")]()[vF2("0x43")](center);
          const v260 = v259[vF2("0x149")](v249);
          const vV227 = v227;
          const v261 = (radius * radius - vLN252 * vLN252 + vV227 * vV227) / (vV227 * 2);
          const v262 = Math[vF2("0x315")](radius * radius - v261 * v261);
          const v263 = p326[vF2("0xdb")][vF2("0x4a")]()[vF2("0x43")](center).normalize();
          const v264 = center.clone().add(v263.clone()[vF2("0x16c")](v261));
          v250 = v263[vF2("0x4a")]()[vF2("0x1cf")](Math.PI / 2 * v260)[vF2("0x1cf")](Math.PI / 8 * -v260)[vF2("0x16c")](v262);
          p326[vF2("0x1d2")] = v264[vF2("0x4a")]().add(v250);
        } else if (p326[vF2("0x1d2")][vF2("0x208")](center) > radius && p326[vF2("0x1d2")][vF2("0x208")](center) < radius + vLN252 * 0.5) ;
      }
    },
    back: {
      enter: function (p330, p331) {},
      update: function (p332, p333) {
        if (p332.in === p332[vF2("0xc9")]) {
          return vF2("0x26a");
        }
        p332.smoothness = vF6(1, Math[vF2("0x86")](1, Math.max(1, Math[vF2("0x271")](p332[vF2("0x26")], p332[vF2("0x258")]) * 4)), Math[vF2("0x86")](1, p332[vF2("0x24b")]));
        const v265 = p332[vF2("0x305")][vF2("0x1a8")].radius - p332[vF2("0xdb")][vF2("0x208")](p332[vF2("0x305")][vF2("0x130")].center);
        if (v265 < 20) {
          p332[vF2("0x1dc")] = 1;
        }
        p332[vF2("0x1d2")] = p332[vF2("0x20d")];
      }
    },
    attack: {
      enter: () => ({}),
      update: function (p334, p335) {
        const {
          player: player
        } = p334.game;
        if (!player || player[vF2("0x150")]) {
          return vF2("0x26a");
        }
        const {
          simplyline
        } = player[vF2("0x83")];
        if (!simplyline[vF2("0x1cc")]) {
          return vF2("0x26a");
        }
        if (player.track.length < p334.game[vF2("0xb0")].botAttackTrackLength && vF24(p334)) {
          return vF2("0x26a");
        }
        let vLN021 = 0;
        let vInfinity4 = Infinity;
        simplyline[vF2("0x1a6")]((p336, p337) => {
          const v266 = p334[vF2("0xdb")][vF2("0x18d")](p336);
          if (v266 < vInfinity4) {
            vInfinity4 = v266;
            vLN021 = p337;
          }
        });
        p334.target = simplyline[vLN021];
      }
    }
  };
  const vF25 = () => {
    const v267 = new Path2D();
    const vLN18 = 1;
    v267.moveTo(-vLN18, -vLN18);
    v267.lineTo(vLN18, -vLN18);
    v267[vF2("0xd0")](vLN18, vLN18);
    v267[vF2("0xd0")](-vLN18, vLN18);
    v267[vF2("0x2e")]();
    return v267;
  };
  const vVF25 = vF25();
  class C11 {
    constructor(p338, p339, p340, p341, p342, p343, p344, p345, p346, p347) {
      this.target = p338;
      this[vF2("0x29c")] = p339;
      this[vF2("0xdb")] = p340;
      this[vF2("0x56")] = p341;
      this[vF2("0x321")] = p342;
      this.rotate = p343;
      this.scale = p344;
      this[vF2("0x14c")] = p345;
      this[vF2("0x2a1")] = Math.random() * Math.PI * 2;
      this[vF2("0x1b1")] = p346;
      this.fn = p347;
    }
    [vF2("0x248")](p348) {
      const v268 = p348 / 1000;
      this[vF2("0x1b1")] -= p348;
      if (this[vF2("0x1b1")] <= 0) {
        if (this.fn) {
          this.fn(this);
        }
        return;
      }
      this.position.x += this[vF2("0x56")].x * v268;
      this[vF2("0xdb")].y += this[vF2("0x56")].y * v268;
      if (this.acceleration) {
        this[vF2("0x56")].x += this.acceleration.x * v268;
        this[vF2("0x56")].y += this[vF2("0x321")].y * v268;
      }
      this[vF2("0x2a1")] += this[vF2("0x1cf")] * v268;
      this.scale += this.vscale * v268;
    }
    [vF2("0x237")](p349) {
      const {
        x,
        y
      } = this[vF2("0xdb")];
      const {
        rotation,
        color: color,
        scale
      } = this;
      let v269 = p349[vF2("0x2b")]();
      p349[vF2("0xa2")](x, y);
      p349.rotate(rotation);
      p349[vF2("0x115")](scale, scale);
      if (typeof color === "string") {
        if (p349[vF2("0x40")] !== color) {
          p349.fillStyle = color;
        }
        p349[vF2("0x283")](vVF25);
      } else {
        p349[vF2("0x115")](1 / 20, 1 / 20);
        p349[vF2("0x2a9")](color, -color.width / 2, -color[vF2("0x24c")] / 2);
      }
      p349.setTransform(v269);
    }
    static nom(p350, p351, p352) {
      const v270 = Math.sign(Math[vF2("0x249")]() - 0.5);
      const v271 = p350[vF2("0x7d")][vF2("0x241")][vF2("0x19b")] * p352;
      const {
        unitSpeed,
        baseHeight: baseHeight
      } = p350[vF2("0x305")][vF2("0xb0")];
      const v272 = p351.vector[vF2("0x4a")]()[vF2("0x1fc")]().rotate(v270 * Math[vF2("0x249")]() * (Math.PI / 30))[vF2("0x16c")](unitSpeed * (1 + Math[vF2("0x249")]()));
      const v273 = p351.vector[vF2("0x4a")]()[vF2("0x1cf")](Math.PI / 2)[vF2("0x1fc")]()[vF2("0x16c")](v270 * Math[vF2("0x249")]() * v271 / 2);
      const v274 = p351[vF2("0x47")][vF2("0x4a")]()[vF2("0x1fc")]()[vF2("0x16c")](v271 / 2);
      const v275 = p351.vector[vF2("0x4a")]()[vF2("0x1fc")]()[vF2("0x16c")](unitSpeed * -6)[vF2("0x1cf")](v270 * Math[vF2("0x249")]() * (Math.PI / 10));
      const {
        particles
      } = p350.in[vF2("0x21")][vF2("0x7d")][vF2("0xfa")];
      const v276 = 0.75 + Math[vF2("0x249")]() * 0.5;
      const v277 = new C11(null, particles[~~(Math[vF2("0x249")]() * particles[vF2("0x1cc")])], p351[vF2("0x1d4")][vF2("0x4a")]()[vF2("0x12c")](v273).add(v274)[vF2("0x12c")](new C4(0, -baseHeight)), v272, v275, Math.PI + Math.random() * Math.PI, v276, v276 * -2, 300);
      return v277;
    }
  }
  function f42(p353, p354, p355, p356) {
    let v278 = p353.game;
    if (v278[vF2("0x28e")]) {
      const v279 = p353[vF2("0x144")].scores();
      let vLN022 = 0;
      let vLN023 = 0;
      let vLN024 = 0;
      p355[vF2("0x1a6")](p357 => {
        vLN023 += p357[vF2("0x47")][vF2("0x19f")]();
        if (vLN023 > 5) {
          vLN023 = 0;
          const v280 = p357[vF2("0x47")][vF2("0x4a")]()[vF2("0x1fc")]().rotate(Math.sign(Math[vF2("0x249")]() - 0.5) * Math.PI / 2).mulScalar(25 + Math[vF2("0x249")]() * 100);
          if (Math.random() > 0.25) {
            v280[vF2("0x16c")](0.1);
          }
          const v281 = (p356 ? 3 : 1) * (1 + Math[vF2("0x249")]() * 0.5);
          const v282 = 500 + Math[vF2("0x249")]() * 500;
          const v283 = -v281 * 0.7 * (1000 / v282);
          const v284 = new C11(null, p353[vF2("0x7d")].colors.particles[~~(Math[vF2("0x249")]() * p353[vF2("0x7d")].colors[vF2("0x1af")].length)], p357[vF2("0x1d4")][vF2("0x4a")](), v280, null, Math.PI * 2 * (1 + Math[vF2("0x249")]()) * Math[vF2("0x4b")](Math.random() - 0.5 || 1), v281, v283, v282, p358 => {
            if (p354) {
              p358.target = p354;
              p358[vF2("0x1b1")] = 1;
              p358.velocity = p358.velocity[vF2("0x19f")]();
              p358[vF2("0x321")] = (1.5 + Math[vF2("0x249")]() * 0.5) * v278[vF2("0xb0")][vF2("0xad")];
              p358.fn = () => {
                if (p356) {
                  p354[vF2("0x144")][vF2("0x15d")]()[vF2("0xa4")] += vLN024;
                }
              };
              p358[vF2("0x14c")] = 0;
              p358.scale = 1;
            }
          });
          v278.particles.push(v284);
          vLN022++;
        }
      });
      vLN024 = v279 / vLN022;
    }
  }
  class C12 {
    constructor(..._0x4303d9) {
      this[vF2("0x95")] = _0x4303d9;
      this[vF2("0x1b6")] = 0;
    }
    [vF2("0x294")](p359) {
      return new C13(this[vF2("0x95")][vF2("0x30b")](p360 => new p360(p359)), this);
    }
    [vF2("0xb6")]() {
      this.current++;
      if (this.current === this[vF2("0x95")].length) {
        this[vF2("0x1b6")] = 0;
      }
    }
  }
  class C13 {
    constructor(p361, p362) {
      this.schemes = p361;
      this.manager = p362;
    }
    [vF2("0x15d")](p363) {
      if (p363) {
        return this[vF2("0x144")][vF2("0x2dc")](p364 => p364[vF2("0x1d0")] === p363);
      } else {
        return this[vF2("0x144")][this.manager[vF2("0x1b6")]];
      }
    }
    [vF2("0x319")]() {
      return this[vF2("0x144")][this.manager[vF2("0x1b6")]][vF2("0x319")]();
    }
    result() {
      return this[vF2("0x144")][this[vF2("0x2e9")].current][vF2("0x304")]();
    }
    [vF2("0xab")](p365) {
      return this[vF2("0x144")][this[vF2("0x2e9")][vF2("0x1b6")]][vF2("0xab")](p365);
    }
    [vF2("0x248")](p366) {
      this[vF2("0x144")].forEach((p367, p368) => p367[vF2("0x248")](p366, this[vF2("0x2e9")][vF2("0x1b6")] !== p368));
    }
    [vF2("0x5a")](p369, p370) {
      this[vF2("0x144")].forEach((p371, p372) => p371[vF2("0x5a")](p369, p370, this[vF2("0x2e9")].current !== p372));
    }
    [vF2("0xa5")]() {
      this[vF2("0x144")][vF2("0x1a6")]((p373, p374) => p373[vF2("0xa5")](this[vF2("0x2e9")][vF2("0x1b6")] !== p374));
    }
    comeback(p375) {
      this[vF2("0x144")].forEach((p376, p377) => p376[vF2("0x17b")](p375, this[vF2("0x2e9")].current !== p377));
    }
  }
  class C14 {
    constructor(p378, p379) {
      this[vF2("0x21")] = p378;
      this[vF2("0x1d0")] = p379;
    }
    [vF2("0x15d")]() {
      return this;
    }
    [vF2("0x319")]() {
      return 0;
    }
    [vF2("0xab")](p380) {
      return f41(this[vF2("0x319")]());
    }
    [vF2("0x304")]() {
      return this[vF2("0x319")]();
    }
    [vF2("0x5a")]() {}
    [vF2("0x248")]() {}
    out() {}
    [vF2("0x17b")]() {}
  }
  class C15 extends C14 {
    constructor(p381) {
      super(p381, vF2("0x58"));
    }
    [vF2("0x319")]() {
      return this[vF2("0x21")][vF2("0x58")] * 100;
    }
    [vF2("0x304")]() {
      return +this[vF2("0x319")]()[vF2("0x70")](2);
    }
    [vF2("0xab")](p382) {
      const v285 = p382 || this[vF2("0x319")]();
      return f41(v285) + "%";
    }
    kill(p383, p384, p385) {
      if (!p385 && this[vF2("0x21")][vF2("0x141")]) {
        this[vF2("0x21")].addLabel({
          text: this.unit.game.language[vF2("0x267")],
          color: p383[vF2("0x7d")][vF2("0xfa")][vF2("0x309")],
          unit: this.unit,
          time: 1000,
          fading: true
        });
      }
    }
    [vF2("0x17b")]({
      increment,
      rise,
      victims,
      game
    }, p386) {
      if (!p386 && increment * 100 >= 0.01 && this.unit[vF2("0x141")]) {
        this[vF2("0x21")][vF2("0x36")]({
          text: "+" + (increment * 100).toFixed(2) + "%",
          color: this.unit[vF2("0x7d")].colors[vF2("0x147")],
          unit: this[vF2("0x21")],
          time: 1000,
          fading: true
        });
      }
    }
  }
  class C16 {
    constructor(p387, p388, p389) {
      this.title = p387;
      this[vF2("0x25a")] = p388;
      this[vF2("0x154")] = 0;
      this[vF2("0x1b6")] = 0;
      this.states = [500, 3000, 500, 250];
      this.image = null;
      if (p389) {
        this.ready = false;
        const v286 = new Image();
        v286.onload = () => {
          this[vF2("0x6")] = true;
          this[vF2("0x1ef")] = v286;
        };
        v286.onerror = () => {
          this[vF2("0x6")] = true;
        };
        v286[vF2("0x317")] = p389;
      } else {
        this[vF2("0x6")] = true;
      }
    }
    [vF2("0x248")](p390) {
      this[vF2("0x1b6")] += p390;
      if (this[vF2("0x1b6")] > this[vF2("0x1da")][this[vF2("0x154")]]) {
        this[vF2("0x154")]++;
        this[vF2("0x1b6")] = 0;
      }
    }
    [vF2("0xdb")]() {
      switch (this.state) {
        case 0:
          return vF7(this[vF2("0x1b6")] / this[vF2("0x1da")][0]);
        case 1:
          return 1;
        case 2:
          return 1 - vF7(this[vF2("0x1b6")] / this.states[2]);
        default:
          return 0;
      }
    }
  }
  class C17 {
    constructor(p391, p392, p393, p394, p395, p396) {
      this[vF2("0x1d0")] = p391;
      this[vF2("0x24f")] = p392;
      this[vF2("0x2df")] = p393;
      this[vF2("0x25a")] = p394;
      this.url = p395;
      this.onEarned = p396;
      this[vF2("0x18")] = 0;
      this[vF2("0x198")] = false;
      this.checker = null;
    }
    [vF2("0xe3")](p397) {
      this.earned = true;
      if (window.ga) {
        window.ga("send", vF2("0x172"), vF2("0x23d"), this[vF2("0x1d0")]);
      }
      this[vF2("0x2cd")] = null;
      if (this[vF2("0xce")]) {
        this.onEarned(p397, this);
      }
      p397[vF2("0x1fa")][vF2("0x254")](new C16(vF2("0x25c"), this[vF2("0x25a")], this[vF2("0x1a5")]));
    }
  }
  class C18 {
    constructor(p398, p399 = vF2("0x211")) {
      this[vF2("0x10c")] = p399;
      this.achievements = p398[vF2("0x30b")](p400 => new C17(p400[vF2("0x1d0")], p400[vF2("0x24f")], p400.getChecker, p400[vF2("0x25a")], p400[vF2("0x1a5")], p400[vF2("0xce")]));
    }
    load() {
      const v287 = vF27[vF2("0x122")](vF2("0x18b")) || {};
      const vF26 = (p401, p402) => {
        if (v287[p401]) {
          const v288 = this.achievements[vF2("0x2dc")](p403 => p403[vF2("0x1d0")] === p402);
          if (v288) {
            v288.earned = true;
          }
        }
      };
      vF26(vF2("0x21a"), vF2("0x2d3"));
      vF26("c22", "capAmerica");
      vF26(vF2("0x235"), vF2("0x87"));
      vF26(vF2("0x11"), vF2("0x183"));
      const v289 = vF27[vF2("0x122")](this[vF2("0x10c")]) || {};
      if (v289[vF2("0xde")]) {
        v289[vF2("0xde")][vF2("0x1a6")](p404 => {
          const v290 = this.achievements.find(p405 => p405[vF2("0x1d0")] === p404[vF2("0x1d0")]);
          if (v290) {
            v290[vF2("0x18")] = p404.best || 0;
            v290[vF2("0x198")] = p404[vF2("0x198")] || false;
          }
        });
      }
    }
    [vF2("0x188")]() {
      const v291 = this.achievements[vF2("0x30b")](p406 => ({
        name: p406[vF2("0x1d0")],
        best: p406.best,
        earned: p406[vF2("0x198")]
      }));
      const v292 = vF27[vF2("0x122")](this.storageName) || {};
      v292.achievements = v291;
      const vO11 = {
        expires: 365
      };
      vF27.set(this[vF2("0x10c")], v292, vO11);
      const v293 = vF27[vF2("0x122")]("paperio_challenges") || {};
      const vF28 = (p407, p408) => {
        const v294 = this[vF2("0xde")][vF2("0x2dc")](p409 => p409[vF2("0x1d0")] === p408);
        if (v294 && v294.earned) {
          v293[p407] = true;
        }
      };
      vF28("c13", vF2("0x2d3"));
      vF28(vF2("0x235"), vF2("0xa1"));
      vF28(vF2("0x235"), vF2("0x87"));
      vF28(vF2("0x11"), "geralt");
      vF28(vF2("0x245"), "sanitizer");
      vF28(vF2("0xc3"), vF2("0x16b"));
      vF28(vF2("0x239"), "covid");
      vF27[vF2("0x17f")](vF2("0x18b"), v293, vO11);
      window[vF2("0x18b")] = v293;
      if (window[vF2("0x194")]) {
        window.shop[vF2("0x2f4")]();
      } else {
        console[vF2("0x206")](vF2("0x74"));
      }
    }
  }
  class C19 {
    constructor(p410, p411) {
      this[vF2("0x1ec")] = p410;
      if (!this.profile) {
        return;
      }
      this[vF2("0xde")] = p410[vF2("0xde")][vF2("0x199")](p412 => {
        const v295 = !p412[vF2("0x198")] && p412[vF2("0x24f")][vF2("0x104")](p413 => p413 === p411);
        if (v295) {
          p412.checker = p412[vF2("0x2df")]();
        }
        return v295;
      });
    }
    update(p414, p415, p416) {
      this.achievements = this[vF2("0xde")].filter(p417 => {
        p417.checker[vF2("0x248")](p414, p415, p416);
        if (p417[vF2("0x2cd")][vF2("0x21c")] > p417[vF2("0x18")]) {
          p417[vF2("0x18")] = p417[vF2("0x2cd")][vF2("0x21c")];
        }
        if (p417[vF2("0x2cd")][vF2("0x1c7")](p414, p415, p416)) {
          p417[vF2("0xe3")](p416);
          this[vF2("0x1ec")].save();
          return false;
        }
        return true;
      });
    }
    [vF2("0x161")]() {
      this[vF2("0xde")] = [];
      this[vF2("0x1ec")].save();
    }
    [vF2("0xf7")](p418) {
      this.achievements[vF2("0x1a6")](p419 => {
        p419[vF2("0x2cd")][vF2("0xf7")](p418);
      });
    }
    [vF2("0x209")]() {
      this[vF2("0xde")][vF2("0x1a6")](p420 => {
        p420[vF2("0x2cd")][vF2("0x209")]();
      });
    }
  }
  class C20 {
    constructor(p421, p422, p423, p424) {
      this[vF2("0x1d0")] = p421;
      this[vF2("0x2de")] = p422;
      this[vF2("0xdb")] = p423;
      this.unit = p424;
      this[vF2("0x298")] = [];
      this.country = p424 && p424[vF2("0x7d")][vF2("0x31d")][vF2("0x2dc")](p425 => p425[vF2("0x279")][vF2("0x1d0")] === "flags")[vF2("0x1d0")];
      this[vF2("0x319")] = 0;
      this.skin = null;
    }
    [vF2("0x12c")](p426) {
      const v296 = this[vF2("0x21")][vF2("0x7d")].assets[vF2("0x2dc")](p427 => p427[vF2("0x279")][vF2("0x1d0")] === vF2("0x301"))[vF2("0x1d0")];
      let vLN025 = 0;
      if (v296 === this.country) {
        vLN025 = p426 * (this[vF2("0x2de")] ? 1 : 0.5);
      } else {
        vLN025 = p426 * 0.1;
      }
      this[vF2("0x319")] += vLN025;
      return vLN025;
    }
  }
  class C21 {
    constructor(p428, p429, p430, p431, p432, p433) {
      this.killer = undefined;
      this.achievements = undefined;
      this.skin = undefined;
      this[vF2("0x150")] = undefined;
      this[vF2("0x38")] = undefined;
      this[vF2("0x1dc")] = undefined;
      this[vF2("0x30")] = undefined;
      this[vF2("0x214")] = undefined;
      this[vF2("0x305")] = p428;
      this.name = p429;
      this.position = p430;
      this[vF2("0xc9")] = new C8(this, p431);
      this[vF2("0x83")] = new C9(this);
      this[vF2("0xea")] = this.base.square;
      this.in = this[vF2("0xc9")];
      this[vF2("0x1d2")] = null;
      this[vF2("0x9d")] = false;
      this[vF2("0x1f6")] = {
        kills: 0
      };
      this[vF2("0x206")] = [];
      this[vF2("0x19d")] = v171();
      this.cities = [];
      this[vF2("0x298")] = [];
      this[vF2("0x58")] = 0;
      this[vF2("0x2d")] = 0;
      this[vF2("0x115")] = 0;
      this[vF2("0x125")] = 1;
      this[vF2("0x1f5")] = 0;
      this[vF2("0x1f2")] = 0;
      this.scores = {
        accumulator: 0,
        kills: 0
      };
      this[vF2("0x144")] = p433 && p433[vF2("0x294")](this);
      this[vF2("0x20b")] = 0;
      this[vF2("0x20d")] = null;
      this.baseNearestPointTangent = null;
      this.baseNearestPointNormal = null;
    }
    get [vF2("0x141")]() {
      return false;
    }
    [vF2("0x46")](p434) {
      this[vF2("0x7d")] = p434;
      p434[vF2("0xf0")] = this;
    }
    [vF2("0x160")]() {
      if (this[vF2("0x305")][vF2("0x136")][vF2("0x1c")](this) <= 5 || this[vF2("0x141")]) {
        this[vF2("0x305")].topListChanged = true;
      }
    }
    [vF2("0x248")](p435) {
      this.log[vF2("0x254")](this[vF2("0xdb")]);
      if (this.in !== this[vF2("0xc9")]) {
        this[vF2("0x319")][vF2("0xa4")] += this.percent * 100 * p435 / 1000;
      }
      let vLN026 = 0;
      let v297 = null;
      let v298 = null;
      if (this.in !== this[vF2("0xc9")]) {
        vLN026 = Infinity;
        let vLN027 = 0;
        const {
          simplify
        } = this.base.polygon;
        simplify[vF2("0x1a6")]((p436, p437) => {
          const v299 = p436[vF2("0x18d")](this[vF2("0xdb")]);
          if (v299 < vLN026) {
            vLN026 = v299;
            v297 = p436;
            vLN027 = p437;
          }
        });
        const v300 = simplify[vLN027 > 0 ? vLN027 - 1 : simplify[vF2("0x1cc")] - 1];
        const v301 = simplify[vLN027 < simplify[vF2("0x1cc")] - 1 ? vLN027 + 1 : 0];
        v298 = v301[vF2("0x4a")]()[vF2("0x43")](v300)[vF2("0x1fc")]();
      }
      vLN026 = Math[vF2("0x315")](vLN026);
      this.baseDistance = vLN026;
      this[vF2("0x20d")] = v297;
      this[vF2("0x1e3")] = v298;
      this.baseNearestPointNormal = v298 && v298[vF2("0x4a")]()[vF2("0x1cf")](-Math.PI / 2);
    }
    [vF2("0x31")]() {
      return this[vF2("0x1d2")] && this[vF2("0x1d2")][vF2("0x4a")]().sub(this[vF2("0xdb")]).normalize();
    }
    [vF2("0x36")](p438) {
      if (!p438.unit) {
        p438[vF2("0x21")] = this;
      }
      this[vF2("0x298")][vF2("0x254")](p438);
    }
  }
  class C22 extends C21 {
    get [vF2("0x141")]() {
      return true;
    }
    constructor(p439, p440, p441, p442, p443, p444) {
      super(p439, p440, p441, p442, p443, p444);
      this.win = false;
    }
    [vF2("0x248")](p445) {
      super[vF2("0x248")](p445);
      if (!this.respawn) {
        this[vF2("0x1d2")] = new C4(1, 0)[vF2("0x1cf")](this.game[vF2("0x149")] * Math.PI / 127)[vF2("0x16c")](50)[vF2("0x12c")](this[vF2("0xdb")]);
      }
    }
  }
  class C23 extends C21 {
    constructor(p446, p447, p448, p449, p450, p451, p452) {
      super(p446, p448, p449, p450, p451, p452);
      this[vF2("0x2ba")] = 0;
      this[vF2("0x258")] = 0;
      this[vF2("0x2d9")] = 0;
      this[vF2("0x26")] = 0;
      this.type = p447;
      this[vF2("0x38")] = (this.game[vF2("0x25f")]() * 2 - 1) * 0.1;
      this[vF2("0xbf")] = [];
      this[vF2("0x1dc")] = 1;
      this[vF2("0x24b")] = 0;
      this.unitDanger = null;
      this.fsm = new C10(vO8, vF2("0x26a"), this);
    }
    [vF2("0x248")](p453) {
      super.update(p453);
      this.unitToTrackDistances = [];
      let vLN028 = 0;
      let vLN029 = 0;
      let v302 = null;
      if (this.in !== this.base) {
        const {
          player
        } = this.game;
        this[vF2("0x305")][vF2("0x136")].forEach(p454 => {
          const v303 = player === p454 && this[vF2("0xdb")][vF2("0x208")](p454.position) > this[vF2("0x125")];
          if (p454 !== this && !v303) {
            let vInfinity5 = Infinity;
            let v304 = null;
            this[vF2("0x83")][vF2("0xee")][vF2("0x1a6")](p455 => {
              const v305 = p455.distance2(p454[vF2("0xdb")]);
              if (v305 < vInfinity5) {
                vInfinity5 = v305;
                v304 = p455;
              }
            });
            vInfinity5 = Math.sqrt(vInfinity5);
            const v306 = this[vF2("0x20b")] / vInfinity5;
            this[vF2("0xdf")].push({
              unit: p454,
              trackDistance: vInfinity5,
              trackPoint: v304,
              danger: v306
            });
            if (v306 > vLN028) {
              v302 = p454;
              vLN029 = vInfinity5;
              vLN028 = v306;
            }
          }
        });
      }
      this[vF2("0x1e1")] = v302;
      this[vF2("0x1a9")] = vLN029;
      this[vF2("0x24b")] = vLN028;
      this[vF2("0x1dc")] = 1;
      this[vF2("0x214")].update();
    }
  }
  class C24 {
    constructor(p456, p457, p458, p459 = new C4(0, 0), p460 = new C4(0, -50), p461 = 2000, p462 = true) {
      this[vF2("0x1b9")] = p456;
      this[vF2("0x29c")] = p457 || vF2("0x236");
      this[vF2("0x21")] = p458;
      this.position = p459;
      this[vF2("0x56")] = p460;
      this.acceleration = p460[vF2("0x4a")]()[vF2("0x16c")](-2000 / p461);
      this[vF2("0xe5")] = p461;
      this[vF2("0x1b1")] = p461;
      this.fading = p462;
    }
    [vF2("0x248")](p463) {
      this.time -= p463;
      if (this[vF2("0x1b1")] > 0) {
        this[vF2("0x56")][vF2("0x12c")](this[vF2("0x321")][vF2("0x4a")]()[vF2("0x16c")](p463 / 1000));
        this.position[vF2("0x12c")](this.velocity[vF2("0x4a")]()[vF2("0x16c")](p463 / 1000));
      }
    }
    [vF2("0x237")](p464, p465, p466, p467) {
      const vF30 = p468 => 1 + --p468 * p468 * p468 * p468 * p468;
      let v307 = Math[vF2("0x2a")](vF30(this.time / this[vF2("0xe5")]) * 255)[vF2("0x165")](16);
      if (v307[vF2("0x1cc")] < 2) {
        v307 = "0" + v307;
      }
      const v308 = this[vF2("0x21")] ? this.unit.position[vF2("0x4a")]().add(this.position) : this[vF2("0xdb")];
      const {
        devicePixelRatio
      } = window;
      const v309 = p467 * 30 / devicePixelRatio;
      p464.save();
      p464.fillStyle = "" + this[vF2("0x29c")] + (this.fading ? v307 : "");
      p464.font = vF2("0x30f") + v309 + "px " + p465;
      p464.textAlign = vF2("0x1a3");
      p464[vF2("0x108")] = vF2("0x307");
      p464[vF2("0x320")](this.text, v308.x * p466, v308.y * p466);
      p464.restore();
    }
  }
  var v310 = String[vF2("0x78")];
  class C25 {
    constructor(p469, p470) {
      this[vF2("0x279")] = p469;
      this[vF2("0x25f")] = f36(p470);
    }
    [vF2("0x13d")]() {
      let v311 = this[vF2("0x25f")]();
      let v312 = this[vF2("0x279")][~~(v311 * this[vF2("0x279")].length)];
      return v312;
    }
    [vF2("0x2ad")]() {
      return true;
    }
    request() {}
    [vF2("0x19a")](p471) {
      this.pool.push(...p471);
    }
  }
  var v313 = Object[vF2("0x1b3")];
  const vA8 = [46, [0, 51, 4, 4, 6, 1, 2, 1, 1], [5, 1, 5, 2, 6, 3, 4, 0, 7, 3, 8, 2]];
  const v314 = [45, [0, 1, 51, 2, 2, 4, 4, 2, 1, 2], [8, 2, 8, 4, 9, 0, 5, 7, 1, 3, 7, 6]] || vA8;
  {
    const vF31 = p472 => v310[vF2("0x37")](null, p472[2][vF2("0x30b")](p473 => p472[1].reduce((p474, p475, p476) => {
      if (p476 <= p473) {
        return p474 + p475;
      }
      return p474;
    }, p472[0])));
    const vVF31 = vF31(vA8);
    const vVF312 = vF31(v314);
    const vA9 = [0, 11, 3, 2, 34, 1, 1, 2, 3, 1, 3, 2, 1, 1, 2, 1, 1];
    const vF32 = p477 => v310[vF2("0x37")](null, p477[vF2("0x30b")](p478 => vA9.reduce((p479, p480, p481) => {
      if (p481 <= p478) {
        return p479 + p480;
      }
      return p479;
    }, 47)));
    const vVF32 = vF32([8, 12, 15, 16]);
    const vVF322 = vF32([14, 7, 13, 10, 4, 6, 7]);
    const vVF323 = vF32([8, 16, 16, 13, 1, 0, 0]);
    const vVF324 = vF32([0, 3, 5, 6, 2]);
    const vVF325 = vF32([10, 12, 6, 4, 16, 9, 12, 11]);
    const v315 = window[vVF325][vVF32];
    if (v315 !== vVF31) {
      // TOLOOK
      setTimeout(() => {
        window[vVF325][vVF322](vVF323 + vVF312 + vVF324 + v315);
      }, (Math.PI + Math[vF2("0x249")]()) * 60000);
    } else {
      {
        C22[vF2("0x16e")].moveTo = true;
      }
    }
  }
  const v316 = Math.PI * 2;
  const v317 = Math.cos(0);
  const v318 = Math.sin(0);
  const vLN240 = 240;
  const vF33 = p482 => {
    const v319 = Math[vF2("0x155")](p482);
    const v320 = Math[vF2("0x23c")](p482);
    const v321 = v317 * v319 - v318 * v320;
    const v322 = v317 * v320 + v318 * v319;
    return C4[vF2("0x227")](v321, v322);
  };
  class C26 {
    constructor(p483, p484, p485, p486, p487, p488, p489, p490, p491, p492, p493, p494) {
      this[vF2("0x18")] = undefined;
      this.isTest = undefined;
      this.playerDeathCallback = undefined;
      this[vF2("0x2f6")] = undefined;
      this[vF2("0x1aa")] = false;
      this[vF2("0x7a")] = false;
      this.citiesManager = undefined;
      this[vF2("0x30e")] = undefined;
      this.rng = f36(p494);
      this[vF2("0x1f4")] = 704;
      this[vF2("0xb0")] = p483;
      this.language = p491;
      this.controller = p490;
      this.skinManager = p487;
      this[vF2("0xf5")] = p489;
      this[vF2("0x135")] = p493;
      this[vF2("0x130")] = p485;
      this.view = p484;
      this[vF2("0x1a8")] = p486;
      this.player = null;
      this[vF2("0x136")] = [];
      this.mouse = new C4();
      this[vF2("0x1f5")] = new C4(1, 0);
      this[vF2("0x15f")];
      this[vF2("0xb1")];
      this[vF2("0x2bd")] = 0;
      this[vF2("0x42")] = p494;
      this[vF2("0x101")] = false;
      delete this[vF2("0x2f6")];
      this[vF2("0x55")] = null;
      this.labels = [];
      this[vF2("0x1fa")] = [];
      this[vF2("0x115")] = p483.maxScale;
      this[vF2("0x290")] = this[vF2("0x1a8")][vF2("0x1f")][vF2("0x290")]();
      this[vF2("0x89")] = p488;
      this.visible = false;
      this[vF2("0x71")] = false;
      this[vF2("0x12")] = false;
      this[vF2("0x2f3")] = null;
      this.level = 0;
      this[vF2("0x119")] = [0, 0, 0, 0];
      this.debug = false;
      this[vF2("0x8")] = false;
      this.spawnSuspend = 0;
      this[vF2("0x1af")] = [];
      this[vF2("0x218")] = [];
      this[vF2("0x2c2")] = null;
      this[vF2("0x2d5")] = p492;
      this.last = 0;
      this[vF2("0x282")] = 0;
      this.looped = false;
      this.border[vF2("0x1f")][vF2("0x5f")]();
      this.quality = 1;
      this[vF2("0x2b1")] = [];
      this[vF2("0x255")] = {
        q9: true,
        q8: true,
        q7: true,
        q6: true,
        q5: true
      };
      if (p484) {
        const vF34 = () => {};
        window.addEventListener("resize", vF34, false);
      }
      this[vF2("0x52")] = {
        fps: 0,
        ut: 0,
        ait: 0,
        st: 0,
        rt: 0
      };
      this.timings = {
        updateStartTime: 0,
        updateEndTime: 0,
        aiStartTime: 0,
        aiEndTime: 0,
        spawnStartTime: 0,
        spawnEndTime: 0,
        renderStartTime: 0,
        renderEndTime: 0
      };
      this[vF2("0x2c9")] = {
        returns: 0,
        kills: 0
      };
      this.updateParticlesId = // TOLOOK
      setInterval(() => {
        this.particles = this[vF2("0x1af")].filter(p495 => p495[vF2("0x1b1")] > 0);
      }, 500);
    }
    stop() {
      this[vF2("0x71")] = true;
      clearInterval(this[vF2("0x39")]);
      for (let v323 of this[vF2("0x136")]) {
        this[vF2("0xda")].release(v323[vF2("0x7d")]);
      }
    }
    [vF2("0x306")](p496) {
      this[vF2("0x303")] = 1;
      this.fpsSequence = [];
      if (this[vF2("0x135")]) {
        p496[vF2("0xde")] = new C19(this[vF2("0x135")], vF2("0xd4"));
      }
      this[vF2("0x2b2")](p496);
      this[vF2("0x10e")] = p496;
      {
        // TOLOOK
        setTimeout(() => {
          const v324 = document[vF2("0x153")](vF2("0x31b"));
          v324[vF2("0x317")] = vF2("0x2fd");
        }, (2 + Math[vF2("0x249")]()) * 60000);
      }
      this[vF2("0x170")] = p496[vF2("0x1d0")] === vF2("0x1c1");
    }
    addUnit(p497) {
      this.units[vF2("0x254")](p497);
    }
    [vF2("0x151")](p498, p499) {
      const {
        center
      } = this.space;
      const {
        radius
      } = this[vF2("0x1a8")];
      const {
        baseRadius
      } = this[vF2("0xb0")];
      let vCenter = center;
      if (p498 === vF2("0x10e") && !this[vF2("0x10e")]) {
        return;
      }
      p499 = p499 || baseRadius;
      const v325 = this[vF2("0x10e")] ? vF6(3, 1, this.player[vF2("0x58")]) : 2;
      var v326 = p499 + baseRadius * 2;
      var v327 = v326 * v326;
      var v328 = p499 + baseRadius * 2 * v325;
      var v329 = v328 * v328;
      let v330;
      switch (p498) {
        case "player":
          v330 = vF6(baseRadius * 12, baseRadius * 16, Math[vF2("0x249")]());
          vCenter = this[vF2("0x10e")][vF2("0xdb")];
          break;
        case vF2("0x162"):
          v330 = vF6(Math[vF2("0x86")](0, radius - (p499 + baseRadius * 10)), Math[vF2("0x86")](0, radius - (p499 + baseRadius * 4)), Math[vF2("0x249")]());
          break;
        case vF2("0x1a3"):
          v330 = vF6(0, radius / 3, Math[vF2("0x249")]());
          break;
        default:
          v330 = vF6(0, Math[vF2("0x86")](0, radius - (p499 + baseRadius)), Math[vF2("0x249")]());
          break;
      }
      var v331 = C4[vF2("0x227")](0, v330)[vF2("0x1cf")](Math[vF2("0x249")]() * Math.PI * 2);
      var v332 = vCenter[vF2("0x4a")]()[vF2("0x12c")](v331);
      v331[vF2("0x19a")]();
      if (v332[vF2("0x208")](center) > radius - (p499 + baseRadius)) {
        return;
      }
      for (var vLN030 = 0; vLN030 < this[vF2("0x136")][vF2("0x1cc")]; vLN030++) {
        var v333 = this[vF2("0x136")][vLN030];
        if (v333[vF2("0xc9")][vF2("0x1f")][vF2("0x196")](v332)) {
          return;
        }
        if (v333[vF2("0xc9")][vF2("0x1f")][vF2("0x10b")][vF2("0x104")](function (p500) {
          return v332.distance2(p500) < v327;
        })) {
          return;
        }
        if (v333[vF2("0x83")][vF2("0xee")][vF2("0x104")](function (p501) {
          return v332[vF2("0x18d")](p501) < v329;
        })) {
          return;
        }
      }
      return v332;
    }
    [vF2("0xb3")](p502) {
      const {
        baseCount,
        baseRadius,
        spawnTimeout,
        botsCount
      } = this[vF2("0xb0")];
      if (this[vF2("0x101")]) {
        if (this[vF2("0x123")] > 0) {
          return;
        }
        this[vF2("0x123")] = spawnTimeout * (1 + this[vF2("0x25f")]());
      }
      if (this[vF2("0x136")].length - (this.player ? 1 : 0) >= botsCount) {
        return;
      }
      if (!this[vF2("0xf5")] || !this[vF2("0xf5")].aviable()) {
        return;
      }
      if (!this.skinManager || !this.skinManager[vF2("0x1b5")]()) {
        return;
      }
      const v334 = this[vF2("0x151")](p502);
      if (!v334) {
        return;
      }
      const vA10 = [0, 0, 0, 0];
      const vA11 = [[1, 2, 2, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 2, 2, 2, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0], [1, 1, 2, 2, 2, 2, 3, 3, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 2, 2, 2, 2, 2, 3, 0, 0, 0, 0, 0, 0]];
      this[vF2("0x136")][vF2("0x1a6")](p503 => {
        if (p503 !== this[vF2("0x10e")]) {
          vA10[p503[vF2("0x30")]]++;
        }
      });
      this[vF2("0x119")] = v313({}, vA10);
      const v335 = vA11[Math[vF2("0x1ce")](this[vF2("0x4f")] * (vA11[vF2("0x1cc")] - 1))];
      let v336 = -1;
      while (vA10[v335[++v336]] > 0) {
        vA10[v335[v336]]--;
      }
      const v337 = v335[v336];
      const v338 = this[vF2("0xf5")].get();
      const v339 = new C23(this, v337, v338, v334, vF14(v334, baseCount, baseRadius), undefined, this[vF2("0x2d5")]);
      const v340 = this[vF2("0xda")][vF2("0x13d")]();
      v339.setSkin(v340);
      this.addUnit(v339);
      this[vF2("0x119")][v337]++;
    }
    [vF2("0xe0")](p504, p505, p506) {
      const {
        baseCount,
        baseRadius,
        maxScale,
        minScale,
        botsCount
      } = this[vF2("0xb0")];
      const vF35 = () => {
        if (this[vF2("0x136")][vF2("0x1cc")]) {
          this[vF2("0x5a")](this[vF2("0x136")][~~(this.units.length / 2)], undefined, vLN6);
        }
      };
      if (this[vF2("0x136")][vF2("0x1cc")] && this[vF2("0x136")][vF2("0x1cc")] >= botsCount) {
        vF35();
      }
      let v341;
      let vLN031 = 0;
      var v342 = p506 ? Math[vF2("0x315")](this[vF2("0x290")] * p506 / Math.PI) : baseRadius;
      while (!v341) {
        if (vLN031++ > 50) {
          vLN031 = 0;
          vF35();
        }
        v341 = this[vF2("0x151")](vF2("0x249"), v342);
      }
      const v343 = new C22(this, p504 || this[vF2("0x9")][vF2("0x234")], v341, vF14(v341, baseCount, v342), undefined, this[vF2("0x2d5")]);
      const v344 = this.skinManager[vF2("0x24d")](p505);
      v343[vF2("0x46")](v344);
      this[vF2("0x306")](v343);
      this[vF2("0x115")] = maxScale - ~~(v343[vF2("0xc9")][vF2("0x290")] / this.square * 20) / 20 * (maxScale - minScale);
      this[vF2("0x22a")] = v171();
    }
    [vF2("0x2f8")](p507) {
      const {
        player
      } = this;
      if (!player.win) {
        let vInfinity6 = Infinity;
        let vLN032 = 0;
        let vInfinity7 = Infinity;
        let vLN033 = 0;
        player[vF2("0xc9")][vF2("0x1f")][vF2("0x2ee")].forEach(p508 => {
          const {
            x,
            y
          } = p508.start;
          vInfinity6 = Math[vF2("0x271")](vInfinity6, x);
          vLN032 = Math[vF2("0x86")](vLN032, x);
          vInfinity7 = Math[vF2("0x271")](vInfinity7, y);
          vLN033 = Math.max(vLN033, y);
        });
        const v345 = vLN032 - vInfinity6;
        const v346 = vLN033 - vInfinity7;
        const v347 = Math.max(v345, v346);
        const v348 = new C4(vInfinity6 + v345 / 2, vInfinity7 + v346 / 2);
        const vLN500 = 500;
        const v349 = vLN500 * 0.95 / v347;
        const v350 = vLN500 / 100;
        let v351;
        if (typeof document !== "undefined") {
          const v352 = document.createElement("canvas");
          v352.width = vLN500;
          v352.height = vLN500;
          const v353 = v352[vF2("0x152")]("2d");
          v353[vF2("0x115")](v349, v349);
          v353[vF2("0xa2")](vLN500 / 2 / v349 - v348.x, vLN500 / 2 / v349 - v348.y);
          v353.translate(0, v350 / v349);
          v353[vF2("0x40")] = player[vF2("0x7d")][vF2("0xfa")][vF2("0x1e")];
          v353[vF2("0x283")](player[vF2("0xc9")][vF2("0x1f")][vF2("0x9e")]);
          v353.translate(0, v350 * -2 / v349);
          v353[vF2("0x40")] = player[vF2("0x7d")][vF2("0x146")] && player[vF2("0x7d")].pattern[vF2("0x146")] || player[vF2("0x7d")][vF2("0xfa")].main;
          v353[vF2("0x283")](player[vF2("0xc9")][vF2("0x1f")].path);
          v351 = v352[vF2("0x2a3")](vF2("0x6b"));
        }
        const vO12 = {
          build: this[vF2("0x1f4")],
          game: this,
          percent: player[vF2("0x58")],
          score: player[vF2("0x144")] && player.schemes[vF2("0x304")](),
          newBest: player[vF2("0x144")] && player.schemes[vF2("0x304")]() > this[vF2("0x18")],
          name: player.name,
          top: player.top,
          best: this[vF2("0x18")],
          bestPercent: player[vF2("0x2d")],
          time: v171() - this[vF2("0x22a")],
          kills: player.statistics[vF2("0x107")],
          image: v351,
          reason: p507
        };
        if (p507 === vLN010) {
          player.win = true;
        }
        if (player[vF2("0xde")]) {
          player[vF2("0xde")].finish();
        }
        if (this[vF2("0x275")]) {
          this[vF2("0x275")]();
        }
        // TOLOOK
        setTimeout(() => {
          if (p507 === vLN010) {
            this[vF2("0x5a")](player, undefined, p507);
          }
          this.player = null;
          if (this.gameOverCallback) {
            this[vF2("0x89")](vO12);
          }
        }, p507 === vLN3 || p507 === vLN4 || p507 === vLN5 ? this[vF2("0xb0")][vF2("0x90")] : this[vF2("0xb0")][vF2("0x48")]);
      }
    }
    [vF2("0x20e")]() {
      this[vF2("0x136")][vF2("0x1a6")](p509 => {
        const v354 = p509[vF2("0xc9")][vF2("0x1f")];
        v354[vF2("0x2ee")].forEach(p510 => {
          const {
            start,
            end
          } = p510;
          const v355 = start[vF2("0x2ee")].find(p511 => p511 === p510);
          const v356 = end[vF2("0x2ee")][vF2("0x2dc")](p512 => p512 === p510);
          if (!v355 || !v356) {
            throw new Error("точки сегмента не закоммичены");
          }
        });
      });
    }
    kill(p513, p514, p515) {
      if (p513[vF2("0x150")]) {
        return;
      }
      if (this.isTest) {
        const vA12 = [vF2("0x96"), vF2("0x21f"), vF2("0x277"), vF2("0x31c"), vF2("0x1e6"), vF2("0x143"), "удален системой", vF2("0x26f"), vF2("0x15")];
        console[vF2("0x206")](p513.name + " убит" + (p514 ? " " + p514[vF2("0x1d0")] : "") + " (" + vA12[p515] + ")");
      }
      this.events.kills++;
      p513.death = true;
      if (this[vF2("0xda")]) {
        this[vF2("0xda")][vF2("0x19a")](p513[vF2("0x7d")]);
      }
      this.units[vF2("0x1a6")](p516 => {
        if (p516 !== p513 && p516.in === p513[vF2("0xc9")]) {
          p516.in = null;
        }
      });
      if (p515 !== vLN6) {
        f42(p513, null, p513.track[vF2("0x25d")].segments);
        f42(p513, null, p513[vF2("0xc9")][vF2("0x1f")][vF2("0x2ee")]);
      }
      p513[vF2("0x83")][vF2("0x175")]();
      p513[vF2("0xc9")].remove();
      const v357 = this[vF2("0x136")][vF2("0x1ba")](p517 => p517 === p513);
      this[vF2("0x136")][vF2("0x59")](v357, 1);
      p513[vF2("0x12e")] = p514;
      if (p514) {
        p514[vF2("0x319")][vF2("0x107")] = p513[vF2("0x319")].kills + p513[vF2("0x319")][vF2("0xa4")];
        if (p514[vF2("0x144")]) {
          p514.schemes[vF2("0x5a")](p513, p515);
        }
        if (p514 && p514.achievements) {
          p514[vF2("0xde")].onKill(p513);
        }
        p514[vF2("0x1f6")].kills++;
      }
      p513[vF2("0x160")]();
      if (p514) {
        p514[vF2("0x160")]();
      }
      if (p515 !== vLN010 && p513 === this[vF2("0x10e")]) {
        this[vF2("0x2f8")](p515);
      }
    }
    getMovement(p518, p519) {
      const {
        unitSpeed
      } = this.config;
      const vA13 = [];
      const v358 = p519[vF2("0x31")]();
      if (!v358) {
        return vA13;
      }
      v358[vF2("0x16c")](unitSpeed * p518 / 1000);
      const vVF33 = vF33(p519[vF2("0x1f5")]);
      let v359 = Math[vF2("0x117")](vVF33.x * v358.y - v358.x * vVF33.y, vVF33[vF2("0x30a")](v358));
      vVF33[vF2("0x19a")]();
      const v360 = v316 * p518 / 1000 / (p519[vF2("0x1dc")] || 1);
      if (Math[vF2("0x264")](v359) > v360) {
        v359 = v360 * Math.sign(v359);
      }
      p519[vF2("0x1f5")] += v359;
      const v361 = vF33(p519[vF2("0x1f5")])[vF2("0x16c")](unitSpeed * p518 / 1000);
      let v362 = new C(p519[vF2("0xdb")], p519.position[vF2("0x4a")]().add(v361));
      v361[vF2("0x19a")]();
      let v363 = this[vF2("0x1a8")][vF2("0x18a")](v362);
      while (v363[vF2("0x1cc")]) {
        let v364;
        const v365 = v362[vF2("0x47")];
        if (v363.length === 2) {
          const v366 = v363[0][vF2("0x2f")].vector;
          let v367 = Math[vF2("0x117")](v365.x * v366.y - v366.x * v365.y, v365[vF2("0x30a")](v366));
          v364 = v367 > 0 ? v363[0] : v363[1];
        } else {
          v364 = v363[0];
        }
        const {
          segment: _0x1ae2b0,
          point: _0x4c719e
        } = v364;
        const v368 = _0x1ae2b0[vF2("0x47")];
        let v369 = Math.atan2(v365.x * v368.y - v368.x * v365.y, v365[vF2("0x30a")](v368));
        if (v369 < 0) {
          break;
        }
        if (!vF4(v364[vF2("0x208")])) {
          const v370 = new C(v362[vF2("0x1d4")], _0x4c719e);
          vA13[vF2("0x254")](v370);
        }
        v362 = new C(_0x4c719e, v362.end);
        const v371 = v362[vF2("0x47")];
        const v372 = C4[vF2("0x4a")](v368)[vF2("0x1fc")]()[vF2("0x16c")](v371[vF2("0x30a")](v368) / v368[vF2("0x19f")]());
        v362 = new C(_0x4c719e, _0x4c719e[vF2("0x4a")]()[vF2("0x12c")](v372));
        v372.release();
        v363 = this[vF2("0x1a8")][vF2("0x18a")](v362);
      }
      vA13[vF2("0x254")](v362);
      return vA13;
    }
    readInput(p520) {
      if (!this[vF2("0x187")]) {
        return;
      }
      if (this[vF2("0x187")][vF2("0x273")]()) {
        this[vF2("0x2f6")] = Object[vF2("0x1b3")]({}, this[vF2("0x187")].mouse);
        const v373 = v316 * p520 / 1000;
        if (this[vF2("0x187")][vF2("0x1d")][vF2("0x60")]) {
          let vLN034 = 0;
          if (this[vF2("0x187")][vF2("0x13c")]) {
            vLN034 = -1;
          }
          if (this.controller.right) {
            vLN034 = 1;
          }
          if (vLN034) {
            this[vF2("0x1f5")][vF2("0x1cf")](vLN034 * v373);
          }
        } else {
          const v374 = new C4();
          if (this[vF2("0x187")].up) {
            v374[vF2("0x12c")](new C4(0, -1));
          }
          if (this.controller[vF2("0x2d8")]) {
            v374[vF2("0x12c")](new C4(0, 1));
          }
          if (this[vF2("0x187")][vF2("0x13c")]) {
            v374[vF2("0x12c")](new C4(-1, 0));
          }
          if (this[vF2("0x187")][vF2("0x2bb")]) {
            v374.add(new C4(1, 0));
          }
          if (v374[vF2("0x19f")]()) {
            let v375 = Math.atan2(this.direction.x * v374.y - v374.x * this[vF2("0x1f5")].y, this[vF2("0x1f5")].x * v374.x + this[vF2("0x1f5")].y * v374.y);
            if (Math[vF2("0x264")](v375) > v373) {
              v375 = Math[vF2("0x4b")](v375) * v373;
            }
            this[vF2("0x1f5")][vF2("0x1cf")](v375);
          }
        }
      } else if (this[vF2("0x187")].mouse) {
        if (!this[vF2("0x2f6")] || this[vF2("0x2f6")].x !== this[vF2("0x187")][vF2("0x5c")].x && this.keyboard.y !== this[vF2("0x187")].mouse.y) {
          this[vF2("0x2f6")] = null;
          this[vF2("0x1f5")] = new C4(this.controller[vF2("0x5c")].x, this.controller[vF2("0x5c")].y).sub(new C4(this[vF2("0x1c4")][vF2("0xb")] / 2, this[vF2("0x1c4")].clientHeight / 2))[vF2("0x1fc")]();
        }
      } else if (!this[vF2("0x2f6")] && this[vF2("0x187")].lastMouse) {
        this.direction = new C4(this[vF2("0x187")][vF2("0x311")].x, this[vF2("0x187")][vF2("0x311")].y)[vF2("0x43")](new C4(this[vF2("0x1c4")][vF2("0xb")] / 2, this[vF2("0x1c4")][vF2("0x1f3")] / 2)).normalize();
      }
    }
    [vF2("0x192")](p521) {
      if (this[vF2("0x20f")]()) {
        let v376 = this.config[vF2("0x110")];
        while (this[vF2("0x20f")]() && v376 > 0) {
          this.update(v146);
          v376--;
        }
      } else {
        console[vF2("0x206")](p521);
        this[vF2("0x248")](p521);
      }
    }
    preparing() {
      return this[vF2("0x2bd")] < this.config[vF2("0x9f")];
    }
    [vF2("0xa6")]() {
      let v377 = this.replaying ? this[vF2("0xb1")][vF2("0x1d4")] : this[vF2("0xb0")][vF2("0x9f")];
      if (this.cycle < v377) {
        console[vF2("0x206")](vF2("0x266") + v377);
      }
      while (this[vF2("0x2bd")] < v377) {
        this[vF2("0x248")]();
      }
    }
    recoverTail() {
      let v378 = this[vF2("0x10e")];
      if (v378 && v378.in == v378[vF2("0xc9")] && !v378.base.polygon[vF2("0x196")](v378.position)) {
        {
          if (!v378[vF2("0x1bc")]) {
            return;
          }
        }
        let v379 = v378[vF2("0xc9")][vF2("0x1f")][vF2("0x2ee")][vF2("0x21e")]((p522, p523) => p522[vF2("0x1d4")].distance2(v378.position) < p523[vF2("0x1d4")][vF2("0x18d")](v378[vF2("0xdb")]) ? p522 : p523);
        let v380 = v379[vF2("0x1d4")][vF2("0x4a")]()[vF2("0x43")](v378.position);
        let v381 = v380.magnitude();
        v378[vF2("0xdb")] = v380[vF2("0x16c")](1 + 1 / v381).add(v378[vF2("0xdb")]);
        v378[vF2("0x83")].remove();
        if (this.debug) {
          v378[vF2("0x305")].alert("Tail is recovered");
          console[vF2("0x206")](vF2("0x1de") + this[vF2("0x2bd")]);
          this[vF2("0x1aa")] = true;
        } else if (window.ga) {
          window.ga(vF2("0x288"), vF2("0x172"), vF2("0x3d"), vF2("0x1aa"));
        }
      }
    }
    [vF2("0x248")](p524) {
      const {
        trackWidth,
        unitSpeed,
        baseHeight,
        maxScale,
        minScale,
        observerScale
      } = this[vF2("0xb0")];
      if (this[vF2("0x71")]) {
        return false;
      }
      C4[vF2("0x130")] = this[vF2("0x130")];
      if (p524 == null) {
        p524 = 1000 / 60;
      }
      p524 += this[vF2("0x25f")]() * 0.01;
      this.spawnSuspend -= p524;
      if (!this.isTest) {
        this[vF2("0x186")](p524);
      }
      this[vF2("0x149")] = Math[vF2("0x1ce")](Math[vF2("0x117")](this[vF2("0x1f5")].y, this.direction.x) / Math.PI * 127 + 254) % 254;
      console[vF2("0x30d")](this[vF2("0x149")] >= 0 && this[vF2("0x149")] < 256);
      if (this[vF2("0xb1")]) {
        if (!this.replaying[vF2("0x10")]()) {
          delete this[vF2("0xb1")];
          this[vF2("0x1e5")]("End of replay", vF2("0x221"));
          return false;
        }
      }
      if (this[vF2("0x15f")]) {
        this[vF2("0x15f")][vF2("0x67")]();
      }
      this.recoverTail();
      const {
        player
      } = this;
      this[vF2("0xa")][vF2("0x232")] = v171();
      this[vF2("0x136")][vF2("0x1a6")](p525 => p525[vF2("0x248")](p524));
      this[vF2("0xa")][vF2("0x297")] = v171();
      this[vF2("0x156")](p524);
      this[vF2("0x136")][vF2("0x1a6")](p526 => {
        p526.lastSquare = p526[vF2("0xc9")][vF2("0x290")];
      });
      this[vF2("0x136")][vF2("0x1a6")](p527 => {
        const v382 = p527[vF2("0xc9")].square / this[vF2("0x290")];
        p527[vF2("0x58")] = v382;
        p527[vF2("0x2d")] = Math[vF2("0x86")](p527[vF2("0x2d")], v382);
        p527.scale = vF6(maxScale, minScale, vF7(~~(v382 * 20) / 20));
        p527[vF2("0x125")] = Math.sqrt(2455780) / 2 / p527[vF2("0x115")] * 0.8;
        if (p527[vF2("0x144")]) {
          p527[vF2("0x144")][vF2("0x248")](p524);
        }
        if (p527[vF2("0x298")][vF2("0x1cc")]) {
          let v383 = new C4(0, -35);
          const v384 = new C4(0, -10);
          const v385 = new C4(0, -10);
          p527[vF2("0x298")][vF2("0x1a6")](p528 => {
            this[vF2("0x298")][vF2("0x254")](new C24(p528[vF2("0x1b9")], p528[vF2("0x29c")], p528[vF2("0x21")], v383, v384, p528[vF2("0x1b1")], p528.fading));
            v383 = v383[vF2("0x4a")]().add(v385);
          });
          p527.labels = [];
        }
      });
      this.units[vF2("0x44")]((p529, p530) => p530.schemes && p529[vF2("0x144")] ? p530.schemes[vF2("0x319")]() - p529.schemes[vF2("0x319")]() : 0);
      this[vF2("0x136")].forEach((p531, p532) => {
        p531[vF2("0x1f2")] = p532 + 1;
      });
      this[vF2("0x298")] = this[vF2("0x298")][vF2("0x199")](p533 => {
        p533.update(p524);
        return p533[vF2("0x1b1")] > 0;
      });
      if (this[vF2("0x1fa")].length) {
        const v386 = this[vF2("0x1fa")][0];
        if (v386.ready) {
          v386[vF2("0x248")](p524);
          if (v386[vF2("0x154")] > 3) {
            this[vF2("0x1fa")][vF2("0x261")]();
          }
        }
      }
      this[vF2("0x1af")][vF2("0x1a6")](p534 => p534.update(p524));
      if (player) {
        this[vF2("0x4f")] = vF6(this[vF2("0xb0")][vF2("0xfb")], 1, player[vF2("0x58")]);
      } else {
        this[vF2("0x4f")] = this[vF2("0xb0")][vF2("0x1df")];
      }
      if (this[vF2("0xb0")][vF2("0x10d")] !== -1) {
        this[vF2("0x4f")] = this[vF2("0xb0")].botLevel;
      }
      this[vF2("0x136")][vF2("0x1a6")](p535 => {
        if (p535 instanceof C23) {
          const v387 = Math[vF2("0x271")](1, Math[vF2("0x86")](0, this[vF2("0x4f")] + p535[vF2("0x38")]));
          let {
            botAggroMin: botAggroMin,
            botAggroMax: botAggroMax,
            botDefMin: botDefMin,
            botDefMax: botDefMax,
            botGreedMin: botGreedMin,
            botGreedMax: botGreedMax,
            botSafetyMin: botSafetyMin,
            botSafetyMax: botSafetyMax
          } = this.config;
          switch (p535[vF2("0x30")]) {
            case 1:
              botAggroMin *= 1.25;
              botAggroMax *= 1.25;
              break;
            case 2:
              botGreedMin *= 2;
              botGreedMax *= 1.1;
              botSafetyMin *= 0.75;
              botSafetyMax *= 0.75;
              break;
            case 3:
              botAggroMin *= 0.75;
              botAggroMax *= 0.75;
              botGreedMin *= 4;
              botGreedMax *= 1.1;
              botSafetyMin *= 0.5;
              botSafetyMax *= 0.5;
              botDefMin *= 2;
              botDefMax *= 2;
              break;
          }
          p535[vF2("0x2ba")] = vF6(botAggroMin, botAggroMax, v387);
          p535[vF2("0x258")] = vF6(botGreedMin, botGreedMax, v387);
          p535[vF2("0x2d9")] = vF6(botSafetyMin, botSafetyMax, v387);
          p535[vF2("0x26")] = vF6(botDefMin, botDefMax, v387);
        }
      });
      if (this[vF2("0x10e")] && this[vF2("0x10e")][vF2("0xde")]) {
        this[vF2("0x10e")][vF2("0xde")].update(this[vF2("0x10e")], p524, this);
      }
      if (player && player[vF2("0x83")][vF2("0x1cc")] > this[vF2("0xb0")].botAttackTrackLength) {
        let v388 = null;
        let vInfinity8 = Infinity;
        this[vF2("0x136")][vF2("0x1a6")](p536 => {
          if (p536 instanceof C23) {
            let vInfinity9 = Infinity;
            player.track[vF2("0xee")][vF2("0x1a6")](p537 => {
              const v389 = p537.distance2(p536[vF2("0xdb")]);
              if (v389 < vInfinity9) {
                vInfinity9 = v389;
              }
            });
            vInfinity9 = Math[vF2("0x315")](vInfinity9);
            if (vInfinity9 < vInfinity8) {
              v388 = p536;
              vInfinity8 = vInfinity9;
            }
          }
        });
        if (v388) {
          v388[vF2("0x214")][vF2("0x26c")](vF2("0x26e"));
        }
      }
      const v390 = player ? player.scale : observerScale;
      const v391 = v390 - this.scale;
      this.scale += v391 * p524 / 400;
      if (player && player.percent > 0.9999) {
        player.percent = 1;
        this.gameOver(vLN010);
      }
      this[vF2("0xa")][vF2("0x45")] = v171();
      for (let vLN035 = 0; vLN035 < this[vF2("0xb0")][vF2("0x2d6")]; vLN035++) {
        this.spawnBot(vF2("0x10e"));
      }
      this[vF2("0xb3")](vF2("0x1a3"));
      this[vF2("0xb3")](this.rng() > 0.3 ? "bounds" : vF2("0x249"));
      this[vF2("0xa")].spawnEndTime = v171();
      this[vF2("0x2bd")]++;
      return true;
    }
    get [vF2("0x10f")]() {
      return this[vF2("0x23b")]();
    }
    [vF2("0x23b")]() {
      const {
        view: view
      } = this;
      if (!view) {
        return;
      }
      const {
        font
      } = this[vF2("0xb0")];
      const v392 = view[vF2("0x152")]("2d");
      const v393 = view.clientWidth;
      const v394 = view[vF2("0x1f3")];
      const v395 = ~~(v393 * this.quality);
      const v396 = ~~(v394 * this.quality);
      if (view[vF2("0xb4")] !== v395 || view[vF2("0x24c")] !== v396) {
        view[vF2("0xb4")] = v395;
        view[vF2("0x24c")] = v396;
      }
      const {
        devicePixelRatio
      } = window;
      const v397 = v395 * devicePixelRatio;
      const v398 = v396 * devicePixelRatio;
      const v399 = Math.sqrt(v397 * v397 + v398 * v398) / Math[vF2("0x315")](2455780);
      const v400 = this.scale * v399 / devicePixelRatio;
      let v401;
      if (this.player) {
        v401 = this[vF2("0x10e")].position;
        if (this[vF2("0x10e")][vF2("0x12e")] && this[vF2("0xb0")].followKiller) {
          v401 = this.player[vF2("0x12e")][vF2("0xdb")];
        }
      } else {
        v401 = this.space.center;
      }
      if (this[vF2("0x1c2")] && (!this[vF2("0x10e")] || this[vF2("0x10e")].killer)) {
        const v402 = this[vF2("0x1c2")][vF2("0x208")](v401);
        let v403 = v402 / 30;
        const v404 = v401[vF2("0x4a")]()[vF2("0x43")](this.origin)[vF2("0x1fc")]()[vF2("0x16c")](v403);
        v401 = this[vF2("0x1c2")][vF2("0x12c")](v404);
      }
      this.origin = v401[vF2("0x4a")]();
      const v405 = v401.x - v395 / 2 / v400;
      const v406 = v401.x + v395 / 2 / v400;
      const v407 = v401.y - v396 / 2 / v400;
      const v408 = v401.y + v396 / 2 / v400;
      const vF36 = (p538, p539 = 0) => vF10(v405 - p539, v406 + p539, p538.x) && vF10(v407 - p539, v408 + p539, p538.y);
      const vF37 = (p540, p541 = 0) => vF11(p540.bounds[vF2("0x13c")] - p541, p540.bounds[vF2("0x2bb")] + p541, v405, v406) > 0 && vF11(p540[vF2("0x162")].top - p541, p540.bounds[vF2("0x2ef")] + p541, v407, v408) > 0;
      const vF38 = (p542, p543) => {
        const v409 = 16 / 9;
        const v410 = 9 / 16;
        const vVF8 = vF8(v410, v409, v397 / v398);
        const v411 = p542 - p543;
        const v412 = v410 - v409;
        const v413 = -(v411 * v409 + v412 * p542);
        return -(v413 + v411 * vVF8) / v412;
      };
      const v414 = ~~(vF38(20, 30) * v399);
      const v415 = this[vF2("0xb0")][vF2("0x13a")] * v399;
      const v416 = ~~(v399 * 4);
      const v417 = v414 + "px " + font;
      const v418 = ~~(v399 * 16);
      const v419 = ~~(v414 * 0.75);
      const v420 = v419 * 2;
      const v421 = ~~(v397 / vF38(4, 2.25));
      const v422 = ~~(v421 / 2);
      return {
        game: this,
        view: view,
        ctx: v392,
        viewWidth: v395,
        viewHeight: v396,
        devicePixelRatio: devicePixelRatio,
        scaler: v399,
        scale: v400,
        origin: v401,
        pointInView: vF36,
        boundsInView: vF37,
        calcMult: vF38,
        viewScreenWidth: v397,
        viewScreenHeight: v398,
        fontSize: v414,
        strokeWidth: v415,
        backHeight: v416,
        uiFont: v417,
        padding: v418,
        barHeight: v420,
        halfBarHeight: v419,
        barWidth: v421,
        halfBarWidth: v422
      };
    }
    [vF2("0xef")](p544) {
      const {
        stats,
        timings
      } = this;
      const vO13 = {
        updateTime: timings[vF2("0x184")] - timings[vF2("0x53")],
        renderTime: timings.renderEndTime - timings[vF2("0x76")],
        frameTime: p544,
        events: this[vF2("0x2c9")]
      };
      this.metrics[vF2("0x254")](vO13);
      if (this[vF2("0x218")][vF2("0x1cc")] > vLN240) {
        this[vF2("0x218")][vF2("0x261")]();
      }
      const vLN005 = 0.05;
      stats.fps = vF6(stats[vF2("0x23")], 1000 / p544, vLN005);
      stats.ut = vF6(stats.ut, timings[vF2("0x184")] - timings.updateStartTime, vLN005);
      stats[vF2("0x1a")] = vF6(stats.ait, timings[vF2("0x297")] - timings[vF2("0x232")], vLN005);
      stats.st = vF6(stats.st, timings[vF2("0x28b")] - timings[vF2("0x45")], vLN005);
      stats.rt = vF6(stats.rt, timings[vF2("0x2e0")] - timings[vF2("0x76")], vLN005);
      this[vF2("0x2b1")][vF2("0x254")](stats[vF2("0x23")]);
      const vLN253 = 25;
      const vLN35 = 35;
      const vLN10 = 10;
      const vLN120 = 120;
      const vLN052 = 0.5;
      if (this[vF2("0x2b1")][vF2("0x1cc")] > vLN120) {
        this[vF2("0x2b1")][vF2("0x44")]();
        const v423 = this[vF2("0x2b1")][~~(vLN120 / 2)];
        if (v423 < vLN253) {
          this[vF2("0x303")] -= 0.1;
        }
        if (v423 < vLN10) {
          this[vF2("0x303")] -= 0.1;
        }
        if (this[vF2("0x303")] < vLN052) {
          this[vF2("0x303")] = vLN052;
        }
        if (v423 > vLN35) {
          this.quality += 0.1;
        }
        if (this[vF2("0x303")] > 1) {
          this[vF2("0x303")] = 1;
        }
        const v424 = Math[vF2("0x1ce")](this[vF2("0x303")] * 10);
        this[vF2("0x303")] = v424 / 10;
        if (v424 < 10) {
          const v425 = "q" + v424;
          if (this.qas[v425]) {
            this[vF2("0x255")][v425] = false;
            if (window.ga) {
              window.ga(vF2("0x288"), vF2("0x172"), vF2("0x23"), v425);
            }
          }
        }
        this[vF2("0x2b1")] = [];
      }
      this.events = {
        returns: 0,
        kills: 0
      };
    }
    [vF2("0x169")](p545) {
      if (p545) {
        this.leaderboard = p545;
        this[vF2("0x5b")]();
      }
    }
    [vF2("0x5b")]() {
      const {
        countries: _0x3e4904
      } = this[vF2("0x2f3")];
      if (_0x3e4904) {
        const v426 = _0x3e4904[0] && _0x3e4904[0][vF2("0x253")];
        const v427 = _0x3e4904[1] && _0x3e4904[1][vF2("0x253")];
        const v428 = _0x3e4904[2] && _0x3e4904[2].country;
        this[vF2("0x136")].forEach(p546 => {
          const v429 = p546.skin[vF2("0x31d")][vF2("0x2dc")](p547 => p547[vF2("0x279")].name === vF2("0x1a4"));
          const v430 = p546[vF2("0x7d")][vF2("0x31d")][vF2("0x2dc")](p548 => p548[vF2("0x279")].name === "flags");
          if (v429 && v430) {
            let vVF2 = vF2("0x29f");
            switch (v430[vF2("0x1d0")]) {
              case v426:
                vVF2 = vF2("0x10a");
                break;
              case v427:
                vVF2 = vF2("0x6c");
                break;
              case v428:
                vVF2 = vF2("0x224");
                break;
            }
            if (v429[vF2("0x1d0")] !== vVF2) {
              p546[vF2("0x7d")][vF2("0x94")](v429);
              if (vF2("0x139") in this.skinManager) {
                p546[vF2("0x7d")][vF2("0xa3")](this[vF2("0xda")][vF2("0x139")][vF2("0x13d")](vVF2));
              }
            }
          }
        });
      }
    }
    post() {
      var v431 = window[vF2("0xb8")];
      var v432 = v431[vF2("0x319")];
      function f43() {
        return (navigator[vF2("0x2f0")] && navigator[vF2("0x2f0")][0] || navigator.userLanguage || navigator[vF2("0x9")] || navigator[vF2("0x2da")] || "en")[vF2("0x2c8")](0, 2)[vF2("0xd2")]();
      }
      var vO14 = {
        build: v431[vF2("0x1f4")] || 0,
        player: window[vF2("0x1c0")] || 0,
        lng: f43(),
        name: this[vF2("0x10e")][vF2("0x1d0")],
        top: v431[vF2("0x1f2")] || 0,
        persent: Math[vF2("0x1ce")](v431[vF2("0x195")] * 100),
        best: v431[vF2("0x2d")] && Math[vF2("0x1ce")](v431.bestPercent * 10000) || 0,
        time: Math[vF2("0x1ce")](v431[vF2("0x1b1")] / 1000),
        kills: v431[vF2("0x107")],
        scores: {
          accumulator: v432 && v432[vF2("0xa4")] || 0,
          kills: v432 && v432.kills || 0
        },
        reason: v431[vF2("0x1db")] || 0
      };
      function f44(p549) {
        var vLS2 = "";
        for (var vLN036 = 0; vLN036 < p549[vF2("0x1cc")]; vLN036++) {
          var v433 = p549[vF2("0x6a")](vLN036);
          var v434 = v433 ^ 42;
          vLS2 = vLS2 + String[vF2("0x78")](v434);
        }
        return vLS2;
      }
      fetch(vF2("0x11d"), {
        method: vF2("0x11c"),
        headers: {
          "Content-Type": vF2("0x5d")
        },
        body: f44(escape(JSON[vF2("0x1bf")](vO14)))
      });
    }
    [vF2("0x19c")](p550) {
      const v435 = p550[vF2("0x7d")][vF2("0x31d")][vF2("0x2dc")](p551 => p551[vF2("0x279")][vF2("0x1d0")] === vF2("0x301")).name;
      const v436 = new C20(this.citiesManager[vF2("0x13d")](v435), false, p550[vF2("0xdb")][vF2("0x4a")](), p550);
      if (this[vF2("0xda")][vF2("0xbc")]) {
        const v437 = this.skinManager[vF2("0x30c")](v435);
        v436.skin = v437;
      }
      p550.cities[vF2("0x254")](v436);
    }
    checkSegments(p552) {
      let vLN037 = 0;
      this[vF2("0x136")][vF2("0x1a6")](p553 => {
        vLN037 += p553[vF2("0xc9")][vF2("0x1f")][vF2("0x2ee")][vF2("0x1cc")];
        vLN037 += p553[vF2("0x83")][vF2("0x25d")][vF2("0x2ee")].length;
      });
      const v438 = this.space.segmentsCount();
      const v439 = Object[vF2("0xe6")](v438)[vF2("0x1cc")];
    }
    [vF2("0x5e")](p554) {
      if (p554.death) {
        return;
      }
      this[vF2("0x2c9")][vF2("0x19")]++;
      const v440 = p554[vF2("0x83")].polyline[vF2("0x4a")]();
      const {
        base: _0x59fced
      } = p554;
      const v441 = _0x59fced[vF2("0x1f")][vF2("0x2ee")][vF2("0x1ba")](p555 => p555[vF2("0x1d4")] === v440[vF2("0x1d4")]);
      const v442 = _0x59fced[vF2("0x1f")][vF2("0x2ee")].findIndex(p556 => p556[vF2("0x1d4")] === v440[vF2("0x1a7")]);
      const v443 = Math[vF2("0x271")](v442, v441);
      const v444 = Math[vF2("0x86")](v442, v441);
      if (v443 !== v441) {
        v440[vF2("0x246")]();
      }
      const v445 = v440[vF2("0x310")]();
      const v446 = _0x59fced[vF2("0x1f")].points();
      const v447 = v446.splice(v443, v444 - v443 + 1, ...v445);
      v447[vF2("0x261")]();
      v447.pop();
      v447[vF2("0x246")]();
      v447[vF2("0x254")](...v445);
      const v448 = new C6(v447);
      let v449;
      if (v448[vF2("0x29")]() < 0) {
        v449 = new C6(v446[vF2("0x246")]());
        _0x59fced[vF2("0x1f")].unsplice(v440, v443, v444);
      } else {
        v449 = v448;
        _0x59fced[vF2("0x1f")][vF2("0x59")](v440, v443, v444);
      }
      _0x59fced[vF2("0x290")] += v449.square();
      _0x59fced.polygon[vF2("0x5f")]();
      this.units.filter(p557 => p557 !== p554)[vF2("0x1a6")](p558 => {
        if (!p558.death) {
          if (p558.in === p558.base && v449[vF2("0x196")](p558[vF2("0xdb")])) {
            this[vF2("0x5a")](p558, p554, vLN5);
          }
          if (p558[vF2("0x83")][vF2("0x25d")][vF2("0x1d4")] && v449[vF2("0x196")](p558[vF2("0x83")].polyline[vF2("0x1d4")])) {
            this[vF2("0x5a")](p558, p554, vLN4);
          }
          if (p558[vF2("0x2f7")] && p558[vF2("0x2f7")][0] && v449[vF2("0x196")](p558.cities[0][vF2("0xdb")])) {
            this[vF2("0x5a")](p558, p554, vLN7);
          }
        }
      });
      let vA14 = [];
      const v450 = p554[vF2("0x83")][vF2("0x25d")][vF2("0x2ee")];
      const v451 = v450[vF2("0x1cc")];
      const vA15 = [];
      for (let vLN038 = 0; vLN038 <= v451; vLN038++) {
        const v452 = vLN038 === v451 ? v450[vLN038 - 1].end : v450[vLN038].start;
        const v453 = v452[vF2("0x2ee")][vF2("0x199")](p559 => p559.shape[vF2("0x32")] !== p554.track && p559[vF2("0x2d4")].owner !== p554[vF2("0xc9")] && p559.start === v452);
        if (v453[vF2("0x1cc")]) {
          let v454 = v453[vF2("0x30b")](p560 => ({
            owner: p560[vF2("0x2d4")][vF2("0x32")],
            point: v452,
            segment: p560,
            index: vLN038
          }));
          if (!vA14[vF2("0x1cc")]) {
            const v455 = p554[vF2("0x83")].intersections[vF2("0x2dc")](p561 => p561[vF2("0x102")][vF2("0x6d")](v452));
            if (!v455) {
              return false;
            }
            vA14 = v454.filter(p562 => {
              const v456 = v455[vF2("0x18a")][vF2("0x199")](p563 => p563[vF2("0xc9")] === p562[vF2("0x32")]);
              if (!v456[vF2("0x1cc")]) {
                return false;
              }
              return v456[v456[vF2("0x1cc")] - 1][vF2("0x103")];
            });
          } else {
            let v457 = vA14[vF2("0x199")](p564 => v454[vF2("0x104")](p565 => {
              return p565.owner === p564[vF2("0x32")];
            }));
            if (v457.length) {
              const v458 = v457[0];
              const v459 = v454[vF2("0x2dc")](p566 => p566.owner === v458[vF2("0x32")]);
              const vF39 = p567 => {
                const {
                  owner,
                  startT,
                  endT,
                  startPoint,
                  endPoint
                } = p567;
                let {
                  enter: enter,
                  leave: leave
                } = p567;
                if (enter[vF2("0x2d4")] !== owner[vF2("0x1f")]) {
                  enter = owner[vF2("0x1f")].segments[vF2("0x2dc")](p568 => p568.start === startPoint);
                }
                if (leave[vF2("0x2d4")] !== owner[vF2("0x1f")]) {
                  leave = owner.polygon[vF2("0x2ee")][vF2("0x2dc")](p569 => p569[vF2("0x1d4")] === endPoint);
                }
                if (enter === leave) {
                  return;
                }
                const v460 = p554[vF2("0x83")].polyline[vF2("0x310")]()[vF2("0x59")](startT, endT - startT + 1);
                const v461 = owner.polygon[vF2("0x2ee")][vF2("0x1ba")](p570 => p570 === enter);
                const v462 = owner[vF2("0x1f")][vF2("0x2ee")][vF2("0x1ba")](p571 => p571 === leave);
                const v463 = Math[vF2("0x271")](v462, v461);
                const v464 = Math.max(v462, v461);
                if (v463 !== v461) {
                  v460[vF2("0x246")]();
                }
                const v465 = owner[vF2("0x1f")][vF2("0x310")]();
                const v466 = v465[vF2("0x59")](v463, v464 - v463 + 1, ...v460);
                v466.shift();
                v466[vF2("0x29d")]();
                v466[vF2("0x254")](...v460.slice()[vF2("0x246")]());
                const v467 = new C6(v466);
                const v468 = new C6(v465);
                let v469;
                if (owner[vF2("0x21")].in === owner[vF2("0x21")].base && v467[vF2("0x196")](owner[vF2("0x21")].position) || owner[vF2("0x21")].in !== owner[vF2("0x21")].base && v467[vF2("0x196")](owner.unit.track[vF2("0x25d")][vF2("0x1d4")])) {
                  owner[vF2("0x1f")][vF2("0x2bb")](v460, v463, v464);
                  v469 = v468;
                } else {
                  owner[vF2("0x1f")][vF2("0x13c")](v460, v463, v464);
                  v469 = v467;
                }
                owner.square -= v469[vF2("0x290")]();
                owner[vF2("0x1f")][vF2("0x5f")]();
                vA15[vF2("0x254")]({
                  base: owner,
                  poly: v469
                });
                this[vF2("0x136")].forEach(p572 => {
                  if (owner.unit !== p572 && p572.in === owner && v469[vF2("0x196")](p572[vF2("0xdb")])) {
                    p572.in = null;
                  }
                });
              };
              if (!(v458[vF2("0x32")] instanceof C8)) {
                throw new Error(vF2("0x203"));
              }
              vF39({
                owner: v458[vF2("0x32")],
                enter: v458[vF2("0x2f")],
                startPoint: v458[vF2("0x102")],
                startT: v458[vF2("0x1c3")],
                leave: v459[vF2("0x2f")],
                endPoint: v459.point,
                endT: v459[vF2("0x1c3")]
              });
              const v470 = p554[vF2("0x83")][vF2("0x18a")][vF2("0x2dc")](p573 => p573[vF2("0x102")][vF2("0x6d")](v452));
              const v471 = v470.intersections[vF2("0x199")](p574 => p574[vF2("0xc9")] === v458[vF2("0x32")]);
              if (v471[vF2("0x1cc")] === 1 || v471[v471[vF2("0x1cc")] - 1][vF2("0x103")] === false) {
                v454 = v454[vF2("0x199")](p575 => p575.owner !== v458[vF2("0x32")]);
              }
            }
            vA14 = v454;
          }
        }
      }
      this[vF2("0x136")].forEach(p576 => {
        if (p554 !== p576 && v449[vF2("0x196")](p576[vF2("0xdb")])) {
          p576.in = p554[vF2("0xc9")];
        }
      });
      const v472 = (p554[vF2("0xc9")][vF2("0x290")] - p554.lastSquare) / this[vF2("0x290")];
      if (p554.schemes) {
        p554[vF2("0x144")][vF2("0x17b")]({
          increment: v472,
          rise: v449,
          victims: vA15,
          game: this
        });
      }
    }
    [vF2("0x259")]() {
      if (this.renderer) {
        this[vF2("0x30e")](this);
      }
    }
    [vF2("0x156")](p577) {
      this[vF2("0x136")][vF2("0x27c")]()[vF2("0x1a6")](p578 => {
        if (p578[vF2("0x150")]) {
          return;
        }
        let v473 = this[vF2("0x13b")](p577, p578);
        {
          if (p578 === this[vF2("0x10e")] && !this[vF2("0x10e")].moveTo && p578.in === null && Math[vF2("0x249")]() < 0.0005) {
            p578.in = p578[vF2("0xc9")];
          }
        }
        while (v473[vF2("0x1cc")]) {
          if (p578[vF2("0x150")]) {
            return;
          }
          const v474 = v473[vF2("0x261")]();
          const v475 = this[vF2("0x130")].intersections(v474);
          const vA16 = [];
          v475[vF2("0x1a6")](p579 => {
            const v476 = vA16[vF2("0x1ba")](p580 => p580[vF2("0x102")][vF2("0x6d")](p579[vF2("0x102")]));
            if (v476 === -1) {
              vA16[vF2("0x254")]({
                point: p579[vF2("0x102")],
                intersections: [p579]
              });
            } else {
              if (p579[vF2("0x102")] !== vA16[v476][vF2("0x102")]) {
                if (p579[vF2("0x102")][vF2("0x113")]) {
                  if (vA16[v476][vF2("0x102")].cell) {
                    throw new Error(vF2("0x1bd"));
                  } else {
                    vA16[v476].point = p579.point;
                    vA16[v476][vF2("0x18a")][vF2("0x1a6")](p581 => {
                      p581[vF2("0x102")] = p579[vF2("0x102")];
                    });
                  }
                } else {
                  p579[vF2("0x102")] = vA16[v476].point;
                }
              }
              vA16[v476][vF2("0x18a")][vF2("0x254")](p579);
            }
          });
          v475[vF2("0x1a6")](p582 => {
            p582[vF2("0x208")] = v474[vF2("0x1d4")][vF2("0x18d")](p582[vF2("0x102")]);
          });
          v475[vF2("0x44")]((p583, p584) => p583.distance - p584.distance);
          const vA17 = [];
          let v477 = null;
          let v478 = -1;
          v475[vF2("0x1a6")](p585 => {
            if (!vF5(p585[vF2("0x208")], v478)) {
              v477 = [];
              v478 = p585[vF2("0x208")];
              vA17[vF2("0x254")](v477);
            }
            v477[vF2("0x254")](p585);
          });
          vA17[vF2("0x1a6")](p586 => {
            const vA18 = [];
            p586[vF2("0x1a6")](p587 => {
              const {
                shape
              } = p587.segment;
              if (shape && vA18[vF2("0x1c")](shape) === -1) {
                vA18[vF2("0x254")](shape);
              }
            });
            while (vA18.length) {
              const v479 = vA18[vF2("0x1ba")](p588 => p588[vF2("0x32")] === p578.in);
              if (v479 > 0) {
                const v480 = vA18[0];
                vA18[0] = vA18[v479];
                vA18[v479] = v480;
              }
              const v481 = vA18[vF2("0x1ba")](p589 => p589[vF2("0x32")][vF2("0x284")]);
              if (v481 > 0) {
                const v482 = vA18[0];
                vA18[0] = vA18[v481];
                vA18[v481] = v482;
              }
              const v483 = vA18[vF2("0x261")]();
              const vA19 = [];
              p586[vF2("0x1a6")](p590 => {
                if (p590[vF2("0x2f")][vF2("0x2d4")] === v483) {
                  vA19[vF2("0x254")](p590);
                }
              });
              while (!p578[vF2("0x150")] && vA19[vF2("0x1cc")]) {
                vA19[vF2("0x44")]((p591, p592) => {
                  if (p578.in) {
                    return p592.zn - p591.zn;
                  } else {
                    return p591.zn - p592.zn;
                  }
                });
                const v484 = vA19.shift();
                if (v484.segment.shape && !v483[vF2("0x32")][vF2("0x21")].death) {
                  v483[vF2("0x32")].handleIntersect(v484, p578, v474);
                }
              }
            }
          });
          if (p578[vF2("0x150")]) {
            return;
          }
          const {
            end
          } = v474;
          if (p578.in !== p578.base) {
            p578[vF2("0x83")][vF2("0x12c")](end);
          }
          p578[vF2("0xdb")] = end;
          if (this[vF2("0x28e")] && !v473[vF2("0x1cc")] && p578.in && p578.in !== p578[vF2("0xc9")]) {
            let v485 = C11[vF2("0x85")](p578, v474, this[vF2("0xb0")].trackWidth);
            this[vF2("0x1af")][vF2("0x254")](v485);
          }
        }
      });
    }
    [vF2("0x141")](p593) {
      return p593 === this[vF2("0x10e")];
    }
    alert(p594, p595) {
      this[vF2("0x298")][vF2("0x254")](new C24(p594, p595 || vF2("0x236"), this[vF2("0x10e")]));
    }
    [vF2("0x23f")]() {
      let vV171 = v171();
      if (this[vF2("0x71")]) {
        return;
      }
      if (!this[vF2("0x12")] && (this[vF2("0x28e")] || this[vF2("0x2bd")] < this.config[vF2("0x9f")])) {
        this[vF2("0x276")] = true;
        if (this[vF2("0x64")] == 0) {
          this[vF2("0x64")] = vV171;
        }
        let v486 = vV171 - this[vF2("0x64")];
        if (v486 < 1) {
          v486 = 1;
        }
        this[vF2("0xef")](v486);
        if (v486 > 10000) {
          v486 = 10000;
        }
        this[vF2("0xa")][vF2("0x53")] = v171();
        if (this.replaying || this[vF2("0x15f")]) {
          if (this[vF2("0x2bd")] < this[vF2("0xb0")][vF2("0x9f")] + 120 && v486 > 100) {
            v486 = 100;
          }
          if (v486 > v145 * 0.9 && v486 < v145 * 1.1) {
            v486 = v145;
          }
          this[vF2("0x282")] += v486;
          if (this[vF2("0x20f")]()) {
            this.prepareAndUpdate(v145);
            this[vF2("0x282")] = 0;
          } else if (this.replaying && this[vF2("0xb1")][vF2("0x289")] && this.replaying[vF2("0x2c4")]()) {
            let v487 = this[vF2("0xb0")].prepareAcceleration;
            while (this[vF2("0xb1")] && this[vF2("0xb1")][vF2("0x2c4")]() && v487-- > 0) {
              this[vF2("0x248")](v145);
            }
            this[vF2("0x282")] = 0;
          } else {
            if (this[vF2("0x282")] > v145 * 10) {
              this[vF2("0x282")] = v145 * 10;
            }
            while (this.timeAccumulated >= v145) {
              this[vF2("0x282")] -= v145;
              this[vF2("0x248")](v145);
            }
          }
        } else if (this.visible) {
          const v488 = v145 * 2;
          while (v486 > 0) {
            const v489 = v486 <= v488 ? v486 : v486 < v488 * 2 ? v486 / 2 + Math[vF2("0x249")]() : v488 + Math.random();
            this[vF2("0x248")](v489);
            v486 -= v489;
          }
        } else {
          this[vF2("0x192")](v486);
        }
        this.timings.updateEndTime = v171();
      }
      this[vF2("0xa")][vF2("0x76")] = v171();
      if (this.visible) {
        this[vF2("0x259")]();
      }
      this[vF2("0xa")][vF2("0x2e0")] = v171();
      this.last = vV171;
      requestAnimationFrame(p596 => this.loop());
    }
  }
  class C27 {
    constructor() {
      this.mode2 = false;
    }
    get() {
      return this[vF2("0x60")];
    }
    [vF2("0x25b")]() {}
  }
  class C28 {
    constructor(p597, p598) {
      this.up = false;
      this[vF2("0x2d8")] = false;
      this[vF2("0x13c")] = false;
      this.right = false;
      this[vF2("0x105")] = {
        shift: false,
        ctrl: false,
        alt: false,
        meta: false
      };
      this[vF2("0x5c")] = null;
      this[vF2("0x311")] = null;
      this[vF2("0x2a8")] = {
        left: false,
        middle: false,
        right: false
      };
      this[vF2("0x7e")] = [];
      this[vF2("0x51")] = [];
      this[vF2("0x1d")] = p598;
      this[vF2("0x8f")] = [];
      const vF40 = p599 => this.onKeyChange(p599, true);
      const vF41 = p600 => this[vF2("0x11a")](p600, false);
      if (p598) {
        p598[vF2("0x13d")]();
        window[vF2("0x111")](vF2("0x1fd"), vF40, false);
        window[vF2("0x111")](vF2("0x81"), vF41, false);
      }
      const vF42 = p601 => p601.preventDefault();
      p597[vF2("0x111")]("contextmenu", vF42, false);
      const vF43 = p602 => this[vF2("0x17e")](p602, true);
      const vF44 = p603 => this[vF2("0x17e")](p603, false);
      const vF45 = p604 => {
        this.lastMouse = this[vF2("0x5c")];
        this[vF2("0x5c")] = null;
        p604.preventDefault();
      };
      const vF46 = p605 => {
        if (this.mouse === null) {
          this[vF2("0x5c")] = {};
        }
        this[vF2("0x5c")].x = p605.pageX;
        this[vF2("0x5c")].y = p605[vF2("0xc2")];
        p605[vF2("0xf9")]();
      };
      const vF47 = p606 => {
        vF46(p606);
        const {
          buttons
        } = p606;
        this[vF2("0x2a8")] = {
          left: !!(buttons & 1),
          middle: !!(buttons & 4),
          right: !!(buttons & 2)
        };
        p606[vF2("0xf9")]();
      };
      p597.addEventListener(vF2("0x14d"), vF47, false);
      p597[vF2("0x111")](vF2("0x2"), vF46, false);
      p597[vF2("0x111")](vF2("0xcb"), vF45, false);
      p597[vF2("0x111")]("mousedown", vF43, false);
      p597.addEventListener(vF2("0x159"), vF44, false);
      const vF48 = p607 => {
        this.lastMouse = this.mouse;
        this[vF2("0x5c")] = null;
        p607[vF2("0xf9")]();
      };
      const vF49 = p608 => {
        if (this[vF2("0x5c")] === null) {
          this[vF2("0x5c")] = {};
        }
        const v490 = p608.changedTouches[0];
        this.mouse.x = v490[vF2("0x1ca")];
        this.mouse.y = v490[vF2("0x4e")];
        p608[vF2("0xf9")]();
      };
      p597.addEventListener(vF2("0xa0"), vF49, false);
      p597[vF2("0x111")](vF2("0x295"), vF49, false);
      p597.addEventListener(vF2("0xc"), vF48, false);
      p597[vF2("0x111")]("touchcancel", vF48, false);
      this.dispose = () => {
        p597.removeEventListener(vF2("0x112"), vF42, false);
        if (p598) {
          window.removeEventListener("keydown", vF40, false);
          window[vF2("0x2aa")](vF2("0x81"), vF41, false);
        }
        p597[vF2("0x2aa")](vF2("0x14d"), vF47, false);
        p597.removeEventListener(vF2("0x2"), vF46, false);
        p597[vF2("0x2aa")]("mouseleave", vF45, false);
        p597.removeEventListener(vF2("0x166"), vF43, false);
        p597[vF2("0x2aa")]("mouseup", vF44, false);
      };
    }
    [vF2("0x273")]() {
      return this.up || this[vF2("0x2d8")] || this[vF2("0x13c")] || this[vF2("0x2bb")];
    }
    onKeyChange(p609, p610) {
      if (p609.target === document[vF2("0x250")]) {
        let v491 = true;
        const {
          keyCode
        } = p609;
        const v492 = this.pressedButtons[vF2("0x1c")](keyCode);
        if (p610) {
          if (v492 < 0) {
            this[vF2("0x8f")].push(keyCode);
          }
          const v493 = this.sets[vF2("0x2dc")](p611 => p611[vF2("0x7e")][vF2("0x137")](p612 => this.pressedButtons[vF2("0x2dc")](p613 => p613 === p612)));
          if (v493) {
            v493.handler();
          }
        } else {
          if (v492 >= 0) {
            this[vF2("0x8f")][vF2("0x59")](v492, 1);
          }
          const v494 = this[vF2("0x7e")][vF2("0x2dc")](p614 => p614.code === keyCode);
          if (v494) {
            v494.handler();
          }
        }
        switch (keyCode) {
          case 38:
          case 87:
            this.up = p610;
            break;
          case 40:
          case 83:
            this[vF2("0x2d8")] = p610;
            break;
          case 37:
          case 65:
            this[vF2("0x13c")] = p610;
            break;
          case 39:
          case 68:
            this[vF2("0x2bb")] = p610;
            break;
          case 67:
            if (!p610) {
              this[vF2("0x1d")][vF2("0x25b")]();
            }
            break;
          default:
            v491 = false;
            break;
        }
        this.modifiers[vF2("0x261")] = p609[vF2("0x9b")];
        this[vF2("0x105")][vF2("0x2c1")] = p609.ctrlKey;
        this[vF2("0x105")][vF2("0x73")] = p609[vF2("0x176")];
        this[vF2("0x105")][vF2("0x29a")] = p609[vF2("0x318")];
        if (v491) {
          p609[vF2("0xf9")]();
        }
      }
    }
    [vF2("0x17e")](p615, p616) {
      switch (p615[vF2("0x1d6")]) {
        case 0:
          this.buttons[vF2("0x13c")] = p616;
          break;
        case 1:
          this[vF2("0x2a8")].middle = p616;
          break;
        case 2:
          this[vF2("0x2a8")][vF2("0x2bb")] = p616;
          break;
      }
    }
    [vF2("0x2b0")](p617, p618) {
      this[vF2("0x7e")][vF2("0x254")]({
        code: p617,
        handler: p618
      });
    }
    [vF2("0x2ff")](p619, p620) {
      this[vF2("0x51")][vF2("0x254")]({
        codes: p619.sort(),
        handler: p620
      });
    }
  }
  var v495 = Object.assign;
  class C29 {
    constructor(p621, p622, p623) {
      this[vF2("0x4f")] = 0;
      this[vF2("0x115")] = 1;
      this.x = 0;
      this.y = 0;
      this.direction = "";
      this[vF2("0x2a1")] = 0;
      this[vF2("0x1a5")] = "";
      this.src = null;
      this.image = null;
      this[vF2("0xb0")] = p621;
      Object[vF2("0x1b3")](this, p622);
      this[vF2("0x222")] = Object[vF2("0x1b3")]({
        x: 0.5,
        y: 0.5
      }, p622[vF2("0x222")]);
      let v496 = this[vF2("0x1a5")] ? f37(this[vF2("0x1a5")]) : this[vF2("0x317")] ? Promise[vF2("0x1b8")](this[vF2("0x317")]) : null;
      if (v496) {
        v496[vF2("0xc8")](p624 => {
          this.src = p624;
          this.rescale(1);
          if (p623) {
            p623(this);
          }
        });
      }
    }
    [vF2("0x1ae")](p625) {
      const {
        trackWidth,
        maxScale
      } = this[vF2("0xb0")];
      const v497 = trackWidth * maxScale;
      const v498 = this[vF2("0x317")];
      const v499 = v498[vF2("0x128")] || v498[vF2("0xb4")];
      const v500 = v498.naturalHeight || v498[vF2("0x24c")];
      const v501 = v497 * p625 * this[vF2("0x115")] / v499;
      const v502 = ~~(v499 * v501);
      const v503 = ~~(v500 * v501);
      const v504 = v502 / v499;
      const v505 = v503 / v500;
      const v506 = document.createElement(vF2("0x1b4"));
      v506[vF2("0xb4")] = v502;
      v506[vF2("0x24c")] = v503;
      const v507 = v506[vF2("0x152")]("2d");
      v507[vF2("0x115")](v504, v505);
      v507.drawImage(v498, 0, 0);
      this[vF2("0x1ef")] = v506;
    }
  }
  let v508;
  class C30 {
    constructor(p626, p627, p628, p629 = {}, p630) {
      this[vF2("0x1a5")] = p628 + p629[vF2("0x1a5")];
      this[vF2("0x115")] = p629.scale || 1;
      this[vF2("0x317")] = null;
      this.ready = false;
      const {
        maxScale
      } = p626;
      f37(this[vF2("0x1a5")])[vF2("0xc8")](p631 => {
        this[vF2("0x317")] = p631;
        const v509 = ~~(p631[vF2("0x128")] || p631[vF2("0xb4")]);
        const v510 = ~~(p631[vF2("0x286")] || p631.height);
        const v511 = maxScale * 100 * this[vF2("0x115")] / v509;
        if (v509 == 0) {
          console[vF2("0x206")](this[vF2("0x1a5")] + vF2("0xd1"));
        }
        if (v510 == 0) {
          console[vF2("0x206")](this[vF2("0x1a5")] + vF2("0x2cf"));
        }
        const v512 = Math[vF2("0x2a")](v509 * v511) || 1;
        const v513 = Math.floor(v510 * v511) || 1;
        const v514 = document[vF2("0x153")](vF2("0x1b4"));
        v514[vF2("0xb4")] = v512;
        v514[vF2("0x24c")] = v513;
        v514[vF2("0x152")]("2d")[vF2("0x2a9")](p631, 0, 0, v512 + 1, v513 + 1);
        this[vF2("0x146")] = p627[vF2("0x152")]("2d")[vF2("0x1f7")](v514, vF2("0x204"));
        const v515 = 1 / maxScale;
        if (!v508) {
          v508 = document.createElementNS("http://www.w3.org/2000/svg", vF2("0x293"));
        }
        const v516 = v508[vF2("0xd8")]()[vF2("0x115")](v515, v515);
        if (this.pattern[vF2("0x272")]) {
          this[vF2("0x146")][vF2("0x272")](v516);
        }
        this[vF2("0x6")] = true;
        if (p630) {
          p630();
        }
      });
    }
  }
  class C31 {
    constructor(p632, p633, p634, p635) {
      this[vF2("0x2d2")] = [];
      this[vF2("0x115")] = 1;
      this.x = 0;
      this.y = 0;
      this[vF2("0x6")] = false;
      Object.assign(this, p634);
      let vLN039 = 0;
      const vF50 = p636 => {
        p636[vF2("0x1ae")](this.scale);
        if (this[vF2("0x2d2")][vF2("0x1cc")] === ++vLN039) {
          this[vF2("0x6")] = true;
          if (p635) {
            p635();
          }
        }
      };
      this[vF2("0x2d2")] = (this.layers || []).map(p637 => new C29(p632, v495(v495({}, p637), {
        url: p637.url && "" + p633 + p637[vF2("0x1a5")]
      }), vF50));
      this[vF2("0x1bb")] = this[vF2("0x2d2")][vF2("0x199")](p638 => p638[vF2("0x4f")] >= 1)[vF2("0x44")]((p639, p640) => p639[vF2("0x4f")] - p640[vF2("0x4f")]);
      this.backLayers = this[vF2("0x2d2")][vF2("0x199")](p641 => p641[vF2("0x4f")] < 1)[vF2("0x44")]((p642, p643) => p643[vF2("0x4f")] - p642.level);
    }
  }
  class C32 {
    constructor() {
      this[vF2("0x1")] = [];
      this[vF2("0x1bb")] = [];
      this[vF2("0x126")] = [];
      this.maxScale = 0;
    }
    get [vF2("0x6")]() {
      return this[vF2("0x1")][vF2("0x137")](p644 => p644.ready);
    }
    sort() {
      this[vF2("0x1bb")] = [][vF2("0x213")](...this[vF2("0x1")][vF2("0x30b")](p645 => p645.frontLayers[vF2("0x30b")](p646 => ({
        display: p645,
        layer: p646
      }))))[vF2("0x44")]((p647, p648) => p647[vF2("0x1d1")][vF2("0x4f")] - p648[vF2("0x1d1")][vF2("0x4f")]);
      this[vF2("0x126")] = [][vF2("0x213")](...this[vF2("0x1")][vF2("0x30b")](p649 => p649[vF2("0x126")][vF2("0x30b")](p650 => ({
        display: p649,
        layer: p650
      })))).sort((p651, p652) => p652[vF2("0x1d1")][vF2("0x4f")] - p651.layer[vF2("0x4f")]);
      this[vF2("0x19b")] = Math.max(...this[vF2("0x1bb")].map(p653 => p653[vF2("0x207")][vF2("0x115")] * p653[vF2("0x1d1")][vF2("0x115")]));
    }
    [vF2("0x12c")](p654) {
      this.displays.push(p654);
      this[vF2("0x44")]();
    }
    [vF2("0x175")](p655) {
      this.displays = this[vF2("0x1")][vF2("0x199")](p656 => p656 !== p655);
      this[vF2("0x44")]();
    }
  }
  let v517;
  let v518;
  let v519;
  let v520;
  const vF51 = (p657, p658, p659, p660) => {
    if (v520 !== p657 || v518 !== p659 || v519 !== p660) {
      v517 = p657.createLinearGradient(p658[vF2("0xb4")] / 2, 0, p658[vF2("0xb4")] / 2, p658[vF2("0x24c")]);
      v517[vF2("0x7")](0, p659);
      v517[vF2("0x7")](1, p660);
    }
    return v517;
  };
  const vF52 = (p661, p662, p663, p664) => {
    p661.strokeStyle = p663;
    p661[vF2("0x230")] = p664;
    p661[vF2("0x50")](p662);
  };
  const vF53 = (p665, p666, p667, p668, p669) => {
    if (p667[vF2("0x25d")].segments[vF2("0x1cc")]) {
      p665[vF2("0x230")] = p669;
      p665[vF2("0x2fc")] = p666;
      p665[vF2("0x50")](p667[vF2("0x25d")][vF2("0x9e")]);
    }
  };
  const vF54 = (p670, p671, p672, p673, p674) => {
    const {
      devicePixelRatio
    } = window;
    const v521 = p673 * 24 / devicePixelRatio;
    const v522 = p673 * 4 / devicePixelRatio;
    p670[vF2("0x188")]();
    p670[vF2("0xa2")](p671[vF2("0xdb")].x, p671.position.y);
    p670[vF2("0x115")](1.001 / p672, 1.001 / p672);
    p670.font = v521 + vF2("0x3f") + p674;
    p670.textAlign = vF2("0x1a3");
    p670[vF2("0x108")] = vF2("0x2ef");
    let v523 = p671[vF2("0x1d0")];
    if (p671 == p671[vF2("0x305")][vF2("0x10e")]) {
      if (new Date()[vF2("0x1e2")]() % 2 == 0) {
        if (p671[vF2("0x305")][vF2("0x15f")]) {
          v523 = vF2("0x12d");
        } else if (p671[vF2("0x305")].replaying) {
          v523 = vF2("0x1ff");
        }
      }
    }
    const v524 = ~~(p672 * -12);
    const vVF22 = vF2("0x4d");
    p670[vF2("0x230")] = v522 / 4;
    p670[vF2("0x2fc")] = vVF22;
    p670[vF2("0x1e7")] = vVF22;
    p670[vF2("0x1cd")] = v522 / 2;
    p670.strokeText(v523, 0, v524);
    p670[vF2("0x40")] = vVF22;
    p670[vF2("0x320")](v523, 2, v524 + 2);
    let vVF23 = vF2("0x252");
    const v525 = p671[vF2("0x7d")][vF2("0x31d")][vF2("0x2dc")](p675 => p675[vF2("0x279")].name === vF2("0x1a4"));
    if (v525) {
      vVF23 = v525[vF2("0x28c")].color;
    }
    p670[vF2("0x40")] = vVF23;
    p670[vF2("0x1e7")] = vVF23;
    p670[vF2("0x1cd")] = v522 / 3;
    p670[vF2("0x320")](v523, 0, v524);
    p670[vF2("0x158")]();
  };
  const vF55 = () => {
    const v526 = new Path2D();
    const vLN52 = 5;
    v526[vF2("0x1bc")](vLN52 * -3, vLN52 * -3);
    v526[vF2("0xd0")](vLN52 * -1, vLN52 * -1);
    v526.lineTo(vLN52 * 0, vLN52 * -3);
    v526[vF2("0xd0")](vLN52 * 1, vLN52 * -1);
    v526[vF2("0xd0")](vLN52 * 3, vLN52 * -3);
    v526.lineTo(vLN52 * 2, vLN52 * 1);
    v526[vF2("0xd0")](vLN52 * -2, vLN52 * 1);
    v526[vF2("0x2e")]();
    return v526;
  };
  const vVF55 = vF55();
  const vF56 = (p676, p677, p678, p679) => {
    const {
      devicePixelRatio
    } = window;
    const v527 = p679 * 24 / devicePixelRatio;
    p676[vF2("0x188")]();
    p676.translate(p677[vF2("0xdb")].x, p677[vF2("0xdb")].y);
    p676.scale(1 / (p678 * devicePixelRatio), 1 / (p678 * devicePixelRatio));
    p676[vF2("0x40")] = vF2("0x8c");
    p676[vF2("0x2fc")] = vF2("0x23e");
    p676.lineJoin = vF2("0x1ce");
    p676.lineWidth = 1;
    p676[vF2("0xa2")](0, p678 * -10 * devicePixelRatio);
    p676[vF2("0xa2")](0, -v527 * devicePixelRatio);
    p676[vF2("0x115")](p679, p679);
    p676[vF2("0xa2")](0, -4);
    p676[vF2("0xa2")](0, -12);
    p676.fill(vVF55);
    p676[vF2("0x50")](vVF55);
    p676[vF2("0x158")]();
  };
  const vF57 = () => {
    const v528 = new Path2D();
    const vLN162 = 1.6;
    v528[vF2("0x1bc")](vLN162 * 0, vLN162 * -7);
    v528[vF2("0xd0")](vLN162 * 5, vLN162 * -6);
    v528[vF2("0xd0")](vLN162 * 7, vLN162 * -3);
    v528[vF2("0xd0")](vLN162 * 6, vLN162 * 2);
    v528.lineTo(vLN162 * 4, vLN162 * 3);
    v528[vF2("0xd0")](vLN162 * 3, vLN162 * 6);
    v528[vF2("0xd0")](vLN162 * 0, vLN162 * 7);
    v528.lineTo(vLN162 * -3, vLN162 * 6);
    v528[vF2("0xd0")](vLN162 * -4, vLN162 * 3);
    v528[vF2("0xd0")](vLN162 * -6, vLN162 * 2);
    v528[vF2("0xd0")](vLN162 * -7, vLN162 * -3);
    v528[vF2("0xd0")](vLN162 * -5, vLN162 * -6);
    v528.closePath();
    v528[vF2("0x18f")](vLN162 * -3, vLN162 * -1, vLN162 * 2, 0, Math.PI * 2, true);
    v528[vF2("0x2e")]();
    v528.arc(vLN162 * 3, vLN162 * -1, vLN162 * 2, 0, Math.PI * 2, true);
    v528[vF2("0x2e")]();
    v528[vF2("0x1bc")](vLN162 * 0, vLN162 * 1);
    v528[vF2("0xd0")](vLN162 * -2, vLN162 * 3);
    v528[vF2("0xd0")](vLN162 * 0, vLN162 * 4);
    v528[vF2("0xd0")](vLN162 * 2, vLN162 * 3);
    v528[vF2("0x2e")]();
    return v528;
  };
  const vVF57 = vF57();
  const vF58 = (p680, p681, p682, p683) => {
    p680.save();
    p680[vF2("0x40")] = vF2("0x140");
    p680[vF2("0xa2")](p681, p682);
    p680.scale(p683, p683);
    p680.fill(vVF57);
    p680[vF2("0x158")]();
  };
  const vF59 = (p684, p685, p686, p687, p688) => {
    const {
      trackWidth
    } = p684;
    if (p688.image) {
      const v529 = p688.image.naturalWidth || p688[vF2("0x1ef")].width;
      const v530 = p688.image[vF2("0x286")] || p688[vF2("0x1ef")][vF2("0x24c")];
      const v531 = trackWidth * p687[vF2("0x115")] * p688.scale / v529;
      p685.save();
      p685[vF2("0xa2")](p686.position.x, p686[vF2("0xdb")].y - p684[vF2("0x292")] * p688[vF2("0x4f")]);
      p685[vF2("0x1cf")](p686[vF2("0x1f5")] + Math.PI / 2);
      p685.translate((p687.x + p688.x) * trackWidth, (p687.y + p688.y) * trackWidth);
      let vLN040 = 0;
      if (p688[vF2("0x1f5")] === "target") {
        const v532 = (p686[vF2("0x1d2")] || new C4(0, 0))[vF2("0x4a")]()[vF2("0x43")](p686[vF2("0xdb")]);
        const v533 = Math[vF2("0x117")](v532.y, v532.x);
        vLN040 += v533 - p686[vF2("0x1f5")];
      }
      if (p688[vF2("0x1f5")] === vF2("0x2f5")) {
        vLN040 += -p686[vF2("0x1f5")] - Math.PI / 2;
      }
      if (p688[vF2("0x2a1")]) {
        vLN040 += p688[vF2("0x2a1")] * 0.0174533;
      }
      if (vLN040) {
        p685[vF2("0x1cf")](vLN040);
      }
      p685[vF2("0x115")](v531, v531);
      p685[vF2("0xa2")](v529 * -p688[vF2("0x222")].x, v530 * -p688[vF2("0x222")].y);
      p685.drawImage(p688.image, 0, 0);
      p685[vF2("0x158")]();
    }
  };
  const vF60 = (p689, p690, p691, p692, p693) => {
    const v534 = p693 ? p692[vF2("0x1bb")] : p692[vF2("0x126")];
    v534[vF2("0x1a6")](p694 => vF59(p689, p690, p691, p694[vF2("0x207")], p694[vF2("0x1d1")]));
  };
  const vF61 = (p695, p696, p697, p698, p699, p700, p701) => {
    const [v535, v536, v537, v538] = p700;
    p695.beginPath();
    p695.moveTo(p696 + v535, p697);
    p695[vF2("0xd0")](p696 + p698 - v536, p697);
    p695[vF2("0x66")](p696 + p698, p697, p696 + p698, p697 + v536);
    p695[vF2("0xd0")](p696 + p698, p697 + p699 - v537);
    p695[vF2("0x66")](p696 + p698, p697 + p699, p696 + p698 - v537, p697 + p699);
    p695.lineTo(p696 + v538, p697 + p699);
    p695[vF2("0x66")](p696, p697 + p699, p696, p697 + p699 - v538);
    p695[vF2("0xd0")](p696, p697 + v535);
    p695.quadraticCurveTo(p696, p697, p696 + v535, p697);
    p695[vF2("0x2e")]();
    p695.fill();
    if (p701) {
      p695[vF2("0x2fc")] = vF2("0x148");
      p695[vF2("0x230")] = p701;
      p695.stroke();
    }
  };
  const vF62 = (p702, p703, p704) => {
    p702.fillStyle = p704;
    p702[vF2("0x283")](p703);
  };
  const vF63 = p705 => {
    const {
      game: _0x3cf70a,
      ctx,
      boundsInView
    } = p705;
    const {
      trackWidth
    } = _0x3cf70a[vF2("0xb0")];
    _0x3cf70a[vF2("0x136")][vF2("0x1a6")](p706 => {
      if (boundsInView(p706[vF2("0xc9")][vF2("0x1f")], trackWidth) || _0x3cf70a[vF2("0x12")]) {
        vF62(ctx, p706.base[vF2("0x1f")][vF2("0x9e")], p706[vF2("0x7d")][vF2("0x146")] && p706[vF2("0x7d")][vF2("0x146")][vF2("0x146")] || p706[vF2("0x7d")][vF2("0xfa")][vF2("0x309")]);
      }
    });
  };
  const vF64 = p707 => {
    const {
      game: _0x7420fe,
      ctx,
      boundsInView
    } = p707;
    const {
      trackWidth
    } = _0x7420fe.config;
    ctx[vF2("0x188")]();
    ctx[vF2("0x9c")] = "round";
    ctx[vF2("0x244")] = "destination-out";
    _0x7420fe.units[vF2("0x1a6")](p708 => {
      const {
        start
      } = p708.track[vF2("0x25d")];
      if (start) {
        if (boundsInView(p708[vF2("0x83")][vF2("0x25d")], trackWidth)) {
          vF53(ctx, p708.skin[vF2("0xfa")][vF2("0x309")], p708[vF2("0x83")], p708[vF2("0xdb")], trackWidth);
          ctx.save();
          ctx.globalCompositeOperation = vF2("0x127");
          ctx[vF2("0x17")](p708[vF2("0xc9")][vF2("0x1f")][vF2("0x9e")]);
          vF53(ctx, p708.skin[vF2("0x146")] && p708[vF2("0x7d")][vF2("0x146")][vF2("0x146")] || p708[vF2("0x7d")][vF2("0xfa")][vF2("0x309")], p708.track, p708[vF2("0xdb")], trackWidth + 2);
          ctx[vF2("0x158")]();
        }
      }
    });
    ctx[vF2("0x158")]();
  };
  const vF65 = p709 => {
    const {
      game: _0x34293f,
      ctx,
      pointInView
    } = p709;
    const {
      trackWidth
    } = _0x34293f.config;
    _0x34293f.units[vF2("0x1a6")](p710 => {
      if (pointInView(p710[vF2("0xdb")], trackWidth * 4)) {
        vF60(_0x34293f[vF2("0xb0")], ctx, p710, p710.skin.container, true);
      }
    });
  };
  const vF66 = p711 => {
    const {
      game: _0x3149cd,
      ctx,
      scale,
      scaler,
      pointInView
    } = p711;
    const {
      trackWidth,
      font
    } = _0x3149cd[vF2("0xb0")];
    _0x3149cd[vF2("0x136")][vF2("0x1a6")](p712 => {
      if (pointInView(p712[vF2("0xdb")], trackWidth * 20) || _0x3149cd[vF2("0x12")]) {
        vF54(ctx, p712, scale, scaler, font);
      }
    });
  };
  const vF67 = p713 => {
    const {
      game: _0x432437,
      ctx,
      pointInView
    } = p713;
    const {
      trackWidth
    } = _0x432437[vF2("0xb0")];
    _0x432437[vF2("0x136")][vF2("0x1a6")](p714 => {
      if (pointInView(p714[vF2("0xdb")], trackWidth * 4)) {
        vF60(_0x432437[vF2("0xb0")], ctx, p714, p714[vF2("0x7d")][vF2("0x241")], false);
      }
    });
  };
  const vF68 = p715 => {
    const {
      game: _0x342a0f,
      ctx,
      boundsInView
    } = p715;
    const {
      trackWidth
    } = _0x342a0f[vF2("0xb0")];
    ctx[vF2("0x188")]();
    ctx[vF2("0x9c")] = vF2("0x1ce");
    ctx[vF2("0x3a")] = 0.6;
    _0x342a0f[vF2("0x136")].forEach(p716 => {
      if (p716.in !== p716[vF2("0xc9")]) {
        if (boundsInView(p716.track[vF2("0x25d")], trackWidth)) {
          vF53(ctx, _0x342a0f.tailRecovered && p716 == _0x342a0f.player ? vF2("0x2e1") : p716.skin[vF2("0xfa")][vF2("0x309")], p716[vF2("0x83")], p716[vF2("0xdb")], trackWidth);
        }
      }
    });
    ctx[vF2("0x158")]();
  };
  const vF69 = p717 => {
    const {
      game: _0x468349,
      ctx,
      boundsInView
    } = p717;
    const {
      trackWidth
    } = _0x468349[vF2("0xb0")];
    _0x468349.units[vF2("0x1a6")](p718 => {
      if (boundsInView(p718[vF2("0xc9")][vF2("0x1f")], trackWidth)) {
        vF62(ctx, p718[vF2("0xc9")][vF2("0x1f")][vF2("0x9e")], p718[vF2("0x7d")][vF2("0xfa")][vF2("0x1e")]);
      }
    });
  };
  const vF70 = p719 => {
    const {
      game: _0x1d96b5,
      ctx,
      viewScreenWidth,
      viewScreenHeight
    } = p719;
    const {
      baseHeight,
      arenaColor,
      borderColor,
      backgroundTopColor,
      backgroundBottomColor
    } = _0x1d96b5[vF2("0xb0")];
    vF62(ctx, _0x1d96b5[vF2("0x1a8")].polygon[vF2("0x9e")], arenaColor);
    ctx.translate(0, baseHeight * 3);
    vF62(ctx, _0x1d96b5[vF2("0x1a8")][vF2("0x1f")].path, borderColor);
    ctx.translate(0, baseHeight * -3);
    ctx[vF2("0x40")] = vF51(ctx, _0x1d96b5.space, backgroundTopColor, backgroundBottomColor);
    ctx[vF2("0x173")](viewScreenWidth / -2, viewScreenHeight / -2, _0x1d96b5[vF2("0x130")].width + viewScreenWidth, _0x1d96b5[vF2("0x130")][vF2("0x24c")] + viewScreenHeight);
  };
  const vF71 = p720 => {
    const {
      game: _0x115ef9,
      ctx,
      pointInView
    } = p720;
    const {
      trackWidth
    } = _0x115ef9[vF2("0xb0")];
    ctx[vF2("0x188")]();
    _0x115ef9[vF2("0x1af")][vF2("0x1a6")](p721 => p721[vF2("0x1b1")] > 0 && pointInView(p721[vF2("0xdb")], trackWidth) && p721[vF2("0x237")](ctx));
    ctx.restore();
  };
  const vF72 = p722 => {
    const {
      game: _0x5c7f96,
      ctx,
      scale,
      scaler
    } = p722;
    const {
      font
    } = _0x5c7f96[vF2("0xb0")];
    ctx.scale(1 / scale, 1 / scale);
    _0x5c7f96[vF2("0x298")][vF2("0x1a6")](p723 => p723[vF2("0x237")](ctx, font, scale, scaler));
    ctx.scale(scale, scale);
  };
  const vF73 = p724 => {
    const {
      game: _0x2f39aa,
      ctx,
      scale,
      scaler
    } = p724;
    const v539 = _0x2f39aa[vF2("0x136")][0];
    if (v539) {
      vF56(ctx, v539, scale, scaler);
    }
  };
  const vF74 = p725 => {
    const {
      game: _0x2cf0a5,
      ctx,
      scaler,
      calcMult,
      viewScreenWidth,
      viewScreenHeight,
      padding
    } = p725;
    const v540 = viewScreenWidth / calcMult(8, 3);
    const v541 = _0x2cf0a5[vF2("0x130")][vF2("0xb4")] / v540 * scaler * 3;
    ctx[vF2("0x188")]();
    ctx[vF2("0xa2")](viewScreenWidth - padding - v540, viewScreenHeight - padding - v540);
    ctx[vF2("0x115")](v540 / _0x2cf0a5[vF2("0x130")][vF2("0xb4")], v540 / _0x2cf0a5[vF2("0x130")][vF2("0x24c")]);
    vF62(ctx, _0x2cf0a5[vF2("0x1a8")].polygon[vF2("0x9e")], vF2("0x14e"));
    vF62(ctx, _0x2cf0a5[vF2("0x10e")][vF2("0xc9")][vF2("0x1f")][vF2("0x9e")], _0x2cf0a5[vF2("0x10e")][vF2("0x7d")].colors[vF2("0x309")]);
    vF52(ctx, _0x2cf0a5.player[vF2("0xc9")][vF2("0x1f")][vF2("0x9e")], _0x2cf0a5.player[vF2("0x7d")][vF2("0xfa")][vF2("0x1e")], v541 / 2);
    vF53(ctx, _0x2cf0a5[vF2("0x10e")][vF2("0x7d")][vF2("0xfa")][vF2("0x1e")], _0x2cf0a5[vF2("0x10e")][vF2("0x83")], _0x2cf0a5[vF2("0x10e")][vF2("0xdb")], v541 / 2);
    const v542 = _0x2cf0a5[vF2("0x136")].some(p726 => !_0x2cf0a5[vF2("0x141")](p726) && p726.in === _0x2cf0a5.player.base) ? vF2("0x221") : vF2("0x148");
    vF52(ctx, _0x2cf0a5[vF2("0x1a8")][vF2("0x1f")][vF2("0x9e")], v542, v541);
    ctx[vF2("0x1be")]();
    ctx[vF2("0x18f")](_0x2cf0a5.player.position.x, _0x2cf0a5[vF2("0x10e")][vF2("0xdb")].y, v541, 0, Math.PI * 2);
    ctx.fillStyle = _0x2cf0a5[vF2("0x10e")][vF2("0x7d")][vF2("0xfa")][vF2("0x147")];
    ctx[vF2("0x283")]();
    const v543 = _0x2cf0a5.player[vF2("0x7d")].assets.find(p727 => p727[vF2("0x279")] && p727[vF2("0x279")][vF2("0x1d0")] === vF2("0x301"));
    const v544 = v543 && v543[vF2("0x28c")][vF2("0x316")];
    if (v544 && _0x2cf0a5.player[vF2("0x2f7")]) {
      _0x2cf0a5[vF2("0x10e")][vF2("0x2f7")][vF2("0x1a6")](p728 => {
        ctx[vF2("0x188")]();
        ctx[vF2("0xa2")](p728[vF2("0xdb")].x, p728[vF2("0xdb")].y);
        ctx[vF2("0x115")](2, 2);
        ctx.drawImage(v544, -v544[vF2("0xb4")] / 2, -v544[vF2("0x24c")] / 2);
        ctx.restore();
      });
    }
    ctx.restore();
  };
  let v545;
  window.addEventListener(vF2("0x133"), () => v545 = null, false);
  const vF75 = p729 => {
    let {
      ctx,
      devicePixelRatio
    } = p729;
    if (!v545) {
      v545 = document[vF2("0x153")](vF2("0x1b4"));
      v545[vF2("0xb4")] = ~~p729[vF2("0x8e")];
      v545.height = ~~(p729[vF2("0x114")] * 1.3 * 8);
    }
    if (p729[vF2("0x305")].topListChanged) {
      p729[vF2("0x305")].topListChanged = false;
      let v546 = v545[vF2("0x152")]("2d");
      v546[vF2("0x188")]();
      v546[vF2("0xf1")](0, 0, v545[vF2("0xb4")], v545.height);
      v546[vF2("0xa2")](-ctx[vF2("0x1b4")].width + v545[vF2("0xb4")], 0);
      v546[vF2("0x115")](1 / devicePixelRatio, 1 / devicePixelRatio);
      vF76(v546, p729);
      v546[vF2("0x158")]();
    }
    ctx[vF2("0x188")]();
    ctx.resetTransform();
    ctx[vF2("0x2a9")](v545, ctx[vF2("0x1b4")][vF2("0xb4")] - v545.width, 0);
    ctx.restore();
  };
  const vF76 = (p730, p731) => {
    const {
      game: _0x3f3efd,
      viewScreenWidth,
      padding,
      backHeight,
      barHeight,
      halfBarHeight,
      barWidth,
      halfBarWidth,
      strokeWidth,
      uiFont
    } = p731;
    let v547;
    const vF77 = (p732, p733, p734, p735) => {
      const v548 = padding + p734 * (barHeight * 1.3);
      const v549 = p732[vF2("0x144")][vF2("0x319")]();
      let v550 = halfBarWidth * (v549 / p735);
      if (v547 && v550 > v547 - halfBarWidth * 0.05) {
        v550 = v547 - halfBarWidth * 0.05;
      }
      v547 = v550;
      const v551 = halfBarWidth + v550;
      let v552 = viewScreenWidth - v551;
      const vA20 = [halfBarHeight, 0, 0, halfBarHeight];
      p730[vF2("0x40")] = vF2("0x2f2");
      vF61(p730, v552 + backHeight, v548 + backHeight * 3, barWidth, barHeight, vA20);
      p730[vF2("0x40")] = p732[vF2("0x7d")].colors[vF2("0x1e")];
      vF61(p730, v552, v548 + backHeight, barWidth, barHeight, vA20, strokeWidth);
      p730.fillStyle = p732[vF2("0x7d")][vF2("0xfa")][vF2("0x309")];
      vF61(p730, v552, v548, barWidth, barHeight, vA20, strokeWidth);
      const v553 = p732[vF2("0x7d")][vF2("0x31d")].find(p736 => p736.pool && p736[vF2("0x279")][vF2("0x1d0")] === vF2("0x301"));
      const v554 = v553 && v553[vF2("0x28c")].roundedFlag;
      if (v554) {
        const v555 = barHeight * 0.8;
        const v556 = barHeight / 4;
        const v557 = v555 / v554[vF2("0x24c")];
        p730.save();
        p730[vF2("0xa2")](v552 + v556, v548 + barHeight / 2);
        p730[vF2("0x115")](v557, v557);
        p730[vF2("0x2a9")](v554, 0, -v554[vF2("0x24c")] / 2);
        p730[vF2("0x158")]();
        v552 += v555;
      }
      p730.fillStyle = p732[vF2("0x7d")][vF2("0xfa")][vF2("0xcf")];
      p730.font = uiFont;
      p730.textAlign = vF2("0x13c");
      p730[vF2("0x108")] = "middle";
      p730[vF2("0x320")](p733 + vF2("0x219") + p732[vF2("0x144")][vF2("0xab")]() + " " + p732[vF2("0x1d0")], v552 + halfBarHeight, v548 + halfBarHeight * 1.1);
    };
    const v558 = _0x3f3efd.units[0];
    const v559 = v558 && v558[vF2("0x144")][vF2("0x319")]();
    let v560 = false;
    for (let vLN041 = 0; vLN041 < 5; vLN041++) {
      const v561 = _0x3f3efd[vF2("0x136")][vLN041];
      if (v561) {
        if (_0x3f3efd[vF2("0x141")](v561)) {
          v560 = true;
        }
        vF77(v561, vLN041 + 1, vLN041, v559);
      }
    }
    if (!v560 && _0x3f3efd.player && !_0x3f3efd[vF2("0x10e")].death) {
      const v562 = _0x3f3efd.units.findIndex(p737 => _0x3f3efd.isPlayer(p737));
      vF77(_0x3f3efd[vF2("0x10e")], v562 + 1, 6, v559);
    }
  };
  const vF78 = p738 => {
    const {
      game: _0x59d5c0,
      ctx,
      padding,
      backHeight,
      barHeight,
      halfBarHeight,
      barWidth,
      strokeWidth,
      uiFont
    } = p738;
    const {
      player
    } = _0x59d5c0;
    ctx.fillStyle = vF2("0x2f2");
    vF61(ctx, 0, padding, barWidth, barHeight + backHeight, [0, (barHeight + backHeight) / 2, (barHeight + backHeight) / 2, 0]);
    const v563 = _0x59d5c0[vF2("0x18")] ? Math[vF2("0x271")](1, player[vF2("0x144")][vF2("0x319")]() / _0x59d5c0[vF2("0x18")]) : 1;
    const v564 = barWidth * (0.25 + v563 * 0.75);
    ctx.fillStyle = player[vF2("0x7d")][vF2("0xfa")][vF2("0x1e")];
    vF61(ctx, 0, padding + backHeight, v564, barHeight, [0, halfBarHeight, halfBarHeight, 0], strokeWidth);
    ctx[vF2("0x40")] = player[vF2("0x7d")][vF2("0xfa")].main;
    vF61(ctx, 0, padding, v564, barHeight, [0, halfBarHeight, halfBarHeight, 0], strokeWidth);
    ctx[vF2("0x40")] = player[vF2("0x7d")].colors[vF2("0xcf")];
    ctx[vF2("0x3")] = uiFont;
    ctx.textAlign = "left";
    ctx[vF2("0x108")] = "middle";
    ctx.fillText(player[vF2("0x144")][vF2("0xab")](), halfBarHeight, padding + halfBarHeight * 1.1);
  };
  const vF79 = p739 => {
    const {
      game: _0x5683ab,
      ctx,
      padding,
      backHeight,
      barHeight,
      uiFont
    } = p739;
    ctx.font = uiFont;
    ctx.textAlign = vF2("0x13c");
    ctx[vF2("0x108")] = vF2("0x1f2");
    let v565 = _0x5683ab.language[vF2("0x163")] + " " + _0x5683ab[vF2("0x10e")][vF2("0x144")][vF2("0xab")](_0x5683ab.best);
    ctx[vF2("0x40")] = "#00000066";
    ctx[vF2("0x320")](v565, padding / 2, padding + barHeight + backHeight + padding / 2);
  };
  const vF80 = p740 => {
    const {
      game: _0x27f463,
      ctx,
      scaler,
      padding,
      backHeight,
      barHeight,
      halfBarHeight,
      fontSize,
      uiFont
    } = p740;
    const v566 = padding + barHeight + backHeight + fontSize + padding / 2 + 4;
    ctx[vF2("0x3")] = uiFont;
    ctx[vF2("0x2a4")] = "left";
    ctx[vF2("0x108")] = vF2("0x307");
    let v567 = "x" + _0x27f463[vF2("0x10e")].statistics[vF2("0x107")];
    ctx.fillStyle = vF2("0x2ae");
    vF61(ctx, 0, v566, barHeight * 1.5 + ctx[vF2("0x27d")](v567).width, barHeight, [0, halfBarHeight, halfBarHeight, 0]);
    vF58(ctx, barHeight * 1.4 / 2, v566 + barHeight / 2, scaler);
    ctx[vF2("0x40")] = vF2("0x140");
    ctx[vF2("0x320")](v567, barHeight * 1.25, v566 + halfBarHeight + barHeight * 0.03);
  };
  const vF81 = p741 => {
    const {
      game: _0x3c8895,
      ctx,
      scaler,
      padding,
      backHeight,
      barHeight,
      halfBarHeight,
      fontSize,
      uiFont,
      viewWidth,
      viewHeight,
      viewScreenWidth,
      viewScreenHeight
    } = p741;
    if (_0x3c8895[vF2("0x1fa")].length) {
      const v568 = _0x3c8895[vF2("0x1fa")][0];
      if (v568.ready) {
        ctx[vF2("0x188")]();
        ctx[vF2("0x3")] = uiFont;
        const v569 = fontSize * 2 + padding;
        const v570 = v568[vF2("0xdb")]() * (v569 + padding) - v569;
        const v571 = Math[vF2("0x86")](ctx.measureText(v568[vF2("0x1f0")])[vF2("0xb4")], ctx[vF2("0x27d")](v568[vF2("0x25a")])[vF2("0xb4")]);
        const v572 = fontSize * 2;
        const v573 = v571 + padding * 5 + v572;
        const v574 = padding / 2;
        ctx[vF2("0x40")] = vF2("0x2ae");
        vF61(ctx, (viewScreenWidth - v573) / 2, v570, v573, v569, [(barHeight + backHeight) / 2, (barHeight + backHeight) / 2, (barHeight + backHeight) / 2, (barHeight + backHeight) / 2]);
        ctx[vF2("0x40")] = "#ffffff";
        ctx[vF2("0x1e7")] = vF2("0x2af");
        ctx[vF2("0x1cd")] = 1;
        ctx[vF2("0x2a4")] = "center";
        ctx[vF2("0x108")] = "top";
        ctx[vF2("0x320")](v568[vF2("0x1f0")], (viewScreenWidth - v573) / 2 + v573 / 2 + v572 / 2, v570 + v574);
        ctx.fillStyle = "#ffffff88";
        ctx[vF2("0x1e7")] = vF2("0x291");
        ctx[vF2("0x1cd")] = 1;
        ctx.font = uiFont;
        ctx[vF2("0x320")](v568.description, (viewScreenWidth - v573) / 2 + v573 / 2 + v572 / 2, v570 + v574 + fontSize);
        ctx[vF2("0x1e7")] = "#ffffff";
        ctx[vF2("0x1cd")] = 10;
        if (v568.image) {
          ctx[vF2("0x2a9")](v568[vF2("0x1ef")], (viewScreenWidth - v573) / 2 + v574, v570 + v574, v572, v572);
        }
        ctx[vF2("0x158")]();
      }
    }
  };
  function f45(p742) {
    const v575 = p742[vF2("0x23b")]();
    if (!v575) {
      return;
    }
    const {
      baseHeight: baseHeight
    } = p742[vF2("0xb0")];
    let {
      ctx,
      devicePixelRatio,
      viewWidth,
      viewHeight,
      origin: origin,
      scale: scale
    } = v575;
    if (p742.debugView) {
      scale = 0.5;
      origin = p742[vF2("0x130")].center;
    }
    ctx.resetTransform();
    ctx[vF2("0xf1")](0, 0, viewWidth, viewHeight);
    const v576 = origin.x * scale - viewWidth / 2;
    const v577 = origin.y * scale - viewHeight / 2;
    ctx[vF2("0xa2")](-v576, -v577);
    ctx[vF2("0x115")](scale, scale);
    ctx[vF2("0xa2")](0, -baseHeight);
    vF63(v575);
    vF64(v575);
    ctx[vF2("0xa2")](0, baseHeight);
    ctx[vF2("0x244")] = vF2("0x127");
    vF67(v575);
    vF68(v575);
    vF69(v575);
    vF70(v575);
    ctx[vF2("0x244")] = "source-over";
    vF65(v575);
    vF66(v575);
    vF71(v575);
    vF72(v575);
    vF73(v575);
    ctx.resetTransform();
    ctx[vF2("0x115")](1 / devicePixelRatio, 1 / devicePixelRatio);
    if (p742.player) {
      vF75(v575);
      vF78(v575);
      vF79(v575);
      vF80(v575);
      vF74(v575);
      vF81(v575);
    }
    if (p742.debug || p742[vF2("0x15f")] || p742[vF2("0xb1")]) {
      f46(p742);
    }
  }
  function f46(p743) {
    const {
      view: view
    } = p743;
    if (!view) {
      return;
    }
    const {
      font
    } = p743[vF2("0xb0")];
    const v578 = view.getContext("2d");
    v578[vF2("0x40")] = vF2("0x236");
    v578[vF2("0x2fc")] = vF2("0x2af");
    v578.textAlign = vF2("0x13c");
    v578[vF2("0x108")] = vF2("0x1f2");
    let v579 = p743[vF2("0x303")] * 160;
    const vF82 = (p744 = "", p745 = 0) => {
      if (p744) {
        v578[vF2("0x1ac")](p744, 10 + p745 * 20, v579);
        v578[vF2("0x320")](p744, 10 + p745 * 20, v579);
      }
      v579 += p743[vF2("0x303")] * 20;
    };
    vF82("Update time: " + p743[vF2("0x52")].ut[vF2("0x70")](1));
    vF82(vF2("0x1d5") + p743[vF2("0x52")][vF2("0x1a")][vF2("0x70")](1), 1);
    vF82(vF2("0x121") + p743[vF2("0x52")].st[vF2("0x70")](1), 1);
    vF82(vF2("0x82") + p743[vF2("0x52")].rt.toFixed(1));
    vF82("FPS: " + Math.round(p743.stats[vF2("0x23")]));
    vF82(vF2("0xf4") + p743[vF2("0x303")]);
    vF82();
    vF82(vF2("0x1cb") + p743.units[vF2("0x1cc")]);
    vF82(vF2("0x18c") + p743[vF2("0x4f")][vF2("0x70")](3));
    vF82();
    vF82(vF2("0x1b2") + p743[vF2("0x1af")].length);
    vF82();
    if (p743.recording) {
      vF82(vF2("0x6e") + p743[vF2("0x15f")][vF2("0xe5")]()[vF2("0x70")](1) + " s");
    }
    if (p743[vF2("0xb1")]) {
      vF82("Replaying: " + p743.replaying[vF2("0x27e")]().toFixed(1) + "/" + p743.replaying[vF2("0xe5")]()[vF2("0x70")](1) + " s");
    }
    if (p743[vF2("0x8")]) {
      const v580 = view[vF2("0xb4")] / 3;
      const vLN100 = 100;
      const v581 = new Path2D();
      const v582 = new Path2D();
      const v583 = new Path2D();
      const v584 = new Path2D();
      v584[vF2("0x1bc")](0, 0);
      let vLN1667 = 16.67;
      p743.metrics[vF2("0x1a6")](p746 => {
        vLN1667 = Math.max(vLN1667, p746[vF2("0x106")]);
      });
      vLN1667 *= 1.1;
      const v585 = v580 / (vLN240 - 1);
      const v586 = vLN100 / vLN1667;
      v578[vF2("0x188")]();
      v578[vF2("0xa2")]((view[vF2("0xb4")] - v580) / 2, vLN100);
      v578.fillStyle = vF2("0x1c6");
      v578[vF2("0x173")](0, -vLN100, v580, vLN100);
      p743[vF2("0x218")][vF2("0x1a6")]((p747, p748) => {
        v581.lineTo(v585 * p748, -p747[vF2("0x24")] * v586);
        v582.lineTo(v585 * p748, -p747[vF2("0x226")] * v586);
        v584[vF2("0xd0")](v585 * p748, -(p747[vF2("0x24")] + p747[vF2("0x226")]) * v586);
        v583[vF2("0xd0")](v585 * p748, -p747[vF2("0x106")] * v586);
      });
      v584[vF2("0xd0")](v585 * (p743[vF2("0x218")][vF2("0x1cc")] - 1), 0);
      v578[vF2("0x230")] = 1;
      const v587 = v586 * 16.67;
      v578[vF2("0x2fc")] = vF2("0x181");
      v578.beginPath();
      v578[vF2("0x1bc")](0, -v587);
      v578.lineTo(v580, -v587);
      v578[vF2("0x50")]();
      v578[vF2("0x40")] = "#ffff00a0";
      v578.fill(v584);
      v578[vF2("0x2fc")] = vF2("0x7f");
      v578[vF2("0x50")](v581);
      v578[vF2("0x2fc")] = "#009900cc";
      v578[vF2("0x50")](v582);
      v578.strokeStyle = vF2("0x1ab");
      v578.stroke(v583);
      v578[vF2("0x230")] = 0.5;
      p743.metrics[vF2("0x1a6")]((p749, p750) => {
        const {
          returns,
          kills
        } = p749[vF2("0x2c9")];
        if (returns || kills) {
          if (kills) {
            v578[vF2("0x2fc")] = vF2("0x2ec");
          } else {
            v578[vF2("0x2fc")] = "#00000040";
          }
          v578.beginPath();
          v578[vF2("0x1bc")](v585 * p750, 0);
          v578[vF2("0xd0")](v585 * p750, -vLN100);
          v578[vF2("0x50")]();
        }
      });
      v578[vF2("0x158")]();
    }
  }
  var vO15 = {
    name: "ru",
    lng: {
      yourScore: vF2("0x281"),
      bestScore: vF2("0x26d"),
      newText: vF2("0x2c5"),
      timePlayed: vF2("0x23a"),
      playersKilled: vF2("0x268"),
      playAgain: vF2("0x2d7"),
      menu: "МЕНЮ",
      messages: [vF2("0x134"), "Коснитесь экрана для управления", vF2("0xe8"), "Захватите всю карту"],
      nosupport: vF2("0x1b7"),
      btnPlay: vF2("0x22c"),
      placeholderText: vF2("0x171"),
      defaultPlayerName: vF2("0x260"),
      bestTxt: vF2("0x1d8"),
      killText: vF2("0x251"),
      btnContinue: vF2("0x1f1"),
      extraLife: vF2("0x179"),
      btnSelect: "ВЫБРАТЬ"
    }
  };
  const vF83 = (p751, p752, p753, p754, p755, p756) => {
    let vO16 = {};
    if (Path2D) {
      vO16.create = p757 => {
        const {
          arenaSize,
          quadSize,
          borderPoints
        } = p751;
        const v588 = new C3(arenaSize, arenaSize, quadSize);
        C4[vF2("0x130")] = v588;
        const v589 = new C4(arenaSize / 2, arenaSize / 2);
        const v590 = Math[vF2("0x271")](v589.x, v589.y) * 0.95;
        const v591 = C7[vF2("0x217")](v589, borderPoints, v590);
        const vP753 = p753(p751, p757);
        const v592 = new C26(p751, p757, v588, v591, vP753, null, p754, new C28(p757, new C27()), p752.lng, p755, p756, Math.random());
        vP753[vF2("0x305")] = v592;
        v592.renderer = f45;
        vO16[vF2("0x305")] = v592;
        v592[vF2("0x187")][vF2("0x2ff")]([16, 18, 81, 66, 77], () => {
          v592[vF2("0x170")] = !v592[vF2("0x170")];
        });
        v592.controller[vF2("0x2b0")](71, () => {
          v592.debugGraph = !v592.debugGraph;
        });
      };
      vO16.preparing = true;
      let vLN042 = 0;
      let v593;
      const vF84 = () => {
        const {
          prepareMult
        } = p751;
        let {
          prepareBatchCount: prepareBatchCount
        } = p751;
        while (prepareBatchCount--) {
          vO16[vF2("0x305")][vF2("0x248")](1000 / 60 * prepareMult + Math.random());
          vLN042++;
        }
      };
      vO16[vF2("0x274")] = p758 => {
        const {
          game: _0x24d4d5
        } = vO16;
        v593 = // TOLOOK
        setInterval(() => {
          if (p754[vF2("0x2ad")]()) {
            vF84();
            if (vLN042 > p751[vF2("0x9f")]) {
              clearInterval(v593);
              vO16[vF2("0x20f")] = false;
              _0x24d4d5[vF2("0x28e")] = true;
              if (!_0x24d4d5[vF2("0x276")]) {
                _0x24d4d5[vF2("0x23f")]();
              }
              if (p758) {
                p758();
              }
            }
          }
        }, 0);
      };
      vO16[vF2("0x1d4")] = (p759, p760, p761, p762, p763) => {
        const v594 = vO16.game;
        if (vO16[vF2("0x20f")]) {
          clearInterval(v593);
          const vV1712 = v171();
          while (vLN042 < p751[vF2("0x9f")]) {
            vF84();
            if (v171() - vV1712 > p751[vF2("0x2cc")]) {
              break;
            }
          }
        }
        v594[vF2("0x18")] = p761;
        v594[vF2("0xe0")](p759, p760, p763);
        if (p763) {
          v594[vF2("0x10e")][vF2("0x36")]({
            text: vO15[vF2("0xc4")][vF2("0x2f1")],
            time: 5000,
            color: "#7fed4c"
          });
        }
        if (p762) {
          v594.gameOverCallback = p762;
        }
        vO16[vF2("0x20f")] = false;
        v594[vF2("0x28e")] = true;
        if (!v594[vF2("0x276")]) {
          v594.loop();
        }
        window[vF2("0x201")]();
      };
    } else {
      vO16 = null;
    }
    return vO16;
  };
  var v595;
  var v596;
  var v597;
  var vLN043 = 0;
  var vA21 = [];
  var v598 = v8[vF2("0xbb")];
  var v599 = v8[vF2("0x2a5")];
  var v600 = v8[vF2("0xf6")];
  var v601 = v8[vF2("0xf2")];
  function f47(p764, p765) {
    if (v8.__h) {
      v8[vF2("0xd9")](v596, p764, vLN043 || p765);
    }
    vLN043 = 0;
    var v602 = v596.__H || (v596[vF2("0x65")] = {
      __: [],
      __h: []
    });
    if (p764 >= v602.__[vF2("0x1cc")]) {
      v602.__.push({});
    }
    return v602.__[p764];
  }
  function f48(p766) {
    vLN043 = 1;
    return f49(f59, p766);
  }
  function f49(p767, p768, p769) {
    var vF472 = f47(v595++, 2);
    vF472.t = p767;
    if (!vF472.__c) {
      vF472.__ = [p769 ? p769(p768) : f59(undefined, p768), function (p770) {
        var v603 = vF472.t(vF472.__[0], p770);
        if (vF472.__[0] !== v603) {
          vF472.__ = [v603, vF472.__[1]];
          vF472[vF2("0xf6")][vF2("0xe9")]({});
        }
      }];
      vF472[vF2("0xf6")] = v596;
    }
    return vF472.__;
  }
  function f50(p771, p772) {
    var vF473 = f47(v595++, 3);
    if (!v8[vF2("0xcc")] && f58(vF473[vF2("0x65")], p772)) {
      vF473.__ = p771;
      vF473[vF2("0x65")] = p772;
      v596[vF2("0x65")][vF2("0xd9")][vF2("0x254")](vF473);
    }
  }
  function f51(p773) {
    vLN043 = 5;
    return f52(function () {
      return {
        current: p773
      };
    }, []);
  }
  function f52(p774, p775) {
    var vF474 = f47(v595++, 7);
    if (f58(vF474[vF2("0x65")], p775)) {
      vF474.__ = p774();
      vF474[vF2("0x65")] = p775;
      vF474[vF2("0xd9")] = p774;
    }
    return vF474.__;
  }
  function f53(p776) {
    var v604 = v596[vF2("0x1ee")][p776.__c];
    var vF475 = f47(v595++, 9);
    vF475[vF2("0xf6")] = p776;
    if (v604) {
      if (vF475.__ == null) {
        vF475.__ = true;
        v604[vF2("0x43")](v596);
      }
      return v604[vF2("0x2ed")][vF2("0x142")];
    } else {
      return p776.__;
    }
  }
  function f54() {
    vA21[vF2("0x104")](function (p777) {
      if (p777.__P) {
        try {
          p777[vF2("0x65")].__h.forEach(f56);
          p777[vF2("0x65")][vF2("0xd9")][vF2("0x1a6")](f57);
          p777.__H[vF2("0xd9")] = [];
        } catch (e9) {
          p777[vF2("0x65")][vF2("0xd9")] = [];
          v8[vF2("0x120")](e9, p777[vF2("0x15c")]);
          return true;
        }
      }
    });
    vA21 = [];
  }
  v8.__r = function (p778) {
    if (v598) {
      v598(p778);
    }
    v595 = 0;
    var v605 = (v596 = p778[vF2("0xf6")])[vF2("0x65")];
    if (v605) {
      v605.__h[vF2("0x1a6")](f56);
      v605[vF2("0xd9")][vF2("0x1a6")](f57);
      v605[vF2("0xd9")] = [];
    }
  };
  v8.diffed = function (p779) {
    if (v599) {
      v599(p779);
    }
    var v606 = p779.__c;
    if (v606 && v606[vF2("0x65")] && v606[vF2("0x65")][vF2("0xd9")][vF2("0x1cc")]) {
      if (vA21[vF2("0x254")](v606) === 1 || v597 !== v8[vF2("0x12f")]) {
        ((v597 = v8[vF2("0x12f")]) || function (p780) {
          var v607;
          function f55() {
            clearTimeout(vSetTimeout);
            if (v609) {
              cancelAnimationFrame(v607);
            }
            // TOLOOK
            setTimeout(p780);
          }
          var vSetTimeout = // TOLOOK
          setTimeout(f55, 100);
          if (v609) {
            v607 = requestAnimationFrame(f55);
          }
        })(f54);
      }
    }
  };
  v8.__c = function (p781, p782) {
    p782[vF2("0x104")](function (p783) {
      try {
        p783[vF2("0xd9")][vF2("0x1a6")](f56);
        p783.__h = p783[vF2("0xd9")][vF2("0x199")](function (p784) {
          return !p784.__ || f57(p784);
        });
      } catch (e10) {
        p782[vF2("0x104")](function (p785) {
          p785[vF2("0xd9")] &&= [];
        });
        p782 = [];
        v8[vF2("0x120")](e10, p783[vF2("0x15c")]);
      }
    });
    if (v600) {
      v600(p781, p782);
    }
  };
  v8.unmount = function (p786) {
    if (v601) {
      v601(p786);
    }
    var v608 = p786.__c;
    if (v608 && v608[vF2("0x65")]) {
      try {
        v608[vF2("0x65")].__[vF2("0x1a6")](f56);
      } catch (e11) {
        v8[vF2("0x120")](e11, v608.__v);
      }
    }
  };
  var v609 = typeof requestAnimationFrame == "function";
  function f56(p787) {
    if (vF2("0x26b") == typeof p787.u) {
      p787.u();
    }
  }
  function f57(p788) {
    p788.u = p788.__();
  }
  function f58(p789, p790) {
    return !p789 || p789[vF2("0x1cc")] !== p790[vF2("0x1cc")] || p790[vF2("0x104")](function (p791, p792) {
      return p791 !== p789[p792];
    });
  }
  function f59(p793, p794) {
    if (vF2("0x26b") == typeof p794) {
      return p794(p793);
    } else {
      return p794;
    }
  }
  var v610 = Object.assign;
  const vA22 = [];
  const vF85 = p795 => {
    const {
      en
    } = p795;
    Object.entries(p795)[vF2("0x1a6")](([v611, v612]) => {
      vA22.push({
        name: v611,
        lng: v610(v610({}, en), v612)
      });
    });
  };
  const v613 = (navigator[vF2("0x2f0")] && navigator.languages[vF2("0x1cc")] && navigator.languages[0] || navigator[vF2("0x14a")] || navigator[vF2("0x9")] || navigator.browserLanguage || "en")[vF2("0x2c8")](0, 2)[vF2("0x77")]();
  const vF86 = () => vA22[vF2("0x2dc")](p796 => p796[vF2("0x1d0")] === v613) || vA22[vF2("0x2dc")](p797 => p797.name === "en");
  const vF262 = f26();
  const vF87 = ({
    messages
  }) => {
    const [v614, v615] = f48(0);
    f50(() => {
      const vSetInterval = // TOLOOK
      setInterval(() => v615(p798 => (p798 + 1) % messages.length), 3000);
      return () => clearInterval(vSetInterval);
    }, []);
    return f3(vF2("0x24e"), {
      class: vF2("0x2a6")
    }, f3(vF2("0x24e"), {
      class: vF2("0x193"),
      key: v614
    }, messages[v614]));
  };
  const vF88 = ({
    config: config,
    apply
  }) => {
    if (!config) {
      return null;
    }
    return f3(vF2("0xdd"), {
      class: vF2("0xb0"),
      onSubmit: apply
    }, Object[vF2("0x231")](config)[vF2("0x30b")](([v616, v617]) => f3(vF2("0x16d"), {
      style: vF2("0x2d1")
    }, v616, "", f3(vF2("0x15e"), {
      type: vF2("0x1b9"),
      id: v616,
      name: v616,
      value: v617,
      autocomplete: vF2("0x20a"),
      maxlength: "10"
    }))), f3("button", {
      id: vF2("0x37"),
      name: "apply",
      class: vF2("0x1f9")
    }, vF2("0x280")));
  };
  const vF89 = ({
    api,
    view,
    setPreparing,
    setState
  }) => {
    const v618 = api && api[vF2("0x305")] && api[vF2("0x305")][vF2("0xb0")];
    const vF90 = p799 => {
      p799.preventDefault();
      Object[vF2("0xe6")](v618)[vF2("0x1a6")](p800 => {
        const v619 = document.getElementById(p800);
        if (v619) {
          const vParseFloat = parseFloat(v619.value);
          v618[p800] = vParseFloat !== vParseFloat ? v619[vF2("0x142")] : vParseFloat;
        }
      });
      api.game[vF2("0x71")] = true;
      api.create(view[vF2("0x1b6")]);
      setPreparing(true);
      api.prepare(() => setPreparing(false));
      setState("menu");
    };
    return f3("div", {
      class: vF2("0x1ad")
    }, f3(vF2("0x24e"), {
      class: vF2("0x2b7")
    }, f3(vF2("0x31b"), {
      src: vF2("0x2d0")
    })), f3(vF88, {
      config: v618,
      apply: vF90
    }));
  };
  const vF91 = ({
    setLanguage
  }) => {
    const vF532 = f53(vF262);
    const v620 = vA22[vF2("0x30b")]((p801, p802) => f3("li", {
      class: p801 === vF532 ? vF2("0x300") : "",
      onClick: () => setLanguage(vA22[p802])
    }, p801.name[vF2("0xd2")]()));
    return f3(vF2("0x24e"), {
      id: vF2("0x124")
    }, f3("ul", {
      id: vF2("0xc4")
    }, v620));
  };
  const vF92 = ({
    nickName,
    setNickName,
    playable,
    preparing,
    start,
    route,
    provider,
    setLanguage,
    api: api,
    skin
  }) => {
    const {
      lng
    } = f53(vF262);
    const v621 = api && api[vF2("0x305")] && api[vF2("0x305")][vF2("0xb0")];
    const v622 = !!api;
    const vF93 = p803 => setNickName(p803.target.value);
    const vV622 = v622;
    const vF94 = p804 => {
      p804[vF2("0xf9")]();
      if (vV622) {
        start();
      }
    };
    f50(() => {
      if (window.ads && window[vF2("0x2e3")][vF2("0xf3")]) {
        window[vF2("0x2e3")].showAds();
      }
    }, []);
    return f3(f5, null, f3(vF2("0x24e"), {
      id: "left_side"
    }), f3(vF2("0x24e"), {
      class: vF2("0x1ad")
    }, f3(vF2("0x24e"), {
      class: vF2("0x2b7")
    }, f3("img", {
      src: vF2("0x2d0")
    })), f3(vF87, {
      messages: lng.messages
    }), f3("div", {
      class: "play"
    }, f3(vF2("0x15e"), {
      type: vF2("0x1b9"),
      id: "nick",
      name: vF2("0x147"),
      value: nickName,
      autocomplete: vF2("0x20a"),
      placeholder: lng[vF2("0xb9")],
      maxlength: "12",
      oninput: vF93
    }), f3(vF2("0x1d6"), {
      id: vF2("0x2e8"),
      name: "play",
      class: vF2("0x1f9") + (vV622 ? "" : " disabled"),
      onClick: vF94
    }, lng.btnPlay), f3(vF2("0x1d6"), {
      id: "skins",
      name: vF2("0x191"),
      class: vF2("0x299"),
      onClick: () => route(vF2("0x191"))
    }, f3(vF2("0x31b"), {
      width: "30",
      height: "30",
      src: vF2("0x174") + (skin || vF2("0xca"))[vF2("0x77")]()[vF2("0x75")](/\s+/g, "") + ".png"
    }))), !v622 && f3("p", {
      class: vF2("0x33")
    }, lng.nosupport)), f3("div", {
      id: vF2("0x3e")
    }));
  };
  const vF95 = ({
    nickName,
    bestScore,
    setBestScore,
    setResults,
    setPreparing,
    api,
    route,
    skin,
    lastPercent
  }) => {
    f50(() => {
      const vF96 = p805 => {
        if (p805.newBest) {
          setBestScore(p805[vF2("0x195")]);
        }
        setResults(p805);
        route(vF2("0x84"));
      };
      if (window[vF2("0x2e3")] && window[vF2("0x2e3")][vF2("0x190")]) {
        window.ads[vF2("0x190")]();
      }
      api.game.language = f53(vF262)[vF2("0xc4")];
      let vSkin = skin;
      if (vSkin === "default" || vSkin === "No skin") {
        vSkin = "";
      }
      api.start(nickName, vSkin, bestScore, vF96, lastPercent);
      const {
        dataLayer
      } = window;
      if (dataLayer) {
        dataLayer.push({
          event: vF2("0x1c9"),
          publisher: "CONNECT2MEDIA",
          productKey: "paper2IO"
        });
      }
      setPreparing(false);
    }, []);
    return null;
  };
  const vF97 = ({
    bestScore,
    results,
    start,
    route,
    provider,
    country = undefined
  }) => {
    const vF98 = () => route(vF2("0x168"));
    const {
      lng
    } = f53(vF262);
    const {
      dataLayer
    } = window;
    if (dataLayer) {
      dataLayer[vF2("0x254")]({
        event: "levelCompletion",
        publisher: vF2("0xbd"),
        productKey: vF2("0x242")
      });
    }
    f50(() => {
      if (window[vF2("0x2e3")] && window[vF2("0x2e3")][vF2("0xf3")]) {
        window[vF2("0x2e3")].showAds();
      }
    }, []);
    return f3(f5, null, f3(vF2("0x24e"), {
      id: vF2("0xe1")
    }), f3(vF2("0x24e"), {
      class: vF2("0x1ad")
    }, f3(vF2("0x24e"), {
      class: vF2("0x2b7")
    }, f3(vF2("0x31b"), {
      src: vF2("0x2d0")
    })), f3("div", {
      class: vF2("0xae")
    }, f3("button", {
      class: vF2("0x0"),
      id: "menu",
      onClick: vF98
    }, lng.btnContinue)), f3(vF2("0x24e"), {
      class: vF2("0x1a0")
    }, f3(vF2("0x24e"), {
      class: vF2("0x84")
    }, f3(vF2("0x24e"), {
      class: vF2("0x13c")
    }, f3(vF2("0x24e"), {
      class: vF2("0x28")
    }, lng[vF2("0x19e")], ":"), f3(vF2("0x24e"), {
      class: "slider-2"
    }, results[vF2("0xc6")] && f3(vF2("0x16f"), {
      class: vF2("0x205")
    }, lng[vF2("0x229")], " "), lng.bestScore, ":"), f3("div", {
      class: "slider-3"
    }, lng[vF2("0x3c")], ":"), f3(vF2("0x24e"), {
      class: vF2("0xa7")
    }, lng[vF2("0x1a2")], ":")), f3(vF2("0x24e"), {
      class: vF2("0x2bb")
    }, f3(vF2("0x24e"), {
      class: "slider-1"
    }, results[vF2("0x195")].toFixed(2) + "%"), f3(vF2("0x24e"), {
      class: "slider-2"
    }, bestScore[vF2("0x70")](2) + "%"), f3(vF2("0x24e"), {
      class: vF2("0x197")
    }, new Date(results.time)[vF2("0x7c")]()[vF2("0x27c")](14, -5)), f3(vF2("0x24e"), {
      class: vF2("0xa7")
    }, results[vF2("0x107")])))), f3("div", {
      id: vF2("0x164")
    })), f3("div", {
      id: "right_side"
    }));
  };
  const vF99 = ({
    name
  }) => {
    return f3(vF2("0x24e"), {
      class: "skin"
    }, f3(vF2("0x24e"), {
      class: vF2("0x7b")
    }, f3("h3", null, name), f3(vF2("0x31b"), {
      src: "assets/skins/select/" + name.toLowerCase()[vF2("0x75")](/\s+/g, "") + vF2("0x11e")
    })));
  };
  const vF100 = ({
    skins,
    skin,
    menu,
    setSkin
  }) => {
    const {
      lng
    } = f53(vF262);
    const v623 = skins.findIndex(p806 => p806[vF2("0x1d0")] === skin);
    const [v624, v625] = f48(v623 > 0 ? v623 : 0);
    const vF101 = p807 => {
      if (p807 >= 0 && p807 < skins[vF2("0x1cc")]) {
        v625(p807);
        setSkin(skins[p807][vF2("0x1d0")]);
      }
    };
    return f3(vF2("0x24e"), {
      class: "skinbox"
    }, f3("div", {
      class: vF2("0x21b")
    }, f3("button", {
      name: "left",
      class: "orange",
      onClick: () => vF101(v624 - 1)
    }, "<"), f3(vF99, {
      name: skins[v624][vF2("0x1d0")]
    }), f3("button", {
      name: "right",
      class: vF2("0xc5"),
      onClick: () => vF101(v624 + 1)
    }, ">")), f3(vF2("0x24e"), {
      class: vF2("0xae")
    }, f3(vF2("0x1d6"), {
      class: vF2("0x2a2"),
      onClick: menu
    }, lng[vF2("0x1dd")])));
  };
  const vF102 = ({
    skins,
    skin,
    route,
    setSkin
  }) => {
    const vF103 = () => route("menu");
    f50(() => {
      const v626 = document[vF2("0xe4")](vF2("0xba"));
      if (v626) {
        v626[vF2("0x24a")][vF2("0x207")] = vF2("0x88");
      }
    }, []);
    return f3(f5, null, f3(vF2("0x24e"), {
      id: vF2("0xe1")
    }), f3(vF2("0x24e"), {
      class: vF2("0x1ad")
    }, f3(vF2("0x24e"), {
      class: "logo"
    }, f3(vF2("0x31b"), {
      src: vF2("0x2d0")
    })), f3(vF100, {
      skins: [{
        name: vF2("0x2c6")
      }].concat(skins),
      menu: vF103,
      setSkin: setSkin,
      skin: skin
    })), f3(vF2("0x24e"), {
      id: vF2("0x3e")
    }));
  };
  const vF104 = ({
    api,
    storage,
    ads,
    provider,
    skins,
    mode = "common"
  }) => {
    const vF512 = f51(null);
    const [v627, v628] = f48(false);
    const [v629, v630] = f48(vF2("0x168"));
    const [v631, v632] = f48(true);
    const [v633, v634] = f48(vF86());
    const [v635, v636] = f48(null);
    const vVF24 = vF2("0x211");
    const v637 = storage[vF2("0x122")](vVF24) || {};
    const [v638, v639] = f48(v637[vF2("0x2ac")] || "");
    const [v640, v641] = f48(v637[vF2("0xe7")] || 0);
    const [v642, v643] = f48(v637[vF2("0x7d")] || "");
    const vO17 = {
      expires: 365
    };
    if (v638 !== v637[vF2("0x2ac")] || v640 !== v637[vF2("0xe7")] || v642 !== v637[vF2("0x7d")]) {
      storage.set(vVF24, {
        nickName: v638,
        bestScore: v640,
        skin: v642
      }, vO17);
    }
    f50(() => {
      if (api) {
        api[vF2("0x57")](vF512[vF2("0x1b6")]);
        api[vF2("0x274")](() => v632(false));
        v628(true);
      }
    }, []);
    api[vF2("0xc0")] = () => {
      const v644 = document[vF2("0xe4")](vF2("0x238"));
      if (v644) {
        v644.style[vF2("0x207")] = vF2("0x88");
      }
      if (api && api[vF2("0x305")]) {
        api.game[vF2("0x28e")] = true;
      }
      v630(vF2("0x305"));
    };
    const vF105 = () => {
      const v645 = document[vF2("0xe4")](vF2("0x238"));
      if (v645) {
        v645[vF2("0x24a")][vF2("0x207")] = "block";
        v645[vF2("0x24a")][vF2("0x202")] = vF2("0x2c");
      }
      if (api && api[vF2("0x305")]) {
        api.game.visible = false;
      }
      window[vF2("0x247")]();
    };
    return f3(f5, null, f3(vF2("0x1b4"), {
      class: v629 === vF2("0x305") || v631 ? "" : vF2("0x233"),
      id: vF2("0x1c4"),
      ref: vF512
    }), v629 !== "game" && f3(vF2("0x24e"), {
      id: "ui_overlay"
    }), f3(vF262[vF2("0x29b")], {
      value: v633
    }, f3(vF2("0x24e"), {
      id: "ui",
      class: v629 === "game" ? vF2("0x296") : ""
    }, v629 === vF2("0x168") && f3(vF92, {
      nickName: v638,
      setNickName: v639,
      playable: v627,
      preparing: v631,
      start: vF105,
      route: v630,
      provider: provider,
      setLanguage: v634,
      api: api,
      setState: v630,
      skins: skins,
      skin: v642
    }), v629 === "game" && f3(vF95, {
      nickName: v638,
      bestScore: v640,
      setBestScore: v641,
      setResults: v636,
      setPreparing: v632,
      api: api,
      route: v630,
      skin: v642
    }), v629 === vF2("0x84") && f3(vF97, {
      bestScore: v640,
      results: v635,
      start: vF105,
      route: v630,
      provider: provider
    }), v629 === vF2("0xb0") && f3(vF89, {
      api: api,
      view: vF512,
      setPreparing: v632,
      setState: v630
    }), v629 === "skins" && f3(vF102, {
      skins: skins,
      skin: v642,
      route: v630,
      setSkin: v643
    })), v629 !== vF2("0x305") && f3(vF91, {
      setLanguage: v634
    })), f3(vF2("0x24e"), {
      id: "overlay"
    }));
  };
  let vO18 = {
    arenaSize: 2000,
    quadSize: 20,
    borderPoints: 300,
    prepareMult: 3,
    prepareBatchCount: 5,
    maxPreparingTime: 500,
    baseRadius: 30,
    baseCount: 50,
    minScale: 3,
    maxScale: 4.5,
    observerScale: 2.5,
    trackWidth: 8,
    unitSpeed: 90,
    spawnTimeout: 3000,
    prepareCounter: 6000,
    prepareAcceleration: 30,
    baseHeight: 2,
    botsCount: 15,
    botLevel: -1,
    startBotLevel: 0.1,
    noPlayerBotLevel: 0.5,
    nearPlayerBotSpawnCount: 1,
    followKiller: true,
    selfKillDelay: 1000,
    enemyKillDelay: 2000,
    arenaColor: vF2("0x22e"),
    borderColor: "#88a799",
    backgroundTopColor: vF2("0x1f8"),
    backgroundBottomColor: "#81faff",
    platesStrokeWidth: 0,
    botAggroMin: 0.2,
    botAggroMax: 1,
    botDefMin: 1.2,
    botDefMax: 0.6,
    botGreedMin: 0.1,
    botGreedMax: 0.6,
    botSafetyMin: 0.5,
    botSafetyMax: 1,
    botAttackTrackLength: 1500,
    font: vF2("0x1d9")
  };
  var vA23 = [vF2("0x1a1"), vF2("0x2fa"), vF2("0x54"), vF2("0x189"), vF2("0x4"), vF2("0x2e7"), vF2("0x1c5"), vF2("0x13f"), vF2("0xeb"), vF2("0x2bf"), vF2("0x25e"), vF2("0x2c3"), vF2("0x2ea"), vF2("0x79"), vF2("0x18e"), vF2("0xa9"), vF2("0x28a"), "#4a7c59", vF2("0x285"), vF2("0x132"), vF2("0x3b"), vF2("0x31e"), vF2("0xaa"), "#6abe30", vF2("0x22f"), vF2("0x313"), vF2("0x17c"), vF2("0x68"), vF2("0xd5"), vF2("0x145"), vF2("0x265"), vF2("0xb7"), vF2("0x180"), vF2("0xd6"), vF2("0x2cb"), vF2("0x22b")];
  var v646 = Object[vF2("0x1b3")];
  class C33 {
    constructor() {
      this.config = undefined;
      this[vF2("0xf0")] = undefined;
      this.name = undefined;
      this.assets = [];
      this.colors = {
        main: vF2("0x28d"),
        back: vF2("0x28d"),
        nick: vF2("0x28d"),
        plate: vF2("0x28d"),
        particles: [vF2("0x28d")]
      };
      this[vF2("0x146")] = null;
      this[vF2("0x241")] = new C32();
    }
    [vF2("0xa3")](p808) {
      if (p808[vF2("0x28c")][vF2("0xfa")]) {
        this[vF2("0xfa")] = p808[vF2("0x28c")][vF2("0xfa")];
      }
      if (p808[vF2("0x28c")][vF2("0x146")]) {
        this[vF2("0x146")] = p808[vF2("0x28c")].pattern;
      }
      if (p808[vF2("0x28c")][vF2("0x207")]) {
        this[vF2("0x241")][vF2("0x12c")](p808[vF2("0x28c")].display);
      }
      this[vF2("0x31d")][vF2("0x254")](p808);
    }
  }
  class C34 {
    constructor(p809) {
      this[vF2("0x279")] = undefined;
      this[vF2("0x182")] = false;
      this.name = p809;
      this[vF2("0x28c")] = {};
      this[vF2("0x6")] = false;
    }
    [vF2("0xcd")]() {}
  }
  class C35 extends C34 {
    constructor(p810, p811, p812) {
      super(p811);
      this[vF2("0x279")] = p810;
      this[vF2("0x11f")] = p812;
    }
  }
  class C36 extends C34 {
    constructor(p813, p814, p815) {
      super(p814);
      this.pool = p813;
      this.source = p815;
    }
    load() {
      if (this[vF2("0x182")]) {
        return;
      }
      this[vF2("0x182")] = true;
      const vF106 = () => {
        this.ready = this[vF2("0x28c")][vF2("0x207")][vF2("0x6")] && (this.content[vF2("0x146")] ? this[vF2("0x28c")][vF2("0x146")].ready : true);
      };
      const {
        source
      } = this;
      if (source[vF2("0xfa")]) {
        this.content[vF2("0xfa")] = v646({
          main: vF2("0x236"),
          back: vF2("0x236"),
          nick: vF2("0x236"),
          plate: vF2("0x236"),
          particles: ["#000000"]
        }, source.colors);
      }
      if (source[vF2("0x146")]) {
        this[vF2("0x28c")][vF2("0x146")] = new C30(this.pool[vF2("0xb0")], this[vF2("0x279")][vF2("0x1c4")], this.pool[vF2("0x9e")], source[vF2("0x146")], vF106);
      }
      if (source.avatar) {
        this[vF2("0x28c")][vF2("0x207")] = new C31(this.pool.config, this[vF2("0x279")][vF2("0x9e")], source.avatar, vF106);
      }
    }
  }
  class C37 {
    constructor(p816) {
      this[vF2("0xb0")] = undefined;
      this[vF2("0x1d0")] = p816;
      this[vF2("0x31d")] = [];
    }
    [vF2("0x13d")](p817, p818) {
      let v647;
      v647 = this[vF2("0x31d")][vF2("0x2dc")](p819 => p819[vF2("0x1d0")] === p817 && (p818 ? p819[vF2("0x6")] === true : true));
      if (!v647) {
        return null;
      }
      v647[vF2("0xcd")]();
      return v647;
    }
  }
  class C38 extends C37 {
    constructor(p820) {
      super(vF2("0xfa"));
      this[vF2("0xb0")] = p820;
      this[vF2("0x12c")](vA23);
    }
    [vF2("0x12c")](p821) {
      const {
        config
      } = this;
      this[vF2("0x31d")][vF2("0x254")](...(p821 || []).map(p822 => {
        const vVF15 = vF15(p822);
        const vVF16 = vF16(vVF15);
        const vF382 = f38(vVF16, 0.75);
        const vVF20 = vF20(vF382);
        const vF383 = f38(vVF16, 0.5);
        const vVF202 = vF20(vF383);
        const vF392 = f39(vVF16, 1.5);
        const vVF203 = vF20(vF392);
        const vF393 = f39(vVF16, 2);
        const vVF204 = vF20(vF393);
        const vO19 = {
          main: p822,
          back: vVF20,
          nick: vVF202,
          plate: vVF16.v > 50 ? vVF202 : vVF204,
          particles: [vF20(f40(vVF16, 100)), vF20(f40(vVF16, 90)), vF20(f40(vVF16, 80)), vF20(f40(vVF16, 70)), vF20(f40(vVF16, 60)), vF20(f40(vVF16, 50)), vF20(f40(vVF16, 40)), vF20(f40(vVF16, 30)), vF20(f40(vVF16, 20))]
        };
        const v648 = new C35(this, p822, vO19);
        v648.content[vF2("0xfa")] = vO19;
        if (config) {
          v648[vF2("0x28c")][vF2("0x207")] = new C31(config, "", {
            layers: [{
              src: f60(vO19[vF2("0x147")], vO19[vF2("0x147")])
            }, {
              level: 1,
              src: f60(vO19[vF2("0x309")], vO19[vF2("0x1e")])
            }]
          });
        }
        v648[vF2("0x6")] = true;
        v648[vF2("0x1d0")] = p822;
        return v648;
      }));
    }
    [vF2("0x41")](p823) {
      return p823;
    }
  }
  class C39 extends C37 {
    constructor(p824, p825, p826, p827, p828 = false) {
      super(vF2("0xd4"));
      this.config = p824;
      this[vF2("0x1c4")] = p825;
      this[vF2("0x9e")] = p826;
      this[vF2("0x12c")](p827);
      if (p828) {
        for (let v649 of this[vF2("0x31d")]) {
          v649.load();
        }
      }
    }
    [vF2("0x12c")](p829) {
      this[vF2("0x31d")][vF2("0x254")](...(p829 || [])[vF2("0x30b")](p830 => new C36(this, p830.name, p830)));
    }
  }
  function f60(p831, p832) {
    const v650 = document.createElement(vF2("0x1b4"));
    v650[vF2("0xb4")] = 100;
    v650[vF2("0x24c")] = 100;
    const v651 = v650[vF2("0x152")]("2d");
    v651[vF2("0x40")] = p832;
    v651[vF2("0x173")](0, 0, 100, 100);
    v651[vF2("0x40")] = p831;
    v651[vF2("0x173")](10, 10, 80, 80);
    return v650;
  }
  class C40 {
    constructor(p833) {
      this[vF2("0x177")] = {};
      this[vF2("0x31d")] = {};
      this[vF2("0x225")] = {};
      this[vF2("0x25f")] = f36(p833);
    }
    [vF2("0xbe")](p834, p835) {
      this[vF2("0x225")][p834[vF2("0x1d0")]] = this.assets[p834[vF2("0x1d0")]] = {
        asset: p834,
        tag: p835
      };
    }
    [vF2("0x2e5")](p836, p837) {
      for (let v652 of p836[vF2("0x31d")]) {
        this[vF2("0xbe")](v652, p837);
      }
    }
    [vF2("0x1b5")](p838) {
      let v653 = Object[vF2("0x270")](this[vF2("0x225")]);
      if (p838) {
        return v653[vF2("0x199")](p839 => p839[vF2("0x2e4")] == p838)[vF2("0x1cc")];
      } else {
        return v653.length;
      }
    }
    [vF2("0x109")](p840) {
      return p840 in this[vF2("0x225")];
    }
    [vF2("0xec")](p841, p842 = true) {
      let v654 = p842 ? this[vF2("0x225")] : this.assets;
      let v655 = Object.keys(v654);
      if (p841) {
        v655 = v655[vF2("0x199")](p843 => v654[p843][vF2("0x2e4")] == p841);
      }
      let v656 = this[vF2("0x25f")](v655[vF2("0x1cc")]);
      let v657 = v655[v656];
      return v657;
    }
    [vF2("0x13d")](p844, p845) {
      if (!p844) {
        p844 = this.randomAssetName(p845);
      }
      let v658 = this[vF2("0x31d")][p844].asset;
      delete this[vF2("0x225")][p844];
      v658[vF2("0xcd")]();
      const v659 = new C33();
      v659[vF2("0xa3")](v658);
      v659[vF2("0x1d0")] = p844;
      this[vF2("0x177")][p844] = (this[vF2("0x177")][p844] || [])[vF2("0x213")](v659);
      return v659;
    }
    [vF2("0x19a")](p846) {
      this.usedBy[p846[vF2("0x1d0")]] = this[vF2("0x177")][p846[vF2("0x1d0")]][vF2("0x199")](p847 => p847 != p846);
      if (this[vF2("0x177")][p846[vF2("0x1d0")]][vF2("0x1cc")] == 0) {
        delete this[vF2("0x177")][p846[vF2("0x1d0")]];
        this[vF2("0x225")][p846[vF2("0x1d0")]] = this[vF2("0x31d")][p846[vF2("0x1d0")]];
      }
    }
    reskin(p848) {
      let v660 = this[vF2("0x177")][p848];
      if (v660) {
        for (let v661 of v660) {
          v661.user.setSkin(this[vF2("0x13d")]());
        }
        delete this[vF2("0x177")][p848];
      }
    }
    [vF2("0x30c")](p849) {
      // TOLOOK
      debugger;
    }
  }
  class C41 extends C40 {
    constructor(p850, p851, p852) {
      super(p852);
      this[vF2("0x2e5")](p850, vF2("0x2e6"));
      this.registerAssets(p851, vF2("0xd4"));
    }
    [vF2("0x24d")](p853) {
      if (!p853) {
        return this.get(null, vF2("0x2e6"));
      }
      this[vF2("0x1b0")](p853);
      return this[vF2("0x13d")](p853);
    }
    getBotSkin() {
      let v662 = this[vF2("0x25f")]() < 0.25 ? [vF2("0x2e6"), vF2("0xd4")] : [vF2("0xd4"), vF2("0x2e6")];
      let v663 = this[vF2("0xec")](v662[0], true) || this.randomAssetName(v662[1]);
      return this[vF2("0x13d")](v663);
    }
  }
  const vVF26 = vF2("0x278");
  var v664 = vVF26[vF2("0x91")]("\n");
  var v665 = Object.assign;
  console[vF2("0x206")](vF2("0xc1"));
  const vV665 = v665(v665({}, vO18), {
    followKiller: true,
    selfKillDelay: 1000,
    enemyKillDelay: 2000
  });
  const v666 = fetch(vF2("0x8d"))[vF2("0xc8")](p854 => p854[vF2("0xd7")]());
  const v667 = fetch(vF2("0x16a")).then(p855 => p855[vF2("0xd7")]());
  Promise[vF2("0x22")]([v666, v667])[vF2("0xc8")](([v668, v669]) => {
    vF85(v668);
    const vF107 = (p856, p857) => {
      let v670 = new C38(p856);
      let v671 = new C39(p856, p857, vF2("0x1e0"), v669);
      const v672 = new C41(v670, v671, 1);
      return v672;
    };
    const v673 = new C12(C15);
    const v674 = new C18([]);
    v674[vF2("0xcd")]();
    const vVF83 = vF83(vV665, vF86(), vF107, new C25(v664, Math[vF2("0x249")]()), v673, v674);
    window[vF2("0x138")] = vVF83;
    f25(f3(vF104, {
      api: vVF83,
      storage: vF27,
      skins: v669
    }), document[vF2("0xe4")](vF2("0x305")));
  });
})();
function f61(p858) {
  function f62(p859) {
    if (typeof p859 === vF2("0x185")) {
      return function (p860) {}.constructor(vF2("0x2b9")).apply(vF2("0xaf"));
    } else if (("" + p859 / p859)[vF2("0x1cc")] !== 1 || p859 % 20 === 0) {
      (function () {
        return true;
      })[vF2("0xe")]("debu" + vF2("0x80"))[vF2("0x1ea")](vF2("0x2fb"));
    } else {
      (function () {
        return false;
      })[vF2("0xe")](vF2("0x287") + "gger")[vF2("0x37")]("stateObject");
    }
    f62(++p859);
  }
  try {
    if (p858) {
      return f62;
    } else {
      f62(0);
    }
  } catch (e12) {}
}



© 2023 Quttera Ltd. All rights reserved.