{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/Player.ts","webpack:///./src/Faction/data/FactionNames.ts","webpack:///./src/Settings/Settings.ts","webpack:///./src/ui/numeralFormat.ts","webpack:///./src/Locations/data/LocationNames.ts","webpack:///./src/Augmentation/data/AugmentationNames.ts","webpack:///./src/Constants.ts","webpack:///./src/ui/React/DialogBox.tsx","webpack:///./src/Locations/data/CityNames.ts","webpack:///./src/ui/React/Money.tsx","webpack:///./src/BitNode/BitNodeMultipliers.ts","webpack:///./src/utils/JSONReviver.ts","webpack:///./src/Server/AllServers.ts","webpack:///./src/utils/StringHelperFunctions.ts","webpack:///./src/utils/helpers/keyCodes.ts","webpack:///./src/ui/Router.ts","webpack:///./src/ui/Context.ts","webpack:///./src/Faction/Factions.ts","webpack:///./src/Company/data/companypositionnames.ts","webpack:///./src/utils/helpers/getRandomInt.ts","webpack:///./src/Augmentation/Augmentation.tsx","webpack:///./src/ui/React/Modal.tsx","webpack:///./src/Corporation/data/Constants.ts","webpack:///./src/Hacknet/data/Constants.ts","webpack:///./src/Bladeburner/data/ActionTypes.ts","webpack:///./src/InteractiveTutorial.ts","webpack:///./src/Server/Server.ts","webpack:///./src/Corporation/EmployeePositions.ts","webpack:///./src/Corporation/ui/Context.ts","webpack:///./src/Corporation/IndustryData.tsx","webpack:///./src/Locations/LocationTypeEnum.ts","webpack:///./src/Hacknet/HacknetHelpers.tsx","webpack:///./src/Bladeburner/data/Constants.ts","webpack:///./src/Bladeburner/data/BlackOperationNames.ts","webpack:///./src/PersonObjects/Player/PlayerObjectGeneralMethods.ts","webpack:///./src/Programs/Programs.ts","webpack:///./src/CotMG/FragmentType.ts","webpack:///./src/Corporation/Actions.ts","webpack:///./src/Literature/data/LiteratureNames.ts","webpack:///./src/PersonObjects/Sleeve/SleeveTaskTypesEnum.ts","webpack:///./src/StockMarket/data/PositionTypes.ts","webpack:///./src/Augmentation/StaticAugmentations.ts","webpack:///./src/Company/Companies.ts","webpack:///./src/ui/React/Table.tsx","webpack:///./src/Gang/AllGangs.ts","webpack:///./src/ui/React/StatsRow.tsx","webpack:///./src/Crime/Crimes.ts","webpack:///./src/Terminal/DirectoryHelpers.ts","webpack:///./src/Terminal.ts","webpack:///./src/Casino/utils.ts","webpack:///./src/Server/data/SpecialServers.ts","webpack:///./src/Work/ClassWork.tsx","webpack:///./src/ui/GameRoot.tsx","webpack:///./src/Hacknet/HacknetServer.ts","webpack:///./src/ui/React/Snackbar.tsx","webpack:///./src/StockMarket/data/StockSymbols.ts","webpack:///./src/Script/isScriptFilename.ts","webpack:///./src/Hacking.ts","webpack:///./src/Work/data/FactionWorkType.ts","webpack:///./src/CotMG/Helper.tsx","webpack:///./src/StockMarket/StockMarket.tsx","webpack:///./src/Company/CompanyPositions.ts","webpack:///./src/Faction/FactionHelpers.tsx","webpack:///./src/NetscriptEvaluator.ts","webpack:///./src/Exploits/Exploit.ts","webpack:///./src/SaveObject.tsx","webpack:///./src/Augmentation/AugmentationHelpers.tsx","webpack:///./src/CodingContracts.ts","webpack:///./src/StockMarket/data/OrderTypes.ts","webpack:///./src/ui/React/MoneyRate.tsx","webpack:///./src/CotMG/Fragment.ts","webpack:///./src/ScriptEditor/ui/themes.ts","webpack:///./src/utils/EventEmitter.ts","webpack:///./src/DevMenu/ui/Adjuster.tsx","webpack:///./src/Infiltration/utils.ts","webpack:///./src/Bladeburner/BlackOperation.ts","webpack:///./src/Corporation/data/BaseResearchTree.ts","webpack:///./src/Server/ServerHelpers.ts","webpack:///./src/Bladeburner/data/SkillNames.ts","webpack:///./src/ui/React/Reputation.tsx","webpack:///./src/Gang/ui/Context.ts","webpack:///./src/Netscript/killWorkerScript.ts","webpack:///./src/Corporation/ui/MoneyCost.tsx","webpack:///./src/utils/helpers/isString.ts","webpack:///./src/ui/React/OptionSwitch.tsx","webpack:///./src/BitNode/BitNode.tsx","webpack:///./src/Work/Work.ts","webpack:///./src/StockMarket/Stock.ts","webpack:///./src/Locations/Cities.ts","webpack:///./src/Hacknet/formulas/HacknetServers.ts","webpack:///./src/Alias.ts","webpack:///./src/Locations/Locations.ts","webpack:///./src/Work/WorkStats.ts","webpack:///./src/Literature/Literature.ts","webpack:///./src/ui/React/CopyableText.tsx","webpack:///./src/Themes/ui/Theme.tsx","webpack:///./src/Settings/SettingEnums.ts","webpack:///./src/ui/React/LogBoxManager.tsx","webpack:///./src/Corporation/MaterialSizes.ts","webpack:///./src/PersonObjects/formulas/skill.ts","webpack:///./src/Gang/data/upgrades.ts","webpack:///./src/Faction/Faction.ts","webpack:///./src/Gang/data/Constants.ts","webpack:///./src/Netscript/ScriptDeath.ts","webpack:///./src/NetscriptWorker.ts","webpack:///./src/Netscript/WorkerScripts.ts","webpack:///./src/ui/React/StatsTable.tsx","webpack:///./src/Corporation/Material.ts","webpack:///./src/Gang/formulas/formulas.ts","webpack:///./src/Infiltration/ui/GameTimer.tsx","webpack:///./src/Bladeburner/Bladeburner.tsx","webpack:///./src/Hacknet/formulas/HacknetNodes.ts","webpack:///./src/Casino/Game.tsx","webpack:///./src/CotMG/data/Shapes.ts","webpack:///./src/Infiltration/ui/Difficulty.ts","webpack:///./src/Infiltration/ui/KeyHandler.tsx","webpack:///./src/Work/FactionWork.tsx","webpack:///./src/ui/React/Hashes.tsx","webpack:///./src/Hacknet/HacknetNode.ts","webpack:///./src/Server/ServerPurchases.ts","webpack:///./src/TextFile.ts","webpack:///./src/Netscript/RamCostGenerator.ts","webpack:///./src/Bladeburner/Skills.ts","webpack:///./src/StockMarket/StockMarketHelpers.ts","webpack:///./src/Gang/GangMemberUpgrades.ts","webpack:///./src/PersonObjects/ITaskTracker.ts","webpack:///./src/StockMarket/StockMarketCosts.ts","webpack:///./src/PersonObjects/Multipliers.ts","webpack:///./src/Hacknet/HashUpgrades.ts","webpack:///./src/Gang/GangMemberTasks.ts","webpack:///./src/Corporation/Warehouse.ts","webpack:///./src/StockMarket/BuyingAndSelling.tsx","webpack:///./src/Terminal/ITerminal.tsx","webpack:///./src/Bladeburner/Skill.ts","webpack:///./src/utils/WorkType.ts","webpack:///./src/ui/React/ConfirmationModal.tsx","webpack:///./src/utils/helpers/createProgressBarText.ts","webpack:///./src/hash/hash.ts","webpack:///./src/Company/Company.ts","webpack:///./src/Script/Script.ts","webpack:///./src/DarkWeb/DarkWebItems.ts","webpack:///./src/Bladeburner/GeneralActions.tsx","webpack:///./src/Casino/CardDeck/Card.ts","webpack:///./src/Bladeburner/ActionIdentifier.ts","webpack:///./src/SourceFile/SourceFile.ts","webpack:///./src/Script/ScriptHelpers.ts","webpack:///./src/MathJaxWrapper.tsx","webpack:///./src/utils/helpers/exceptionAlert.ts","webpack:///./src/Corporation/data/CorporationUnlockUpgrades.ts","webpack:///./src/PersonObjects/Grafting/GraftingHelpers.ts","webpack:///./src/Bladeburner/BlackOperations.tsx","webpack:///./src/CotMG/ActiveFragment.ts","webpack:///./src/Crime/Crime.ts","webpack:///./src/PersonObjects/formulas/intelligence.ts","webpack:///./src/utils/helpers/arrayToString.ts","webpack:///./src/PersonObjects/formulas/reputation.ts","webpack:///./src/GameOptions/GameOptionsTab.ts","webpack:///./src/ui/React/HashRate.tsx","webpack:///./src/Message/Message.ts","webpack:///./src/Locations/ui/ApplyToJobButton.tsx","webpack:///./src/Corporation/ResearchMap.ts","webpack:///./src/Netscript/WorkerScriptStartStopEventEmitter.ts","webpack:///./src/Electron.tsx","webpack:///./src/Work/CreateProgramWork.ts","webpack:///./src/Achievements/Achievements.ts","webpack:///./src/ui/React/CharacterOverview.tsx","webpack:///./src/utils/helpers/addOffset.ts","webpack:///./src/DarkWeb/DarkWebItem.ts","webpack:///./src/Augmentation/PlayerOwnedAugmentation.ts","webpack:///./src/Casino/RNG.ts","webpack:///./src/Work/CompanyWork.tsx","webpack:///./src/utils/helpers/compareArrays.ts","webpack:///./src/Corporation/IndustryUpgrades.ts","webpack:///./src/ui/React/Favor.tsx","webpack:///./src/Work/formulas/Class.ts","webpack:///./src/PersonObjects/Sleeve/Sleeve.ts","webpack:///./src/Script/RamCalculationErrorCodes.ts","webpack:///./src/Terminal/TerminalEvents.ts","webpack:///./src/StockMarket/OrderProcessing.tsx","webpack:///./src/Themes/Themes.ts","webpack:///./src/ui/React/AlertManager.tsx","webpack:///./src/utils/IPAddress.ts","webpack:///./src/db.tsx","webpack:///./src/Message/MessageHelpers.ts","webpack:///./src/Faction/formulas/favor.ts","webpack:///./src/CodingContractGenerator.ts","webpack:///./src/ExportBonus.tsx","webpack:///./src/Faction/ui/Option.tsx","webpack:///./src/Bladeburner/Operation.ts","webpack:///./src/Augmentation/data/AugmentationCreator.tsx","webpack:///./src/Server/data/servers.ts","webpack:///./src/Company/CompanyPosition.ts","webpack:///./src/Script/RunningScript.ts","webpack:///./src/utils/helpers/checkEnum.ts","webpack:///./src/SourceFile/SourceFiles.tsx","webpack:///./src/Bladeburner/ui/StartButton.tsx","webpack:///./src/ui/React/CorruptableText.tsx","webpack:///./src/Work/GraftingWork.tsx","webpack:///./src/utils/helpers/formatTime.ts","webpack:///./src/Faction/FactionInfo.tsx","webpack:///./src/Hacknet/HashManager.ts","webpack:///./src/ui/InteractiveTutorial/ITutorialEvents.ts","webpack:///./src/Crime/CrimeHelpers.ts","webpack:///./src/Corporation/OfficeSpace.ts","webpack:///./src/Corporation/data/CorporationUpgrades.ts","webpack:///./src/PersonObjects/Grafting/GraftableAugmentation.ts","webpack:///./src/ui/React/ReputationRate.tsx","webpack:///./src/utils/Validator.ts","webpack:///./src/Infiltration/formulas/victory.ts","webpack:///./src/utils/MoneySourceTracker.ts","webpack:///./src/utils/CompressionContracts.ts","webpack:///./src/ui/React/StatsProgressBar.tsx","webpack:///./src/PersonObjects/Player/PlayerObjectGangMethods.ts","webpack:///./src/Themes/Styles.ts","webpack:///./src/Hospital/Hospital.ts","webpack:///./src/ui/React/PromptManager.tsx","webpack:///./src/Corporation/Product.ts","webpack:///./src/Corporation/ui/Helpers.tsx","webpack:///./src/Programs/ui/ProgramsRoot.tsx","webpack:///./src/Faction/ui/FactionsRoot.tsx","webpack:///./src/ui/React/Progress.tsx","webpack:///./src/RedPill.tsx","webpack:///./src/ui/React/RecoveryRoot.tsx","webpack:///./src/NetworkShare/Share.tsx","webpack:///./src/Netscript/WorkerScript.ts","webpack:///./src/Corporation/Corporation.tsx","webpack:///./src/Bladeburner/City.ts","webpack:///./src/Locations/City.ts","webpack:///./src/GameOptions/ui/OptionsSlider.tsx","webpack:///./src/StockMarket/ui/StockTickersConfig.tsx","webpack:///./src/PersonObjects/Player/PlayerObjectServerMethods.ts","webpack:///./src/Prestige.ts","webpack:///./src/Bladeburner/Action.tsx","webpack:///./src/Netscript/RecentScripts.ts","webpack:///./src/Gang/GangMemberTask.ts","webpack:///./src/Work/CrimeWork.tsx","webpack:///./src/ui/Apr1.tsx","webpack:///./src/ui/React/WorldMap.tsx","webpack:///./src/Bladeburner/ui/SuccessChance.tsx","webpack:///./src/ui/React/StaticModal.tsx","webpack:///./src/Literature/LiteratureHelpers.ts","webpack:///./src/DarkWeb/DarkWeb.tsx","webpack:///./src/Hacking/netscriptCanHack.ts","webpack:///./src/Infiltration/formulas/game.ts","webpack:///./src/Terminal/Parser.ts","webpack:///./src/ui/React/CinematicText.tsx","webpack:///./src/PersonObjects/Sleeve/SleeveCovenantPurchases.tsx","webpack:///./src/Script/RamCalculations.ts","webpack:///./src/utils/helpers/roundToTwo.ts","webpack:///./src/Netscript/Pid.ts","webpack:///./src/NetscriptFunctions.ts","webpack:///./src/StockMarket/PlayerInfluencing.ts","webpack:///./src/Gang/Gang.ts","webpack:///./src/Faction/formulas/donation.ts","webpack:///./src/Company/GetJobRequirementText.ts","webpack:///./src/Terminal/HelpText.ts","webpack:///./src/utils/ErrorHelper.ts","webpack:///./src/utils/helpers/getRandomByte.ts","webpack:///./src/Bladeburner/data/Growths.ts","webpack:///./src/Locations/createCityMap.ts","webpack:///./src/GameOptions/ui/GameOptionsPage.tsx","webpack:///./src/Casino/CardDeck/Hand.ts","webpack:///./src/StockMarket/ui/StockTickerTxButton.tsx","webpack:///./src/CotMG/ui/DummyGrid.tsx","webpack:///./src/Server/BaseServer.ts","webpack:///./src/ui/React/CodingContractModal.tsx","webpack:///./src/BitNode/ui/BitFlumeModal.tsx","webpack:///./src/PersonObjects/Player/PlayerObject.ts","webpack:///./src/Faction/ui/InvitationModal.tsx","webpack:///./src/ThirdParty/JSInterpreter.js","webpack:///./src/Server/formulas/grow.ts","webpack:///./src/ui/React/ANSIITypography.tsx","webpack:///./src/Gang/GangMember.ts","webpack:///./src/PersonObjects/Sleeve/SleeveHelpers.ts","webpack:///./src/CotMG/StaneksGiftEvents.ts","webpack:///./src/Locations/data/LocationsMetadata.ts","webpack:///./src/Terminal/commands/download.ts","webpack:///./src/SourceFile/PlayerOwnedSourceFile.ts","webpack:///./src/Bladeburner/data/Icons.tsx","webpack:///./src/Bladeburner/ui/ActionLevel.tsx","webpack:///./src/Bladeburner/ui/Autolevel.tsx","webpack:///./src/Bladeburner/ui/TeamSizeButton.tsx","webpack:///./src/PersonObjects/Grafting/ui/GraftingRoot.tsx","webpack:///./src/Infiltration/ui/BlinkingCursor.tsx","webpack:///./src/Themes/ui/StyleEditorButton.tsx","webpack:///./src/Themes/ui/ThemeEditorButton.tsx","webpack:///./src/Themes/ui/ThemeCollaborate.tsx","webpack:///./src/ui/React/DeleteGameButton.tsx","webpack:///./src/ui/React/SoftResetButton.tsx","webpack:///./src/Augmentation/ui/PurchasableAugmentations.tsx","webpack:///./src/Locations/ui/TravelAgencyRoot.tsx","webpack:///./src/ScriptEditor/ui/ScriptEditorRoot.tsx","webpack:///./src/Terminal/DirectoryServerHelpers.ts","webpack:///./src/NetscriptJSEvaluator.ts","webpack:///./src/NetscriptFunctions/Flags.ts","webpack:///./src/NetscriptFunctions/toNative.ts","webpack:///./src/ui/React/TablePaginationActionsAll.tsx","webpack:///./src/BitNode/ui/BitnodeMultipliersDescription.tsx","webpack:///./src/CotMG/ui/Cell.tsx","webpack:///./src/CotMG/ui/Grid.tsx","webpack:///./src/Script/RunningScriptHelpers.ts","webpack:///./src/Terminal/commands/common/editor.ts","webpack:///./src/utils/HammingCodeTools.ts","webpack:///./src/Bladeburner/Contract.ts","webpack:///./src/Bladeburner/data/Help.ts","webpack:///./src/Corporation/ResearchTree.ts","webpack:///./src/StockMarket/StockMarketConstants.ts","webpack:///./src/CotMG/data/Constants.ts","webpack:///./src/utils/v1APIBreak.ts","webpack:///./src/Company/GetNextCompanyPosition.ts","webpack:///./src/PersonObjects/Player/PlayerObjectBladeburnerMethods.ts","webpack:///./src/PersonObjects/Player/PlayerObjectCorporationMethods.ts","webpack:///./src/PersonObjects/Player/PlayerObjectWorkMethods.ts","webpack:///./src/engine.tsx","webpack:///./src/Themes/data/index.ts","webpack:///./src/ui/LoadingScreen.tsx","webpack:///./src/PersonObjects/Player/PlayerObjectAugmentationMethods.ts","webpack:///./src/utils/helpers/isValidNumber.ts","webpack:///./src/StockMarket/Order.ts","webpack:///./src/CotMG/StaneksGift.ts","webpack:///./src/Locations/Location.ts","webpack:///./src/PersonObjects/Sleeve/ui/StatsElement.tsx","webpack:///./src/ui/React/ServerDropdown.tsx","webpack:///./src/Casino/Blackjack.tsx","webpack:///./src/Casino/CardDeck/ReactCard.tsx","webpack:///./src/Milestones/Milestones.ts","webpack:///./src/StockMarket/data/TickerHeaderFormatData.ts","webpack:///./src/Achievements/AchievementEntry.tsx","webpack:///./src/ThirdParty/colorUtils.ts","webpack:///./src/Themes/data/default/index.ts","webpack:///./src/Themes/data/default-lite/index.ts","webpack:///./src/Themes/data/monokai-ish/index.ts","webpack:///./src/Themes/data/warmer/index.ts","webpack:///./src/Themes/data/dark-plus/index.ts","webpack:///./src/Themes/data/mayukai-dark/index.ts","webpack:///./src/Themes/data/purple/index.ts","webpack:///./src/Themes/data/smooth-green/index.ts","webpack:///./src/Themes/data/dracula/index.ts","webpack:///./src/Themes/data/dark-blue/index.ts","webpack:///./src/Themes/data/discord-like/index.ts","webpack:///./src/Themes/data/one-dark/index.ts","webpack:///./src/Themes/data/muted-gold-blue/index.ts","webpack:///./src/Themes/data/light/index.ts","webpack:///./src/Themes/data/default/screenshot.png","webpack:///./src/Themes/data/default-lite/screenshot.png","webpack:///./src/Themes/data/monokai-ish/screenshot.png","webpack:///./src/Themes/data/warmer/screenshot.png","webpack:///./src/Themes/data/dark-plus/screenshot.png","webpack:///./src/Themes/data/mayukai-dark/screenshot.png","webpack:///./src/Themes/data/purple/screenshot.png","webpack:///./src/Themes/data/smooth-green/screenshot.png","webpack:///./src/Themes/data/dracula/screenshot.png","webpack:///./src/Themes/data/dark-blue/screenshot.png","webpack:///./src/Themes/data/discord-like/screenshot.png","webpack:///./src/Themes/data/one-dark/screenshot.png","webpack:///./src/Themes/data/muted-gold-blue/screenshot.png","webpack:///./src/Themes/data/light/screenshot.png","webpack:///./src/Terminal/Terminal.ts","webpack:///./src/data/codingcontracttypes.ts","webpack:///./src/utils/Heap.ts","webpack:///./src/utils/helpers/createRandomString.ts","webpack:///./src/Programs/Program.ts","webpack:///./src/Programs/data/ProgramsMetadata.ts","webpack:///./src/utils/helpers/isValidIPAddress.ts","webpack:///./src/utils/helpers/getTimestamp.ts","webpack:///./src/NetworkShare/formulas/share.tsx","webpack:///./src/Work/formulas/Faction.ts","webpack:///./src/Company/data/CompaniesMetadata.ts","webpack:///./src/Corporation/Research.ts","webpack:///./src/Corporation/data/ResearchMetadata.ts","webpack:///./src/Hacknet/HashUpgrade.ts","webpack:///./src/Hacknet/data/HashUpgradesMetadata.tsx","webpack:///./src/Netscript/Environment.ts","webpack:///./src/utils/helpers/isPowerOfTwo.ts","webpack:///./src/StockMarket/data/InitStockMetadata.ts","webpack:///./src/NetscriptFunctions/Gang.ts","webpack:///./src/Gang/data/tasks.ts","webpack:///./src/Gang/GangMemberUpgrade.ts","webpack:///./src/Gang/data/power.ts","webpack:///./src/NetscriptFunctions/Sleeve.ts","webpack:///./src/NetscriptFunctions/Extra.ts","webpack:///./src/NetscriptFunctions/Hacknet.ts","webpack:///./src/NetscriptFunctions/Stanek.ts","webpack:///./src/CotMG/formulas/effect.ts","webpack:///./src/NetscriptFunctions/Infiltration.ts","webpack:///./src/NetscriptFunctions/UserInterface.ts","webpack:///./src/NetscriptFunctions/Bladeburner.ts","webpack:///./src/NetscriptFunctions/CodingContract.ts","webpack:///./src/utils/helpers/is2DArray.ts","webpack:///./src/NetscriptFunctions/Corporation.ts","webpack:///./src/Corporation/Industry.ts","webpack:///./src/utils/calculateEffectWithFactors.ts","webpack:///./src/Corporation/Employee.ts","webpack:///./src/Corporation/ProductRatingWeights.ts","webpack:///./src/NetscriptFunctions/Formulas.ts","webpack:///./src/NetscriptFunctions/StockMarket.ts","webpack:///./src/NetscriptFunctions/Grafting.ts","webpack:///./src/ui/InteractiveTutorial/InteractiveTutorialRoot.tsx","webpack:///./src/ui/InteractiveTutorial/NSSelection.tsx","webpack:///./src/ui/React/Overview.tsx","webpack:///./src/Sidebar/ui/SidebarRoot.tsx","webpack:///./src/Programs/ProgramHelpers.ts","webpack:///./src/Augmentation/ui/AugmentationsRoot.tsx","webpack:///./src/Augmentation/ui/InstalledAugmentations.tsx","webpack:///./src/Augmentation/ui/PlayerMultipliers.tsx","webpack:///./src/Augmentation/ui/PurchasedAugmentations.tsx","webpack:///./src/Augmentation/ui/SourceFiles.tsx","webpack:///./src/DevMenu.tsx","webpack:///./src/DevMenu/ui/General.tsx","webpack:///./src/DevMenu/ui/Stats.tsx","webpack:///./src/DevMenu/ui/Factions.tsx","webpack:///./src/DevMenu/ui/Augmentations.tsx","webpack:///./src/DevMenu/ui/SourceFiles.tsx","webpack:///./src/DevMenu/ui/Programs.tsx","webpack:///./src/DevMenu/ui/Servers.tsx","webpack:///./src/DevMenu/ui/Companies.tsx","webpack:///./src/DevMenu/ui/Bladeburner.tsx","webpack:///./src/DevMenu/ui/Gang.tsx","webpack:///./src/DevMenu/ui/Corporation.tsx","webpack:///./src/DevMenu/ui/CodingContracts.tsx","webpack:///./src/DevMenu/ui/StockMarket.tsx","webpack:///./src/DevMenu/ui/Sleeves.tsx","webpack:///./src/DevMenu/ui/Stanek.tsx","webpack:///./src/DevMenu/ui/TimeSkip.tsx","webpack:///./src/DevMenu/ui/SaveFile.tsx","webpack:///./src/DevMenu/ui/Achievements.tsx","webpack:///./src/DevMenu/ui/Entropy.tsx","webpack:///./src/Bladeburner/ui/BladeburnerRoot.tsx","webpack:///./src/Bladeburner/ui/Stats.tsx","webpack:///./src/Bladeburner/ui/TravelModal.tsx","webpack:///./src/Bladeburner/ui/Console.tsx","webpack:///./src/Bladeburner/ui/AllPages.tsx","webpack:///./src/Bladeburner/ui/GeneralActionPage.tsx","webpack:///./src/Bladeburner/ui/GeneralActionList.tsx","webpack:///./src/Bladeburner/ui/GeneralActionElem.tsx","webpack:///./src/Bladeburner/data/GeneralActions.tsx","webpack:///./src/Bladeburner/ui/ContractPage.tsx","webpack:///./src/Bladeburner/ui/ContractList.tsx","webpack:///./src/Bladeburner/ui/ContractElem.tsx","webpack:///./src/Bladeburner/data/Contracts.tsx","webpack:///./src/Bladeburner/ui/StealthIcon.tsx","webpack:///./src/Bladeburner/ui/KillIcon.tsx","webpack:///./src/Bladeburner/ui/OperationPage.tsx","webpack:///./src/Bladeburner/ui/OperationList.tsx","webpack:///./src/Bladeburner/ui/OperationElem.tsx","webpack:///./src/Bladeburner/ui/TeamSizeModal.tsx","webpack:///./src/Bladeburner/data/Operations.tsx","webpack:///./src/Bladeburner/ui/BlackOpPage.tsx","webpack:///./src/Bladeburner/ui/BlackOpList.tsx","webpack:///./src/Bladeburner/ui/BlackOpElem.tsx","webpack:///./src/Bladeburner/data/BlackOperations.tsx","webpack:///./src/Bladeburner/ui/SkillPage.tsx","webpack:///./src/Bladeburner/ui/SkillList.tsx","webpack:///./src/Bladeburner/ui/SkillElem.tsx","webpack:///./src/Gang/ui/GangRoot.tsx","webpack:///./src/Gang/ui/ManagementSubpage.tsx","webpack:///./src/Gang/ui/GangStats.tsx","webpack:///./src/Gang/ui/BonusTime.tsx","webpack:///./src/Gang/ui/GangMemberList.tsx","webpack:///./src/Gang/ui/GangMemberCard.tsx","webpack:///./src/Gang/ui/GangMemberCardContent.tsx","webpack:///./src/Gang/ui/GangMemberStats.tsx","webpack:///./src/ui/React/KillScriptsModal.tsx","webpack:///./src/Work/formulas/Company.ts","webpack:///./src/Company/data/CompanyPositionsMetadata.ts","webpack:///./src/Gang/ui/TaskSelector.tsx","webpack:///./src/Gang/ui/TaskDescription.tsx","webpack:///./src/Gang/ui/AscensionModal.tsx","webpack:///./src/Gang/ui/RecruitButton.tsx","webpack:///./src/Gang/ui/RecruitModal.tsx","webpack:///./src/Gang/ui/TerritorySubpage.tsx","webpack:///./src/Gang/ui/TerritoryInfoModal.tsx","webpack:///./src/Gang/ui/EquipmentsSubpage.tsx","webpack:///./src/Corporation/ui/CorporationRoot.tsx","webpack:///./src/Corporation/ui/MainPanel.tsx","webpack:///./src/Corporation/ui/CityTabs.tsx","webpack:///./src/Corporation/ui/Industry.tsx","webpack:///./src/Corporation/ui/IndustryOffice.tsx","webpack:///./src/Corporation/ui/modals/UpgradeOfficeSizeModal.tsx","webpack:///./src/Corporation/ui/modals/ThrowPartyModal.tsx","webpack:///./src/Corporation/ui/IndustryOverview.tsx","webpack:///./src/Corporation/ui/modals/MakeProductModal.tsx","webpack:///./src/Corporation/ui/modals/ResearchModal.tsx","webpack:///./src/Corporation/ui/IndustryWarehouse.tsx","webpack:///./src/Corporation/ui/modals/SmartSupplyModal.tsx","webpack:///./src/Corporation/ui/ProductElem.tsx","webpack:///./src/Corporation/ui/modals/DiscontinueProductModal.tsx","webpack:///./src/Corporation/ui/modals/LimitProductProductionModal.tsx","webpack:///./src/Corporation/ui/modals/SellProductModal.tsx","webpack:///./src/Corporation/ui/modals/ProductMarketTaModal.tsx","webpack:///./src/Corporation/ui/modals/CancelProductModal.tsx","webpack:///./src/Corporation/ui/MaterialElem.tsx","webpack:///./src/Corporation/ui/modals/ExportModal.tsx","webpack:///./src/Corporation/ui/modals/MaterialMarketTaModal.tsx","webpack:///./src/Corporation/ui/modals/SellMaterialModal.tsx","webpack:///./src/Corporation/ui/modals/PurchaseMaterialModal.tsx","webpack:///./src/Corporation/ui/modals/LimitMaterialProductionModal.tsx","webpack:///./src/Corporation/ui/IndustryProductEquation.tsx","webpack:///./src/Corporation/ui/ExpandNewCity.tsx","webpack:///./src/Corporation/ui/ExpandIndustryTab.tsx","webpack:///./src/Corporation/ui/Overview.tsx","webpack:///./src/Corporation/ui/LevelableUpgrade.tsx","webpack:///./src/Corporation/ui/UnlockUpgrade.tsx","webpack:///./src/Corporation/ui/modals/BribeFactionModal.tsx","webpack:///./src/Corporation/ui/modals/SellSharesModal.tsx","webpack:///./src/Corporation/ui/modals/BuybackSharesModal.tsx","webpack:///./src/Corporation/ui/modals/IssueDividendsModal.tsx","webpack:///./src/Corporation/ui/modals/IssueNewSharesModal.tsx","webpack:///./src/Corporation/ui/modals/FindInvestorsModal.tsx","webpack:///./src/Corporation/ui/modals/GoPublicModal.tsx","webpack:///./src/Infiltration/ui/InfiltrationRoot.tsx","webpack:///./src/Infiltration/ui/Game.tsx","webpack:///./src/Infiltration/ui/BackwardGame.tsx","webpack:///./src/Infiltration/ui/BracketGame.tsx","webpack:///./src/Infiltration/ui/BribeGame.tsx","webpack:///./src/Infiltration/ui/CheatCodeGame.tsx","webpack:///./src/Infiltration/ui/Countdown.tsx","webpack:///./src/Infiltration/ui/Cyberpunk2077Game.tsx","webpack:///./src/Infiltration/ui/MinesweeperGame.tsx","webpack:///./src/Infiltration/ui/SlashGame.tsx","webpack:///./src/Infiltration/ui/Victory.tsx","webpack:///./src/Infiltration/ui/WireCuttingGame.tsx","webpack:///./src/Infiltration/ui/Intro.tsx","webpack:///./src/ui/WorkInProgressRoot.tsx","webpack:///./src/GameOptions/ui/GameOptionsRoot.tsx","webpack:///./src/GameOptions/ui/CurrentOptionsPage.tsx","webpack:///./src/GameOptions/ui/GameOptionsSidebar.tsx","webpack:///./src/Diagnostic/FileDiagnosticModal.tsx","webpack:///./src/Themes/ui/StyleEditorModal.tsx","webpack:///./src/Themes/ui/ThemeEditorModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/SleeveRoot.tsx","webpack:///./src/PersonObjects/Sleeve/ui/SleeveElem.tsx","webpack:///./src/PersonObjects/Sleeve/ui/MoreEarningsModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/MoreStatsModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/SleeveAugmentationsModal.tsx","webpack:///./src/Augmentation/ui/PurchaseAugmentationModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/TaskSelector.tsx","webpack:///./src/PersonObjects/Sleeve/ui/TravelModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/FAQModal.tsx","webpack:///./src/Hacknet/ui/HacknetRoot.tsx","webpack:///./src/Hacknet/ui/GeneralInfo.tsx","webpack:///./src/Hacknet/ui/HacknetNodeElem.tsx","webpack:///./src/Hacknet/ui/HacknetServerElem.tsx","webpack:///./src/Hacknet/ui/HashUpgradeModal.tsx","webpack:///./src/Hacknet/ui/HacknetUpgradeElem.tsx","webpack:///./src/Hacknet/ui/MultiplierButtons.tsx","webpack:///./src/Hacknet/ui/PlayerInfo.tsx","webpack:///./src/Hacknet/ui/PurchaseButton.tsx","webpack:///./src/Locations/ui/GenericLocation.tsx","webpack:///./src/Locations/ui/CompanyLocation.tsx","webpack:///./src/Company/ui/QuitJobModal.tsx","webpack:///./src/Locations/ui/GymLocation.tsx","webpack:///./src/Locations/ui/HospitalLocation.tsx","webpack:///./src/Locations/ui/SlumsLocation.tsx","webpack:///./src/Locations/ui/SpecialLocation.tsx","webpack:///./src/Corporation/ui/modals/CreateCorporationModal.tsx","webpack:///./src/utils/helpers/N00dles.ts","webpack:///./src/Arcade/ui/ArcadeRoot.tsx","webpack:///./src/Arcade/ui/BBCabinet.tsx","webpack:///./src/Locations/ui/TechVendorLocation.tsx","webpack:///./src/Locations/ui/RamButton.tsx","webpack:///./src/Locations/ui/TorButton.tsx","webpack:///./src/Locations/LocationsHelpers.tsx","webpack:///./src/Locations/ui/CoresButton.tsx","webpack:///./src/Locations/ui/PurchaseServerModal.tsx","webpack:///./src/Locations/ui/TravelConfirmationModal.tsx","webpack:///./src/Locations/ui/UniversityLocation.tsx","webpack:///./src/Locations/ui/CasinoLocation.tsx","webpack:///./src/Casino/CardDeck/Deck.ts","webpack:///./src/Casino/CoinFlip.tsx","webpack:///./src/Casino/Roulette.tsx","webpack:///./src/Casino/SlotMachine.tsx","webpack:///./src/Locations/ui/City.tsx","webpack:///./src/ScriptEditor/ui/OptionsModal.tsx","webpack:///./src/ScriptEditor/ui/ThemeEditorModal.tsx","webpack:///./src/ScriptEditor/NetscriptDefinitions.d.ts","webpack:///./src/Milestones/ui/MilestonesRoot.tsx","webpack:///./src/Terminal/ui/TerminalRoot.tsx","webpack:///./src/Terminal/ui/TerminalInput.tsx","webpack:///./src/Terminal/determineAllPossibilitiesForTabCompletion.ts","webpack:///./src/Script/ScriptUrl.ts","webpack:///./src/Terminal/tabCompletion.ts","webpack:///./src/Tutorial/ui/TutorialRoot.tsx","webpack:///./src/ui/ActiveScripts/ActiveScriptsRoot.tsx","webpack:///./src/ui/ActiveScripts/ActiveScriptsPage.tsx","webpack:///./src/ui/ActiveScripts/ScriptProduction.tsx","webpack:///./src/ui/ActiveScripts/ServerAccordions.tsx","webpack:///./src/ui/ActiveScripts/ServerAccordion.tsx","webpack:///./src/ui/ActiveScripts/ServerAccordionContent.tsx","webpack:///./src/ui/ActiveScripts/WorkerScriptAccordion.tsx","webpack:///./src/ui/ActiveScripts/RecentScriptsPage.tsx","webpack:///./src/ui/ActiveScripts/RecentScriptAccordion.tsx","webpack:///./src/Faction/ui/FactionRoot.tsx","webpack:///./src/Faction/ui/AugmentationsPage.tsx","webpack:///./src/Faction/ui/DonateOption.tsx","webpack:///./src/ui/React/NumberInput.tsx","webpack:///./src/Faction/ui/Info.tsx","webpack:///./src/PersonObjects/Sleeve/ui/CovenantPurchasesRoot.tsx","webpack:///./src/PersonObjects/Sleeve/ui/CovenantSleeveMemoryUpgrade.tsx","webpack:///./src/PersonObjects/Person.ts","webpack:///./src/SourceFile/applySourceFile.ts","webpack:///./src/Exploits/applyExploits.ts","webpack:///./src/Faction/ui/GangButton.tsx","webpack:///./src/Faction/ui/CreateGangModal.tsx","webpack:///./src/ui/CharacterStats.tsx","webpack:///./src/StockMarket/ui/StockMarketRoot.tsx","webpack:///./src/StockMarket/ui/InfoAndPurchases.tsx","webpack:///./src/StockMarket/ui/StockTickers.tsx","webpack:///./src/StockMarket/ui/StockTicker.tsx","webpack:///./src/StockMarket/ui/StockTickerHeaderText.tsx","webpack:///./src/StockMarket/ui/StockTickerOrderList.tsx","webpack:///./src/StockMarket/ui/StockTickerOrder.tsx","webpack:///./src/StockMarket/ui/StockTickerPositionText.tsx","webpack:///./src/StockMarket/ui/PlaceOrderModal.tsx","webpack:///./src/BitNode/ui/BitverseRoot.tsx","webpack:///./src/BitNode/ui/PortalModal.tsx","webpack:///./src/ui/React/CinematicLine.tsx","webpack:///./src/CotMG/ui/StaneksGiftRoot.tsx","webpack:///./src/CotMG/ui/MainBoard.tsx","webpack:///./src/CotMG/ui/FragmentInspector.tsx","webpack:///./src/CotMG/ui/FragmentSelector.tsx","webpack:///./src/CotMG/ui/FragmentPreview.tsx","webpack:///./src/CotMG/ui/ActiveFragmentSummary.tsx","webpack:///./src/CotMG/DummyGift.ts","webpack:///./src/Bladeburner/ui/BladeburnerCinematic.tsx","webpack:///./src/Exploits/Unclickable.tsx","webpack:///./src/Achievements/AchievementsRoot.tsx","webpack:///./src/Achievements/AchievementList.tsx","webpack:///./src/Achievements/AchievementIcon.tsx","webpack:///./src/ui/ErrorBoundary.tsx","webpack:///./src/Themes/ui/ThemeBrowser.tsx","webpack:///./src/Themes/ui/ThemeEntry.tsx","webpack:///./src/ui/React/ImportSaveRoot.tsx","webpack:///./src/ui/React/BypassWrapper.tsx","webpack:///./src/NetscriptFunctions/Singularity.ts","webpack:///./src/Netscript/APIWrapper.ts","webpack:///./src/NetscriptPort.ts","webpack:///./src/utils/helpers/clearObject.ts","webpack:///./src/PersonObjects/Grafting/EntropyAccumulation.ts","webpack:///./src/Corporation/CorporationState.ts","webpack:///./src/Literature/Literatures.ts","webpack:///./src/Terminal/commands/alias.ts","webpack:///./src/Terminal/commands/analyze.ts","webpack:///./src/Terminal/commands/backdoor.ts","webpack:///./src/Terminal/commands/buy.ts","webpack:///./src/Terminal/commands/cat.ts","webpack:///./src/Terminal/commands/cd.ts","webpack:///./src/Terminal/commands/check.ts","webpack:///./src/Terminal/commands/connect.ts","webpack:///./src/Terminal/commands/cp.ts","webpack:///./src/Terminal/commands/expr.ts","webpack:///./src/Terminal/commands/free.ts","webpack:///./src/Terminal/commands/grow.ts","webpack:///./src/Terminal/commands/hack.ts","webpack:///./src/Terminal/commands/help.ts","webpack:///./src/Terminal/commands/history.ts","webpack:///./src/Terminal/commands/home.ts","webpack:///./src/Terminal/commands/hostname.ts","webpack:///./src/Terminal/commands/kill.ts","webpack:///./src/Terminal/commands/killall.ts","webpack:///./src/Terminal/commands/ls.tsx","webpack:///./src/Terminal/commands/lscpu.ts","webpack:///./src/Terminal/commands/mem.ts","webpack:///./src/Terminal/commands/mv.ts","webpack:///./src/Terminal/commands/nano.ts","webpack:///./src/ScriptEditor/CursorPositions.ts","webpack:///./src/Terminal/commands/ps.ts","webpack:///./src/Terminal/commands/rm.ts","webpack:///./src/Terminal/commands/run.ts","webpack:///./src/Terminal/commands/runScript.ts","webpack:///./src/Terminal/commands/runProgram.ts","webpack:///./src/Terminal/commands/scan.ts","webpack:///./src/Terminal/commands/scananalyze.ts","webpack:///./src/Terminal/commands/scp.ts","webpack:///./src/Terminal/commands/sudov.ts","webpack:///./src/Terminal/commands/tail.ts","webpack:///./src/Terminal/commands/top.ts","webpack:///./src/Terminal/commands/unalias.ts","webpack:///./src/Terminal/commands/vim.ts","webpack:///./src/Terminal/commands/weaken.ts","webpack:///./src/Terminal/commands/wget.ts","webpack:///./src/Terminal/commands/apr1.ts","webpack:///./src/Exploits/loops.ts","webpack:///./src/UncaughtPromiseHandler.ts","webpack:///./src/index.tsx"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","Player","PlayerObject","loadPlayer","saveString","JSON","parse","Reviver","money","parseFloat","exploits","sanitizeExploits","FactionNames","defaultSettings","ActiveScriptsServerPageSize","ActiveScriptsScriptPageSize","AutosaveInterval","CodeInstructionRunTime","DisableASCIIArt","DisableHotkeys","DisableTextEffects","DisableOverviewProgressBars","EnableBashHotkeys","TimestampsFormat","Locale","MaxRecentScriptsCapacity","MaxLogCapacity","MaxPortCapacity","MaxTerminalCapacity","SaveGameOnFileSave","SuppressBuyAugmentationConfirmation","SuppressFactionInvites","SuppressMessages","SuppressTravelConfirmation","SuppressBladeburnerPopup","SuppressTIXPopup","SuppressSavedGameToast","SuppressAutosaveDisabledWarnings","UseIEC60027_2","ExcludeRunningScriptsFromSave","IsSidebarOpened","theme","defaultTheme","styles","defaultStyles","overview","x","y","opened","EditorTheme","defaultMonacoTheme","Settings","OwnedAugmentationsOrder","OwnedAugmentationsOrderSetting","AcquirementTime","PurchaseAugmentationsOrder","PurchaseAugmentationsOrderSetting","Default","MonacoTheme","MonacoInsertSpaces","MonacoFontSize","MonacoVim","MonacoWordWrap","init","assign","load","save","extraFormats","extraNotations","gigaMultiplier","numeralWrapper","constructor","this","defaultLocale","updateLocale","numeral","locale","console","warn","format","Math","abs","answer","formatBigNumber","formatReallyBigNumber","decimalPlaces","nAbs","Infinity","repeat","str","formatHp","formatMoney","formatSkill","formatExp","formatHashes","formatReputation","formatFavor","formatSecurity","toFixed","formatRAM","formatPercentage","formatter","formatServerSecurity","formatRespect","formatWanted","formatMultiplier","formatSleeveShock","formatSleeveSynchro","formatSleeveMemory","formatPopulation","formatStamina","formatShares","formatInfiltrationSecurity","formatThreads","formatStaneksGiftHeat","formatStaneksGiftCharge","formatStaneksGiftPower","parseCustomLargeNumber","numericRegExp","RegExp","join","match","NaN","number","notation","notationIndex","indexOf","largestAbsoluteNumber","n1","n2","n3","isNaN","max","parseMoney","numeralValue","parsed","selfParsed","LocationName","AugmentationNames","CONSTANTS","VersionString","VersionNumber","_idleSpeed","MaxSkillLevel","MilliPerCycle","CorpFactionRepRequirement","BaseCostFor1GBOfRamHome","BaseCostFor1GBOfRamServer","TravelCost","BaseFavorToDonate","DonateMoneyToRepDivisor","FactionReputationToFavorBase","FactionReputationToFavorMult","CompanyReputationToFavorBase","CompanyReputationToFavorMult","NeuroFluxGovernorLevelMult","NumNetscriptPorts","HomeComputerMaxRam","ServerBaseGrowthRate","ServerMaxGrowthRate","ServerFortifyAmount","ServerWeakenAmount","PurchasedServerLimit","PurchasedServerMaxRam","MultipleAugMultiplier","TorRouterCost","WSEAccountCost","TIXAPICost","MarketData4SCost","MarketDataTixApi4SCost","StockMarketCommission","HospitalCostPerHp","IntelligenceCrimeWeight","IntelligenceInfiltrationWeight","IntelligenceCrimeBaseExpGain","IntelligenceProgramBaseExpGain","IntelligenceGraftBaseExpGain","IntelligenceTerminalHackBaseExpGain","IntelligenceSingFnBaseExpGain","IntelligenceClassBaseExpGain","MillisecondsPer20Hours","GameCyclesPer20Hours","MillisecondsPer10Hours","GameCyclesPer10Hours","MillisecondsPer8Hours","GameCyclesPer8Hours","MillisecondsPer4Hours","GameCyclesPer4Hours","MillisecondsPer2Hours","GameCyclesPer2Hours","MillisecondsPerHour","GameCyclesPerHour","MillisecondsPerHalfHour","GameCyclesPerHalfHour","MillisecondsPerQuarterHour","GameCyclesPerQuarterHour","MillisecondsPerFiveMinutes","GameCyclesPerFiveMinutes","BaseFocusBonus","ClassDataStructuresBaseCost","ClassNetworksBaseCost","ClassAlgorithmsBaseCost","ClassManagementBaseCost","ClassLeadershipBaseCost","ClassGymBaseCost","ClassStudyComputerScienceBaseExp","ClassDataStructuresBaseExp","ClassNetworksBaseExp","ClassAlgorithmsBaseExp","ClassManagementBaseExp","ClassLeadershipBaseExp","CodingContractBaseFactionRepGain","CodingContractBaseCompanyRepGain","CodingContractBaseMoneyGain","AugmentationGraftingCostMult","AugmentationGraftingTimeBase","SoACostMult","SoARepMult","EntropyEffect","TotalNumBitNodes","InfiniteLoopLimit","Donations","LatestUpdate","dialogBoxCreate","txt","AlertEvents","emit","component","sx","dangerouslySetInnerHTML","__html","CityName","useStyles","makeStyles","createStyles","unbuyable","color","palette","action","disabled","colors","Money","props","classes","undefined","player","Error","canAfford","className","BitNodeMultipliers","defaultMultipliers","ctor","constructors","fromJSON","obj","validationData","validateObject","Generic_toJSON","ctorName","keys","index","Generic_fromJSON","AllServers","GetServer","server","isValidIPAddress","hostname","GetServerByHostname","ipserver","ip","GetServerByIP","GetAllServers","servers","DeleteServer","serverkey","ipExists","createUniqueRandomIp","createRandomIp","AddToAllServers","initForeignServers","homeComputer","networkLayers","toNumber","getRandomInt","min","metadata","serverMetadata","serverParams","numOpenPortsRequired","organizationName","maxRamExponent","maxRam","pow","hackDifficulty","moneyAvailable","requiredHackingSkill","serverGrowth","Server","filename","literature","messages","SpecialServers","WorldDaemon","WorldDaemonDifficulty","networkLayer","linkNetworkLayers","network1","selectServer","server1","server2","serversOnNetwork","getRandomArrayItem","arr","floor","random","prestigeAllServers","member","loadAllServers","saveAllServers","excludeRunningScripts","TempAllServers","stringify","runningScripts","runningScriptObj","logs","convertTimeMsToTimeElapsedString","time","showMilli","totalSeconds","days","secondPerHours","secTruncDays","hours","secondPerMinute","secTruncHours","minutes","secTruncMinutes","milliTruncSec","res","longestCommonStart","strings","containsAllStrings","A","concat","sort","a1","a2","L","a","charAt","b","toUpperCase","substring","every","isString","formatNumber","num","numFractionDigits","toLocaleString","maximumFractionDigits","minimumFractionDigits","generateRandomString","chars","cyrb53","seed","h1","h2","ch","charCodeAt","imul","toString","capitalizeFirstLetter","capitalizeEachWord","split","map","word","KEY","KEYCODE","Page","Context","React","createContext","Router","use","useContext","Factions","loadFactions","faction","getInfo","err","error","factionExists","initFactions","FactionInfos","resetFaction","Faction","newFactionObject","factionName","favor","AddToFactions","SoftwareCompanyPositions","ITCompanyPositions","SecurityEngineerCompanyPositions","NetworkEngineerCompanyPositions","BusinessCompanyPositions","SecurityCompanyPositions","AgentCompanyPositions","MiscCompanyPositions","SoftwareConsultantCompanyPositions","BusinessConsultantCompanyPositions","PartTimeCompanyPositions","lower","upper","Augmentation","params","info","moneyCost","repCost","factions","prereqs","baseRepRequirement","freeze","baseCost","isSpecial","hacking","mults","strength","defense","dexterity","agility","charisma","hacking_exp","strength_exp","defense_exp","dexterity_exp","agility_exp","charisma_exp","hacking_chance","hacking_speed","hacking_money","hacking_grow","company_rep","faction_rep","crime_money","crime_success","work_money","hacknet_node_money","hacknet_node_purchase_cost","hacknet_node_ram_cost","hacknet_node_core_cost","hacknet_node_level_cost","bladeburner_max_stamina","bladeburner_stamina_gain","bladeburner_analysis","bladeburner_success_chance","stats","programs","startingMoney","f","decimals","desc","generateStatsDescription","addToFactions","factionList","augmentations","getCost","augmentationReference","StaticAugmentations","NeuroFluxGovernor","nextLevel","getLevel","multiplier","AugmentationRepCost","AugmentationMoneyCost","queuedAugmentations","getBaseAugmentationPriceMultiplier","includes","ShadowsOfAnarchy","soaAugmentationNames","initSoAAugmentations","augmentation","soaMultiplier","filter","augmentationName","hasAugmentation","find","getGenericAugmentationPriceMultiplier","currLevel","level","addToAllFactions","fac","facObj","special","toJSON","modal","display","alignItems","justifyContent","paper","backgroundColor","background","default","border","primary","main","boxShadow","dark","padding","maxWidth","maxHeight","overflow","scrollbarWidth","Modal","disableRestoreFocus","disableScrollLock","disableEnforceFocus","disableAutoFocus","open","onClose","closeAfterTransition","in","children","AllCorporationStates","CorporationConstants","INITIALSHARES","SHARESPERPRICEUPDATE","IssueNewSharesCooldown","SellSharesCooldown","CyclesPerMarketCycle","CyclesPerIndustryStateCycle","SecsPerMarketCycle","Cities","Aevum","Chongqing","Sector12","NewTokyo","Ishima","Volhaven","WarehouseInitialCost","WarehouseInitialSize","WarehouseUpgradeBaseCost","OfficeInitialCost","OfficeInitialSize","OfficeUpgradeBaseCost","BribeThreshold","BribeToRepRatio","ProductProductionCostRatio","DividendMaxPercentage","EmployeeSalaryMultiplier","CyclesPerEmployeeRaise","EmployeeRaiseAmount","BaseMaxProducts","AllMaterials","FundingRoundShares","FundingRoundMultiplier","AvgProfitLength","HacknetNodeConstants","MoneyGainPerLevel","BaseCost","LevelBaseCost","RamBaseCost","CoreBaseCost","PurchaseNextMult","UpgradeLevelMult","UpgradeRamMult","UpgradeCoreMult","MaxLevel","MaxRam","MaxCores","PurchaseMultipliers","x1","x5","x10","MAX","HacknetServerConstants","HashesPerLevel","CacheBaseCost","PurchaseMult","UpgradeCacheMult","MaxServers","MaxCache","ActionTypes","Idle","Contract","Operation","BlackOp","BlackOperation","Training","Recruitment","FieldAnalysis","Diplomacy","iTutorialSteps","ITutorial","currStep","Start","isRunning","stepIsDone","NSSelection","GoToCharacterPage","CharacterPage","CharacterGoToTerminalPage","TerminalIntro","TerminalHelp","TerminalLs","TerminalScan","TerminalScanAnalyze1","TerminalScanAnalyze2","TerminalConnect","TerminalAnalyze","TerminalNuke","TerminalManualHack","TerminalHackingMechanics","TerminalGoHome","TerminalCreateScript","TerminalTypeScript","TerminalFree","TerminalRunScript","TerminalGoToActiveScriptsPage","ActiveScriptsPage","ActiveScriptsToTerminal","TerminalTailScript","GoToHacknetNodesPage","HacknetNodesIntroduction","HacknetNodesGoToWorldPage","WorldDescription","TutorialPageInfo","End","iTutorialStart","iTutorialNextStep","iTutorialEnd","ITutorialEvents","iTutorialPrevStep","getHomeComputer","LiteratureNames","HackersStartingHandbook","BaseServer","super","startsWith","createRandomString","purchasedByPlayer","ServerStartingMoney","moneyMax","ServerMaxMoney","ServerStartingSecurity","baseDifficulty","minDifficulty","round","capDifficulty","changeMinimumSecurity","perc","changeMaximumMoney","aboveCap","log","fortify","amt","weaken","ServerWeakenRate","EmployeePositions","Operations","Engineer","Business","Management","RandD","Unassigned","Corporation","Division","useCorporation","useDivision","Industries","Energy","Utilities","Agriculture","Fishing","Mining","Food","Tobacco","Chemical","Pharmaceutical","Computer","Robotics","Software","Healthcare","RealEstate","IndustryStartingCosts","IndustryDescriptions","corp","IndustryResearchTrees","getBaseResearchTreeCopy","getProductIndustryResearchTreeCopy","resetIndustryResearchTrees","LocationType","hasHacknetServers","bitNodeN","sourceFileLvl","purchaseHacknet","numOwned","hacknetNodes","cost","getCostOfNextHacknetServer","loseMoney","createHacknetServer","updateHashManagerCapacity","getCostOfNextHacknetNode","node","HacknetNode","hasMaxNumberHacknetServers","calculateNodeCost","calculateServerCost","getMaxNumberLevelUpgrades","nodeObj","maxLevel","calculateLevelUpgradeCost","levelsToMax","curr","getMaxNumberRamUpgrades","calculateRamUpgradeCost","HacknetServer","log2","ram","getMaxNumberCoreUpgrades","calculateCoreUpgradeCost","cores","getMaxNumberCacheUpgrades","calculateCacheUpgradeCost","cache","purchaseLevelUpgrade","levels","sanitizedLevels","isServer","upgradeLevel","purchaseRamUpgrade","upgradeRam","purchaseCoreUpgrade","upgradeCore","purchaseCacheUpgrade","upgradeCache","processHacknetEarnings","numCycles","hashManager","HashManager","hashes","hserver","updateHashRate","h","process","wastedHashes","storeHashes","upgrade","HashUpgrades","gainMoney","processAllHacknetServerEarnings","total","processSingleHacknetNodeEarnings","processAllHacknetNodeEarnings","totalEarnings","nodes","updateCapacity","hashCapacity","purchaseHashUpgrade","upgName","upgTarget","upg","corporation","refundUpgrade","funds","target","e","division","divisions","sciResearch","qty","bladeburner","changeRank","skillPoints","generateRandomContract","BladeburnerConstants","CityNames","CyclesPerSecond","StaminaGainPerSecond","BaseStaminaLoss","MaxStaminaToGainFactor","DifficultyToTimeFactor","DiffMultExponentialFactor","DiffMultLinearFactor","EffAgiLinearFactor","EffDexLinearFactor","EffAgiExponentialFactor","EffDexExponentialFactor","BaseRecruitmentTimeNeeded","PopulationThreshold","PopulationExponent","ChaosThreshold","BaseStatGain","BaseIntGain","ActionCountGrowthPeriod","RankToFactionRepFactor","RankNeededForFaction","ContractSuccessesPerLevel","OperationSuccessesPerLevel","RanksPerSkillPoint","ContractBaseMoneyGain","HrcHpGain","HrcStaminaGain","BlackOperationNames","t_homeComp","safetlyCreateUniqueServer","adminRights","isConnectedTo","currentServer","Home","Programs","NukeProgram","prestigeAugmentation","numPeopleKilled","city","location","TravelAgency","jobs","purchasedServers","factionInvitations","numSleeves","sleevesFromCovenant","sleeves","Sleeve","shock","synchronize","shockRecovery","lastUpdate","Date","getTime","playtimeSinceLastAug","scriptProdSinceLastAug","moneySourceA","reset","prestige","reapplyAllAugmentations","hp","max_hp","finishWork","prestigeSourceFile","entropy","karma","sync","gang","resetGangs","hasWseAccount","hasTixApiAccess","has4SData","has4SDataTixApi","moneySourceB","playtimeSinceLastBitnode","receiveInvite","calculateSkill","exp","mult","calculateSkillF","calculateSkillProgress","calculateSkillProgressF","updateSkillLevels","HackingLevelMultiplier","StrengthLevelMultiplier","DefenseLevelMultiplier","DexterityLevelMultiplier","AgilityLevelMultiplier","CharismaLevelMultiplier","intelligence","intelligence_exp","ratio","resetMultipliers","hasProgram","programName","home","toLowerCase","setMoney","source","recordMoneySource","MoneySourceTracker","record","gainHackingExp","gainStrengthExp","gainDefenseExp","gainDexterityExp","gainAgilityExp","gainCharismaExp","gainIntelligenceExp","gainStats","retValue","hack","def","dex","agi","cha","int","queryStatFromString","tempStr","startFocusing","focus","stopFocusing","takeDamage","hospitalize","regenerateHp","getHospitalizationCost","SnackbarEvents","ToastVariant","WARNING","applyForJob","entryPosType","sing","company","Companies","Company","pos","isQualified","getJobRequirementText","hasPosition","nextPos","getNextCompanyPositionHelper","reqText","getNextCompanyPosition","currCompany","currentPositionName","currentPosition","CompanyPositions","isSoftwareJob","isITJob","isBusinessJob","isSecurityEngineerJob","isNetworkEngineerJob","isSecurityJob","isAgentJob","isSoftwareConsultantJob","isBusinessConsultantJob","isPartTimeJob","quitJob","isCompanyWork","currentWork","companyName","hasJob","Boolean","applyForSoftwareJob","posNames","applyForSoftwareConsultantJob","applyForItJob","applyForSecurityEngineerJob","applyForNetworkEngineerJob","applyForBusinessJob","applyForBusinessConsultantJob","applyForSecurityJob","applyForAgentJob","applyForEmployeeJob","position","applyForPartTimeEmployeeJob","applyForWaiterJob","applyForPartTimeWaiterJob","offset","jobStatReqOffset","reqHacking","requiredHacking","reqStrength","requiredStrength","reqDefense","requiredDefense","reqDexterity","requiredDexterity","reqAgility","reqCharisma","requiredCharisma","playerReputation","requiredReputation","playerAug","applyAugmentation","reapplyAllSourceFiles","sourceFiles","srcFileKey","SourceFiles","applySourceFile","applyExploit","checkForFactionInvitations","invitedFactions","numAugmentations","allCompanies","allPositions","values","checkMegacorpRequirements","serverMeta","specialName","bonus","backdoorInstalled","getCompanyRep","illuminatiFac","Illuminati","isBanned","isMember","alreadyInvited","daedalusFac","Daedalus","DaedalusAugsRequirement","covenantFac","TheCovenant","ecorpFac","ECorp","AevumECorp","megacorpFac","MegaCorp","Sector12MegaCorp","bachmanandassociatesFac","BachmanAssociates","AevumBachmanAndAssociates","bladeindustriesFac","BladeIndustries","Sector12BladeIndustries","nwoFac","NWO","VolhavenNWO","clarkeincorporatedFac","ClarkeIncorporated","AevumClarkeIncorporated","omnitekincorporatedFac","OmniTekIncorporated","VolhavenOmniTekIncorporated","foursigmaFac","FourSigma","Sector12FourSigma","kuaigonginternationalFac","KuaiGongInternational","ChongqingKuaiGongInternational","fulcrumsecrettechonologiesFac","FulcrumSecretTechnologies","fulcrumSecretServer","AevumFulcrumTechnologies","bitrunnersFac","BitRunners","bitrunnersServer","BitRunnersServer","theblackhandFac","TheBlackHand","blackhandServer","TheBlackHandServer","nitesecFac","NiteSec","nitesecServer","NiteSecServer","chongqingFac","sector12Fac","newtokyoFac","aevumFac","ishimaFac","volhavenFac","speakersforthedeadFac","SpeakersForTheDead","Sector12CIA","Sector12NSA","thedarkarmyFac","TheDarkArmy","thesyndicateFac","TheSyndicate","silhouetteFac","Silhouette","tetradsFac","Tetrads","slumsnakesFac","SlumSnakes","netburnersFac","Netburners","totalHacknetRam","totalHacknetCores","totalHacknetLevels","v","tiandihuiFac","TianDiHui","cybersecFac","CyberSec","cybersecServer","CyberSecServer","setBitNodeNumber","queueAugmentation","aug","PlayerOwnedAugmentation","gainCodingContractReward","reward","difficulty","type","CodingContractRewardType","FactionReputation","FactionReputationAll","repGain","totalGain","specialFactions","Bladeburners","gainPerFaction","facName","CompanyReputation","moneyGain","CodingContractMoney","travel","to","gotoLocation","Locations","canAccessGrafting","giveExploit","exploit","SUCCESS","giveAchievement","achievementId","achievement","achievements","ID","unlockedOn","Name","getIntelligenceBonus","weight","calculateIntelligenceBonus","getCasinoWinnings","casino","canAccessCotMG","sf","lvl","focusPenalty","programsMetadata","Program","run","FragmentType","Effect","tpe","HackingChance","HackingSpeed","HackingMoney","HackingGrow","Hacking","Strength","Defense","Dexterity","Agility","Charisma","HacknetMoney","HacknetCost","Rep","WorkMoney","Crime","Bladeburner","NewIndustry","industry","Industry","NewCity","offices","OfficeSpace","loc","size","UnlockUpgrade","price","unlockUpgrades","unlock","LevelUpgrade","basePrice","priceMult","upgrades","IssueDividends","percent","dividendPercentage","SellMaterial","mat","replace","temp","bCost","eval","sCost","q","tempQty","maxsll","prd","sllman","SellProduct","product","all","cities","tempCity","SetSmartSupply","warehouse","smartSupply","smartSupplyEnabled","SetSmartSupplyUseLeftovers","material","useLeftover","smartSupplyUseLeftovers","BuyMaterial","buy","BulkPurchase","matSize","MaterialSizes","maxAmount","sizeUsed","SellShares","numShares","public","shareSaleCooldown","stockSaleResults","calculateShareSale","profit","newSharePrice","newSharesUntilUpdate","issuedShares","sharePrice","shareSalesUntilPriceUpdate","BuyBackShares","buybackPrice","AssignJob","employee","job","UpgradeOfficeSize","office","initialPriceMult","ThrowParty","costPerEmployee","totalCost","employees","throwParty","PurchaseWarehouse","warehouses","Warehouse","UpgradeWarehouseCost","Array","from","reduce","acc","UpgradeWarehouse","sizeUpgradeCost","updateSize","BuyCoffee","IndustryUpgrades","HireAdVert","MakeProduct","productName","designInvest","marketingInvest","makesProducts","maxProducts","hasResearch","products","Product","trim","createCity","designCost","advCost","Research","researchName","researchTree","getAllNodes","research","ResearchMap","researched","ExportMaterial","divisionName","cityName","sanitizedAmt","isRelevantMaterial","exportObj","ind","CancelExportMaterial","LimitProductProduction","prdman","LimitMaterialProduction","SetMaterialMarketTA1","on","marketTa1","SetMaterialMarketTA2","marketTa2","SetProductMarketTA1","SetProductMarketTA2","CorporationManagementHandbook","HistoryOfSynthoids","AGreenTomorrow","AlphaOmega","SimulatedReality","BeyondMan","BrighterThanTheSun","DemocracyIsDead","Sector12Crime","ManAndMachine","SecretSocieties","TheFailedFrontier","CodedIntelligence","SyntheticMuscles","TensionsInTechRace","CostOfImmortality","TheHiddenWorld","TheNewGod","NewTriads","TheSecretWar","SleeveTaskType","PositionTypes","initCompanies","oldCompanies","companiesMetadata","forEach","loadCompanies","root","borderBottom","small","width","TableCell","Table","AllGangs","power","territory","loadAllGangs","StatsRow","content","cellNone","style","align","Crimes","Shoplift","CrimeType","dexterity_success_weight","agility_success_weight","RobStore","hacking_success_weight","Mug","strength_success_weight","defense_success_weight","Larceny","DealDrugs","Drugs","charisma_success_weight","BondForgery","TraffickArms","Homicide","kills","GrandTheftAuto","Kidnap","Assassination","Heist","removeLeadingSlash","removeTrailingSlash","endsWith","isValidFilename","isValidDirectoryName","isValidDirectoryPath","path","t_path","dirs","dir","isValidFilePath","fnSeparator","lastIndexOf","fn","getFirstParentDirectory","getAllParentDirectories","lastSlash","getDestinationFilepath","destination","cwd","dstDir","evaluateDirectoryPath","fileName","getFileName","isInRootDirectory","currPath","reconstructedPath","pop","evaluateFilePath","areFilesEqual","f0","f1","areImportsEquals","Terminal","TTerminal","trusted","event","isTrusted","TheDarkArmyServer","DaedalusServer","DarkWeb","ClassType","Classes","StudyComputerScience","youAreCurrently","earnings","newWorkStats","hackExp","intExp","DataStructures","Networks","Algorithms","chaExp","Leadership","GymStrength","strExp","GymDefense","defExp","GymDexterity","dexExp","GymAgility","agiExp","isClassWork","w","WorkType","CLASS","ClassWork","Work","singularity","classType","Sector12RothmanUniversity","isGym","getClass","calculateRates","calculateClassEarningsRate","cycles","cyclesWorked","rate","applyWorkStats","sumWorkStats","finish","htmlLocation","margin","spacing","flexGrow","minHeight","boxSizing","uninitialized","isInitialized","page","allowRouting","toActiveScripts","toAugmentations","toBitVerse","toBladeburner","toStats","toCity","toCorporation","toCreateProgram","toDevMenu","toFaction","toFactions","toGameOptions","toGang","toHacknetNodes","toInfiltration","toJob","toMilestones","toGrafting","toScriptEditor","toSleeves","toStockMarket","toTerminal","toTravel","toTutorial","toWork","toBladeburnerCinematic","toLocation","toStaneksGift","toAchievements","toThemeBrowser","toImportSave","GameRoot","engine","terminal","files","vim","setEditorOptions","useState","setPage","RecoveryMode","Recovery","determineStartPage","setRerender","augPage","setAugPage","setFaction","isFactionWork","flume","setFlume","quick","setQuick","setLocation","Infiltration","Location","Job","cinematicText","setCinematicText","errorBoundaryKey","setErrorBoundaryKey","sidebarOpened","setSideBarOpened","importString","setImportString","importAutomatic","setImportAutomatic","ImportSave","allowRoutingCalls","setAllowRoutingCalls","rerender","old","killAllScripts","saveObject","saveGame","setTimeout","reload","softReset","installAugmentations","useEffect","subscribe","ActiveScripts","Augmentations","Stats","CreateProgram","DevMenu","Options","Gang","Hacknet","Milestones","Grafting","options","ScriptEditor","Sleeves","StockMarket","Tutorial","City","Travel","calculateAchievements","BitVerse","BladeburnerCinematic","StaneksGift","Achievements","ThemeBrowser","base64save","automatic","_functions","fnName","_wrap","func","args","scrollTo","mainPage","withSidebar","withPopups","bypassGame","router","enter","enterBitNode","staneksGift","getCurrentServer","workerScripts","reactivateTutorial","buyStockLong","buyStock","buyStockShort","shortStock","cancelOrder","eventEmitterForReset","eventEmitterForUiReset","initStockMarket","initStockMarketFn","placeOrder","sellStockLong","sellStock","sellStockShort","sellShort","stockMarket","export","onExport","exportGame","forceKill","exportGameFn","installAugmentationsFn","Provider","killScripts","flexDirection","onToggled","isOpened","updateHashCapacity","costMult","seconds","onlineTimeSeconds","hashRate","totalHashesGenerated","prodMult","cpuCores","runScript","script","updateRamUsed","calculateHashGainRate","ramUsed","snackbar","zIndex","logBoxBaseZIndex","alignSelf","SnackbarProvider","dense","maxSnack","anchorOrigin","horizontal","vertical","autoHideDuration","containerRoot","EventEmitter","Snackbar","enqueueSnackbar","closeSnackbar","useSnackbar","variant","duration","id","severity","k","onClick","StockSymbols","IshimaStormTechnologies","NewTokyoDefComm","VolhavenHeliosLabs","NewTokyoVitaLife","Sector12IcarusMicrosystems","Sector12UniversalEnergy","AevumAeroCorp","VolhavenOmniaCybersystems","ChongqingSolarisSpaceSystems","NewTokyoGlobalPharmaceuticals","IshimaNovaMedical","AevumWatchdogSecurity","VolhavenLexoCorp","AevumRhoConstruction","Sector12AlphaEnterprises","VolhavenSysCoreSecurities","VolhavenCompuTek","AevumNetLinkTechnologies","IshimaOmegaSoftware","Sector12FoodNStuff","Sector12JoesGuns","validScriptExtensions","isScriptFilename","some","ext","calculateHackingChance","difficultyMult","skillMult","chance","calculateHackingExpGain","expGain","HackExpGain","calculatePercentMoneyHacked","percentMoneyHacked","ScriptHackMoney","calculateHackingTime","skillFactor","calculateGrowTime","calculateWeakenTime","FactionWorkType","loadStaneksGift","zeros","height","array","fill","calculateGrid","gift","newgrid","fragmentAt","Orders","storedCycles","ticksUntilCycle","SymbolToStockMap","stock","shares","workerScript","Stock","order","Order","symbol","orders","stk","processOrderRefs","symbolToStockMap","processOrders","stockOrders","stockSymbol","orderTxt","scriptRef","loadStockMarket","deleteStockMarket","InitStockMetadata","TicksPerCycle","initSymbolToStockMap","cyclesPerStockUpdate","processStockPrices","timeNow","flipForecastForecast","stockMarketCycle","av","mv","chc","otlkMag","cap","changePrice","OrderTypes","LimitBuy","Short","LimitSell","Long","StopBuy","StopSell","otlkMagChange","cycleForecast","cycleForecastForecast","shareTxUntilMovement","shareTxForMovement","companyPositionMetadata","CompanyPosition","inviteToFaction","InvitationEvent","joinFaction","allFactions","factionInfo","enemy","enemies","hasAugmentationPrereqs","purchaseAugmentation","hasPrereqs","augCosts","queuedAugmentation","req","processPassiveFactionRepGain","offersWork","getGangName","favorMult","hRep","getHackingWorkRepGain","sRep","getFactionSecurityWorkRepGain","fRep","getFactionFieldWorkRepGain","FactionPassiveRepGain","getFactionAugmentationsFiltered","hasGangWith","augs","CongruityImplant","TheRedPill","rng","SFC32RNG","uniqueFilter","GangUniqueAugs","netscriptDelay","delayReject","Promise","resolve","reject","delay","env","stopFlag","ScriptDeath","makeRuntimeRejectMsg","msg","scriptUrl","dependencies","url","resolveNetscriptRequestedThreads","ctx","requestedThreads","threads","requestedThreadsAsInt","function","isScriptErrorMessage","Exploit","names","Bypass","EditSaveFile","PrototypeTampering","TimeCompression","Unclickable","UndocumentedFunctionCall","RealityAlteration","N00dles","YoureNotMeantToAccessThis","TrueRecursion","INeedARainbow","ExploitName","Set","BitburnerSaveObject","getSaveString","PlayerSave","AllServersSave","CompaniesSave","FactionsSave","AliasesSave","Aliases","GlobalAliasesSave","GlobalAliases","StockMarketSave","SettingsSave","VersionSave","LastExportBonus","ExportBonus","StaneksGiftSave","inGang","AllGangsSave","btoa","unescape","encodeURIComponent","emitToastEvent","savedOn","lastSave","then","saveData","playerIdentifier","identifier","getSaveFileName","pushGameSaved","INFO","catch","isRecovery","epochTime","now","bn","download","importGame","base64Save","getImportStringFromFile","file","reader","FileReader","promise","onload","readAsText","newSave","parsedSave","atob","base64","importedPlayer","playerData","totalPlaytime","current","bitNode","bitNodeLevel","loadGame","navigator","userAgent","setInterval","decodeURIComponent","escape","saveObj","loadAliases","loadGlobalAliases","ver","anyPlayer","companyPosition","positionName","companyPositions","changes","convert","code","change","scripts","v1APIBreak","AwardNFG","revenue","expenses","lastCycleRevenue","lastCycleExpenses","thisCycleRevenue","thisCycleExpenses","sleeve","resleeves","contract","contracts","ownedNFGs","newNFG","nfg","darkweb","pushProgram","graft","evaluateVersionCompatibility","href","resets","createNewUpdateText","whiteSpace","paddingLeft","lineHeight","Blob","msSaveOrOpenBlob","document","createElement","URL","createObjectURL","body","appendChild","click","removeChild","revokeObjectURL","initAugmentations","resetFactionAugmentations","clearObject","initNeuroFluxGovernor","initUnstableCircadianModulator","initGeneralAugmentations","initBladeburnerAugmentations","ChurchOfTheMachineGod","initChurchOfTheMachineGodAugmentations","resetAugmentation","augmentationExists","AddToStaticAugmentations","reapply","staticAugmentation","mergeMultipliers","applyEntropy","ownedNfg","pAug","ownedAug","force","augmentationList","nfgIndex","isRepeatableAug","CodingContractType","gen","solver","diff","numTries","generate","CodingContractTypes","md","codingContractTypesMetadata","CodingContractResult","CodingContract","getData","getDescription","getDifficulty","getMaxNumTries","getType","isSolution","solution","Cancelled","onAttempt","val","Success","Failure","CodingContractEvent","MoneyRate","Fragments","Fragment","shape","limit","fullAt","rotation","sy","mx","my","qx","qy","neighboors","candidates","add","coord","cells","candidate","cell","copy","FragmentById","fragment","_","X","Shapes","S","Z","T","I","J","O","Booster","NoneFragment","None","DeleteFragment","Delete","base","inherit","common","accent","bg","fg","syntax","tag","entity","string","regexp","markup","keyword","comment","constant","ui","line","panel","selected","selection","colorRegExp","sanitizeTheme","entries","repairBlock","block","makeTheme","themeRules","token","foreground","themeColors","fromEntries","rules","async","loadThemes","monaco","editor","defineTheme","fontStyle","uuidv4","uuid","subscribers","sub","Adjuster","setValue","label","placeholder","subtract","tons","onChange","InputProps","startAdornment","title","transform","endAdornment","upArrowSymbol","downArrowSymbol","leftArrowSymbol","rightArrowSymbol","getArrow","UP_ARROW","W","LEFT_ARROW","DOWN_ARROW","RIGHT_ARROW","D","getInverseArrow","count","getActionTimePenalty","getChaosCompetencePenalty","getChaosDifficultyBonus","makeNode","Node","text","createBaseResearchTreeNodes","rootNode","autoBrew","autoParty","autoDrugs","bulkPurchasing","cph4","drones","dronesAssembly","dronesTransport","goJuice","hrRecruitment","hrTraining","joywire","marketta1","marketta2","overclock","scAssemblers","stimu","addChild","baseResearchTree","ResearchTree","setRoot","upgradeFulcrum","upgradeCapacity1","upgradeCapacity2","upgradeDashboard","numCycleForGrowth","growth","ajdGrowthRate","serverGrowthPercentage","coreBonus","ServerGrowthRate","numCycleForGrowthCorrected","targetMoney","startMoney","adjGrowthRate","exponentialBase","coreMultiplier","threadMultiplier","ey","bt","corr","bct","opc","fca","cca","ceil","processSingleServerGrowth","calculateServerGrowth","oldMoneyAvailable","isValidNumber","usedCycles","prestigeHomeComputer","homeComp","hasBitflume","BitFlume","updateRamUsage","getServerOnNetwork","isBackdoorInstalled","SkillNames","BladesIntuition","Cloak","Marksman","WeaponProficiency","ShortCircuit","DigitalObserver","Tracer","Overclock","Reaper","EvasiveSystem","Datamancer","CybersEdge","HandsOfMidas","Hyperdrive","reputation","rep","Reputation","useGang","killWorkerScript","rerenderUi","WorkerScript","stopAndCleanUpWorkerScript","RunningScript","killWorkerScriptByPid","pid","ws","compareArrays","atExit","String","clearTimeout","killNetscriptDelay","runningScript","rs","ramUsage","delete","AddRecentScript","WorkerScriptStartStopEventEmitter","removeWorkerScript","MoneyCost","OptionSwitch","checked","tooltip","control","BitNode","BitNodes","HomeComputerRamCost","PurchasedServerCost","PurchasedServerSoftcap","CompanyWorkMoney","CrimeMoney","HacknetNodeMoney","ManualHackMoney","ScriptHackMoneyGain","ClassGymExpGain","CompanyWorkExpGain","CrimeExpGain","FactionWorkExpGain","FactionWorkRepGain","RepToDonateToFaction","InfiltrationMoney","InfiltrationRep","FourSigmaMarketDataCost","FourSigmaMarketDataApiCost","CorporationValuation","CorporationSoftcap","BladeburnerRank","BladeburnerSkillCost","GangSoftcap","StaneksGiftPowerMultiplier","StaneksGiftExtraSize","getBitNodeMultipliers","inc","dec","initBitNodeMultipliers","defaultConstructorParams","initPrice","marketCap","spreadPerc","range","divisor","lastPrice","playerShares","playerAvgPx","playerShortShares","playerAvgShortPx","otlkMagForecast","getAbsoluteForecast","totalSharesUnrounded","totalShares","maxShares","changeForecastForecast","newff","newPrice","changeAmt","increaseChance","getForecastIncreaseChance","getAskPrice","getBidPrice","influenceForecast","influenceForecastForecast","startingLevel","extraLevels","totalMultiplier","startingRam","numUpgrades","currentRam","startingCores","currentCores","startingCache","currentCache","printAliases","print","parseAliasDeclaration","global","matches","addGlobalAlias","addAlias","getAlias","getGlobalAlias","removeAlias","substituteAliases","origCommand","commandArray","somethingSubstituted","depth","alias","constructLocation","asciiArt","LocationsMetadata","addLocation","w0","w1","workStats","gains","Literature","CopyableText","setOpen","copyText","select","setSelectionRange","execCommand","ThemeEvents","refreshTheme","createTheme","combat","backgroundprimary","backgroundsecondary","button","successlight","success","successdark","white","black","light","primarylight","primarydark","secondary","secondarylight","secondarydark","errorlight","errordark","infolight","infodark","warning","warninglight","warningdark","well","typography","fontFamily","textTransform","components","MuiInputBase","styleOverrides","input","userSelect","MuiInput","borderBottomColor","underline","MuiInputLabel","MuiButtonGroup","marginRight","MuiButton","borderRadius","MuiSelect","icon","defaultProps","MuiTextField","MuiTypography","MuiMenu","list","MuiMenuItem","MuiAccordionSummary","MuiAccordionDetails","MuiIconButton","MuiTooltip","fontSize","disableInteractive","MuiSlider","valueLabel","MuiDrawer","paperAnchorDockedLeft","borderRight","welllight","MuiDivider","MuiFormControlLabel","MuiSwitch","switchBase","track","MuiPaper","MuiTablePagination","selectLabel","displayedRows","MuiTab","textColorPrimary","MuiTabs","scrollButtons","opacity","TabIndicatorProps","MuiAlert","standardSuccess","standardError","standardWarning","standardInfo","TTheme","injectFirst","layerCounter","LogBoxEvents","LogBoxCloserEvents","LogBoxClearEvents","LogBoxManager","closePid","LogWindow","close","overflowY","overflowX","wordWrap","titleButton","draggableRef","useRef","rootRef","setScript","container","minimized","setMinimized","kill","findRunningScript","startWorkerScript","updateLayer","full","maxLength","minimize","clearInterval","addEventListener","onResize","removeEventListener","debounce","isOnScreen","resetPosition","bounds","getBoundingClientRect","right","bottom","left","innerWidth","top","outerWidth","state","setState","minConstraints","handle","onDrag","MouseEvent","clientX","clientY","innerHeight","ref","onMouseDown","flexFlow","minWidth","cursor","textOverflow","has","onTouchEnd","Water","Plants","Metal","Hardware","Chemicals","Robots","AICores","calculateExp","skill","currentSkill","nextSkill","baseExperience","nextExperience","progress","currentExperience","remainingExperience","experience","UpgradeType","gangMemberUpgradesMetadata","upgType","Weapon","Armor","Vehicle","Rootkit","gainFavor","getFavorGain","totalRep","favorToRep","repToFavor","GangConstants","GangRespectToReputationRatio","MaximumGangMembers","CyclesPerTerritoryAndPowerUpdate","AscensionMultiplierRatio","Names","GangKarmaRequirement","errorMessage","NetscriptPorts","NetscriptPort","prestigeWorkerScripts","port","clear","startNetscript1Script","codeWithImports","codeLineOffset","running","importProcessingRes","ast","ecmaVersion","allowReserved","sourceType","getServer","generatedCode","hasImports","walksimple","ImportDeclaration","scriptName","getScript","scriptAst","specifiers","namespace","local","fnNames","fnDeclarations","FunctionDeclaration","fnsToImport","lineOffset","linesRemoved","processNetscript1Imports","interpreterInitialization","scope","NetscriptFunctions","entry","tempWrapper","fnArgs","isArray","pseudoToNative","callb","errorTextArray","errorMsg","setProperty","createAsyncFunction","createNativeFunction","nativeToPseudo","interpreter","Interpreter","runInterpreter","more","step","_e","parent","createAndAddWorkerScript","oneRamUsage","getRamUsageFromRunningScript","roundToTwo","arrayToString","generateNextPid","set","scriptExecution","runningFn","wrap","propName","sprintf","finally","wrapObject","vars","tree","prop","executeJSScript","SyntaxError","message","stack","startNetscript2Script","onlineExpGained","onlineMoneyMade","updateOnlineScriptTimes","onlineRunningTime","loadAllRunningScripts","skipScriptLoad","markUpdated","scriptCalculateOfflineProduction","runScriptFromScript","caller","scriptname","arg","getRunningScript","Number","ramAvailable","hasAdminRights","Map","StatsTable","rows","wide","MuiTable","row","elem","noWrap","Material","getMarkupLimit","qlt","mku","dmd","dmdR","cmp","cmpR","processMarket","priceChange","compChange","dmdChange","calculateWantedPenalty","respect","wantedLevel","calculateRespectGain","task","baseRespect","statWeight","hackWeight","strWeight","defWeight","dexWeight","agiWeight","chaWeight","territoryMult","territoryPenalty","respectMult","calculateWantedLevelGain","baseWanted","wanted","calc","calculateMoneyGain","baseMoney","calculateAscensionPointsGain","calculateAscensionMult","points","GameTimer","setV","totalMillis","WKSharmonizer","millis","intervalId","onExpire","noPaper","mb","ActionIdentifier","general","ops","blackops","events","updateSkillMultipliers","calculateMaxStamina","stamina","maxStamina","getCurrentCity","calculateStaminaPenalty","canAttemptBlackOp","actionId","getActionObject","reqdRank","rank","nm","BlackOperations","isAvailable","startAction","person","actionTimeCurrent","actionTimeToComplete","resetAction","getActionTime","exceptionAlert","comms","testBlackOp","getRecruitmentTime","upgradeSkill","skillName","skills","executeConsoleCommands","commands","consoleHistory","arrayOfCommands","executeConsoleCommand","postToConsole","saveToLogs","consoleLogs","getTimestamp","clearConsole","bladeburnerFac","storeCycles","getActionIdFromTypeAndName","convertedType","convertedName","operations","executeStartConsoleCommand","GeneralActions","executeSkillConsoleCommand","skillNames","Skills","multKeys","skillMultipliers","Skill","currentLevel","pointCost","calculateCost","maxLvl","executeLogConsoleCommand","flag","logging","executeHelpConsoleCommand","ConsoleHelpText","helpList","helpText","executeAutomateConsoleCommand","variable","highLow","automateActionHigh","automateActionLow","automateThreshHigh","automateThreshLow","automateEnabled","parseCommandArguments","command","start","endQuote","SPACE","substr","triggerMigration","sourceCityName","destCityName","destCity","sourceCity","rand","percentage","triggerPotentialMigration","randomEvent","chaos","getActionStats","successMult","unweightedGain","unweightedIntGain","weights","getDiplomacyEffectiveness","getRecruitmentSuccessChance","teamSize","sleeveSize","effCharisma","effCha","charismaFactor","sleeveSupport","joining","resetSkillMultipliers","successChanceAll","successChanceStealth","successChanceKill","successChanceContract","successChanceOperation","successChanceEstimate","actionTime","effHack","effStr","effDef","effDex","effAgi","effInt","multiplierNames","multiplierName","getMultiplier","multiplierValue","completeOperation","teamCount","losses","sup","bbAction","teamLost","improvePopulationEstimateByPercentage","changePopulationByPercentage","changeEstEqually","nonZero","changeChaosByCount","changeChaosByPercentage","changePopulationByCount","estChange","estOffset","completeContract","actionIdent","improvePopulationEstimateByCount","completeAction","isPlayer","createTaskTracker","isOperation","difficultyMultiplier","rewardMultiplier","rewardFac","attempt","successes","setMaxLevel","rankGain","gain","addOffset","whoAmI","failures","loss","damage","rankLoss","hpLoss","hpLost","calculateHospitalizationCost","numHosp","moneyLost","logLossText","autoLevel","teamLossMax","strExpGain","defExpGain","dexExpGain","agiExpGain","staminaGain","staminaBonus","eff","hackingExpGain","charismaExpGain","successChance","recruitTime","growthF","Growths","operation","infiltrateSynthoidCommunities","infilSleeves","maxRank","bladeburnersFactionName","favorBonus","rankNeededForSp","totalSkillPoints","gainedSkillPoints","processAction","actionTimeOverflow","calculateStaminaGainPerSecond","effAgility","maxStaminaBonus","oldMax","difficultyFac","decays","isStealth","isKill","BladesSimulacrum","op","randomEventCounter","getTypeAndNameFromActionId","types","getContractNamesNetscriptFn","getOperationNamesNetscriptFn","getBlackOpNamesNetscriptFn","getGeneralActionNamesNetscriptFn","getSkillNamesNetscriptFn","startActionNetscriptFn","errorLogText","canRunOp","getActionTimeNetscriptFn","actionObj","getActionEstimatedSuccessChanceNetscriptFn","getEstSuccessChance","recChance","getActionCountRemainingNetscriptFn","getSkillLevelNetscriptFn","getSkillUpgradeCostNetscriptFn","upgradeSkillNetscriptFn","getTeamSizeNetscriptFn","setTeamSizeNetscriptFn","sanitizedSize","joinBladeburnerFactionNetscriptFn","calculateMoneyGainRate","startingCore","sanitizedCores","coreBaseCost","win","reachedLimit","reached","Game","interpolate","settings","out","lerpD","lerp","Trivial","Normal","Hard","Impossible","KeyHandler","press","onKeyDown","FACTION","FactionWork","factionWorkType","HACKING","getFaction","getReputationRate","FIELD","SECURITY","focusBonus","NeuroreceptorManager","getExpRates","calculateFactionExp","Hashes","updateMoneyGainRate","moneyGainRatePerSecond","totalMoneyGenerated","minMax","getPurchaseServerCost","sanitizedRam","isPowerOfTwo","sign","getPurchaseServerMaxRam","getPurchaseServerLimit","clz32","purchaseServer","newServ","purchaseRamForHomeComputer","getUpgradeHomeRamCost","TextFile","append","read","show","write","getTextFile","textFiles","createTextFile","RamCostConstants","ScriptBaseRamCost","ScriptDomRamCost","ScriptCorporationRamCost","ScriptHackRamCost","ScriptHackAnalyzeRamCost","ScriptGrowRamCost","ScriptGrowthAnalyzeRamCost","ScriptWeakenRamCost","ScriptWeakenAnalyzeRamCost","ScriptScanRamCost","ScriptRecentScriptsRamCost","ScriptPortProgramRamCost","ScriptRunRamCost","ScriptExecRamCost","ScriptSpawnRamCost","ScriptScpRamCost","ScriptKillRamCost","ScriptHasRootAccessRamCost","ScriptGetHostnameRamCost","ScriptGetHackingLevelRamCost","ScriptGetMultipliersRamCost","ScriptGetServerRamCost","ScriptGetServerMaxRam","ScriptGetServerUsedRam","ScriptFileExistsRamCost","ScriptIsRunningRamCost","ScriptHacknetNodesRamCost","ScriptHNUpgLevelRamCost","ScriptHNUpgRamRamCost","ScriptHNUpgCoreRamCost","ScriptGetStockRamCost","ScriptBuySellStockRamCost","ScriptGetPurchaseServerRamCost","ScriptPurchaseServerRamCost","ScriptGetPurchasedServerLimit","ScriptGetPurchasedServerMaxRam","ScriptRoundRamCost","ScriptReadWriteRamCost","ScriptArbScriptRamCost","ScriptGetScriptRamCost","ScriptGetRunningScriptRamCost","ScriptGetHackTimeRamCost","ScriptGetFavorToDonate","ScriptCodingContractBaseRamCost","ScriptSleeveBaseRamCost","ScriptGetOwnedSourceFiles","ScriptClearTerminalCost","ScriptSingularityFn1RamCost","ScriptSingularityFn2RamCost","ScriptSingularityFn3RamCost","ScriptGangApiBaseRamCost","ScriptBladeburnerApiBaseRamCost","ScriptStanekWidth","ScriptStanekHeight","ScriptStanekCharge","ScriptStanekFragmentDefinitions","ScriptStanekPlacedFragments","ScriptStanekClear","ScriptStanekCanPlace","ScriptStanekPlace","ScriptStanekFragmentAt","ScriptStanekDeleteAt","ScriptInfiltrationCalculateDifficulty","ScriptInfiltrationCalculateRewards","ScriptInfiltrationGetLocations","ScriptInfiltrationGetInfiltrations","ScriptStanekAcceptGift","SF4Cost","sf4","getSymbols","getPrice","getPosition","getMaxShares","getPurchaseCost","getSaleGain","sell","short","getOrders","getVolatility","getForecast","purchase4SMarketData","purchase4SMarketDataTixApi","purchaseWseAccount","purchaseTixApi","universityCourse","gymWorkout","travelToCity","goToLocation","purchaseTor","purchaseProgram","connect","manualHack","installBackdoor","getDarkwebProgramCost","getDarkwebPrograms","getStats","getCharacterInformation","isBusy","stopAction","upgradeHomeRam","upgradeHomeCores","getUpgradeHomeCoresCost","workForCompany","applyToCompany","getCompanyFavor","getCompanyFavorGain","checkFactionInvitations","workForFaction","getFactionRep","getFactionFavor","getFactionFavorGain","donateToFaction","createProgram","commitCrime","getCrimeChance","getCrimeStats","getOwnedAugmentations","getAugmentationsFromFaction","getAugmentationCost","getAugmentationPrereq","getAugmentationPrice","getAugmentationRepReq","getAugmentationStats","isFocused","setFocus","b1tflum3","destroyW0r1dD43m0n","createGang","getMemberNames","getGangInformation","getOtherGangInformation","getMemberInformation","canRecruitMember","recruitMember","getTaskNames","getTaskStats","setMemberTask","getEquipmentNames","getEquipmentCost","getEquipmentType","getEquipmentStats","purchaseEquipment","ascendMember","getAscensionResult","setTerritoryWarfare","getChanceToWinClash","getBonusTime","getContractNames","getOperationNames","getBlackOpNames","getBlackOpRank","getGeneralActionNames","getSkillNames","stopBladeburnerAction","getCurrentAction","getActionCurrentTime","getActionEstimatedSuccessChance","getActionRepGain","getActionCountRemaining","getActionMaxLevel","getActionCurrentLevel","getActionAutolevel","setActionAutolevel","setActionLevel","getRank","getSkillPoints","getSkillLevel","getSkillUpgradeCost","getTeamSize","setTeamSize","getCityEstimatedPopulation","getCityCommunities","getCityChaos","getCity","switchCity","getStamina","joinBladeburnerFaction","joinBladeburnerDivision","infiltration","getPossibleLocations","getInfiltration","codingcontract","getContractType","getNumTriesRemaining","getNumSleeves","setToShockRecovery","setToSynchronize","setToCommitCrime","setToUniversityCourse","setToCompanyWork","setToFactionWork","setToGymWorkout","getSleeveStats","getTask","getInformation","getSleeveAugmentations","getSleevePurchasableAugs","purchaseSleeveAug","setToBladeburnerAction","stanek","giftWidth","giftHeight","chargeFragment","fragmentDefinitions","activeFragments","clearGift","canPlaceFragment","placeFragment","getFragment","removeFragment","acceptGift","SourceRamCosts","enums","createCorporation","hasUnlockUpgrade","getUnlockUpgradeCost","getUpgradeLevel","getUpgradeLevelCost","getExpandIndustryCost","getExpandCityCost","getInvestmentOffer","acceptInvestmentOffer","goPublic","bribe","getCorporation","getDivision","expandIndustry","expandCity","unlockUpgrade","levelUpgrade","issueDividends","buyBackShares","sellShares","sellMaterial","sellProduct","discontinueProduct","setSmartSupply","setSmartSupplyUseLeftovers","buyMaterial","bulkPurchase","getWarehouse","getProduct","getMaterial","setMaterialMarketTA1","setMaterialMarketTA2","setProductMarketTA1","setProductMarketTA2","exportMaterial","cancelExportMaterial","purchaseWarehouse","upgradeWarehouse","makeProduct","limitMaterialProduction","limitProductProduction","getPurchaseWarehouseCost","getUpgradeWarehouseCost","hasWarehouse","assignJob","hireEmployee","upgradeOfficeSize","buyCoffee","hireAdVert","getOffice","getEmployee","getHireAdVertCost","getHireAdVertCount","getResearchCost","hasResearched","setAutoJobAssignment","getOfficeSizeUpgradeCost","hacknet","numNodes","purchaseNode","getPurchaseNodeCost","getNodeStats","getLevelUpgradeCost","getRamUpgradeCost","getCoreUpgradeCost","getCacheUpgradeCost","numHashes","hashCost","spendHashes","maxNumNodes","getHashUpgrades","getHashUpgradeLevel","getStudyMult","getTrainingMult","getTheme","setTheme","resetTheme","getStyles","setStyles","resetStyles","getGameInfo","clearTerminal","grafting","getAugmentationGraftPrice","getAugmentationGraftTime","getGraftableAugmentations","graftAugmentation","vsprintf","scan","hackAnalyzeThreads","hackAnalyze","hackAnalyzeSecurity","hackAnalyzeChance","sleep","asleep","share","getSharePower","grow","growthAnalyze","growthAnalyzeSecurity","weakenAnalyze","printf","tprint","tprintf","clearLog","disableLog","enableLog","isLogEnabled","getScriptLogs","nuke","brutessh","ftpcrack","relaysmtp","httpworm","sqlinject","exec","spawn","killall","exit","scp","ls","ps","getRecentScripts","hasRootAccess","getHostname","getHackingLevel","getHackingMultipliers","getHacknetMultipliers","getServerMoneyAvailable","getServerSecurityLevel","getServerBaseSecurityLevel","getServerMinSecurityLevel","getServerRequiredHackingLevel","getServerMaxMoney","getServerGrowth","getServerNumPortsRequired","getServerRam","getServerMaxRam","getServerUsedRam","serverExists","fileExists","getPurchasedServerLimit","getPurchasedServerMaxRam","getPurchasedServerCost","deleteServer","getPurchasedServers","tryWritePort","peek","writePort","readPort","getPortHandle","rm","scriptRunning","scriptKill","getScriptName","getScriptRam","getHackTime","getGrowTime","getWeakenTime","getTotalScriptIncome","getScriptIncome","getTotalScriptExpGain","getScriptExpGain","nFormat","tFormat","getTimeSinceLastAug","prompt","wget","getFavorToDonate","getPlayer","getOwnedSourceFiles","tail","toast","closeTail","clearPort","openDevMenu","alert","flags","bypass","alterReality","rainbow","heart","break","formulas","calculateFavorToRep","calculateRepToFavor","repFromDonation","hackChance","hackPercent","growPercent","hackTime","growTime","weakenTime","moneyGainRate","levelUpgradeCost","ramUpgradeCost","coreUpgradeCost","hacknetNodeCost","constants","hacknetServers","hashGainRate","cacheUpgradeCost","hashUpgradeCost","hacknetServerCost","wantedPenalty","respectGain","wantedLevelGain","ascensionPointsGain","ascensionMultiplier","RamCosts","getRamCost","currType","costInc","getBuyTransactionCost","posType","getSellTransactionGain","processTransactionForecastMovement","firstShares","remainingShares","numIterations","forecastChange","forecastForecastChange","calculateBuyMaxAmount","isLong","remainingMoney","currPrice","GangMemberUpgrades","GangMemberUpgrade","getStockMarket4SDataCost","getStockMarket4STixApiCost","getStockMarketWseCost","getStockMarketTixApiCost","m0","m1","HashUpgradesMetadata","HashUpgrade","GangMemberTasks","gangMemberTasksMetadata","GangMemberTask","isHacking","isCombat","materials","updateMaterialSizeUsed","matName","getStorageMultiplier","opts","suppressDialog","totalPrice","origTotal","newTotal","rerenderFn","resultTxt","netProfit","origCost","Output","formatTime","RawOutput","raw","Link","dashes","TTimer","timeLeft","ConfirmationModal","confirmationText","onConfirm","additionalButton","createProgressBarText","derived","totalTicks","bars","hash","__COMMIT_HASH__","DefaultConstructorParams","expMultiplier","salaryMultiplier","isPlayerEmployed","isMegacorp","hasAgentPositions","hasBusinessConsultantPositions","hasBusinessPositions","hasEmployeePositions","hasITPositions","hasSecurityPositions","hasSoftwareConsultantPositions","hasSoftwarePositions","hasWaiterPositions","globalModuleSequenceNumber","Script","otherScripts","moduleSequenceNumber","saveScript","formatCode","dependent","dependents","dependentScript","calculateRamUsage","ramUsageEntries","imports","DarkWebItems","BruteSSHProgram","DarkWebItem","FTPCrackProgram","RelaySMTPProgram","HTTPWormProgram","SQLInjectProgram","ServerProfiler","DeepscanV1","DeepscanV2","AutolinkProgram","AutoLink","FormulasProgram","Formulas","actionNames","actionName","Action","Suit","Card","suit","formatValue","isRedSuit","Hearts","Diamonds","getStringRepresentation","SourceFile","bitnodeKey","bitnode","timePassed","confidence","dataMap","serv","timesGrown","host","offlineRunningTime","offlineExpGained","timesWeakened","findRunningScriptByPid","MathJaxWrapper","version","src","lineNumber","CorporationUnlockUpgradeIndex","CorporationUnlockUpgrades","Export","SmartSupply","MarketResearchDemand","MarketDataCompetition","VeChain","ShadyAccounting","GovernmentPartnership","WarehouseAPI","OfficeAPI","getGraftingAvailableAugs","augName","graftingIntBonus","calculateGraftingTimeWithBonus","OperationTyphoon","OperationZero","OperationX","OperationTitan","OperationAres","OperationArchangel","OperationJuggernaut","OperationRedDragon","OperationK","OperationDeckard","OperationTyrell","OperationWallace","OperationShoulderOfOrion","OperationHyron","OperationMorpheus","OperationIonStorm","OperationAnnihilus","OperationUltron","OperationCenturion","OperationVindictus","OperationDaedalus","ActiveFragment","highestCharge","numCharge","collide","other","thisFragment","otherFragment","dx","dy","fragSize","worldX","worldY","commit","div","startWork","CrimeWork","crimeType","successRate","vals","CalculateShareMult","GameOptionsTab","HashRate","Message","ApplyToJobButton","getJobRequirementTooltip","researchMetadata","initElectron","normalizeFileName","getFiles","deleteFile","removeFile","saveFile","Buffer","overwritten","writeToScriptFile","initWebserver","funcs","typesFn","appNotifier","initAppNotifier","triggerSave","triggerGameExport","ERROR","triggerScriptsExport","exportScripts","getSaveData","getSaveInfo","getImportDataFromString","pushSaveData","appSaveFns","initSaveFunctions","bridge","electronBridge","receive","send","initElectronBridge","pushGameReady","playtime","game","pushImportResult","wasImported","pushDisableRestore","isCreateProgramWork","CREATE_PROGRAM","CreateProgramWork","unitCompleted","programFile","percComplete","unitNeeded","getProgram","reqLvl","cancelled","incompleteName","lines","achievementData","bitNodeFinishedState","wd","hasAccessToSF","knowsAboutBitverse","Icon","Condition","THE_BLACK_HAND","THE_COVENANT","Visible","MONEY_1Q","MONEY_M1B","Secret","INSTALL_1","INSTALL_100","QUEUE_40","HACKING_100000","COMBAT_3000","NEUROFLUX_255","NS2","FROZE","RUNNING_SCRIPTS_1000","DRAIN_SERVER","MAX_RAM","MAX_CORES","SCRIPTS_30","KARMA_1000000","STOCK_1q","DISCOUNT","SCRIPT_32GB","FIRST_HACKNET_NODE","MAX_HACKNET_NODE","HACKNET_NODE_10M","REPUTATION_10M","DONATION","TRAVEL","WORKOUT","TOR","hasTorRouter","HOSPITALIZED","hospitalization","GANG","FULL_GANG","members","GANG_TERRITORY","GANG_MEMBER_POWER","CORPORATION","CORPORATION_BRIBE","CORPORATION_PROD_1000","CORPORATION_EMPLOYEE_3000","CORPORATION_REAL_ESTATE","Description","INTELLIGENCE_255","BLADEBURNER_DIVISION","BLADEBURNER_OVERCLOCK","BLADEBURNER_UNSPENT_100000","FIRST_HACKNET_SERVER","AdditionalUnlock","ALL_HACKNET_SERVER","MAX_HACKNET_SERVER","hs","HACKNET_SERVER_1B","MAX_CACHE","capacity","SLEEVE_8","INDECISIVE","FAST_BN","CHALLENGE_BN1","CHALLENGE_BN2","CHALLENGE_BN3","CHALLENGE_BN6","CHALLENGE_BN7","CHALLENGE_BN8","CHALLENGE_BN9","hacknet_expenses","CHALLENGE_BN10","CHALLENGE_BN12","BYPASS","PROTOTYPETAMPERING","UNCLICKABLE","UNDOCUMENTEDFUNCTIONCALL","TIMECOMPRESSION","REALITYALTERATION","N00DLES","EDITSAVEFILE","UNACHIEVABLE","CHALLENGE_BN13","StaneksGift1","DEVMENU","RAINBOW","TRUE_RECURSION","playerAchievements","missingAchievements","flatMap","Intelligence","useTheme","colSpan","WorkInProgressOverview","onClickFocus","header","workCell","workHeader","pt","pb","workSubtitles","mt","details","innerText","isCrimeWork","crime","getCrime","isGraftingWork","factionWork","companyWork","getCompany","getGainRates","textAlign","CharacterOverview","killOpen","setKillOpen","hackingProgress","strengthProgress","defenseProgress","dexterityProgress","agilityProgress","charismaProgress","borderTop","flex","aria-label","midpoint","program","description","BadRNG","WHRNG","s1","s2","s3","genSeed","COMPANY","CompanyWork","NewTokyoNoodleBar","calculateCompanyWorkStats","influenceStockThroughCompanyWork","v1","v2","Favor","gameCPS","classs","discount","calculateClassEarnings","work","hashMult","expMult","Person","crimeKey","currentTask","finishTask","resetTaskStatus","gainRatesForTask","currentTaskLocation","currentTaskMaxTime","currentTaskTime","successGainRates","keysForIteration","gainExperience","bb","bbContract","bbRetValue","fromOtherSleeve","multFac","pHackExp","pStrExp","pDefExp","pDexExp","pAgiExp","pChaExp","pIntExp","earningsForPlayer","earningsForTask","earningsForSleeves","getMemoryUpgradeCost","memory","currCost","currMemory","getRepGain","jobPerformance","calculateJobPerformance","getFactionHackingWorkRepGain","installAugmentation","updateStatLevels","cyclesUsed","Class","Gym","updateTaskGainRates","Synchro","retVal","gymStatType","takeUniversityCourse","universityName","AevumSummitUniversity","VolhavenZBInstituteOfTechnology","newCity","tryBuyAugmentation","AevumCrushFitnessGym","AevumSnapFitnessGym","Sector12IronGym","Sector12PowerhouseGym","VolhavenMilleniumFitnessGym","baseGymExp","totalExpMultiplier","sanitizedStat","totalExpMult","upgradeMemory","baseSalary","strengthExpGain","defenseExpGain","dexterityExpGain","agilityExpGain","workType","sanitizedWorkType","offerHackingWork","offerFieldWork","offerSecurityWork","workoutAtGym","gymName","stat","getBladeburnerActionTime","recruitmentSuccessChance","contractGainRates","contractSuccessChance","chances","RamCalculationErrorCode","TerminalEvents","TerminalClearEvents","orderType","refs","orderBook","executeOrder","isBuy","predefined","getPredefinedThemes","AlertManager","alerts","setAlerts","sha256","getMessageHash","overflowWrap","getRandomByte","getDB","indexedDB","indexedDbRequest","onupgradeneeded","createObjectStore","onerror","ev","onsuccess","db","transaction","objectStore","request","put","deleteGame","sendMessage","forced","showMessage","recvd","addMessageToServer","Messages","checkForMessagesToSend","jumper0","MessageFilenames","Jumper0","jumper1","Jumper1","jumper2","Jumper2","jumper3","Jumper3","jumper4","Jumper4","cybersecTest","CyberSecTest","nitesecTest","NiteSecTest","bitrunnersTest","BitRunnersTest","truthGazer","TruthGazer","redpill","RedPill","worldDaemon","flightName","Flight","problemType","getRandomProblemType","getRandomReward","randServer","getRandomServer","contractFn","getRandomFilename","addContract","generateRandomContractOnHome","generateContract","problemTypes","rewardType","factionsThatAllowHacking","sanitizeRewardType","numFactions","randFaction","allJobs","randIndex","canGetBonus","setLastExportBonus","unixTime","Option","buttonText","infoText","getTeamSuccessBonus","inst","getActionTypeSkillSuccessBonus","MightOfAres","WisdomOfAthena","ChaosOfDionysus","BeautyOfAphrodite","TrickeryOfHermes","FloodOfPoseidon","HuntOfArtemis","KnowledgeOfApollo","HemoRecirculator","Targeting1","Targeting2","Targeting3","SyntheticHeart","SynfibrilMuscle","CombatRib1","CombatRib2","CombatRib3","NanofiberWeave","SubdermalArmor","WiredReflexes","GrapheneBoneLacings","BionicSpine","GrapheneBionicSpine","BionicLegs","GrapheneBionicLegs","SpeechProcessor","TITN41Injection","EnhancedSocialInteractionImplant","BitWire","ArtificialBioNeuralNetwork","ArtificialSynapticPotentiation","EnhancedMyelinSheathing","SynapticEnhancement","NeuralRetentionEnhancement","DataJack","ENM","ENMCore","ENMCoreV2","ENMCoreV3","ENMAnalyzeEngine","ENMDMA","Neuralstimulator","NeuralAccelerator","CranialSignalProcessorsG1","CranialSignalProcessorsG2","CranialSignalProcessorsG3","CranialSignalProcessorsG4","CranialSignalProcessorsG5","NeuronalDensification","NuoptimalInjectorImplant","SpeechEnhancement","FocusWire","PCDNI","PCDNIOptimizer","PCDNINeuralNetwork","ADRPheromone1","ADRPheromone2","ShadowsSimulacrum","HacknetNodeCPUUpload","HacknetNodeCacheUpload","HacknetNodeNICUpload","HacknetNodeKernelDNI","HacknetNodeCoreDNI","Neurotrainer1","Neurotrainer2","Neurotrainer3","Hypersight","LuminCloaking1","LuminCloaking2","SmartSonar","PowerRecirculator","QLink","SPTN97","HiveMind","CordiARCReactor","SmartJaw","Neotra","Xanipher","HydroflameLeftArm","nextSENS","OmniTekInfoLoad","PhotosyntheticCells","Neurolink","CRTX42AA","Neuregen","CashRoot","NutriGen","PCMatrix","INFRARet","DermaForce","GrapheneBrachiBlades","BrachiBlades","GrapheneBionicArms","BionicArms","SNA","EsperEyewear","EMS4Recombination","OrionShoulder","HyperionV1","HyperionV2","GolemSerum","VangelisVirus","VangelisVirus3","INTERLINKED","BladeRunner","BladeArmor","BladeArmorPowerCells","BladeArmorEnergyShielding","BladeArmorUnibeam","BladeArmorOmnibeam","BladeArmorIPU","StaneksGift2","StaneksGift3","donationBonus","randomBonuses","bonuses","randomNumber","getRandomBonus","UnstableCircadianModulatorParams","UnstableCircadianModulator","AevumGalacticCybersystems","Sector12DeltaOne","AevumPolice","nextPosition","repMultiplier","reqdHacking","reqdStrength","reqdDefense","reqdDexterity","requiredAgility","reqdAgility","reqdCharisma","reqdReputation","hackingEffectiveness","strengthEffectiveness","defenseEffectiveness","dexterityEffectiveness","agilityEffectiveness","charismaEffectiveness","hackRatio","strRatio","defRatio","dexRatio","agiRatio","chaRatio","reputationGain","logEntry","logUpd","displayLog","recordHack","moneyGained","recordGrow","recordWeaken","checkEnum","enumVariable","StartButton","char","CorruptableText","setContent","counter","timers","letter","randFrom","randomize","timerId","GRAFTING","GraftingWork","GraftableAugmentations","GraftableAugmentation","fmt","FactionInfo","keep","keepOnInstall","assignment","getMult","getUpgrade","getUpgradeCost","newCap","determineCrimeSuccess","found","findCrime","roughName","atCapacity","marketCycles","emp","hireRandomEmployee","calculateTotalEmployees","maxEne","maxHap","maxMor","perfMult","hasAutobrew","hasAutoparty","salaryPaid","mor","hap","ene","calculateEmployeeProductivity","employeeJobs","employeeProd","prod","calculateProductivity","getElementById","cre","sal","Employee","creativity","efficiency","salary","assignEmployeeToJob","unassignEmployeeFromJob","setEmployeeToJob","amount","jobCount","CorporationUpgradeIndex","CorporationUpgrades","SmartFactories","benefit","SmartStorage","DreamSense","WilsonAnalytics","NuoptimalNootropicInjectorImplants","SpeechProcessorImplants","NeuralAccelerators","FocusWires","ABCSalesBots","ProjectInsight","antiLog","sum","ReputationRate","validator","paramValidator","calculateSellInformationCashReward","levelBonus","calculateTradeInformationRepReward","calculateInfiltratorsRepReward","startingSecurityLevel","infiltrationData","sanitizedSource","comprGenChar","comprLZGenerate","plain","comprLZEncode","cur_state","new_state","new_offset","tmp_state","len","comprLZDecode","compr","literal_length","backref_length","backref_offset","StatsProgressBar","remaining","StatsProgressOverviewCell","characterOverviewStyles","paddingBottom","canAccessGang","isAwareOfGang","getGangFaction","startGang","oldhp","PromptEvent","PromptManager","setPrompt","PromptMenuText","PromptMenuSelect","PromptContent","PromptMenuBoolean","paddingTop","submit","autoFocus","onInput","stopPropagation","ENTER","preventDefault","choices","getItems","createCityMap","demand","competition","quality","per","performance","dur","durability","rel","reliability","aes","aesthetics","fea","features","siz","reqMats","createProduct","empWorkMult","fin","prog","finishProduct","engrRatio","mgmtRatio","rndRatio","opsRatio","busRatio","totalMult","sciFac","calculateRating","advMult","busmgtgRatio","isFinite","awareness","popularity","reqMat","ProductRatingWeights","rat","Quality","Performance","Durability","Reliability","Aesthetics","Features","prodMats","ProgramsSeen","ProgramsRoot","getHackingLevelRemaining","disableGutters","gridTemplateColumns","curCompletion","getProgCompletion","Paper","flexWrap","mr","InvitationsSeen","WorkTypesOffered","FactionElement","facInfo","joined","gap","openFaction","openFactionAugPage","acceptInvitation","ml","justifyItems","gridAutoFlow","FactionsRoot","allJoinedFactions","invitations","breakpoints","down","gridTemplateRows","gridAutoRows","ProgressBar","withStyles","bar","transition","LinearProgress","destroyedBitNode","newBitNode","bitNodeNumber","sourceFileKey","sourceFile","alreadyOwned","ownedSourceFile","playerSrcFile","PlayerOwnedSourceFile","giveSourceFile","ActivateRecoveryMode","RecoveryRoot","errorData","resetError","issueUrl","newIssueUrl","startIcon","onTriggered","px","multiline","fullWidth","sharePower","StartSharing","CSM","nsFuncsGenerator","sanitizedPid","Environment","getScriptOnServer","shouldLog","disableLogs","CorporationState","numUnlockUpgrades","upgradeMultipliers","addFunds","getState","gameCycles","issueNewSharesCooldown","avgProfit","cycleProfit","retainedEarnings","getDividends","updateSharePrice","nextState","dividendsPerShare","dividends","determineValuation","getTargetSharePrice","targetPrice","immediatelyUpdateSharePrice","sharesTracker","sharesUntilUpdate","sharesSold","maxIterations","convertCooldownToString","cd","upgN","dividendTaxPercentage","upgradeAmt","getProductionMultiplier","getDreamSenseGain","getAdvertisingMultiplier","getEmployeeCreMultiplier","getEmployeeChaMultiplier","getEmployeeIntMultiplier","getEmployeeEffMultiplier","getSalesMultiplier","getScientificResearchMultiplier","getStarterGuide","hasHandbook","handbookFn","showLiterature","popEst","locations","OptionsSlider","initialValue","_evt","newValue","onChangeCommitted","callback","valueLabelDisplay","marks","TickerDisplayMode","DisplayModeButton","tickerDisplayMode","Portfolio","changeDisplayMode","StockTickersConfig","changeWatchlistFilter","maintainMembership","finishAction","penalty","hack_asc_points","str_asc_points","def_asc_points","dex_asc_points","agi_asc_points","cha_asc_points","resetPidCounter","setMaxRam","EPSILON","decay","getSuccessChance","baseTime","skillFac","effDexterity","statFac","est","clamp","real","low","high","competence","playerStatLvl","effMultiplier","getSuccessesNeededForNextLevel","baseSuccessesPerLevel","recentScripts","killedTime","unshift","timeOfDeath","CRIME","StrExp","DefExp","DexExp","AgiExp","ChaExp","frames","Apr1Events","Apr1","getMonth","getDate","isApr1","setN","allow","currentCity","onTravel","WorldMap","SuccessChance","estimatedSuccessChance","StaticModal","litObj","Literatures","checkIfConnectedToDarkweb","listAllDarkwebItems","item","printRaw","buyDarkwebItem","itemName","buyAllDarkwebItems","itemsToBuy","baseCheck","netscriptCanHack","initialCheck","netscriptCanGrow","netscriptCanWeaken","calculateRawDiff","startingDifficulty","calculateDifficulty","calculateReward","isNumber","ParseCommands","allCommands","flat","ParseCommand","inQuote","prevChar","escaped","DOUBLE_QUOTE","QUOTE","CinematicText","setI","done","setDone","onDone","newI","auto","MaxSleevesFromCovenant","BaseCostPerSleeve","specialReferenceIF","specialReferenceFOR","specialReferenceWHILE","memCheckGlobalKey","parseOnlyRamCalculate","dependencyMap","completedParses","parseQueue","parseCode","moduleName","parseOnlyCalculateDeps","additionalModules","initialModule","nextModule","URLImportError","ImportError","detailedCosts","unresolvedRefs","resolvedRefs","prefix","ident","dep","applyFuncRam","loadedFns","refDetail","fnRam","checkInfiniteLoop","missingAwaitLine","walk","WhileStatement","st","walkDeeper","nodeHasTrueTest","test","hasAwait","AwaitExpression","currentModule","globalKey","internalToExternal","addRef","external","objectPrototypeProperties","getOwnPropertyNames","commonVisitors","Identifier","DoWhileStatement","ForStatement","update","IfStatement","consequent","alternate","MemberExpression","importModuleName","spec","imported","codeCopy","decimal","pidCounter","tempCounter","MAX_SAFE_INTEGER","safeGetServer","makeRuntimeErrorMsg","getRunningScriptByArgs","scriptArgs","getRunningScriptByPid","createPublicRunningScript","offlineMoneyMade","getCannotFindRunningScriptErrorMessage","failOnHacknetServer","callingFn","errstack","userstack","stackline","dependency","parseChromeStackline","lineMatch","funcMatch","chromeCall","parseFirefoxStackline","lio","firefoxCall","rejectMsg","manual","hackingTime","canHack","expGainedOnSuccess","expGainedOnFailure","percentHacked","maxThreadNeeded","moneyDrained","influenceStockThroughServerHack","argsToString","toNative","roughlyIs","expect","actual","expects","actuals","helperString","funcName","argName","helperNumber","isScriptArgs","_args","helper","updateDynamicRam","ramCost","dynamicLoadedFns","dynamicRamUsage","ustring","unumber","scriptIdentifier","_fn","_hostname","boolean","checkSingularityAccess","getValidPort","iport","hacking_chance_mult","tor","inBladeburner","hasCorporation","g","gangMember","GangMember","gangTask","NetscriptSingularity","NetscriptGang","NetscriptBladeburner","NetscriptCodingContract","NetscriptSleeve","NetscriptCorporation","NetscriptStanek","NetscriptInfiltration","NetscriptUserInterface","NetscriptFormulas","NetscriptStockMarket","NetscriptGrafting","NetscriptHacknet","_hackAmount","hackAmount","_threads","_time","moneyBefore","moneyAfter","logGrowPercent","influenceStockThroughServerGrow","_growth","_cores","maxThreadsNeeded","end","_format","possibleLogs","_pid","openPortCount","sshPortOpen","ftpPortOpen","smtpPortOpen","httpPortOpen","sqlPortOpen","_scriptname","scriptServer","spawnDelay","killByPid","_safetyguard","safetyguard","scriptsKilled","_hostname1","_hostname2","hostname1","hostname2","destServer","currServ","txtFile","newFile","sourceScript","oldScript","newScript","_grep","grep","allFiles","processes","speed","production","purchaseCost","coreCost","levelCost","_filename","_ram","_name","hostnameStr","_port","_mode","tryWrite","_file","status","suc","_n","_milliseconds","_milliPrecision","milliseconds","milliPrecision","_message","_variant","_duration","_txt","_url","_target","$","writeToTextFile","fail","_host","_source","_destination","source_is_txt","dest_is_txt","source_file","dest_file","Flags","NetscriptExtra","getFunctionNames","functionNames","wrapAPI","moneyHacked","orgName","percTotalMoneyHacked","moneyGrown","percTotalMoneyGrown","performanceMult","cyclesOfWork","compName","isHackingGang","respectGainRate","wantedGainRate","storedTerritoryAndPowerCycles","territoryClashChance","territoryWarfareEngaged","notifyMemberDeath","getPower","getTerritory","processGains","processExperienceGains","processTerritoryAndPowerGains","moneyGains","respectGains","wantedLevelGains","justice","recordEarnedRespect","oldWanted","newWanted","gangName","calculatePower","gainRoll","multiplicativeGain","powerMult","PowerMultiplier","additiveGain","gangs","others","thisGang","otherGang","thisPwr","thisChance","calculateTerritoryGain","winGang","loseGang","powerBonus","territoryGain","clash","won","baseDeathChance","modifiedDeathChance","killMember","getRespectNeededToRecruitMember","getWantedPenalty","memberTotal","totalRespect","lostRespect","earnedRespect","ascend","getDiscount","getAllTaskNames","taskName","tooltiptext","reqRep","TerminalHelpText","TemplatedHelpTexts","HelpTexts","analyze","backdoor","cat","check","cls","cp","expr","free","help","history","lscpu","mem","nano","sudov","unalias","GameEnv","Platform","getErrorForDisplay","errorInfo","isElectron","Production","toDisplay","language","cookiesEnabled","cookieEnabled","doNotTrack","indexedDb","platform","Steam","Browser","environment","getErrorMetadata","Development","componentStack","Tracking","Retirement","Investigation","Raid","initValue","GameOptionsPage","disablePadding","uniqueId","Hand","cards","addCards","removeByIndex","StockTickerTxButton","DummyGrid","DummyGift","fragments","ghostGrid","getContract","contractName","removeContract","existingPartialExeIndex","findIndex","ret","CodingContractModal","setProps","setAnswer","contractType","tries","BitFlumeEvent","BitFlumeModal","terminalCommandHistory","generalMethods","workMethods","processWork","augmentationMethods","canAccessBladeburner","bladeburnerMethods","startBladeburner","canAccessCorporation","corporationMethods","startCorporation","gangMethods","serverMethods","InvitationModal","opt_initFunc","sourceCode","sourceCodeLineOffset","acorn","PARSE_OPTIONS","initFunc_","paused_","polyfills_","functionCounter_","stepFunctions_","stepMatch","methodName","createScope","stripLocations_","State","stateStack","nodeConstructor","READONLY_DESCRIPTOR","configurable","writable","NONENUMERABLE_DESCRIPTOR","READONLY_NONENUMERABLE_DESCRIPTOR","VARIABLE_DESCRIPTOR","STEP_ERROR","SCOPE_REFERENCE","VALUE_IN_DESCRIPTOR","toStringCycles_","getErrorLineNumber","getErrorLineNumberMessage","appendCode","populateScope_","initGlobalScope","OBJECT_PROTO","FUNCTION_PROTO","initFunction","initObject","proto","OBJECT","initArray","initString","initBoolean","initNumber","initDate","initRegExp","initError","initMath","initJSON","thisInterpreter","EvalError","parseInt","strFunctions","decodeURI","encodeURI","wrapper","nativeFunc","throwException","URI_ERROR","FUNCTION","ARRAY","ARRAY_PROTO","REGEXP","REGEXP_PROTO","DATE","DATE_PROTO","identifierRegexp","var_args","calledWithNew","newFunc","createObjectProto","arguments","argsStr","SYNTAX_ERROR","parentScope","boxThis","isObject","getScope","strict","box","getPrototype","thisArg","func_","funcThis_","arguments_","arrayPseudoToNative","TYPE_ERROR","doneExec_","setNativeFunctionPrototype","valueOf","throwIfNullUndefined","properties","arrayNativeToPseudo","descriptor","preventExtensions","getOwnPropertyDescriptor","setter","hasValue","pseudoDescriptor","propertyIsEnumerable","newArray","first","legalArrayLength","RANGE_ERROR","class","reverse","howmany","opt_begin","opt_end","opt_separator","iLength","getProperty","hasProperty","element","isa","jLength","searchElement","opt_fromIndex","STRING","fromCharCode","functions","compareString","locales","localeCompare","separator","jsList","search","newSubstr","BOOLEAN","NUMBER","numConsts","fractionDigits","toExponential","digits","precision","toPrecision","radix","Function","UTC","pattern","rgx","populateRegExp","lastIndex","opt_message","newError","createObject","createErrorSubclass","EVAL_ERROR","REFERENCE_ERROR","myMath","mathConsts","numFunctions","myJSON","nativeObj","child","legalArrayIndex","Value","strs","pseudoRegexp","nativeRegexp","ignoreCase","createFunction","opt_constructor","illegalConstructor","asyncFunc","pseudoDate","pseudoObj","opt_cycles","pseudo","native","nativeArray","pseudoArray","lineNum","isGetter","TypeError","opt_descriptor","ReferenceError","defObj","firstNode","expression","createSpecialScope","opt_scope","getValueFromScope","prevNode","setValueToScope","nodeClass","isConstructor","getValue","Completion","NORMAL","BREAK","CONTINUE","RETURN","THROW","errorClass","lineNumErrorMsg","unwind","lineNumberMsg","cv","labels","isLoop","isSwitch","realError","errorTable","RangeError","URIError","createGetter_","funcThis","doneCallee_","doneArgs_","createSetter_","elements","n_","array_","doneLeft_","doneRight_","leftReference_","doneGetter_","leftValue_","leftValue","doneSetter_","setterValue_","rightValue","directEval_","funcNode","paramName","paramValue","argsList","evalNode","argsWithCallback","done_","throwValue","mode_","test_","doneInit_","doneObject_","variable_","object_","visited_","name_","gotPropName","props_","doneVariable_","doneProperty_","properties_","kinds","switchValue_","defaultCase_","index_","switchCase","matched_","tested_","doneBlock_","doneHandler_","doneFinalizer_","leftSide_","changeValue","returnValue","declarations","declarationNode","init_","doneBody_","numServerGrowthCycles","numServerGrowthCyclesAdjusted","ANSI_ESCAPE","lineClass","ANSIITypography","memo","parts","groups","matchAll","startIndex","stopIndex","partText","paragraph","part","spanStyle","COLOR_MAP_BRIGHT","1","2","3","4","5","6","7","COLOR_MAP_DARK","codeParts","nextStyleKey","codePart","ir","ig","ib","grey","ansi2rgb","fontWeight","textDecoration","ansiCodeStyle","isEmpty","hack_exp","hack_mult","str_exp","str_mult","def_exp","def_mult","dex_exp","dex_mult","agi_exp","agi_mult","cha_exp","cha_mult","assignToTask","unassignFromTask","difficultyPerCycles","getGainedAscensionPoints","canAscend","getCurrentAscensionMults","getAscensionMultsAfterAscend","getAscensionResults","postAscend","preAscend","applyUpgrade","respectToDeduct","buyUpgrade","findSleevePurchasableAugs","ownedAugNames","availableAugs","isAvailableForSleeve","validMults","StaneksGiftEvents","maxClearanceLevel","TechVendor","techVendorMaxRam","techVendorMinRam","University","AevumCasino","Casino","Special","NewTokyoArcade","Sector12CarmichaelSecurity","Sector12CityHall","Hospital","Slums","WorldStockExchange","ChongqingChurchOfTheMachineGod","IshimaGlitch","matchEnding","zip","JSZip","zipFiles","fileNames","fileContents","zipFn","generateAsync","FileSaver","saveAs","stealthIcon","xmlns","viewBox","killIcon","ActionLevel","isActive","canIncrease","canDecrease","Autolevel","TeamSizeButton","canGraft","AugPreReqsChecklist","preAug","GraftingRoot","graftableAug","selectedAug","setSelectedAug","graftOpen","setGraftOpen","selectedAugmentation","switchSortOrder","newOrder","Cost","getAugsSorted","BlinkingCursor","setOn","StyleEditorButton","styleEditorOpen","setStyleEditorOpen","ThemeEditorButton","themeEditorOpen","setThemeEditorOpen","ThemeCollaborate","DeleteGameButton","modalOpened","setModalOpened","SoftResetButton","noConfirmation","PreReqs","ownedPreReqs","hasPreReqs","Requirement","gridArea","Exclusive","PurchasableAugmentations","augNames","PurchasableAugmentation","owned","sleeveAugs","canPurchase","float","gridTemplateAreas","TravelAgencyRoot","setDestination","startTravel","symbolsLoaded","symbols","SetupTextEditor","populate","exclude","OpenScript","lastPosition","model","openScripts","currentScript","Root","editorRef","monacoRef","vimStatusRef","vimEditor","setVimEditor","setEditor","setFilter","searchExpanded","setSearchExpanded","setRAM","ramEntries","setRamEntries","updatingRam","setUpdatingRam","decorations","setDecorations","optionsOpen","setOptionsOpen","setOptions","insertSpaces","ramInfoOpen","setRamInfoOpen","dimensions","setDimensions","regenerateModel","createModel","debouncedHandleResize","updateRAM","keydown","ctrlKey","metaKey","require","initVimMode","VimMode","Vim","defineEx","defineAction","_cm","nTabs","currIndex","currentTabIndex","onTabClick","nextIndex","mapCommand","context","dispose","debouncedSetRAM","useMemo","newCode","entriesDisp","scriptToSave","textFile","cleanCode","ns1","ns2","curIndex","isDisposed","setModel","setPosition","revealLineInCenter","onTabClose","closingScript","savedScriptIndex","savedScriptCode","serverScriptIndex","indexOffset","getServerCode","openScript","serverScript","handleFilterChange","handleExpandSearch","filteredOpenScripts","editorHeight","tabMaxWidth","tabTextWidth","tabIconWidth","onDragEnd","items","endIndex","removed","reorder","droppableId","direction","provided","snapshot","innerRef","droppableProps","isDraggingOver","spellCheck","externalScript","colorProps","borderColor","iconButtonStyle","scriptTabText","serverScriptCode","dirty","draggableId","disableInteractiveElementBlocking","draggableProps","dragHandleProps","flexShrink","onTabUpdate","beforeMount","languages","registerCompletionItemProvider","provideCompletionItems","getWordAtPosition","suggestions","kind","CompletionItemKind","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","startLineNumber","startColumn","endLineNumber","endColumn","column","js","getLanguages","hasLoader","loader","tokenizer","libSource","typescript","javascriptDefaults","addExtraLib","typescriptDefaults","onMount","Position","loading","defaultLanguage","defaultValue","newPos","newArr","tempScript","awaitWarning","newDecorations","deltaDecorations","isWholeLine","glyphMarginClassName","glyphMarginHoverMessage","infLoop","glyphMargin","getAction","getSubdirectories","t_dir","processFile","subdir","containsFiles","dirWithTrailingSlash","makeScriptBlob","compile","shouldCompile","uurls","_getScriptUrls","loadedModule","isDependencyOutOfDate","scriptModuleSequenceNumber","depScript","seen","urlStack","ranges","importNodes","ExportNamedDeclaration","ExportAllDeclaration","transformedCode","matchingScripts","importedScript","urls","blob","ScriptUrl","vargs","numDashes","libarg","argv","defaultInterpreter","TablePaginationActionsAll","rowsPerPage","onPageChange","BitnodeMultiplierDescription","BitNodeMultipliersDisplay","maxSfLevel","columnCount","columnGap","GeneralMults","SkillMults","FactionMults","AugmentationMults","HackingMults","PurchasedServersMults","StockMults","CrimeMults","InfiltrationMults","CompanyMults","GangMults","CorporationMults","BladeburnerMults","StanekMults","BNMultTable","rowsArray","rowData","marginBottom","sectionName","extraSize","StnakesGiftPowerMultiplier","Cell","cellProps","onMouseEnter","Grid","activeGrid","randomColor","elems","newNs2Template","detectSimpleScriptGlob","globString","globDatabase","parsedGlob","glob","preGlob","postGlob","globError","globMatches","globAgainst","parseSimpleScriptGlob","commonEditor","scriptEditorRouteOptions","filesToLoadOrCreate","globSearch","filepath","getFilepath","fileIsNs2","isNs2","CursorPositions","saveCursor","HammingEncode","_data","_sumParity","_lengthOfDBits","_build","_tempcount","_temparray","_tempdata","_temp","HammingDecode","_testArray","_overallParity","_tempIndex","_tempStep","_tempData","_tempArray","_tempParity","_fixIndex","truth","automate","stop","findNode","setParent","queue","getMultiplierHelper","getProductProductionMultiplier","advertisingMult","employeeChaMult","employeeCreMult","employeeEffMult","employeeIntMult","productionMult","productProductionMult","salesMult","sciResearchMult","storageMult","StanekConstants","RAMBonus","BaseSize","MaxSize","detect","hasChanges","orig","nf","fl","backups","currPos","nextPosName","corpName","additionalShares","warehouseApi","OfficeApi","Engine","_lastUpdate","updateGame","expForOtherSleeves","decrementAllCounters","checkCounters","Counters","autoSaveCounter","updateSkillLevelsCounter","updateDisplays","updateDisplaysLong","updateActiveScriptsDisplay","createProgramNotifications","augmentationsNotifications","passiveFactionGrowth","mechanicProcess","contractGeneration","achievementsCounter","counterName","warningToast","warnAutosaveDisabled","adjustedCycles","startExploits","setupUncaughtPromiseHandler","timeOffline","numCyclesOffline","numContracts","offlineReputation","offlineHackingIncome","offlineProductionFromHacknetNodes","hacknetProdInfo","timeOfflineString","_thisUpdate","requestAnimationFrame","LoadingScreen","setShow","loaded","setLoaded","reason","doLoad","ignoreQueued","stacks","calculateEntropy","typ","invalidArgs","baseSize","charge","af","cotmg","inBonus","updateMults","effect","boost","neighboor","CalculateEffect","canPlace","rootX","rootY","newFrag","aFrag","place","findFragment","clearCharge","Void","StatsElement","EarningsElement","ServerType","All","Foreign","Owned","Purchased","ServerDropdown","isValidServer","purchased","serverType","purchase","DECK_COUNT","Result","Blackjack","bet","canStartGame","playerHand","deck","safeDrawCard","dealerHand","gameInProgress","Pending","getTrueHandValue","finishGame","Tie","PlayerWonByBlackjack","DealerWon","hand","handValues","getHandValue","valuesUnder21","isHandBusted","newHand","newDealerHand","PlayerWon","dealerHandValue","playerHandValue","betInput","wager","wagerInvalid","wagerInvalidHelperText","startGame","Deck","render","playerHandValues","getHandDisplayValues","dealerHandValues","wagerOnChange","helperText","playerHit","playerStay","startOnClick","elevation","card","prev","hidden","red","ReactCard","Clubs","Spades","allFactionAugs","factionAugs","factionAug","TickerHeaderFormatData","longestName","longestSymbol","AchievementEntry","cssFiltersUnlocked","cssFiltersLocked","isUnlocked","mainColor","achievedOn","unlocked","colorFilters","Color","hueRotate","angle","PI","sin","cos","multiply","grayscale","sepia","saturate","matrix","newR","newG","newB","brightness","linear","contrast","slope","intercept","invert","hsl","Solver","targetHSL","reusedColor","solve","solveNarrow","solveWide","css","best","initial","spsa","A1","iters","bestLoss","deltas","highArgs","lowArgs","ck","lossDiff","ak","fix","idx","filters","colorHSL","getFiltersFromHex","hex","rgb","hexToRgb","Theme","credit","screenshot","img1","reference","outputHistory","startHack","startGrow","startWeaken","startBackdoor","startAnalyze","finishHack","oldSec","newSec","finishGrow","finishWeaken","finishBackdoor","finishAnalyze","isHacknet","org","canRunScripts","hackingSkill","security","hackingChance","numPort","getProgressText","getFile","getLitFile","lit","currDir","setcwd","contractOpen","executeScanAnalyzeCommand","visited","depthQueue","newS","titleDashes","connectToServer","executeCommands","commandHistory","commandHistoryIndex","executeCommand","n00dlesServ","commandName","scananalyze","apr1","removeBracketsFromArrayString","strCpy","removeQuotesFromString","convert2DArrayToString","ans","nums","ways","maxLen","padStart","spiral","u","col","playerAns","_arr","reach","jumps","lastJump","jumpedFrom","intervals","numIntervals","interval","sanitizedResult","sanitizedAns","B","C","ansArr","ipInAns","maxCur","maxSoFar","hold1","MIN_SAFE_INTEGER","hold2","release1","release2","prices","hold","rele","cur","createTriangleRecurse","numLevels","createTriangle","triangle","dp","numRows","numColumns","currentRow","gridString","grid","obstacleGrid","dstY","dstX","minPathLength","distanceFactor","distance","MinHeap","validPosition","neighbors","yN","xN","changeWeight","yQ","xQ","ansX","ansY","roll","dfs","pair","sanitizedPlayerAnsArr","resultInAnswer","numDigits","digitsArray","evaluated","multed","_alteredBit","_buildArray","_randomIndex","edges","shuffle","vertexShuffler","neighbourhood","vertex","adjLeft","adjRight","coloring","initialVertex","frontier","validColors","aColor","bColor","plaintext","ans_plain","run_length","compressed","BinHeap","heapifyUp","heapifyDown","predicate","heapOrderABeforeB","tmp","toSwap","weightA","weightB","requireHackingLevel","targetServer","numAugReq","ipaddress","byteRange","formattedHours","getHours","formattedMinutes","getMinutes","formattedSeconds","getSeconds","FactionWorkStats","baseStats","AllSoftwarePositions","AllITPositions","AllNetworkEngineerPositions","SecurityEngineerPositions","AllTechnologyPositions","AllBusinessPositions","AllAgentPositions","AllSecurityPositions","AllSoftwareConsultantPositions","AllBusinessConsultantPositions","SoftwarePositionsUpToHeadOfEngineering","SoftwarePositionsUpToLeadDeveloper","BusinessPositionsUpToOperationsManager","WaiterOnly","EmployeeOnly","PartTimeWaiterOnly","PartTimeEmployeeOnly","OperationsManagerOnly","CEOOnly","effectText","costPerLevel","hasTargetServer","lookup","checkGangApiAccess","getGangMember","_faction","wantedLevelGainRate","cpy","_memberName","memberName","hack_asc_mult","str_asc_mult","def_asc_mult","dex_asc_mult","agi_asc_mult","cha_asc_mult","recruited","tasks","_taskName","getGangTask","_equipName","equipName","equipment","typecheck","_engage","engage","_otherGang","playerPower","createDescription","checkSleeveAPIAccess","checkSleeveNumber","sleeveNumber","sl","_sleeveNumber","_crimeRoughName","crimeRoughName","_universityName","_className","_cityName","acompanyName","_factionName","_workType","_gymName","_stat","jobTitle","maxHp","agilityExp","charismaExp","companyRep","crimeMoney","crimeSuccess","defenseExp","dexterityExp","factionRep","hackingExp","strengthExp","workMoney","timeWorked","workHackExpGain","workStrExpGain","workDefExpGain","workDexExpGain","workAgiExpGain","workChaExpGain","workMoneyGain","workRepGain","purchasableAugs","_augName","_action","_contract","devMenu","doc","completely_unused_field","real_document","recur","guess","bcrypt","getHacknetNode","hi","_i","hasUpgraded","timeOnline","totalProduction","_upgName","_upgTarget","checkStanekAPIAccess","_ctx","_rootX","_rootY","_rotation","_fragmentId","fragmentId","getLocationsWithInfiltrations","_location","locationName","tradeRep","sellCash","SoARep","calculateInfiltrationData","newTheme","currentTheme","errors","newStyles","currentStyles","checkBladeburnerAccess","skipjoined","apiDenied","bladeburnerDenied","checkBladeburnerCity","getBladeburnerActionObject","_blackOpName","blackOpName","_type","_level","_autoLevel","_skillName","_size","getCodingContract","_answer","returnReward","is2DArray","answerComponents","creward","upgradeName","materialName","employeeName","checkAccess","api","getSafeDivision","_divisionName","_amt","_materialName","sll","_productName","pCost","cityData","developmentProgress","_price","_all","_enabled","enabled","_designInvest","_marketingInvest","_qty","_sourceDivision","_sourceCity","_targetDivision","_targetCity","sourceDivision","targetDivision","targetCity","_on","_researchName","_job","_amount","_employeeName","_costPerEmployee","minEne","minHap","_industryName","industryName","_upgradeName","_percent","_corporationName","_selfFund","corporationName","selfFund","fundingRound","percShares","funding","investShares","_numShares","initialSharePrice","_amountCash","_amountShares","amountCash","amountShares","startingCost","reFac","robFac","aiFac","advFac","hwFac","getProductDescriptionText","getMaximumNumberProducts","additional","hasMaximumNumberProducts","calculateProductionFactors","multSum","cityMult","updateWarehouseSizeUsed","prodName","newInd","employeeSalary","officeLoc","processMaterialMarket","processProductMarket","popularityGain","awarenessGain","MAX_VALUE","processMaterials","processProducts","wh","foo","imp","buyAmt","maxAmt","smartBuy","smartSupplyStore","worseAmt","totalSize","freeSpace","maxProd","getOfficeProductivity","totalMatSize","reqMatName","normQty","producableFrac","reqMatQtyNeeded","fooProd","fooI","businessFactor","getBusinessFactor","advertisingFactor","getAdvertisingFactors","marketFactor","getMarketFactor","markupLimit","numerator","sqrtNumerator","sqrtDenominator","denominator","sqrt","optimalPrice","marketTa2Price","sellAmt","totalExp","expI","amtStr","expIndustry","expWarehouse","engrProd","mgmtProd","opProd","mgmtFactor","processProduct","totalProfit","forProduct","netStorageSize","sCostString","businessProd","calculateEffectWithFactors","awarenessFac","popularityFac","ratioFac","updateResearchTree","expFac","linearFac","morale","happiness","energy","det","trainingEff","effCre","effEff","prodBase","checkFormulasAccess","_favor","_rep","_player","_exp","_mult","_skill","_server","_startingLevel","_extraLevels","_costMult","_startingRam","_startingCore","_extraCores","extraCores","_ramUsed","_maxRam","HScalculateHashGainRate","HScalculateLevelUpgradeCost","HScalculateRamUpgradeCost","HScalculateCoreUpgradeCost","_startingCache","_extraCache","extraCache","HScalculateCacheUpgradeCost","HScalculateServerCost","_gang","_member","_task","_points","checkTixApiAccess","getStockFromSymbol","_symbol","_shares","_posType","sanitizedPosType","_pos","orderPos","ltype","lpos","stockMarketOrders","forecast","checkGraftingAPIAccess","_focus","wasFocusing","craftableAug","textfield","Language","InteractiveTutorialRoot","nsSelectionOpen","setNSSelectionOpen","setLanguage","tutorialScriptExtension","NS1","tutorialScriptName","contents","canNext","square","tab","updateOptions","readOnly","overviewContainer","visibilityToggle","collapse","Overview","setX","setY","CurrentIcon","KeyboardArrowUpIcon","KeyboardArrowDownIcon","LeftIcon","SchoolIcon","EqualizerIcon","fakeDrag","triggerMouseEvent","eventType","clickEvent","createEvent","initEvent","dispatchEvent","Loading","onStop","defaultPosition","onDoubleClick","openedMixin","transitions","easing","sharp","enteringScreen","closedMixin","leavingScreen","up","Drawer","styled","shouldForwardProp","active","borderLeft","listitem","SidebarRoot","hackingOpen","setHackingOpen","characterOpen","setCharacterOpen","worldOpen","setWorldOpen","helpOpen","setHelpOpen","flashTerminal","flashStats","flashActiveScripts","flashHacknet","flashCity","flashTutorial","augmentationCount","invitationsCount","programCount","getAvailableCreatePrograms","canOpenFactions","canOpenAugmentations","canOpenSleeves","canCorporation","canGang","canJob","canStockMarket","canBladeburner","canStaneksGift","clickTerminal","clickScriptEditor","clickStats","clickActiveScripts","clickCreateProgram","clickFactions","clickAugmentations","clickHacknet","clickCity","clickTravel","clickJob","clickBladeburner","clickGang","clickTutorial","clickOptions","handleShortcuts","altKey","E","H","R","P","F","U","G","anchor","timeout","unmountOnExit","clsx","badgeContent","NeuroFluxDisplay","EntropyDisplay","AugmentationsRoot","installOpen","setInstallOpen","InstalledAugmentations","sourceAugs","Alphabetically","aug1","aug2","BitNodeModifiedStats","MultiplierList","listItems","augmented","bnMult","py","disableTypography","PlayerMultipliers","augP","augObj","calculateAugmentedStats","leftColData","rightColData","PurchasedAugmentations","displayName","enterNextDelay","safeGetSf","sfNum","sfObj","getMaxLevel","SourceFilesElement","sourceSfs","sf1","sf2","selectedSf","setSelectedSf","DevMenuRoot","General","setError","setCorporationName","gangFaction","setGangFaction","addMoney","TransitionProps","expandIcon","bigNumber","modifyExp","modifier","modifyKarma","resetExperience","modifyFactionRep","AllFaction","modifyFactionFavor","labelId","arial-label","setAugmentation","validSFN","setSF","sfN","sfLvl","setAllSF","setProgram","AllPrograms","Servers","setServer","setCompany","modifyCompanyRep","AllCompanies","modifyCompanyFavor","modifyBladeburnerRank","modify","modifyBladeburnerCycles","modifyGangCycles","modifyCorporationFunds","modifyCorporationCycles","CodingContracts","setCodingcontract","cc","stockPrice","setStockPrice","setStockSymbol","processStocks","inputSymbols","SM","stocks","sleeveSetStoredCycles","Stanek","modCycles","modCharge","TimeSkip","timeskip","SaveFile","importInput","setSaveFile","restoreScripts","setRestoreScripts","restoreAugs","setRestoreAugs","restoreSFs","setRestoreSFs","File","FileList","ii","playerAchievement","setPlayerAchievements","achieved","grantAchievement","removeAchievement","Entropy","BladeburnerRoot","travelOpen","setTravelOpen","inFaction","wordBreak","TravelModal","nopadding","preformatted","Line","Console","setCommand","consoleInput","consoleHistoryIndex","setConsoleHistoryIndex","Logs","tabIndex","inputRef","prevCommand","currentTarget","scrollHook","scrollTop","scrollHeight","AllPages","GeneralActionPage","GeneralActionList","actions","GeneralActionElem","computedActionTimeCurrent","actionData","ContractPage","ContractList","ContractElem","Contracts","StealthIcon","KillIcon","OperationPage","OperationList","OperationElem","TeamSizeModal","BlackOpPage","BlackOpList","blackopName","blackop","BlackOpElem","hasReqdRank","SkillPage","valid","onUpgrade","SkillList","SkillElem","canLevel","GangRoot","ManagementSubpage","GangStats","territoryStr","BonusTime","CyclerPerSecond","bonusMillis","GangMemberList","ascendOnly","setAscendOnly","onRecruit","GangMemberCard","GangMemberCardContent","ascendOpen","setAscendOpen","borderRightWidth","onAscend","borderLeftWidth","onTaskChange","GangMemberStats","asc","KillScriptsModal","companyPositionName","bn11Mult","TaskSelector","setCurrentTask","contextMember","TaskDescription","AscensionModal","RecruitButton","RecruitModal","setName","recruit","onKeyUp","TerritorySubpage","gangNames","infoOpen","setInfoOpen","formatTerritory","OtherGangTerritory","clashVictoryChance","TerritoryInfoModal","NextReveal","PurchasedUpgrade","UpgradeButton","GangMemberUpgradePanel","currentCategory","setCurrentCategory","filterUpgrades","weaponUpgrades","armorUpgrades","vehicleUpgrades","rootkitUpgrades","augUpgrades","categories","Weapons","Vehicles","Rootkits","EquipmentsSubpage","CorporationRoot","setDivisionName","canExpand","industryType","MainPanel","CityTabs","setCity","cityStateSetter","countEmployee","SwitchButton","manualMode","switchMode","ManualManagement","setEmployee","employeePositionSelectorInitialValue","employeePositions","positionNames","AutoAssignJob","numJob","numUnassigned","AutoManagement","vechain","totalMorale","totalHappiness","totalEnergy","totalSalary","avgMorale","avgHappiness","avgEnergy","IndustryOffice","upgradeOfficeSizeOpen","setUpgradeOfficeSizeOpen","throwPartyOpen","setThrowPartyOpen","employeeManualAssignMode","setEmployeeManualAssignMode","UpgradeSizeButton","upgradeSize","UpgradeOfficeSizeModal","upgradeCost","upgradeCost15","maxMult","maxNum","multIncrease","upgradeCostMax","ThrowPartyModal","setCost","canParty","EffectText","MakeProductButton","makeOpen","setMakeOpen","hasMaxProducts","createProductButtonText","Text","researchOpen","setResearchOpen","advertisingInfo","advertisingFactors","totalAdvertisingFac","convertEffectFacToGraphic","Upgrades","IndustryOverview","MakeProductModal","allCities","design","setDesign","marketing","setMarketing","createProductPopupText","Upgrade","wrapInTooltip","ele","but","ResearchModal","retainHeight","WarehouseRoot","smartSupplyOpen","setSmartSupplyOpen","canAffordUpgrade","stateText","mats","isInStock","isRelevant","breakdownItems","breakdown","previous","IndustryWarehouse","EmptyWarehouse","Leftover","setChecked","SmartSupplyModal","ProductElem","sellOpen","setSellOpen","limitOpen","setLimitOpen","discontinueOpen","setDiscontinueOpen","cancelOpen","setCancelOpen","marketTaOpen","setMarketTaOpen","nfB","hasUpgradeDashboard","sellButtonText","limitProductionButtonText","DiscontinueProductModal","LimitProductProductionModal","setLimit","SellProductModal","iQty","setQty","setPx","initialPrice","MarketTA2","ProductMarketTaModal","CancelProductModal","MaterialElem","purchaseMaterialOpen","setPurchaseMaterialOpen","exportOpen","setExportOpen","sellMaterialOpen","setSellMaterialOpen","materialMarketTaOpen","setMaterialMarketTaOpen","limitProductionOpen","setLimitProductionOpen","tutorial","purchaseButtonText","limitMaterialButtonText","disablePurchaseLimit","ExportModal","possibleDivisions","defaultDivision","setIndustry","setAmt","removeExport","currentDivision","possibleCities","newCost","setNewCost","MaterialMarketTaModal","SellMaterialModal","setPrice","BulkPurchaseSection","setBuyAmt","setDisabled","BulkPurchaseText","parsedAmt","PurchaseMaterialModal","purchaseMaterial","LimitMaterialProductionModal","IndustryProductEquation","reqs","reqAmt","ExpandNewCity","ExpandIndustryTab","possibleIndustries","newIndustry","multRows","appendMult","DividendsStats","PublicButtons","PrivateButtons","BribeButton","findInvestorsopen","setFindInvestorsopen","goPublicopen","setGoPublicopen","fundingAvailable","findInvestorsTooltip","upgradeData","sellSharesOpen","setSellSharesOpen","buybackSharesOpen","setBuybackSharesOpen","issueNewSharesOpen","setIssueNewSharesOpen","issueDividendsOpen","setIssueDividendsOpen","sellSharesOnCd","sellSharesTooltip","issueNewSharesOnCd","issueNewSharesTooltip","canBribe","totalDividends","storedTime","LevelableUpgrade","xs","UU","BribeFactionModal","setStock","selectedFaction","setSelectedFaction","getRepText","SellSharesModal","setShares","ProfitIndicator","BuybackSharesModal","CostIndicator","IssueDividendsModal","setPercent","canIssue","maxNewSharesUnrounded","maxNewShares","newShares","IssueNewSharesModal","issueNewShares","privateShares","FindInvestorsModal","GoPublicModal","InfiltrationRoot","setStart","StartingDifficulty","Difficulty","Reward","cancel","Stage","minigames","SlashGame","BracketGame","BackwardGame","BribeGame","CheatCodeGame","Cyberpunk2077Game","MinesweeperGame","WireCuttingGame","setLevel","stage","setStage","Countdown","results","setResults","gameIds","setGameIds","lastGames","nextGameId","ids","setupNextGame","pushResult","next","stageComponent","onFinish","Minigame","MiniGame","onSuccess","Sell","onFailure","automated","Progress","difficulties","timer","words","makeAnswer","setGuess","hasAugment","BACKSPACE","shiftKey","ignorableKeyboardEvent","nextGuess","setRight","OPEN_BRACKET","LESS_THAN","OPEN_PARENTHESIS","OPEN_BRACE","generateLeftSide","CLOSE_PARENTHESIS","CLOSE_BRACKET","CLOSE_BRACE","GREATER_THAN","getChar","positive","option","negative","shuffleArray","makeChoices","correctIndex","setCorrectIndex","setIndex","currentChoice","choice","defaultColor","disabledColor","upColor","downColor","choiceColor","upIndex","upDistance","downIndex","downDistance","onCorrectIndex","newIndex","arrows","arrow","generateCode","puzzle","randChar","generatePuzzle","answers","generateAnswers","currentAnswerIndex","setCurrentAnswerIndex","setPos","flatGrid","isCorrectAnswer","optionColor","move","mines","minefield","field","generateEmptyField","generateMinefield","memoryPhase","setMemoryPhase","flagged","marked","fieldEquals","phase","setPhase","phaseZeroTime","timeUntilAttacking","Victory","quitInfiltration","handleInfiltrators","soa","infiltrationRepGain","isMemberOfInfiltrators","wiresmin","wiresmax","PIPE","DOT","FORWARD_SLASH","HYPHEN","HASH","colorNames","blue","wires","numWires","wireColors","generateWires","cutWires","setCutWires","questions","numQuestions","questionGenerators","randomPositionQuestion","randomColorQuestion","generateQuestion","checkWire","wireNum","shouldCut","wiresToBeCut","shouldBeCut","question","isCorrectWire","wire","wireColor","cutColor","arrowPart","Intro","CYCLES_PER_SEC","ExpRows","WorkInProgressRoot","workInfo","buttons","stopText","completion","unfocus","classWork","rates","elapsed","stopTooltip","comp","tooltipInfo","GameOptionsRoot","currentTab","setCurrentTab","SYSTEM","setTab","CurrentOptionsPage","execTime","setExecTime","recentScriptsSize","setRecentScriptsSize","logSize","setLogSize","portSize","setPortSize","terminalSize","setTerminalSize","autosaveInterval","setAutosaveInterval","timestampFormat","setTimestampFormat","setLocale","_event","INTERFACE","GAMEPLAY","MISC","SideBarTab","sideBarProps","tabName","GameOptionsSidebar","diagnosticOpen","setDiagnosticOpen","importSaveOpen","setImportSaveOpen","importData","setImportData","confirmedImportGame","method","alt","ServerAccordion","FileDiagnosticModal","FontFamilyField","refreshId","errorText","setErrorText","setFontFamily","LineHeightField","setLineHeight","StyleEditorModal","setRefreshId","customStyle","setCustomStyle","persistToSettings","endIcon","ColorEditor","onColorChange","hideTextfield","deferred","newColor","disableAlpha","ThemeEditorModal","customTheme","setCustomTheme","setTemplateTheme","placement","maxRows","importedTheme","SleeveRoot","FAQOpen","setFAQOpen","SleeveElem","statsOpen","setStatsOpen","earningsOpen","setEarningsOpen","augmentationsOpen","setAugmentationsOpen","abc","setABC","doing","MoreEarningsModal","MoreStatsModal","SleeveAugmentationsModal","PurchaseAugmentationModal","universitySelectorOptions","gymSelectorOptions","bladeburnerSelectorOptions","possibleJobs","forbiddenCompanies","otherSleeve","possibleFactions","forbiddenFactions","factionObj","second","universities","gyms","possibleContracts","Synchronize","canDo","getABC","s0","setS0","setS1","setS2","validActions","detailsF","details2","detail","FAQModal","HacknetRoot","purchaseMultiplier","setPurchaseMultiplier","purchaseMultiplierOnClicks","onClicks","GeneralInfo","HacknetNodeElem","purchaseMult","upgradeLevelButton","upgradeRAMButton","upgradeCoresButton","increase","upgradeLevelCost","upgradeRamCost","upgradeCoreCost","HacknetServerElem","upgradeRamButton","upgradeCacheButton","base_increase","modded_increase","upgradeCacheCost","HashUpgradeModal","serversMap","HacknetUpgradeElem","selectedServer","setSelectedServer","MultiplierButton","MultiplierButtons","btnProps","PlayerInfo","hasServers","PurchaseButton","GenericLocation","locContent","locName","getLocationSpecificContent","CompanyLocation","quitOpen","setQuitOpen","isEmployedHere","favorGain","onQuit","QuitJobModal","GymLocation","train","HospitalLocation","getHealed","currHp","btnStyle","SlumsLocation","shopliftChance","robStoreChance","mugChance","larcenyChance","drugsChance","bondChance","armsChance","homicideChance","gtaChance","kidnapChance","assassinateChance","heistChance","SpecialLocation","handleBladeburner","worldHeader","HTMLElement","handleGrafting","CreateCorporation","handleCotMG","renderBladeburner","toStanek","renderCotMG","CreateCorporationModal","canSelfFund","n00dlePower","ArcadeRoot","Megabyteburner2000","currentGame","BBCabinetRoot","origin","joystick","borderStyle","borderWidth","ServerButton","TechVendorLocation","purchaseServerButtons","RamButton","TorButton","purchaseTorRouter","CoresButton","maxCores","PurchaseServerModal","setHostname","tryToPurchaseServer","TravelConfirmationModal","UniversityLocation","take","dataStructuresCost","networksCost","algorithmsCost","managementCost","leadershipCost","GameType","CasinoLocation","setGame","Coin","Slots","Roulette","numDecks","drawCard","CoinFlip","investment","setInvestment","setResult","setStatus","playLock","setPlayLock","play","correct","redNumbers","strategies","Red","payout","Black","Odd","Even","High","Low","Third1","Third2","Third3","Single","canPlay","setCanPlay","lock","setLock","strategy","playerWin","isRed","currentNumber","getPayout","payLines","SlotMachine","locks","setLocks","stoppedOne","getPaylineData","payline","point","countSequence","checkWinnings","getTable","LocationLetter","ASCIICity","locationLettersRegex","letterMap","K","M","N","Q","V","Y","lineElems","startI","endI","locationI","ListCity","locationButtons","LocationCity","OptionsModal","setInsertSpaces","setFontSize","setWordWrap","setVim","themePath","themeCopy","setThemeCopy","MilestonesRoot","milestones","highestMilestone","milestone","ActionTimer","TerminalRoot","setKey","doScroll","hook","scrollIntoView","debounced","maxWait","unsubscribe","scrollId","TerminalInput","terminalInput","postUpdateValue","setPostUpdateValue","possibilities","setPossibilities","saveValue","postUpdate","modifyInput","mod","inputLength","selectionStart","inputText","delStart","moveTextCursor","keyDown","autoComplete","onBlur","TAB","semiColonIndex","allPos","determineAllPossibilitiesForTabCompletion","tabCompletion","selectionEnd","anchorEl","parentDirPath","evaledParentDirPath","addAllCodingContracts","cct","addAllLitFiles","addAllPrograms","addAllScripts","processFilepath","addAllTextFiles","addAllDirectories","subdirs","t_parentDirPath","convertParentPath","isCommand","cmd","t_cmd","autocomplete","runArgs","permissive","flagFunc","autocompleteData","txts","schema","pos2","scriptAutocomplete","addAllMessages","allPossibilities","oldValue","longestStartSubstr","TutorialRoot","confirmResetOpen","setConfirmResetOpen","ActiveScriptsRoot","ScriptProduction","prodRateSinceLastAug","ServerAccordions","setRowsPerPage","serverToScriptMap","filtered","rowsPerPageOptions","newPage","onRowsPerPageChange","ActionsComponent","paddedName","barOptions","headerTxt","ServerAccordionContent","noborder","WorkerScriptAccordion","killScript","onlineMps","onlineEps","RecentScriptsPage","recentScript","RecentScriptAccordion","MainPage","onAugmentations","sleevesOpen","setSleevesOpen","isPlayersGang","favorToDonate","canDonate","canPurchaseSleeves","startHackingContracts","startFieldWork","startSecurityWork","FactionRoot","purchasingAugs","setPurchasingAugs","routeToMainPage","AugmentationsPage","getAugs","augName1","augName2","getAugsSortedByCost","getAugsSortedByReputation","Purchasable","canBuy","hasReq","hasRep","cantBuy","getAugsSortedByPurchasable","purchasable","multiplierComponent","costs","showModal","DonateOption","donateAmt","setDonateAmt","Status","NumberInput","textProps","noformat","DefaultAssignment","Info","Assignment","CovenantPurchasesRoot","setUpdate","purchaseDisabled","upgradePanels","CovenantSleeveMemoryUpgrade","maxMemory","purchaseBtnDisabled","purchaseBtnContent","calculateStat","srcFile","sourceFileObject","incMult","decMult","GangButton","gangOpen","setGangOpen","CreateGangModal","EmployersModal","MultiplierTable","noMargin","effValue","CurrentBitNode","MoneyModal","convertMoneySourceTrackerToString","CharacterStats","moneyOpen","setMoneyOpen","employersOpen","setEmployersOpen","timeRows","showBitNodeMults","isEqual","StockMarketRoot","Purchase4SMarketDataTixApiAccessButton","PurchaseWseAccountButton","PurchaseTixApiAccessButton","Purchase4SMarketDataButton","InfoAndPurchases","StockTickers","setTickerDisplayMode","AllStocks","watchlistSymbols","setWatchlistSymbols","tickers","stockMarketProp","rerenderAllTickers","sanitizedWatchlist","SelectorOrderType","StockTicker","setOrderType","Market","tickerOpen","setTicketOpen","modalProps","setModalProps","placeText","getQuantity","hasOrderAccess","Limit","Stop","getBuyTransactionCostContent","getSellTransactionCostContent","playerMoney","localesWithLongPriceFormat","StockTickerHeaderText","stockPriceFormat","spacesAllottedForStockPrice","spacesAfterStockName","spacesBeforePrice","hdrText","plusOrMinus","StockTickerOrderList","StockTickerOrder","posTxt","LongPosition","percentageGains","ShortPosition","StockTickerPositionText","PlaceOrderModal","portal","level0","level1","level2","level3","BitNodePortal","portalOpen","setPortalOpen","cssClass","aria-description","BitverseRoot","destroyed","destroySequence","setDestroySequence","nextSourceFileLvl","PortalModal","bitNodeKey","maxSourceFileLevel","newLevel","CinematicLine","setLength","ms","newLength","advance","StaneksGiftRoot","MainBoard","setGhostGrid","setRotation","selectedFragment","setSelectedFragment","moveGhost","clickAt","deleteAt","doRotate","selectFragment","FragmentInspector","setC","effectAmt","FragmentOption","colorAt","FragmentSelector","FragmentPreview","ActiveFragmentSummary","summary","coordinate","formatEffect","_width","_height","getComputedStyle","Element","visibility","AchievementsRoot","AchievementList","cssPrimary","cssSecondary","secret","unavailable","locked","pr","defaultExpanded","AchievementIcon","imgLoaded","setImgLoaded","onLoad","ErrorBoundary","Component","hasError","componentDidCatch","ex","previousScrollY","modalOpen","setModalOpen","modalImageSrc","setModalImageSrc","predefinedThemes","themes","templateTheme","onActivated","scrollY","previousColors","onImageClick","handleZoom","ThemeEntry","subheader","image","ComparisonIcon","isBetter","initialAutosave","ImportSaveRoot","currentData","setCurrentData","importModalOpen","setImportModalOpen","headback","setHeadback","dataBeingImported","dataCurrentlyInGame","fetchData","BypassWrapper","getAugmentation","runAfterReset","cbScript","_purchased","_facName","_cbScript","_locationName","_programName","baseserver","installTime","jobTitles","wasWorking","_companyName","wasFocused","_field","repNeededToDonate","_nextBN","_callbackScript","nextBN","callbackScript","hackingRequirements","wrapFunction","helpers","wrappedAPI","functionPath","functionName","extra","branch","getNestedProperty","setNestedProperty","empty","nerf","normalServer","relative_filename","evaledDir","t_dst","dst","srcExt","tRes","sRes","sanitizedExpr","used","avail","usedPercent","incorrectUsage","newPath","allPrograms","allScripts","allTextFiles","allContracts","allMessages","folders","handleFn","dest","parsedFn","firstParentDir","msgOrLit","ClickableScriptRow","scriptLinksWrap","scriptLink","textDecorationLine","paddingRight","rowSplitArray","rowItem","onScriptLinkClick","ClickableMessageRow","linksWrap","link","onMessageLinkClick","FileType","postSegments","group","segments","linked","filesPerRow","Folder","numThreads","verboseEntries","t_dest","sourcePath","destFile","destPath","positions","getCursor","re","matching","rsObj","delTarget","executableName","runContract","runProgram","commandArgs","threadFlag","tailFlag","toLocaleLowerCase","hasRoot","maxHostname","maxIP","args2","headers","currRunningScripts","numSpacesScript","spacesScript","numSpacesPid","spacesPid","numSpacesThread","spacesThread","tampering","last","minute","timeCompression","ReactDOM","globalThis","onbeforeunload"],"mappings":"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EAAGC,GACX42D,EAAI72D,EAAI,EAAGC,GACX42D,EAAI72D,EAAGC,EAAI,GACX42D,EAAI72D,EAAGC,EAAI,IAGf,MAAM82D,EAAoB,GAC1B,IAAK,MAAMC,KAAaJ,EAClBG,EAAM/T,KAAMiU,GAASA,EAAK,KAAOD,EAAU,IAAMC,EAAK,KAAOD,EAAU,KAC3ED,EAAM58D,KAAK68D,GAGb,OAAOD,EAGTG,OACE,OAAOp9D,OAAOoH,OAAO,GAAIQ,OAItB,SAASy1D,EAAa/V,GAC3B,IAAK,MAAMgW,KAAYpB,EACrB,GAAIoB,EAAShW,KAAOA,EAAI,OAAOgW,EAEjC,OAAO,MAGT,WACE,MAAMC,GAAI,EACJC,GAAI,EACVtB,EAAU77D,KACR,IAAI87D,EACF,EACAsB,IAAOC,EACPr0B,IAAaO,QACb,EACA,IAGJsyB,EAAU77D,KACR,IAAI87D,EACF,EACAsB,IAAOE,EACPt0B,IAAaO,QACb,EACA,IAGJsyB,EAAU77D,KACR,IAAI87D,EACF,EACAsB,IAAOG,EACPv0B,IAAaI,aACb,IACA,IAIJyyB,EAAU77D,KACR,IAAI87D,EACF,EACAsB,IAAOI,EACPx0B,IAAaK,aACb,EACA,IAGJwyB,EAAU77D,KACR,IAAI87D,EACF,EACAsB,IAAOK,EACPz0B,IAAaM,YACb,GACA,IAGJuyB,EAAU77D,KACR,IAAI87D,EACF,GACAsB,IAAOG,EACPv0B,IAAaQ,SACb,EACA,IAGJqyB,EAAU77D,KACR,IAAI87D,EACF,GACAsB,IAAO1kD,EACPswB,IAAaS,QACb,EACA,IAGJoyB,EAAU77D,KACR,IAAI87D,EACF,GACAsB,IAAO1kD,EACPswB,IAAaU,UACb,EACA,IAGJmyB,EAAU77D,KACR,IAAI87D,EACF,GACAsB,IAAOC,EACPr0B,IAAaW,QACb,EACA,IAGJkyB,EAAU77D,KACR,IAAI87D,EACF,GACAsB,IAAOC,EACPr0B,IAAaY,SACb,EACA,IAGJiyB,EAAU77D,KACR,IAAI87D,EACF,GACAsB,IAAOI,EACPx0B,IAAaa,aACb,EACA,IAGJgyB,EAAU77D,KACR,IAAI87D,EACF,GACAsB,IAAOM,EACP10B,IAAac,YACb,EACA,IAGJ+xB,EAAU77D,KACR,IAAI87D,EACF,GACAsB,IAAOK,EACPz0B,IAAae,IACb,GACA,IAGJ8xB,EAAU77D,KACR,IAAI87D,EACF,GACAsB,IAAOK,EACPz0B,IAAagB,UACb,GACA,IAGJ6xB,EAAU77D,KACR,IAAI87D,EACF,GACAsB,IAAO1kD,EACPswB,IAAaiB,MACb,EACA,IAGJ4xB,EAAU77D,KACR,IAAI87D,EACF,GACAsB,IAAOC,EACPr0B,IAAakB,YACb,GACA,IAGJ2xB,EAAU77D,KACR,IAAI87D,EACF,IACA,CAEE,CAACoB,EAAGC,EAAGA,GACP,CAACA,EAAGA,EAAGD,GACP,CAACA,EAAGC,EAAGD,IAETl0B,IAAa20B,QACb,IACA,KAGJ9B,EAAU77D,KACR,IAAI87D,EACF,IACA,CAEE,CAACqB,EAAGA,EAAGA,EAAGA,GACV,CAACA,EAAGD,EAAGA,EAAGA,IAEZl0B,IAAa20B,QACb,IACA,KAGJ9B,EAAU77D,KACR,IAAI87D,EACF,IACA,CAEE,CAACoB,EAAGC,EAAGA,EAAGA,GACV,CAACA,EAAGA,EAAGD,EAAGA,IAEZl0B,IAAa20B,QACb,IACA,KAGJ9B,EAAU77D,KACR,IAAI87D,EACF,IACA,CAEE,CAACqB,EAAGA,EAAGA,EAAGD,GACV,CAACA,EAAGA,EAAGC,EAAGA,IAEZn0B,IAAa20B,QACb,IACA,KAGJ9B,EAAU77D,KACR,IAAI87D,EACF,IACA,CAEE,CAACoB,EAAGC,EAAGA,GACP,CAACD,EAAGC,EAAGD,GACP,CAACC,EAAGA,EAAGD,IAETl0B,IAAa20B,QACb,IACA,KAGJ9B,EAAU77D,KACR,IAAI87D,EACF,IACA,CAEE,CAACoB,EAAGA,EAAGC,GACP,CAACD,EAAGC,EAAGA,GACP,CAACA,EAAGA,EAAGD,IAETl0B,IAAa20B,QACb,IACA,KAGJ9B,EAAU77D,KACR,IAAI87D,EACF,IACA,CAEE,CAACqB,EAAGD,EAAGA,GACP,CAACC,EAAGA,EAAGA,GACP,CA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CNuC,EAAa,IACfvC,GAAWuC,EAAa,cAEtBE,EAAc,IAChBzC,GAAWyC,EAAc,eAEvBE,EAAa,IACf3C,GAAW2C,EAAa,cAEtBE,EAAe,IACjB7C,GAAW6C,EAAe,gBAExBE,EAAa,IACf/C,GAAW+C,EAAa,cAEtBC,EAAc,IAChBhD,GAAWgD,EAAc,eAEvBwmH,EAAS,IACXxpH,GAAWwpH,EAAS,iBAEtBxpH,EAAUA,EAAQrjB,UAAU,EAAGqjB,EAAQ18B,OAAS,GAChD08B,GAAW,KAENA,EAjDT,mC,6BCHA,oEAGO,MAAMypH,EAA6B,CACxC,oDACA,IACA,8EACA,sFACA,sFACA,mFACA,8EACA,qEACA,6EACA,2EACA,gEACA,uEACA,uDACA,4FACA,8EACA,kFACA,mHACA,oEACA,kGACA,wEACA,oEACA,gFACA,6FACA,4FACA,6EACA,2FACA,iGACA,6EACA,4GACA,0FACA,yEACA,uEACA,gGACA,0FACA,iFACA,+FACA,0FACA,4FACA,uEACA,wHACA,sFACA,iFACA,KAGIC,EACW19D,GACN,CACJ,UAASA,wBACT,IACA,8GACA,4FACA,IACA,4CAA2CA,kDAC3C,kBAAiBA,yEACjB,IACA,YACA,IACA,OAAMA,YACN,OAAMA,qBACN,IACA,OAAMA,WACN,OAAMA,iBACN,KAKM29D,EAA4B,CACvC53E,MAAO,CACL,oCACA,IACA,4FACA,uGACA,yHACA,kGACA,IACA,gCACA,IACA,mHACA,yHACA,4CACA,IACA,gCACA,IACA,6DACA,IACA,eACA,IACA,2HACA,4HACA,IACA,mCACA,IACA,8GACA,IACA,uHACA,uCACA,IACA,uDACA,KAEF63E,QAAS,CACP,iBACA,IACA,0GACA,mHACA,kHACA,gCACA,KAEFC,SAAU,CACR,kBACA,IACA,6FACA,IACA,+BACA,KAEFj5G,IAAK,CACH,iCACA,IACA,yEACA,IACA,oHACA,oDACA,IACA,+FACA,IACA,wGACA,KAEFk5G,IAAK,CACH,oBACA,IACA,6EACA,IACA,iBACA,IACA,kBACA,IACA,sBACA,KAEF9Z,GAAI,CACF,kBACA,IACA,yGACA,iFACA,IACA,yBACA,IACA,eACA,IACA,aACA,KAEF+Z,MAAO,CACL,uCACA,IACA,+HACA,uDACA,kIACA,IACA,oCACA,IACA,gGACA,IACA,sCACA,KAEFzrE,MAAO,CACL,eACA,IACA,mIACA,uIACA,KAEF0rE,IAAK,CACH,aACA,IACA,mIACA,yIACA,KAEFxrD,QAAS,CACP,4BACA,IACA,+FACA,oIACA,8GACA,KAEFyrD,GAAI,CAAC,wBAAyB,IAAK,wEAAyE,KAC5GnyF,SAAU,CACR,qCACA,IACA,mFACA,IACA,4GACA,IACA,kDACA,IACA,0CACA,IACA,0CACA,KAEFoyF,KAAM,CACJ,wCACA,IACA,oFACA,IACA,oBACA,IACA,WACA,IACA,wBACA,IACA,qFACA,KAEFC,KAAM,CACJ,cACA,IACA,gIACA,gCACA,KAEF/9C,KAAM,CACJ,cACA,IACA,6GACA,2CACA,KAEFluE,KAAM,CACJ,cACA,IACA,uHACA,KAEFksH,KAAM,CACJ,wBACA,IACA,yHACA,0HACA,mEACA,IACA,iBACA,IACA,wBACA,KAEFC,QAAS,CACP,sBACA,IACA,6GACA,KAEFntH,KAAM,CACJ,cACA,IACA,sGACA,KAEF7lB,SAAU,CAAC,kBAAmB,IAAK,4CAA6C,KAChFiiE,KAAM,CACJ,mDACA,IACA,4EACA,IACA,6EACA,4EACA,iFACA,4DACA,IACA,uCACA,IACA,qEACA,IACA,wCACA,IACA,qFACA,KAEFk0B,QAAS,CACP,iBACA,IACA,4CACA,2HACA,uHACA,2EACA,KAEFG,GAAI,CACF,wCACA,IACA,iIACA,sDACA,IACA,8FACA,IACA,gFACA,IACA,yHACA,IACA,YACA,IACA,wEACA,IACA,2BACA,IACA,iEACA,IACA,yBACA,IACA,uFACA,IACA,oCACA,KAEF28C,MAAO,CAAC,eAAgB,IAAK,wDAAyD,KAEtFC,IAAK,CACH,4CACA,IACA,6HACA,2HACA,gFACA,IACA,qBACA,IACA,2BACA,IACA,4HACA,iFACA,KAEFr6F,GAAI,CACF,yBACA,IACA,6FACA,6FACA,kCACA,IACA,kFACA,kBACA,aACA,IACA,qEACA,IACA,oCACA,KAEFs6F,KAAMd,EAAgC,QACtC97C,GAAI,CAAC,YAAa,IAAK,4DAA6D,KACpF8B,GAAI,CACF,mBACA,IACA,6GACA,IACA,kDACA,KAEF/iE,IAAK,CACH,sDACA,IACA,gDACA,IACA,sHACA,2GACA,gEACA,2DACA,2FACA,IACA,kHACA,iFACA,KAEFg/D,KAAM,CACJ,cACA,IACA,6HACA,2CACA,KAEF,eAAgB,CACd,mCACA,IACA,kGACA,wGACA,4EACA,IACA,uGACA,qGACA,0BACA,IACA,iHACA,yGACA,UACA,IACA,2GACA,sEACA,KAEF+B,IAAK,CACH,4CACA,IACA,8EACA,2GACA,oCACA,2FACA,IACA,6BACA,IACA,wCACA,KAEF+8C,MAAO,CAAC,eAAgB,IAAK,oEAAqE,KAElG35C,KAAM,CACJ,sCACA,IACA,oHACA,uHACA,oEACA,IACA,8BACA,IACA,gFACA,IACA,+BACA,KAEFp2B,IAAK,CACH,aACA,IACA,yGACA,+BACA,KAEFgwE,QAAS,CACP,8BACA,IACA,mFACA,IACA,iDACA,IACA,oBACA,IACA,kCACA,IACA,gBACA,IACA,kGACA,KAEF7oG,IAAK6nG,EAAgC,OACrCh6H,OAAQ,CACN,gBACA,IACA,oHACA,iEACA,KAEFghF,KAAM,CACJ,kCACA,IACA,iGACA,oGACA,0CACA,IACA,mGACA,iDACA,IACA,mGACA,O,6BC/dJ,wEAIKi6C,EAKAC,EATL,0B,SAIKD,O,2BAAAA,I,8BAAAA,M,cAKAC,O,qBAAAA,I,kBAAAA,M,KA2CE,MAAMnd,EAAe,qDA8BrB,SAASod,EAAmB5rI,EAAc6rI,EAA6BtrG,GAAyB,YACrG,MAAMhnC,EA7BR,SAA0ByG,EAAc6rI,EAA6BtrG,GACnE,MAAMurG,EAAa5xF,UAAUC,UAAUj8B,cAAc1uB,QAAQ,eAAiB,EACxEmlD,EAAqE+2F,EAAQK,WAC7E5vC,EAAuB,CAC3BA,QAAS9rG,IAAUC,cACnB0nG,KAAMA,cACNg0C,UAAW,IAAO,IAAG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WAAWrrJ,KAGd,kDACA,8CACA,kCACA,oEACA,YACA,wBACA,4BACA,yCACA,SACA,oBACA,+DACA,OACA,IACA,eACA,IACA,MAIA,mDACA,8CACA,+BACA,wFACA,wBACA,4BACA,gBACA,+DACA,kCACA,gBACA,kBACA,mDACA,IACA,IACA,cACA,IACA,MAKA,+BACA,mDACA,+BACA,sBACA,0DACA,IACA,wBACA,4BACA,yCACA,uDACA,IACA,8BACA,aACA,oBACA,qBACA,+CACA,iBACA,IACA,OACA,IACA,oBACA,KACA,sBACA,iBACA,MACA,IAKA,oCACA,wDACA,+BACA,sBACA,0DACA,IACA,wBACA,4BACA,yCACA,uDACA,IACA,8BACA,aACA,oBACA,qBACA,+CACA,YACA,IACA,OACA,IACA,aACA,KACA,sBACA,iBACA,MACA,IAIA,oDACA,8CACA,gCACA,kEACA,YACA,wBACA,4BACA,yCACA,SACA,oBACA,4CACA,OACA,IACA,IACA,MAIA,uDACA,8CACA,sBACA,0DACA,IACA,yCACA,wBACA,mDACA,4BACA,mCACA,mBACA,gBACA,IACA,yCACA,qEACA,yBACA,uBACA,qBACA,oBACA,2BACA,+BACA,uDACA,iCACA,8FACA,IACA,8BACA,oBACA,+DACA,wEACA,4CACA,eACA,IACA,0BACA,OACA,IACA,qBACA,gBACA,IACA,MAIA,gDACA,8CACA,gCACA,8DACA,eACA,wBACA,4BACA,yCACA,sBACA,SACA,oBACA,mDACA,OACA,IACA,YACA,IACA,MAIA,mDACA,8CACA,0CACA,kEACA,4DACA,gCACA,wBACA,WACA,oCACA,kBACA,kEACA,IACA,kBACA,IACA,yBACA,mDACA,IACA,gBACA,IACA,MAIA,wDACA,8CACA,0CACA,yGACA,kEACA,+BACA,wBACA,WACA,mCACA,eACA,kEACA,IACA,kBACA,IACA,wBACA,mDACA,IACA,gBACA,IACA,MAIA,iDACA,8CACA,+BACA,6DACA,wBACA,4BACA,+DACA,kCACA,iDACA,eACA,IACA,IACA,gBACA,IACA,MAEA,gBACA,oCACA,8CAEA,wCACA,2BACA,IAEA,0CACA,mBACA,kDACA,4CACA,sBACA,yBACA,sBACA,aACA,IACA,IACA,uBACA,IACA,eACA,KACA,QAEA,2DACA,8CACA,eACA,gBACA,0CACA,wFACA,IACA,wBACA,IACA,MACA,KAQJs9E,EAAY19E,UAAUytJ,WAAa,SAAU9wE,GAC3C,IACI4xE,EADAN,EAAkBtmJ,KAGtB4mJ,EAAU,SAAUnsJ,GAElB,OADAA,EAAQkmE,OAAOlmE,GACX6rJ,EAAgBmB,iBAElBznJ,KAAKrI,KAAO8C,EACLuF,MAGAvF,GAGXuF,KAAK2qJ,OAAS3qJ,KAAK41E,qBAAqBgxE,GAAS,GACjD5mJ,KAAK01E,YAAYV,EAAO,SAAUh1E,KAAK2qJ,QAGvC3qJ,KAAK01E,YACH11E,KAAK2qJ,OACL,eACA3qJ,KAAK41E,qBAAqBjV,OAAOiqF,cAAc,GAC/C70E,EAAY4uE,0BAoBd,IAfA,IAAIkG,EAAY,CACd,SACA,aACA,SACA,UACA,cACA,QACA,SACA,YACA,oBACA,oBACA,cACA,cACA,QAEO5yJ,EAAI,EAAGA,EAAI4yJ,EAAU1yJ,OAAQF,IACpC+H,KAAK6oJ,2BAA2B7oJ,KAAK2qJ,OAAQE,EAAU5yJ,GAAI0oE,OAAOtoE,UAAUwyJ,EAAU5yJ,KAGxF2uJ,EAAU,SAAUkE,EAAeC,EAAS/wG,GAG1C,OAFA+wG,EAAUA,EAAUzE,EAAgBhxE,eAAey1E,QAAWngJ,EAC9DovC,EAAUA,EAAUssG,EAAgBhxE,eAAet7B,QAAWpvC,EACvD+1D,OAAO3gE,MAAMgrJ,cAAcF,EAAeC,EAAS/wG,IAE5Dh6C,KAAK6oJ,2BAA2B7oJ,KAAK2qJ,OAAQ,gBAAiB/D,GAE9DA,EAAU,SAAUqE,EAAWx2F,GACzB6xF,EAAgBiE,IAAIU,EAAW3E,EAAgBa,UACjD8D,EAAYA,EAAUtzJ,MAExB,IAAIuzJ,EAASvqF,OAAO3gE,MAAM6S,MAAMo4I,EAAWx2F,GAC3C,OAAO6xF,EAAgB2C,oBAAoBiC,IAE7ClrJ,KAAK6oJ,2BAA2B7oJ,KAAK2qJ,OAAQ,QAAS/D,GAEtDA,EAAU,SAAUzvF,GACdmvF,EAAgBiE,IAAIpzF,EAAQmvF,EAAgBa,UAC9ChwF,EAASA,EAAOx/D,MAElB,IAAIkC,EAAI8mE,OAAO3gE,MAAMiD,MAAMk0D,GAC3B,OAAOt9D,GAAKysJ,EAAgB2C,oBAAoBpvJ,IAElDmG,KAAK6oJ,2BAA2B7oJ,KAAK2qJ,OAAQ,QAAS/D,GAEtDA,EAAU,SAAUzvF,GAIlB,OAHImvF,EAAgBiE,IAAIpzF,EAAQmvF,EAAgBa,UAC9ChwF,EAASA,EAAOx/D,MAEXgpE,OAAO3gE,MAAMmrJ,OAAOh0F,IAE7Bn3D,KAAK6oJ,2BAA2B7oJ,KAAK2qJ,OAAQ,SAAU/D,GAEvDA,EAAU,SAAU3lE,EAAQmqE,GAK1B,OAHI9E,EAAgBiE,IAAItpE,EAAQqlE,EAAgBa,UAC9ClmE,EAASA,EAAOtpF,MAEXgpE,OAAO3gE,MAAMikC,QAAQg9C,EAAQmqE,IAEtCprJ,KAAK6oJ,2BAA2B7oJ,KAAK2qJ,OAAQ,UAAW/D,GAExD5mJ,KAAK8jJ,WAAWrrJ,KACd,gBACA,2CACA,2DACA,yCAEA,iDACA,IACA,kBACA,kCACA,iBACA,4BACA,cACA,wBACA,yCACA,6CACA,+CACA,IACA,+CACA,4FACA,IACA,WACA,+BACA,kBACA,gEACA,yEACA,IACA,IACA,cACA,KACA,QAIA,oCACA,2DACA,0DACA,0BACA,IACA,wEACA,KACA,IAIA,oCACA,wDACA,gBACA,mCACA,aACA,IACA,OACA,6CACA,gBACA,WACA,6CACA,IACA,KACA,IAIA,sCACA,wDACA,4EACA,KACA,IAEA,KAQJs9E,EAAY19E,UAAU0tJ,YAAc,SAAU/wE,GAC5C,IACI4xE,EADAN,EAAkBtmJ,KAGtB4mJ,EAAU,SAAUnsJ,GAElB,OADAA,EAAQy7B,QAAQz7B,GACZ6rJ,EAAgBmB,iBAElBznJ,KAAKrI,KAAO8C,EACLuF,MAGAvF,GAGXuF,KAAKqrJ,QAAUrrJ,KAAK41E,qBAAqBgxE,GAAS,GAClD5mJ,KAAK01E,YAAYV,EAAO,UAAWh1E,KAAKqrJ,UAO1Ct1E,EAAY19E,UAAU2tJ,WAAa,SAAUhxE,GAC3C,IACI4xE,EADAN,EAAkBtmJ,KAGtB4mJ,EAAU,SAAUnsJ,GAElB,OADAA,EAAQ+9E,OAAO/9E,GACX6rJ,EAAgBmB,iBAElBznJ,KAAKrI,KAAO8C,EACLuF,MAGAvF,GAGXuF,KAAKsrJ,OAAStrJ,KAAK41E,qBAAqBgxE,GAAS,GACjD5mJ,KAAK01E,YAAYV,EAAO,SAAUh1E,KAAKsrJ,QAGvC,IADA,IAAIC,EAAY,CAAC,YAAa,YAAa,MAAO,oBAAqB,qBAC9DtzJ,EAAI,EAAGA,EAAIszJ,EAAUpzJ,OAAQF,IACpC+H,KAAK01E,YAAY11E,KAAKsrJ,OAAQC,EAAUtzJ,GAAIugF,OAAO+yE,EAAUtzJ,IAAK89E,EAAY6uE,mCAIhFgC,EAAU,SAAU4E,GAClB,IACE,OAAOhzE,OAAOx4E,MAAMyrJ,cAAcD,GAClC,MAAOlgI,GAEPg7H,EAAgBQ,eAAeR,EAAgBpxC,MAAO5pF,EAAEksD,WAG5Dx3E,KAAK6oJ,2BAA2B7oJ,KAAKsrJ,OAAQ,gBAAiB1E,GAE9DA,EAAU,SAAU8E,GAClB,IACE,OAAOlzE,OAAOx4E,MAAM0B,QAAQgqJ,GAC5B,MAAOpgI,GAEPg7H,EAAgBQ,eAAeR,EAAgBpxC,MAAO5pF,EAAEksD,WAG5Dx3E,KAAK6oJ,2BAA2B7oJ,KAAKsrJ,OAAQ,UAAW1E,GAExDA,EAAU,SAAU+E,GAClB,IACE,OAAOnzE,OAAOx4E,MAAM4rJ,YAAYD,GAChC,MAAOrgI,GAEPg7H,EAAgBQ,eAAeR,EAAgBpxC,MAAO5pF,EAAEksD,WAG5Dx3E,KAAK6oJ,2BAA2B7oJ,KAAKsrJ,OAAQ,cAAe1E,GAE5DA,EAAU,SAAUiF,GAClB,IACE,OAAOrzE,OAAOx4E,MAAM0S,SAASm5I,GAC7B,MAAOvgI,GAEPg7H,EAAgBQ,eAAeR,EAAgBpxC,MAAO5pF,EAAEksD,WAG5Dx3E,KAAK6oJ,2BAA2B7oJ,KAAKsrJ,OAAQ,WAAY1E,GAEzDA,EAAU,SAAUmE,EAAS/wG,GAG3B,OAFA+wG,EAAUA,EAAUzE,EAAgBhxE,eAAey1E,QAAWngJ,EAC9DovC,EAAUA,EAAUssG,EAAgBhxE,eAAet7B,QAAWpvC,EACvD4tE,OAAOx4E,MAAM8R,eAAei5I,EAAS/wG,IAE9Ch6C,KAAK6oJ,2BAA2B7oJ,KAAKsrJ,OAAQ,iBAAkB1E,IAOjE7wE,EAAY19E,UAAU4tJ,SAAW,SAAUjxE,GACzC,IACI4xE,EADAN,EAAkBtmJ,KAGtB4mJ,EAAU,SAAUnsJ,EAAO+sJ,GACzB,IAAKlB,EAAgBmB,gBAGnB,OAAOr4H,OAGT,IAAI+rB,EAAO,CAAC,MAAMpqC,OAAO62B,MAAMC,KAAK+/G,YAEpC,OADA5nJ,KAAKrI,KAAO,IAAKm0J,SAASzzJ,UAAU2C,KAAKlC,MAAMs2B,KAAM+rB,IAC9Cn7C,MAETA,KAAKqnJ,KAAOrnJ,KAAK41E,qBAAqBgxE,GAAS,GAC/C5mJ,KAAKsnJ,WAAatnJ,KAAKqnJ,KAAK2B,WAAV,UAClBhpJ,KAAK01E,YAAYV,EAAO,OAAQh1E,KAAKqnJ,MAGrCrnJ,KAAK01E,YAAY11E,KAAKqnJ,KAAM,MAAOrnJ,KAAK41E,qBAAqBxmD,KAAKq9B,KAAK,GAAQspB,EAAY4uE,0BAE3F3kJ,KAAK01E,YACH11E,KAAKqnJ,KACL,QACArnJ,KAAK41E,qBAAqBxmD,KAAKtzB,OAAO,GACtCi6E,EAAY4uE,0BAGd3kJ,KAAK01E,YAAY11E,KAAKqnJ,KAAM,MAAOrnJ,KAAK41E,qBAAqBxmD,KAAK28H,KAAK,GAAQh2E,EAAY4uE,0BAiD3F,IA9CA,IAAIkG,EAAY,CACd,UACA,SACA,cACA,WACA,kBACA,aACA,WACA,aACA,UACA,oBACA,aACA,YACA,iBACA,cACA,qBACA,gBACA,cACA,gBACA,UACA,UACA,cACA,WACA,kBACA,aACA,WACA,aACA,UACA,aACA,iBACA,cACA,qBACA,gBACA,cACA,gBACA,UACA,eACA,cACA,SACA,cACA,qBACA,iBACA,qBACA,eACA,eAEO5yJ,EAAI,EAAGA,EAAI4yJ,EAAU1yJ,OAAQF,IACpC2uJ,EAAW,SAAUC,GACnB,OAAO,SAAUW,GAEf,IADA,IAAIrsG,EAAO,GACFljD,EAAI,EAAGA,EAAI2vJ,UAAUzvJ,OAAQF,IACpCkjD,EAAKljD,GAAKquJ,EAAgBhxE,eAAesyE,UAAU3vJ,IAErD,OAAO+H,KAAKrI,KAAKkvJ,GAAY/tJ,MAAMkH,KAAKrI,KAAMwjD,IANvC,CAQR0vG,EAAU5yJ,IACb+H,KAAK6oJ,2BAA2B7oJ,KAAKqnJ,KAAMwD,EAAU5yJ,GAAI2uJ,IAQ7D7wE,EAAY19E,UAAU6tJ,WAAa,SAAUlxE,GAC3C,IACI4xE,EADAN,EAAkBtmJ,KAGtB4mJ,EAAU,SAAUoF,EAAS/lD,GAC3B,GAAIqgD,EAAgBmB,gBAElB,IAAIwE,EAAMjsJ,UAGNisJ,EAAM3F,EAAgBqB,kBAAkBrB,EAAgBc,cAK9D,OAHA4E,EAAUA,EAAUA,EAAQt5I,WAAa,GACzCuzF,EAAQA,EAAQA,EAAMvzF,WAAa,GACnC4zI,EAAgB4F,eAAeD,EAAK,IAAIlpJ,OAAOipJ,EAAS/lD,IACjDgmD,GAETjsJ,KAAKmnJ,OAASnnJ,KAAK41E,qBAAqBgxE,GAAS,GACjD5mJ,KAAKonJ,aAAepnJ,KAAKmnJ,OAAO6B,WAAZ,UACpBhpJ,KAAK01E,YAAYV,EAAO,SAAUh1E,KAAKmnJ,QAEvCnnJ,KAAK01E,YACH11E,KAAKmnJ,OAAO6B,WAAZ,UACA,cACAp+I,EACAmrE,EAAY6uE,mCAEd5kJ,KAAK01E,YACH11E,KAAKmnJ,OAAO6B,WAAZ,UACA,kBACAp+I,EACAmrE,EAAY6uE,mCAEd5kJ,KAAK01E,YACH11E,KAAKmnJ,OAAO6B,WAAZ,UACA,iBACAp+I,EACAmrE,EAAY6uE,mCAEd5kJ,KAAK01E,YACH11E,KAAKmnJ,OAAO6B,WAAZ,UACA,SACA,OACAjzE,EAAY6uE,mCAGdgC,EAAU,SAAU3lJ,GAClB,OAAOjB,KAAKrI,KAAK+2I,KAAKztI,IAExBjB,KAAK6oJ,2BAA2B7oJ,KAAKmnJ,OAAQ,OAAQP,GAErDA,EAAU,SAAU3lJ,GAClBA,EAAMA,EAAIyR,WAEV1S,KAAKrI,KAAKw0J,UAAY3zE,OAAO8tE,EAAgB8D,YAAYpqJ,KAAM,cAC/D,IAAIiD,EAAQjD,KAAKrI,KAAKwqG,KAAKlhG,GAG3B,GAFAqlJ,EAAgB5wE,YAAY11E,KAAM,YAAaA,KAAKrI,KAAKw0J,WAErDlpJ,EAAO,CAET,IADA,IAAIjK,EAASstJ,EAAgBqB,kBAAkBrB,EAAgBY,aACtDjvJ,EAAI,EAAGA,EAAIgL,EAAM9K,OAAQF,IAChCquJ,EAAgB5wE,YAAY18E,EAAQf,EAAGgL,EAAMhL,IAK/C,OAFAquJ,EAAgB5wE,YAAY18E,EAAQ,QAASiK,EAAM2I,OACnD06I,EAAgB5wE,YAAY18E,EAAQ,QAASiK,EAAM2mE,OAC5C5wE,EAET,OAAO,MAETgH,KAAK6oJ,2BAA2B7oJ,KAAKmnJ,OAAQ,OAAQP,IAOvD7wE,EAAY19E,UAAU8tJ,UAAY,SAAUnxE,GAC1C,IAAIsxE,EAAkBtmJ,KAEtBA,KAAKk1G,MAAQl1G,KAAK41E,sBAAqB,SAAUw2E,GAC/C,GAAI9F,EAAgBmB,gBAElB,IAAI4E,EAAWrsJ,UAGXqsJ,EAAW/F,EAAgBgG,aAAahG,EAAgBpxC,OAK9D,OAHIk3C,GACF9F,EAAgB5wE,YAAY22E,EAAU,UAAW1rF,OAAOyrF,GAAcr2E,EAAY4uE,0BAE7E0H,KACN,GACHrsJ,KAAK01E,YAAYV,EAAO,QAASh1E,KAAKk1G,OACtCl1G,KAAK01E,YAAY11E,KAAKk1G,MAAM8zC,WAAX,UAAoC,UAAW,GAAIjzE,EAAY4uE,0BAChF3kJ,KAAK01E,YAAY11E,KAAKk1G,MAAM8zC,WAAX,UAAoC,OAAQ,QAASjzE,EAAY4uE,0BAElF,IAAI4H,EAAsB,SAAUvyJ,GAClC,IAAI+F,EAAcumJ,EAAgB1wE,sBAAqB,SAAUw2E,GAC/D,GAAI9F,EAAgBmB,gBAElB,IAAI4E,EAAWrsJ,UAGXqsJ,EAAW/F,EAAgBgG,aAAavsJ,GAK9C,OAHIqsJ,GACF9F,EAAgB5wE,YAAY22E,EAAU,UAAW1rF,OAAOyrF,GAAcr2E,EAAY4uE,0BAE7E0H,KACN,GAUH,OATA/F,EAAgB5wE,YAAY31E,EAAa,YAAaumJ,EAAgBgG,aAAahG,EAAgBpxC,QACnGoxC,EAAgB5wE,YACd31E,EAAYipJ,WAAZ,UACA,OACAhvJ,EACA+7E,EAAY4uE,0BAEd2B,EAAgB5wE,YAAYV,EAAOh7E,EAAM+F,GAElCA,GAGTC,KAAKwsJ,WAAaD,EAAoB,aACtCvsJ,KAAK4pJ,YAAc2C,EAAoB,cACvCvsJ,KAAKysJ,gBAAkBF,EAAoB,kBAC3CvsJ,KAAK8nJ,aAAeyE,EAAoB,eACxCvsJ,KAAK2oJ,WAAa4D,EAAoB,aACtCvsJ,KAAK+mJ,UAAYwF,EAAoB,aAOvCx2E,EAAY19E,UAAU+tJ,SAAW,SAAUpxE,GACzC,IACI03E,EAAS1sJ,KAAK2nJ,kBAAkB3nJ,KAAKulJ,cACzCvlJ,KAAK01E,YAAYV,EAAO,OAAQ03E,GAEhC,IADA,IAAIC,EAAa,CAAC,IAAK,MAAO,OAAQ,QAAS,SAAU,KAAM,UAAW,SACjE10J,EAAI,EAAGA,EAAI00J,EAAWx0J,OAAQF,IACrC+H,KAAK01E,YAAYg3E,EAAQC,EAAW10J,GAAIuI,KAAKmsJ,EAAW10J,IAAK89E,EAAY6uE,mCAE3E,IAAIgI,EAAe,CACjB,MACA,OACA,OACA,OACA,QACA,OACA,MACA,MACA,QACA,MACA,MACA,MACA,MACA,SACA,QACA,MACA,OACA,OAEF,IAAS30J,EAAI,EAAGA,EAAI20J,EAAaz0J,OAAQF,IACvC+H,KAAK01E,YACHg3E,EACAE,EAAa30J,GACb+H,KAAK41E,qBAAqBp1E,KAAKosJ,EAAa30J,KAAK,GACjD89E,EAAY4uE,2BASlB5uE,EAAY19E,UAAUguJ,SAAW,SAAUrxE,GACzC,IAAIsxE,EAAkBtmJ,KAClB6sJ,EAASvG,EAAgBqB,kBAAkB3nJ,KAAKulJ,cACpDvlJ,KAAK01E,YAAYV,EAAO,OAAQ63E,GAEhC,IAAIjG,EAAU,SAAU3rF,GACtB,IACE,IAAI6xF,EAAYjxJ,KAAKC,MAAMm/D,EAAKvoD,YAChC,MAAO4Y,GACPg7H,EAAgBQ,eAAeR,EAAgBwB,aAAcx8H,EAAEksD,SAEjE,OAAO8uE,EAAgBzwE,eAAei3E,IAExC9sJ,KAAK01E,YAAYm3E,EAAQ,QAAS7sJ,KAAK41E,qBAAqBgxE,GAAS,IAErEA,EAAU,SAAUnsJ,GAClB,IAAIqyJ,EAAYxG,EAAgBhxE,eAAe76E,GAC/C,IACE,IAAIwG,EAAMpF,KAAK4T,UAAUq9I,GACzB,MAAOxhI,GACPg7H,EAAgBQ,eAAeR,EAAgBqC,WAAYr9H,EAAEksD,SAE/D,OAAOv2E,GAETjB,KAAK01E,YAAYm3E,EAAQ,YAAa7sJ,KAAK41E,qBAAqBgxE,GAAS,KAU3E7wE,EAAY19E,UAAUkyJ,IAAM,SAAUwC,EAAOhtJ,GAC3C,GAAIgtJ,UAA0ChtJ,EAC5C,OAAO,EAET,IAAI4lJ,EAAQ5lJ,EAAYipJ,WAAZ,UACZ,GAAI+D,IAAUpH,EACZ,OAAO,EAKT,IADAoH,EAAQ/sJ,KAAKqoJ,aAAa0E,GACnBA,GAAO,CACZ,GAAIA,IAAUpH,EACZ,OAAO,EAEToH,EAAQA,EAAMpH,MAEhB,OAAO,GAST5vE,EAAY4zE,iBAAmB,SAAUrrJ,GACvC,IAAIrD,EAAIqD,IAAM,EAEd,OAAOrD,IAAMu9E,OAAOl6E,GAAKrD,EAAIiI,KAS/B6yE,EAAYi3E,gBAAkB,SAAU1uJ,GACtC,IAAIrD,EAAIqD,IAAM,EAGd,OAAOqiE,OAAO1lE,KAAO0lE,OAAOriE,IAAY,aAANrD,EAAmBA,EAAIiI,KAO3D6yE,EAAYk3E,MAOZl3E,EAAY39E,OAAS,SAAUutJ,GAC7B3lJ,KAAK/F,OAAS7B,OAAO0C,OAAO,MAC5BkF,KAAKqpJ,OAASjxJ,OAAO0C,OAAO,MAC5BkF,KAAKgpJ,WAAa5wJ,OAAO0C,OAAO,MAChCkF,KAAK2lJ,MAAQA,GAIf5vE,EAAY39E,OAAOC,UAAUstJ,MAAQ,KAGrC5vE,EAAY39E,OAAOC,UAAU4vJ,UAAW,EAGxClyE,EAAY39E,OAAOC,UAAUwxJ,MAAQ,SAGrC9zE,EAAY39E,OAAOC,UAAUV,KAAO,KAOpCo+E,EAAY39E,OAAOC,UAAUqa,SAAW,WACtC,GAAmB,UAAf1S,KAAK6pJ,MAAmB,EAEtBt2G,EAASwiC,EAAYkvE,iBAClBxsJ,KAAKuH,MACZ,IAEE,IADA,IAAIktJ,EAAO,GACFj1J,EAAI,EAAGA,EAAI+H,KAAKgpJ,WAAW7wJ,OAAQF,IAAK,CAC/C,IAAIwC,EAAQuF,KAAKgpJ,WAAW/wJ,GAC5Bi1J,EAAKj1J,GAAKwC,GAASA,EAAMwtJ,WAAuC,IAA3B10G,EAAOjwC,QAAQ7I,GAAgB,MAAQA,GAJhF,QAOE84C,EAAOhD,MAET,OAAO28G,EAAKlqJ,KAAK,KAEnB,GAAmB,UAAfhD,KAAK6pJ,MAAmB,CAC1B,IAAIt2G,EAIAv5C,EAAMw9E,EAHV,IAA8B,KAD1BjkC,EAASwiC,EAAYkvE,iBACd3hJ,QAAQtD,MACjB,MAAO,iBAIT,IAAIsL,EAAMtL,KACV,GACE,GAAI,SAAUsL,EAAI09I,WAAY,CAC5BhvJ,EAAOsR,EAAI09I,WAAJ,KACP,aAEM19I,EAAMA,EAAIq6I,OAChBr6I,EAAMtL,KACV,GACE,GAAI,YAAasL,EAAI09I,WAAY,CAC/BxxE,EAAUlsE,EAAI09I,WAAJ,QACV,aAEM19I,EAAMA,EAAIq6I,OACpBpyG,EAAO96C,KAAKuH,MACZ,IACEhG,EAAOA,GAAQA,EAAK0Y,WACpB8kE,EAAUA,GAAWA,EAAQ9kE,WAF/B,QAIE6gC,EAAOhD,MAET,OAAOinC,EAAUx9E,EAAO,KAAOw9E,EAAU7W,OAAO3mE,GAIlD,OAAkB,OAAdgG,KAAKrI,KACAgpE,OAAO3gE,KAAKrI,MAGd,WAAaqI,KAAK6pJ,MAAQ,KAQnC9zE,EAAY39E,OAAOC,UAAUywJ,QAAU,WACrC,YAAkBl+I,IAAd5K,KAAKrI,MAAoC,OAAdqI,KAAKrI,MAAiBqI,KAAKrI,gBAAgBoL,OACjE/C,KAELA,KAAKrI,gBAAgBy3B,KAChBpvB,KAAKrI,KAAKmxJ,UAE4B9oJ,KAA/C,MASF+1E,EAAY19E,UAAUi0J,aAAe,SAAUvsJ,GAC7C,OAAOC,KAAK2nJ,kBAAkB5nJ,GAAeA,EAAYipJ,WAAZ,YAQ/CjzE,EAAY19E,UAAUsvJ,kBAAoB,SAAUhC,GAClD,GAAqB,iBAAVA,EACT,MAAM76I,MAAM,wBAEd,IAAIQ,EAAM,IAAIyqE,EAAY39E,OAAOutJ,GAkBjC,OAhBI3lJ,KAAKuqJ,IAAIj/I,EAAKtL,KAAKgnJ,YACrBhnJ,KAAK01E,YAAYpqE,EAAK,YAAatL,KAAK2nJ,kBAAkB3nJ,KAAKulJ,cAAgB,OAC/Ej6I,EAAIu+I,MAAQ,YAGV7pJ,KAAKuqJ,IAAIj/I,EAAKtL,KAAKinJ,SACrBjnJ,KAAK01E,YAAYpqE,EAAK,SAAU,EAAG,CACjCm5I,cAAc,EACdrqJ,YAAY,EACZsqJ,UAAU,IAEZp5I,EAAIu+I,MAAQ,SAEV7pJ,KAAKuqJ,IAAIj/I,EAAKtL,KAAKk1G,SACrB5pG,EAAIu+I,MAAQ,SAEPv+I,GASTyqE,EAAY19E,UAAU6zJ,eAAiB,SAAUiB,EAAcC,GAC7DD,EAAax1J,KAAOy1J,EAEpBptJ,KAAK01E,YAAYy3E,EAAc,YAAaC,EAAajB,UAAWp2E,EAAY4uE,0BAChF3kJ,KAAK01E,YAAYy3E,EAAc,SAAUC,EAAal7H,OAAQ6jD,EAAY6uE,mCAC1E5kJ,KAAK01E,YAAYy3E,EAAc,SAAUC,EAAapnF,OAAQ+P,EAAY6uE,mCAC1E5kJ,KAAK01E,YAAYy3E,EAAc,aAAcC,EAAaC,WAAYt3E,EAAY6uE,mCAClF5kJ,KAAK01E,YAAYy3E,EAAc,YAAaC,EAAa1qB,UAAW3sD,EAAY6uE,oCASlF7uE,EAAY19E,UAAUi1J,eAAiB,SAAU/lI,EAAMytD,GACrD,IAAI95B,EAAOl7C,KAAK2nJ,kBAAkB3nJ,KAAKwlJ,gBAIvC,OAHAtqG,EAAK6sG,YAAc/yE,EACnB95B,EAAK3zB,KAAOA,EACZvnB,KAAK01E,YAAYx6B,EAAM,SAAUA,EAAK3zB,KAAL,OAAoBpvB,OAAQ49E,EAAYyuE,qBAClEtpG,GAYT66B,EAAY19E,UAAUu9E,qBAAuB,SAAUixE,EAAY0G,GACjE,IAAIryG,EAAOl7C,KAAK2nJ,kBAAkB3nJ,KAAKwlJ,gBAUvC,OATAtqG,EAAK2rG,WAAaA,EAClBA,EAAWnnG,GAAK1/C,KAAK+jJ,mBACrB/jJ,KAAK01E,YAAYx6B,EAAM,SAAU2rG,EAAW1uJ,OAAQ49E,EAAYyuE,qBAC5D+I,EACFvtJ,KAAK01E,YAAYx6B,EAAK8tG,WAAL,UAA8B,cAAe9tG,EAAM66B,EAAY4uE,2BACnD,IAApB4I,IACTryG,EAAKsyG,oBAAqB,EAC1BxtJ,KAAK01E,YAAYx6B,EAAM,iBAAatwC,IAE/BswC,GAQT66B,EAAY19E,UAAUs9E,oBAAsB,SAAU83E,GACpD,IAAIvyG,EAAOl7C,KAAK2nJ,kBAAkB3nJ,KAAKwlJ,gBAIvC,OAHAtqG,EAAKuyG,UAAYA,EACjBA,EAAU/tG,GAAK1/C,KAAK+jJ,mBACpB/jJ,KAAK01E,YAAYx6B,EAAM,SAAUuyG,EAAUt1J,OAAQ49E,EAAYyuE,qBACxDtpG,GAST66B,EAAY19E,UAAUw9E,eAAiB,SAAUi3E,GAC/C,GAA0B,iBAAdA,GAA+C,mBAAdA,GAA2C,OAAdA,EACxE,OAAOA,EAGT,GAAIA,aAAqB/pJ,OAAQ,CAC/B,IAAIoqJ,EAAentJ,KAAK2nJ,kBAAkB3nJ,KAAKonJ,cAE/C,OADApnJ,KAAKksJ,eAAeiB,EAAcL,GAC3BK,EAGT,GAAIL,aAAqB19H,KAAM,CAC7B,IAAIs+H,EAAa1tJ,KAAK2nJ,kBAAkB3nJ,KAAKsnJ,YAE7C,OADAoG,EAAW/1J,KAAOm1J,EACXY,EAGT,GAAIZ,aAAqBhB,SAAU,CACjC,IAAIh2E,EAAc91E,KAWlB,OAAOA,KAAK41E,sBAVE,WACZ,OAAOE,EAAYD,eACjBi3E,EAAUh0J,MACRg9E,EACAluC,MAAMvvC,UAAUmD,MAAMjD,KAAKqvJ,WAAW90I,KAAI,SAAU7a,GAClD,OAAO69E,EAAYR,eAAer9E,eAKA2S,GAG5C,IAAI+iJ,EACJ,GAAI/lH,MAAMytC,QAAQy3E,GAAY,CAE5Ba,EAAY3tJ,KAAK2nJ,kBAAkB3nJ,KAAKknJ,aACxC,IAAK,IAAIjvJ,EAAI,EAAGA,EAAI60J,EAAU30J,OAAQF,IAChCA,KAAK60J,GACP9sJ,KAAK01E,YAAYi4E,EAAW11J,EAAG+H,KAAK61E,eAAei3E,EAAU70J,UAMjE,IAAK,IAAI8C,KADT4yJ,EAAY3tJ,KAAK2nJ,kBAAkB3nJ,KAAKulJ,cACxBuH,EACd9sJ,KAAK01E,YAAYi4E,EAAW5yJ,EAAKiF,KAAK61E,eAAei3E,EAAU/xJ,KAGnE,OAAO4yJ,GAWT53E,EAAY19E,UAAUi9E,eAAiB,SAAUq4E,EAAWC,GAC1D,GAA0B,iBAAdD,GAA+C,mBAAdA,GAA2C,OAAdA,EACxE,OAAOA,EAGT,GAAI3tJ,KAAKuqJ,IAAIoD,EAAW3tJ,KAAKmnJ,QAE3B,OAAOwG,EAAUh2J,KAGnB,GAAIqI,KAAKuqJ,IAAIoD,EAAW3tJ,KAAKqnJ,MAE3B,OAAOsG,EAAUh2J,KAGnB,IASIm1J,EATAv5G,EAASq6G,GAAc,CACzBC,OAAQ,GACRC,OAAQ,IAGV,IAAW,KADP71J,EAAIs7C,EAAOs6G,OAAOvqJ,QAAQqqJ,IAE5B,OAAOp6G,EAAOu6G,OAAO71J,GAIvB,GAFAs7C,EAAOs6G,OAAOp1J,KAAKk1J,GAEf3tJ,KAAKuqJ,IAAIoD,EAAW3tJ,KAAKinJ,OAAQ,CAEnC6F,EAAY,GACZv5G,EAAOu6G,OAAOr1J,KAAKq0J,GAEnB,IADA,IAAI30J,EAAS6H,KAAKoqJ,YAAYuD,EAAW,UAChC11J,EAAI,EAAGA,EAAIE,EAAQF,IACtB+H,KAAKqqJ,YAAYsD,EAAW11J,KAC9B60J,EAAU70J,GAAK+H,KAAKs1E,eAAet1E,KAAKoqJ,YAAYuD,EAAW11J,GAAIs7C,QAGlE,CAIL,IAAI0gB,EACJ,IAAK,IAAIl5D,KAHT+xJ,EAAY,GACZv5G,EAAOu6G,OAAOr1J,KAAKq0J,GAEHa,EAAU3E,WACxB/0F,EAAM05F,EAAU3E,WAAWjuJ,GAC3B+xJ,EAAU/xJ,GAAOiF,KAAKs1E,eAAerhB,EAAK1gB,GAK9C,OAFAA,EAAOs6G,OAAOt9G,MACdgD,EAAOu6G,OAAOv9G,MACPu8G,GAUT/2E,EAAY19E,UAAU4wJ,oBAAsB,SAAU8E,GAGpD,IAFA,IAAIC,EAAchuJ,KAAK2nJ,kBAAkB3nJ,KAAKknJ,aAC1Cx8I,EAAQtS,OAAO+2I,oBAAoB4e,GAC9B91J,EAAI,EAAGA,EAAIyS,EAAMvS,OAAQF,IAChC+H,KAAK01E,YAAYs4E,EAAatjJ,EAAMzS,GAAI81J,EAAYrjJ,EAAMzS,KAE5D,OAAO+1J,GAWTj4E,EAAY19E,UAAUqwJ,oBAAsB,SAAUsF,GACpD,IAAID,EAAc,GAClB,IAAK,IAAIhzJ,KAAOizJ,EAAYhF,WAC1B+E,EAAYhzJ,GAAOiF,KAAKoqJ,YAAY4D,EAAajzJ,GAMnD,OADAgzJ,EAAY51J,OAAS49E,EAAY4zE,iBAAiB3pJ,KAAKoqJ,YAAY4D,EAAa,YAAc,EACvFD,GAQTh4E,EAAY19E,UAAUgwJ,aAAe,SAAU5tJ,GAC7C,cAAeA,GACb,IAAK,SACH,OAAOuF,KAAKsrJ,OAAOtC,WAAZ,UACT,IAAK,UACH,OAAOhpJ,KAAKqrJ,QAAQrC,WAAb,UACT,IAAK,SACH,OAAOhpJ,KAAK2qJ,OAAO3B,WAAZ,UAEX,OAAIvuJ,EACKA,EAAMkrJ,MAER,MAUT5vE,EAAY19E,UAAU+xJ,YAAc,SAAU9+I,EAAKtR,EAAMutB,GAEvD,GADAvtB,EAAO2mE,OAAO3mE,GACVsR,QAAmC,CACrC,IAAI2iJ,EACQ,MAAR1mI,GAA4B,MAAZA,EAAK2b,KAAiC,MAAlB3b,EAAK2b,IAAI49C,QAC/CmtE,EAAU1mI,EAAK2b,IAAI49C,MAAMrpB,MAE3Bz3D,KAAK8mJ,eAAe9mJ,KAAK2oJ,WAAY,yBAA2B3uJ,EAAO,QAAUsR,EAAK2iJ,GAExF,GAAa,WAATj0J,GAEF,GAAIgG,KAAKuqJ,IAAIj/I,EAAKtL,KAAK2qJ,QACrB,OAAOhqF,OAAOr1D,GAAKnT,YAEhB,GAAI6B,EAAKwY,WAAW,GAAK,IAG1BxS,KAAKuqJ,IAAIj/I,EAAKtL,KAAK2qJ,QAAS,CAC9B,IAAI1vJ,EAAI86E,EAAYi3E,gBAAgBhzJ,GACpC,IAAK2J,MAAM1I,IAAMA,EAAI0lE,OAAOr1D,GAAKnT,OAC/B,OAAOwoE,OAAOr1D,GAAKrQ,GAIzB,GACE,GAAIqQ,EAAI09I,YAAchvJ,KAAQsR,EAAI09I,WAAY,CAC5C,IAAI/uJ,EAASqR,EAAIrR,OAAOD,GACxB,OAAIC,GAGFA,EAAOi0J,UAAW,EACXj0J,GAEFqR,EAAI09I,WAAWhvJ,UAEhBsR,EAAMtL,KAAKqoJ,aAAa/8I,KAUpCyqE,EAAY19E,UAAUgyJ,YAAc,SAAU/+I,EAAKtR,GACjD,IAAKsR,EAAI28I,SACP,MAAMkG,UAAU,yCAGlB,GAAa,YADbn0J,EAAO2mE,OAAO3mE,KACWgG,KAAKuqJ,IAAIj/I,EAAKtL,KAAK2qJ,QAC1C,OAAO,EAET,GAAI3qJ,KAAKuqJ,IAAIj/I,EAAKtL,KAAK2qJ,QAAS,CAC9B,IAAI1vJ,EAAI86E,EAAYi3E,gBAAgBhzJ,GACpC,IAAK2J,MAAM1I,IAAMA,EAAI0lE,OAAOr1D,GAAKnT,OAC/B,OAAO,EAGX,GACE,GAAImT,EAAI09I,YAAchvJ,KAAQsR,EAAI09I,WAChC,OAAO,QAED19I,EAAMtL,KAAKqoJ,aAAa/8I,IAClC,OAAO,GAcTyqE,EAAY19E,UAAUq9E,YAAc,SAAUpqE,EAAKtR,EAAMS,EAAO2zJ,GAC9Dp0J,EAAO2mE,OAAO3mE,GACVsR,SACFtL,KAAK8mJ,eAAe9mJ,KAAK2oJ,WAAY,wBAA0B3uJ,EAAO,QAAUsR,GAGhF8iJ,IACC,QAASA,GAAkB,QAASA,KACpC,UAAWA,GAAkB,aAAcA,IAE5CpuJ,KAAK8mJ,eACH9mJ,KAAK2oJ,WACL,gGAGJ,IAAIR,GAAUnoJ,KAAKskJ,YAActkJ,KAAKkoJ,WAAWC,OACjD,GAAK78I,EAAI28I,SAAT,CAMA,GAAIjoJ,KAAKuqJ,IAAIj/I,EAAKtL,KAAK2qJ,QAAS,CAC9B,IAAI1vJ,EAAI86E,EAAYi3E,gBAAgBhzJ,GACpC,GAAa,WAATA,IAAuB2J,MAAM1I,IAAMA,EAAI0lE,OAAOr1D,GAAKnT,OAQrD,YANIgwJ,GACFnoJ,KAAK8mJ,eACH9mJ,KAAK2oJ,WACL,wCAA+C3uJ,EAAO,gBAAkBsR,EAAI3T,KAAO,MAM3F,GAAkB,UAAd2T,EAAIu+I,MAAmB,CAEzB,IACI5xJ,EADAE,EAASmT,EAAI09I,WAAW7wJ,OAE5B,GAAa,WAAT6B,EAAmB,CAErB,GAAIo0J,EAAgB,CAClB,KAAM,UAAWA,GACf,OAEF3zJ,EAAQ2zJ,EAAe3zJ,MAMzB,GAJAA,EAAQs7E,EAAY4zE,iBAAiBlvJ,GACjCkJ,MAAMlJ,IACRuF,KAAK8mJ,eAAe9mJ,KAAK4pJ,YAAa,wBAEpCnvJ,EAAQtC,EACV,IAAKF,KAAKqT,EAAI09I,WACZ/wJ,EAAI89E,EAAYi3E,gBAAgB/0J,IAC3B0L,MAAM1L,IAAMwC,GAASxC,UACjBqT,EAAI09I,WAAW/wJ,QAIlB0L,MAAO1L,EAAI89E,EAAYi3E,gBAAgBhzJ,MAEjDsR,EAAI09I,WAAW7wJ,OAASqI,KAAKoD,IAAIzL,EAAQF,EAAI,IAGjD,IAAIqT,EAAI69I,mBAAuBnvJ,KAAQsR,EAAI09I,WAM3C,GAAIoF,EAAgB,CAEd,QAASA,IACPA,EAAe/zJ,IACjBiR,EAAIrR,OAAOD,GAAQo0J,EAAe/zJ,WAE3BiR,EAAIrR,OAAOD,IAGlB,QAASo0J,IACPA,EAAez3E,IACjBrrE,EAAI+9I,OAAOrvJ,GAAQo0J,EAAez3E,WAE3BrrE,EAAI+9I,OAAOrvJ,IAGtB,IAAIkvJ,EAAa,GACb,iBAAkBkF,IACpBlF,EAAWzE,aAAe2J,EAAe3J,cAEvC,eAAgB2J,IAClBlF,EAAW9uJ,WAAag0J,EAAeh0J,YAErC,aAAcg0J,IAChBlF,EAAWxE,SAAW0J,EAAe1J,gBAC9Bp5I,EAAIrR,OAAOD,UACXsR,EAAI+9I,OAAOrvJ,IAEhB,UAAWo0J,GACblF,EAAWzuJ,MAAQ2zJ,EAAe3zJ,aAC3B6Q,EAAIrR,OAAOD,UACXsR,EAAI+9I,OAAOrvJ,IACTS,IAAUs7E,EAAYivE,sBAC/BkE,EAAWzuJ,MAAQA,SACZ6Q,EAAIrR,OAAOD,UACXsR,EAAI+9I,OAAOrvJ,IAEpB,IACE5B,OAAO+B,eAAemR,EAAI09I,WAAYhvJ,EAAMkvJ,GAC5C,MAAO59H,GACPtrB,KAAK8mJ,eAAe9mJ,KAAK2oJ,WAAY,6BAA+B3uJ,QAEjE,CAEL,GAAIS,IAAUs7E,EAAYivE,oBACxB,MAAMqJ,eAAe,wBAIvB,IADA,IAAIC,EAAShjJ,IACJtR,KAAQs0J,EAAOtF,aAEtB,KADAsF,EAAStuJ,KAAKqoJ,aAAaiG,IACd,CAEXA,EAAShjJ,EACT,MAGJ,GAAIgjJ,EAAOjF,QAAUiF,EAAOjF,OAAOrvJ,GACjC,OAAOs0J,EAAOjF,OAAOrvJ,GAEvB,GAAIs0J,EAAOr0J,QAAUq0J,EAAOr0J,OAAOD,GAC7BmuJ,GACFnoJ,KAAK8mJ,eACH9mJ,KAAK2oJ,WACL,wBAA0B3uJ,EAAO,gBAAkBsR,EAAM,kCAK7D,IACEA,EAAI09I,WAAWhvJ,GAAQS,EACvB,MAAO6wB,GACH68H,GACFnoJ,KAAK8mJ,eACH9mJ,KAAK2oJ,WACL,wCAA+C3uJ,EAAO,gBAAkBsR,EAAM,WAhFlF68I,GACFnoJ,KAAK8mJ,eAAe9mJ,KAAK2oJ,WAAY,uBAAyB3uJ,EAAO,oCAjDnEmuJ,GACFnoJ,KAAK8mJ,eAAe9mJ,KAAK2oJ,WAAY,0BAA4B3uJ,EAAO,SAAWsR,EAAM,MA8I/FyqE,EAAY19E,UAAUwwJ,2BAA6B,SAAUv9I,EAAKtR,EAAM4sJ,GACtE5mJ,KAAK01E,YACHpqE,EAAI09I,WAAJ,UACAhvJ,EACAgG,KAAK41E,qBAAqBgxE,GAAS,GACnC7wE,EAAY4uE,2BAQhB5uE,EAAY19E,UAAU6vJ,SAAW,WAC/B,IAAIlzE,EAAQh1E,KAAKskJ,WAAWtkJ,KAAKskJ,WAAWnsJ,OAAS,GAAG68E,MACxD,IAAKA,EACH,MAAMlqE,MAAM,mBAEd,OAAOkqE,GAUTe,EAAY19E,UAAU8rJ,YAAc,SAAU58H,EAAMwgI,GAClD,IAAI/yE,EAAQh1E,KAAK2nJ,kBAAkB,MASnC,GARA3yE,EAAM+yE,YAAcA,EACfA,GACH/nJ,KAAKslJ,gBAAgBtwE,GAEvBh1E,KAAKqlJ,eAAe99H,EAAMytD,GAG1BA,EAAMmzE,QAAS,EACXJ,GAAeA,EAAYI,OAC7BnzE,EAAMmzE,QAAS,MACV,CACL,IAAIoG,EAAYhnI,EAAI,MAAYA,EAAI,KAAS,GAE3CgnI,GACAA,EAAUC,YACuB,YAAjCD,EAAUC,WAAV,MAC+B,eAA/BD,EAAUC,WAAW/zJ,QAErBu6E,EAAMmzE,QAAS,GAGnB,OAAOnzE,GAYTe,EAAY19E,UAAUo2J,mBAAqB,SAAU1G,EAAa2G,GAChE,IAAK3G,EACH,MAAMj9I,MAAM,wBAEd,IAAIkqE,EAAQ05E,GAAa1uJ,KAAK2nJ,kBAAkB,MAGhD,OAFA3yE,EAAM+yE,YAAcA,EACpB/yE,EAAMmzE,OAASJ,EAAYI,OACpBnzE,GAWTe,EAAY19E,UAAUs2J,kBAAoB,SAAU30J,EAAMutB,GAExD,IADA,IAAIytD,EAAQh1E,KAAKkoJ,WACVlzE,GAASA,IAAUh1E,KAAKgmE,QAAQ,CACrC,GAAIhsE,KAAQg7E,EAAMg0E,WAChB,OAAOh0E,EAAMg0E,WAAWhvJ,GAE1Bg7E,EAAQA,EAAM+yE,YAIhB,GAAI/yE,IAAUh1E,KAAKgmE,QAAUhmE,KAAKqqJ,YAAYr1E,EAAOh7E,GACnD,OAAOgG,KAAKoqJ,YAAYp1E,EAAOh7E,GAGjC,IAKIi0J,EALAW,EAAW5uJ,KAAKskJ,WAAWtkJ,KAAKskJ,WAAWnsJ,OAAS,GAAGovB,KAClC,oBAArBqnI,EAAQ,MAA2D,WAAzBA,EAAQ,WAK1C,MAARrnI,GAA4B,MAAZA,EAAK2b,KAAiC,MAAlB3b,EAAK2b,IAAI49C,QAC/CmtE,EAAU1mI,EAAK2b,IAAI49C,MAAMrpB,MAE3Bz3D,KAAK8mJ,eAAe9mJ,KAAKysJ,gBAAiBzyJ,EAAO,kBAAmBi0J,KAUtEl4E,EAAY19E,UAAUw2J,gBAAkB,SAAU70J,EAAMS,GAGtD,IAFA,IAAIu6E,EAAQh1E,KAAKkoJ,WACbC,EAASnzE,EAAMmzE,OACZnzE,GAASA,IAAUh1E,KAAKgmE,QAAQ,CACrC,GAAIhsE,KAAQg7E,EAAMg0E,WAEhB,YADAh0E,EAAMg0E,WAAWhvJ,GAAQS,GAG3Bu6E,EAAQA,EAAM+yE,YAIhB,GAAI/yE,IAAUh1E,KAAKgmE,UAAYmiF,GAAUnoJ,KAAKqqJ,YAAYr1E,EAAOh7E,IAC/D,OAAOgG,KAAK01E,YAAYV,EAAOh7E,EAAMS,GAEvCuF,KAAK8mJ,eAAe9mJ,KAAKysJ,gBAAiBzyJ,EAAO,oBASnD+7E,EAAY19E,UAAUgtJ,eAAiB,SAAU99H,EAAMytD,GACrD,GAAqB,wBAAjBztD,EAAI,KACN,IAAK,IAAItvB,EAAI,EAAGA,EAAIsvB,EAAI,aAAiBpvB,OAAQF,IAC/C+H,KAAK01E,YAAYV,EAAOztD,EAAI,aAAiBtvB,GAArB,aAAuC2S,EAAWmrE,EAAY8uE,yBAEnF,IAAqB,wBAAjBt9H,EAAI,KAEb,YADAvnB,KAAK01E,YAAYV,EAAOztD,EAAI,GAAJ,KAAoBvnB,KAAKstJ,eAAe/lI,EAAMytD,GAAQe,EAAY8uE,qBAErF,GAAqB,uBAAjBt9H,EAAI,KACb,OACK,GAAqB,wBAAjBA,EAAI,KACb,OAEF,IAAIunI,EAAYvnI,EAAI,YACpB,IAAK,IAAIvtB,KAAQutB,EAAM,CACrB,IAAI8vD,EAAO9vD,EAAKvtB,GAChB,GAAIq9E,GAAwB,iBAATA,EACjB,GAAIzvC,MAAMytC,QAAQgC,GAChB,IAASp/E,EAAI,EAAGA,EAAIo/E,EAAKl/E,OAAQF,IAC3Bo/E,EAAKp/E,IAAMo/E,EAAKp/E,GAAG8H,cAAgB+uJ,GACrC9uJ,KAAKqlJ,eAAehuE,EAAKp/E,GAAI+8E,QAI7BqC,EAAKt3E,cAAgB+uJ,GACvB9uJ,KAAKqlJ,eAAehuE,EAAMrC,KAgBpCe,EAAY19E,UAAU+rJ,gBAAkB,SAAU78H,EAAMu5D,EAAOi1D,GAW7D,IAAK,IAAI/7I,KAVL8mF,EACFv5D,EAAI,MAAYu5D,SAETv5D,EAAI,MAETwuH,EACFxuH,EAAI,IAAUwuH,SAEPxuH,EAAI,IAEIA,EACf,GAAIA,EAAKjvB,eAAe0B,GAAO,CAC7B,IAAIq9E,EAAO9vD,EAAKvtB,GACZq9E,GAAwB,iBAATA,GACjBr3E,KAAKokJ,gBAAgB/sE,EAAMyJ,EAAOi1D,KAU1ChgE,EAAY19E,UAAUovJ,cAAgB,WACpC,OAAOznJ,KAAKskJ,WAAWtkJ,KAAKskJ,WAAWnsJ,OAAS,GAAG42J,eAWrDh5E,EAAY19E,UAAU22J,SAAW,SAAU9+E,EAAK3oD,GAC9C,OAAI2oD,EAAI,KAAO6F,EAAYgvE,gBAElB/kJ,KAAK2uJ,kBAAkBz+E,EAAI,GAAI3oD,GAG/BvnB,KAAKoqJ,YAAYl6E,EAAI,GAAIA,EAAI,GAAI3oD,IAW5CwuD,EAAY19E,UAAU+gE,SAAW,SAAU8W,EAAKz1E,GAC9C,OAAIy1E,EAAI,KAAO6F,EAAYgvE,gBAElB/kJ,KAAK6uJ,gBAAgB3+E,EAAI,GAAIz1E,GAG7BuF,KAAK01E,YAAYxF,EAAI,GAAIA,EAAI,GAAIz1E,IAQ5Cs7E,EAAYk5E,WAAa,CACvBC,OAAQ,EACRC,MAAO,EACPC,SAAU,EACVC,OAAQ,EACRC,MAAO,GAYTv5E,EAAY19E,UAAUyuJ,eAAiB,SAAUyI,EAAYnD,EAAaj8C,GACxE,QAAoBvlG,IAAhBwhJ,EACF,IAAIt4I,EAAQy7I,MACP,CACDz7I,EAAQ9T,KAAKssJ,aAAaiD,GAC9BvvJ,KAAK01E,YAAY5hE,EAAO,UAAWs4I,EAAar2E,EAAY4uE,0BAE9D,IAAI6K,EAMJ,MALkB,MAAdr/C,IACFq/C,EAAkBxvJ,KAAKmlJ,0BAA0Bh1C,IAEnDnwG,KAAKyvJ,OAAO15E,EAAYk5E,WAAWK,MAAOx7I,OAAOlJ,EAAW4kJ,GAEtDz5E,EAAY+uE,YAYpB/uE,EAAY19E,UAAUo3J,OAAS,SAAUxwH,EAAMxkC,EAAO4+D,EAAOq2F,EAAgB,IAC3E,GAAIzwH,IAAS82C,EAAYk5E,WAAWC,OAClC,MAAMf,UAAU,4CAGlB,IAAK,IAAI12E,EAAQz3E,KAAKskJ,WAAY7sE,EAAMt/E,OAAS,EAAGs/E,EAAMlnC,MAAO,CAC/D,IAAIk/B,EAAQgI,EAAMA,EAAMt/E,OAAS,GACjC,OAAQs3E,EAAMloD,KAAN,MACN,IAAK,eAEH,YADAkoD,EAAMkgF,GAAK,CAAE1wH,KAAMA,EAAMxkC,MAAOA,EAAO4+D,MAAOA,IAEhD,IAAK,iBACL,IAAK,gBACH,GAAIp6B,IAAS82C,EAAYk5E,WAAWI,OAElC,YADA5/E,EAAMh1E,MAAQA,GAET,GAAIwkC,IAAS82C,EAAYk5E,WAAWK,MACzC,MAAMxkJ,MAAM,oDAGlB,GAAIm0B,IAAS82C,EAAYk5E,WAAWE,OAClC,GAAI91F,EAAQoW,EAAMmgF,SAA2C,IAAjCngF,EAAMmgF,OAAOtsJ,QAAQ+1D,GAAgBoW,EAAMogF,QAAUpgF,EAAMqgF,SAErF,YADAr4E,EAAMlnC,WAGH,GAAItR,IAAS82C,EAAYk5E,WAAWG,WACrC/1F,EAAQoW,EAAMmgF,SAA2C,IAAjCngF,EAAMmgF,OAAOtsJ,QAAQ+1D,GAAgBoW,EAAMogF,QACrE,OAMN,IAAIE,EACJ,GAAI/vJ,KAAKuqJ,IAAI9vJ,EAAOuF,KAAKk1G,OAAQ,CAC/B,IAAI86C,EAAa,CACfzJ,UAAWA,UACX0J,WAAYA,WACZ5B,eAAgBA,eAChB92E,YAAaA,YACb42E,UAAWA,UACX+B,SAAUA,UAERl2J,EAAOgG,KAAKoqJ,YAAY3vJ,EAAO,QAAQiY,WACvC8kE,EAAUx3E,KAAKoqJ,YAAY3vJ,EAAO,WAAWquJ,UAEjDiH,GADI9wH,EAAO+wH,EAAWh2J,IAAS8Q,OACd0sE,EAAUk4E,QAE3BK,EAAYpvF,OAAOlmE,GAASi1J,EAE9B,MAAMK,GAURh6E,EAAY19E,UAAU83J,cAAgB,SAAUj1G,EAAMm0B,GAGpD,IAAI+gF,EAAWxoH,MAAMytC,QAAQhG,GAAQA,EAAK,GAAKA,EAC3C9nD,EAAO,IAAIvnB,KAAKukJ,gBACpBh9H,EAAI,KAAW,iBACf,IAAIkoD,EAAQ,IAAIsG,EAAYsuE,MAAM98H,EAAMvnB,KAAKskJ,WAAWtkJ,KAAKskJ,WAAWnsJ,OAAS,GAAG68E,OAMpF,OALAvF,EAAM4gF,aAAc,EACpB5gF,EAAM+4E,UAAY4H,EAClB3gF,EAAM84E,MAAQrtG,EACdu0B,EAAM6gF,WAAY,EAClB7gF,EAAMg5E,WAAa,GACZh5E,GAWTsG,EAAY19E,UAAUk4J,cAAgB,SAAUr1G,EAAMm0B,EAAM50E,GAG1D,IAAI21J,EAAWxoH,MAAMytC,QAAQhG,GAAQA,EAAK,GAAKrvE,KAAKgmE,OAChDz+C,EAAO,IAAIvnB,KAAKukJ,gBACpBh9H,EAAI,KAAW,iBACf,IAAIkoD,EAAQ,IAAIsG,EAAYsuE,MAAM98H,EAAMvnB,KAAKskJ,WAAWtkJ,KAAKskJ,WAAWnsJ,OAAS,GAAG68E,OAMpF,OALAvF,EAAM4gF,aAAc,EACpB5gF,EAAM+4E,UAAY4H,EAClB3gF,EAAM84E,MAAQrtG,EACdu0B,EAAM6gF,WAAY,EAClB7gF,EAAMg5E,WAAa,CAAChuJ,GACbg1E,GASTsG,EAAYsuE,MAAQ,SAAU98H,EAAMytD,GAClCh1E,KAAKunB,KAAOA,EACZvnB,KAAKg1E,MAAQA,GAOfe,EAAY19E,UAAZ,oBAA+C,SAAUo/E,EAAOhI,EAAOloD,GACrE,IAAIipI,EAAWjpI,EAAI,SACftsB,EAAIw0E,EAAMghF,IAAM,EAQpB,IAPKhhF,EAAMihF,QAIT1wJ,KAAK01E,YAAYjG,EAAMihF,OAAQz1J,EAAGw0E,EAAMh1E,OACxCQ,MAJAw0E,EAAMihF,OAAS1wJ,KAAK2nJ,kBAAkB3nJ,KAAKknJ,aAC3Cz3E,EAAMihF,OAAO1H,WAAW7wJ,OAASq4J,EAASr4J,QAKrC8C,EAAIu1J,EAASr4J,QAAQ,CAE1B,GAAIq4J,EAASv1J,GAEX,OADAw0E,EAAMghF,GAAKx1J,EACJ,IAAI86E,EAAYsuE,MAAMmM,EAASv1J,GAAIw0E,EAAMuF,OAElD/5E,IAEFw8E,EAAMlnC,MACNknC,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQg1E,EAAMihF,QAGxC36E,EAAY19E,UAAZ,yBAAoD,SAAUo/E,EAAOhI,EAAOloD,GAC1E,IAAKkoD,EAAMkhF,UAAW,CACpBlhF,EAAMkhF,WAAY,EAClB,IAAI1sB,EAAY,IAAIluD,EAAYsuE,MAAM98H,EAAI,KAAUkoD,EAAMuF,OAE1D,OADAivD,EAAUx6D,YAAa,EAChBw6D,EAET,IAAKx0D,EAAMmhF,WAAY,CAOrB,GANKnhF,EAAMohF,iBACTphF,EAAMohF,eAAiBphF,EAAMh1E,OAE3Bg1E,EAAMqhF,cACRrhF,EAAMshF,WAAathF,EAAMh1E,QAEtBg1E,EAAMqhF,aAAoC,MAArBvpI,EAAI,SAAsB,CAClD,IAAIypI,EAAYhxJ,KAAKgvJ,SAASv/E,EAAMohF,eAAgBtpI,GAEpD,GADAkoD,EAAMshF,WAAaC,EACfA,GAAkC,iBAAdA,GAA0BA,EAAU9C,SAAU,CAEpE8C,EAAU9C,UAAW,EACrBz+E,EAAMqhF,aAAc,EACpB,IAAI51G,EAA2C81G,EAC/C,OAAOhxJ,KAAKmwJ,cAAcj1G,EAAMu0B,EAAMohF,iBAI1C,OADAphF,EAAMmhF,YAAa,EACZ,IAAI76E,EAAYsuE,MAAM98H,EAAI,MAAWkoD,EAAMuF,OAEpD,GAAIvF,EAAMwhF,YAMR,OAFAx5E,EAAMlnC,WACNknC,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQg1E,EAAMyhF,cAGxC,IAAIz2J,EAAQg1E,EAAMshF,WACdI,EAAa1hF,EAAMh1E,MACvB,OAAQ8sB,EAAI,UACV,IAAK,IACH9sB,EAAQ02J,EACR,MACF,IAAK,KACH12J,GAAS02J,EACT,MACF,IAAK,KACH12J,GAAS02J,EACT,MACF,IAAK,KACH12J,GAAS02J,EACT,MACF,IAAK,KACH12J,GAAS02J,EACT,MACF,IAAK,KACH12J,GAAS02J,EACT,MACF,IAAK,MACH12J,IAAU02J,EACV,MACF,IAAK,MACH12J,IAAU02J,EACV,MACF,IAAK,OACH12J,KAAW02J,EACX,MACF,IAAK,KACH12J,GAAS02J,EACT,MACF,IAAK,KACH12J,GAAS02J,EACT,MACF,IAAK,KACH12J,GAAS02J,EACT,MACF,QACE,MAAM55E,YAAY,kCAAoChwD,EAAI,UAE9D,IAAI8hI,EAASrpJ,KAAKo5D,SAASqW,EAAMohF,eAAgBp2J,GACjD,GAAI4uJ,EAGF,OAFA55E,EAAMwhF,aAAc,EACpBxhF,EAAMyhF,aAAez2J,EACduF,KAAKuwJ,cAAclH,EAAQ55E,EAAMohF,eAAgBp2J,GAG1Dg9E,EAAMlnC,MACNknC,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQA,GAGlCs7E,EAAY19E,UAAZ,qBAAgD,SAAUo/E,EAAOhI,EAAOloD,GACtE,IAAKkoD,EAAMkhF,UAET,OADAlhF,EAAMkhF,WAAY,EACX,IAAI56E,EAAYsuE,MAAM98H,EAAI,KAAUkoD,EAAMuF,OAEnD,IAAKvF,EAAMmhF,WAGT,OAFAnhF,EAAMmhF,YAAa,EACnBnhF,EAAMshF,WAAathF,EAAMh1E,MAClB,IAAIs7E,EAAYsuE,MAAM98H,EAAI,MAAWkoD,EAAMuF,OAEpDyC,EAAMlnC,MACN,IAEI91C,EAFAu2J,EAAYvhF,EAAMshF,WAClBI,EAAa1hF,EAAMh1E,MAEvB,OAAQ8sB,EAAI,UACV,IAAK,KACH9sB,EAAQu2J,GAAaG,EACrB,MACF,IAAK,KACH12J,EAAQu2J,GAAaG,EACrB,MACF,IAAK,MACH12J,EAAQu2J,IAAcG,EACtB,MACF,IAAK,MACH12J,EAAQu2J,IAAcG,EACtB,MACF,IAAK,IACH12J,EAAQu2J,EAAYG,EACpB,MACF,IAAK,KACH12J,EAAQu2J,GAAaG,EACrB,MACF,IAAK,IACH12J,EAAQu2J,EAAYG,EACpB,MACF,IAAK,KACH12J,EAAQu2J,GAAaG,EACrB,MACF,IAAK,IACH12J,EAAQu2J,EAAYG,EACpB,MACF,IAAK,IACH12J,EAAQu2J,EAAYG,EACpB,MACF,IAAK,IACH12J,EAAQu2J,EAAYG,EACpB,MACF,IAAK,IACH12J,EAAQu2J,EAAYG,EACpB,MACF,IAAK,IACH12J,EAAQu2J,EAAYG,EACpB,MACF,IAAK,IACH12J,EAAQu2J,EAAYG,EACpB,MACF,IAAK,IACH12J,EAAQu2J,EAAYG,EACpB,MACF,IAAK,IACH12J,EAAQu2J,EAAYG,EACpB,MACF,IAAK,KACH12J,EAAQu2J,GAAaG,EACrB,MACF,IAAK,KACH12J,EAAQu2J,GAAaG,EACrB,MACF,IAAK,MACH12J,EAAQu2J,IAAcG,EACtB,MACF,IAAK,KACH,IAAKA,IAAeA,EAAWlJ,SAAU,CACvC,IAAIgG,EAAUjuJ,KAAKklJ,mBAAmB39H,GACtCvnB,KAAK8mJ,eAAe9mJ,KAAK2oJ,WAAY,gCAAkCwI,EAAa,IAAKlD,GAE3FxzJ,EAAQuF,KAAKqqJ,YAAY8G,EAAYH,GACrC,MACF,IAAK,aACH,IAAKhxJ,KAAKuqJ,IAAI4G,EAAYnxJ,KAAKgnJ,UAAW,CACxC,IAAIiH,EAAUjuJ,KAAKklJ,mBAAmB39H,GACtCvnB,KAAK8mJ,eAAe9mJ,KAAK2oJ,WAAY,iDAAkDsF,GAEzFxzJ,IAAQu2J,EAAU/I,UAAWjoJ,KAAKuqJ,IAAIyG,EAAWG,GACjD,MACF,QACE,MAAM55E,YAAY,4BAA8BhwD,EAAI,UAExDkwD,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQA,GAGlCs7E,EAAY19E,UAAZ,mBAA8C,SAAUo/E,EAAOhI,EAAOloD,GACpE,IAAItsB,EAAIw0E,EAAMghF,IAAM,EAChBjC,EAAajnI,EAAI,KAAStsB,GAC9B,GAAIuzJ,EAEF,OADA/+E,EAAMghF,GAAKx1J,EAAI,EACR,IAAI86E,EAAYsuE,MAAMmK,EAAY/+E,EAAMuF,OAEjDyC,EAAMlnC,OAGRwlC,EAAY19E,UAAZ,mBAA8C,SAAUo/E,EAAOhI,EAAOloD,GACpE,IAAI8xC,EAAQ9xC,EAAI,OAAaA,EAAI,MAAJ,KAC7BvnB,KAAKyvJ,OAAO15E,EAAYk5E,WAAWE,WAAOvkJ,EAAWyuD,IAGvD0c,EAAY19E,UAAZ,mBAA8C,SAAUo/E,EAAOhI,EAAOloD,GACpE,IAAKkoD,EAAM4gF,YAAa,CACtB5gF,EAAM4gF,YAAc,EAEpB,IAAIpsB,EAAY,IAAIluD,EAAYsuE,MAAM98H,EAAI,OAAYkoD,EAAMuF,OAE5D,OADAivD,EAAUx6D,YAAa,EAChBw6D,EAET,GAA0B,IAAtBx0D,EAAM4gF,YAAmB,CAE3B5gF,EAAM4gF,YAAc,EACpB,IAAIn1G,EAAOu0B,EAAMh1E,MACjB,GAAImtC,MAAMytC,QAAQn6B,IAUhB,GATAu0B,EAAM84E,MAAQvoJ,KAAKgvJ,SAAS9zG,EAAM3zB,GAC9B2zB,EAAK,KAAO66B,EAAYgvE,gBAE1Bt1E,EAAM2hF,YAA0B,SAAZl2G,EAAK,GAGzBu0B,EAAM+4E,UAAYttG,EAAK,IAEzBA,EAAOu0B,EAAM84E,QACe,iBAATrtG,GAAqBA,EAAKgzG,SAI3C,OAFAhzG,EAAKgzG,UAAW,EAChBz+E,EAAM4gF,YAAc,EACbrwJ,KAAKmwJ,cAAkDj1G,EAAOu0B,EAAMh1E,YAI7Eg1E,EAAM84E,MAAQrtG,EAEhBu0B,EAAMg5E,WAAa,GACnBh5E,EAAMghF,GAAK,EAETv1G,EAAOu0B,EAAM84E,MACjB,IAAK94E,EAAM6gF,UAAW,CAIpB,GAHiB,IAAb7gF,EAAMghF,IACRhhF,EAAMg5E,WAAWhwJ,KAAKg3E,EAAMh1E,OAE1B8sB,EAAI,UAAckoD,EAAMghF,IAC1B,OAAO,IAAI16E,EAAYsuE,MAAM98H,EAAI,UAAckoD,EAAMghF,MAAOhhF,EAAMuF,OAGpE,GAAqB,kBAAjBztD,EAAI,KAA8B,CACpC,GAAI2zB,EAAKsyG,mBAAoB,CAE3B,IAAIS,EAAUjuJ,KAAKklJ,mBAAmB39H,GACtCvnB,KAAK8mJ,eAAe9mJ,KAAK2oJ,WAAYztG,EAAO,wBAAyB+yG,GAGvE,IAAItI,EAAQzqG,EAAK8tG,WAAL,UACS,iBAAVrD,GAAgC,OAAVA,IAE/BA,EAAQ3lJ,KAAKulJ,cAEf91E,EAAM+4E,UAAYxoJ,KAAK2nJ,kBAAkBhC,GACzCl2E,EAAMs/E,eAAgB,YACOnkJ,IAApB6kE,EAAM+4E,YAEf/4E,EAAM+4E,UAAY/4E,EAAMuF,MAAMmzE,YAASv9I,EAAY5K,KAAKgmE,QAE1DyJ,EAAM6gF,WAAY,EAEpB,GAAK7gF,EAAMm5E,UAmFTnxE,EAAMlnC,MACFk/B,EAAMs/E,eAAwC,iBAAhBt/E,EAAMh1E,MACtCg9E,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQg1E,EAAM+4E,UAEtC/wE,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQg1E,EAAMh1E,UAvFpB,CAEpB,GADAg1E,EAAMm5E,WAAY,GACb1tG,IAASA,EAAK+sG,SAAU,CAC3B,IAAIgG,EAAUjuJ,KAAKklJ,mBAAmB39H,GACtCvnB,KAAK8mJ,eAAe9mJ,KAAK2oJ,WAAYztG,EAAO,qBAAsB+yG,GAEpE,IAAIoD,EAAWn2G,EAAK3zB,KACpB,GAAI8pI,EAAU,CAGZ,IAFA,IAAIr8E,EAAQh1E,KAAKmkJ,YAAYkN,EAAQ,KAAUn2G,EAAK6sG,aAE3C9vJ,EAAI,EAAGA,EAAIo5J,EAAQ,OAAWl5J,OAAQF,IAAK,CAClD,IAAIq5J,EAAYD,EAAQ,OAAWp5J,GAAnB,KACZs5J,EAAa9hF,EAAMg5E,WAAWtwJ,OAASF,EAAIw3E,EAAMg5E,WAAWxwJ,QAAK2S,EACrE5K,KAAK01E,YAAYV,EAAOs8E,EAAWC,GAGrC,IAAIC,EAAWxxJ,KAAK2nJ,kBAAkB3nJ,KAAKknJ,aAC3C,IAASjvJ,EAAI,EAAGA,EAAIw3E,EAAMg5E,WAAWtwJ,OAAQF,IAC3C+H,KAAK01E,YAAY87E,EAAUv5J,EAAGw3E,EAAMg5E,WAAWxwJ,IAEjD+H,KAAK01E,YAAYV,EAAO,YAAaw8E,GAErC,IAAIx3J,EAAOq3J,EAAQ,IAAUA,EAAQ,GAAR,KAM7B,OALIr3J,GACFgG,KAAK01E,YAAYV,EAAOh7E,EAAMkhD,GAEhCl7C,KAAK01E,YAAYV,EAAO,OAAQvF,EAAM+4E,UAAWzyE,EAAYyuE,qBAC7D/0E,EAAMh1E,WAAQmQ,EACP,IAAImrE,EAAYsuE,MAAMgN,EAAQ,KAAUr8E,GAC1C,GAAI95B,EAAK9W,KAAM,CACpB,IAAI2qB,EAAO0gB,EAAMg5E,WAAW,GAC5B,GAAoB,iBAAT15F,EAIJ,CACL,IACE,IAAI0kB,EAAMiwE,IAAY30F,EAAKr8C,WAAYqjE,EAAY4tE,eACnD,MAAOr4H,GAEP,IAAI2iI,EAAUjuJ,KAAKklJ,mBAAmB39H,GACtCvnB,KAAK8mJ,eAAe9mJ,KAAK8nJ,aAAc,iBAAmBx8H,EAAEksD,QAASy2E,GAEvE,IAAIwD,EAAW,IAAIzxJ,KAAKukJ,gBAcxB,OAbAkN,EAAQ,KAAW,eACnBA,EAAQ,KAAWh+E,EAAG,KACtBzzE,KAAKokJ,gBAAgBqN,EAAUlqI,EAAI,MAAWA,EAAI,MAE9CytD,EAAQvF,EAAM2hF,YAAc3hF,EAAMuF,MAAQh1E,KAAKgmE,QACzCmiF,OAERnzE,EAAQh1E,KAAKmkJ,YAAY1wE,EAAKuB,GAG9Bh1E,KAAKqlJ,eAAe5xE,EAAKuB,GAE3Bh1E,KAAKvF,WAAQmQ,EACN,IAAImrE,EAAYsuE,MAAMoN,EAAUz8E,GAvBvCvF,EAAMh1E,MAAQs0D,OAyBX,GAAI7T,EAAK2rG,WACdp3E,EAAMh1E,MAAQygD,EAAK2rG,WAAW/tJ,MAAM22E,EAAM+4E,UAAW/4E,EAAMg5E,gBACtD,IAAIvtG,EAAKuyG,UAAW,CACzB,IAAInH,EAAkBtmJ,KAKlB0xJ,EAAmBjiF,EAAMg5E,WAAW13I,QAJzB,SAAUtW,GACvBg1E,EAAMh1E,MAAQA,EACd6rJ,EAAgBzC,SAAU,KAK5B,OAFA7jJ,KAAK6jJ,SAAU,OACf3oG,EAAKuyG,UAAU30J,MAAM22E,EAAM+4E,UAAWkJ,GAEjC,CAOL,IAAIzD,EAAUjuJ,KAAKklJ,mBAAmB39H,GACtCvnB,KAAK8mJ,eAAe9mJ,KAAK2oJ,WAAYztG,EAAK2uG,MAAQ,qBAAsBoE,OAa9El4E,EAAY19E,UAAZ,gBAA2C,SAAUo/E,EAAOhI,EAAOloD,GACjE,IAAKkoD,EAAMkiF,MAAO,CAChBliF,EAAMkiF,OAAQ,EAEd,IAAI38E,EAAQh1E,KAAKyuJ,mBAAmBh/E,EAAMuF,OAI1C,OAFAh1E,KAAK01E,YAAYV,EAAOztD,EAAI,MAAJ,KAAuBkoD,EAAMmiF,YAE9C,IAAI77E,EAAYsuE,MAAM98H,EAAI,KAAUytD,GAE3CyC,EAAMlnC,OAIVwlC,EAAY19E,UAAZ,0BAAqD,SAAUo/E,EAAOhI,EAAOloD,GAC3E,IAAI5sB,EAAO80E,EAAMoiF,OAAS,EAC1B,GAAa,IAATl3J,EAEF,OADA80E,EAAMoiF,MAAQ,EACP,IAAI97E,EAAYsuE,MAAM98H,EAAI,KAAUkoD,EAAMuF,OAEnD,GAAa,IAATr6E,EAAY,CACd80E,EAAMoiF,MAAQ,EACd,IAAIp3J,EAAQy7B,QAAQu5C,EAAMh1E,OAC1B,GAAIA,GAAS8sB,EAAI,WAEf,OAAO,IAAIwuD,EAAYsuE,MAAM98H,EAAI,WAAgBkoD,EAAMuF,OAClD,IAAKv6E,GAAS8sB,EAAI,UAEvB,OAAO,IAAIwuD,EAAYsuE,MAAM98H,EAAI,UAAekoD,EAAMuF,OAGxDh1E,KAAKvF,WAAQmQ,EAEf6sE,EAAMlnC,MACe,0BAAjBhpB,EAAI,OACNkwD,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQg1E,EAAMh1E,QAI1Cs7E,EAAY19E,UAAZ,sBAAiD,SAAUo/E,EAAOhI,EAAOloD,GACvE,IAAI8xC,EAAQ9xC,EAAI,OAAaA,EAAI,MAAJ,KAC7BvnB,KAAKyvJ,OAAO15E,EAAYk5E,WAAWG,cAAUxkJ,EAAWyuD,IAG1D0c,EAAY19E,UAAZ,sBAAiD,SAAUo/E,EAAOhI,EAAOloD,GAEvEkwD,EAAMlnC,OAGRwlC,EAAY19E,UAAZ,qBAAgD,SAAUo/E,EAAOhI,EAAOloD,GAMtE,GALqB,qBAAjBA,EAAI,WAAmD3c,IAAhB6kE,EAAMqiF,QAE/CriF,EAAMh1E,OAAQ,EACdg1E,EAAMqiF,OAAQ,IAEXriF,EAAMqiF,MAET,OADAriF,EAAMqiF,OAAQ,EACP,IAAI/7E,EAAYsuE,MAAM98H,EAAI,KAAUkoD,EAAMuF,OAEnD,GAAKvF,EAAMh1E,OAGJ,GAAI8sB,EAAI,KAIb,OAFAkoD,EAAMqiF,OAAQ,EACdriF,EAAMogF,QAAS,EACR,IAAI95E,EAAYsuE,MAAM98H,EAAI,KAAUkoD,EAAMuF,YALjDyC,EAAMlnC,OASVwlC,EAAY19E,UAAZ,mBAA8C,SAAUo/E,EAAOhI,EAAOloD,GACpEkwD,EAAMlnC,OAGRwlC,EAAY19E,UAAZ,iBAA4C,SAAUo/E,EAAOhI,EAAOloD,GAClE,IAAItsB,EAAIw0E,EAAMghF,IAAM,EAChBjC,EAAajnI,EAAI,KAAStsB,GAC9B,GAAIuzJ,EAEF,OADA/+E,EAAMghF,GAAKx1J,EAAI,EACR,IAAI86E,EAAYsuE,MAAMmK,EAAY/+E,EAAMuF,OAEjDyC,EAAMlnC,MACNknC,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQuF,KAAKvF,OAGvCs7E,EAAY19E,UAAZ,wBAAmD,SAAUo/E,EAAOhI,EAAOloD,GACzE,IAAKkoD,EAAMkiF,MAET,OADAliF,EAAMkiF,OAAQ,EACP,IAAI57E,EAAYsuE,MAAM98H,EAAI,WAAgBkoD,EAAMuF,OAEzDyC,EAAMlnC,MAGNvwC,KAAKvF,MAAQg1E,EAAMh1E,OAGrBs7E,EAAY19E,UAAZ,mBAA8C,SAAUo/E,EAAOhI,EAAOloD,GAEpE,IAAKkoD,EAAMsiF,YACTtiF,EAAMsiF,WAAY,EACdxqI,EAAI,KAAJ,cAAgCA,EAAI,KAAJ,aAA6B,GAA7B,MAAyC,CAC3E,GAAIkoD,EAAMuF,MAAMmzE,OAAQ,CACtB,IAAI8F,EAAUjuJ,KAAKklJ,mBAAmB39H,GACtCvnB,KAAK8mJ,eACH9mJ,KAAK8nJ,aACL,gEACAmG,GAIJ,OAAO,IAAIl4E,EAAYsuE,MAAM98H,EAAI,KAAUkoD,EAAMuF,OAIrD,IAAKvF,EAAMuiF,YAKT,OAJAviF,EAAMuiF,aAAc,EACfviF,EAAMwiF,YACTxiF,EAAMwiF,UAAYxiF,EAAMh1E,OAEnB,IAAIs7E,EAAYsuE,MAAM98H,EAAI,MAAWkoD,EAAMuF,OASpD,GAPKvF,EAAMogF,SAETpgF,EAAMogF,QAAS,EACfpgF,EAAMyiF,QAAUziF,EAAMh1E,MACtBg1E,EAAM0iF,SAAW/5J,OAAO0C,OAAO,YAGb8P,IAAhB6kE,EAAM2iF,MACRC,EAAa,OAAa,CACxB,GAAI5iF,EAAMyiF,SAAWziF,EAAMyiF,QAAQjK,SAIjC,IAHKx4E,EAAM6iF,SACT7iF,EAAM6iF,OAASl6J,OAAO+2I,oBAAoB1/D,EAAMyiF,QAAQlJ,eAE7C,CAEX,QAAap+I,KADTysE,EAAO5H,EAAM6iF,OAAO15J,SAEtB,MAEF,GAAKR,OAAOC,UAAUC,eAAeC,KAAKk3E,EAAMyiF,QAAQlJ,WAAY3xE,MAGhE5H,EAAM0iF,SAAS96E,KAGnB5H,EAAM0iF,SAAS96E,IAAQ,EAClBj/E,OAAOC,UAAUmxJ,qBAAqBjxJ,KAAKk3E,EAAMyiF,QAAQlJ,WAAY3xE,KAA1E,CAGA5H,EAAM2iF,MAAQ/6E,EACd,MAAMg7E,QAEH,GAAsB,OAAlB5iF,EAAMyiF,cAAsCtnJ,IAAlB6kE,EAAMyiF,QAKzC,IAHKziF,EAAM6iF,SACT7iF,EAAM6iF,OAASl6J,OAAO+2I,oBAAoB1/D,EAAMyiF,YAErC,CACX,IAAI76E,EACJ,QAAazsE,KADTysE,EAAO5H,EAAM6iF,OAAO15J,SAEtB,MAGF,GADA62E,EAAM0iF,SAAS96E,IAAQ,EAClBj/E,OAAOC,UAAUmxJ,qBAAqBjxJ,KAAKk3E,EAAMyiF,QAAS76E,GAA/D,CAGA5H,EAAM2iF,MAAQ/6E,EACd,MAAMg7E,GAKV,GAFA5iF,EAAMyiF,QAAUlyJ,KAAKqoJ,aAAa54E,EAAMyiF,SACxCziF,EAAM6iF,OAAS,KACO,OAAlB7iF,EAAMyiF,QAGR,YADAz6E,EAAMlnC,MAMZ,IAAKk/B,EAAM8iF,cAAe,CACxB9iF,EAAM8iF,eAAgB,EACtB,IAAIljF,EAAO9nD,EAAI,KACf,GAAqB,wBAAjB8nD,EAAI,KAGD,CAELI,EAAMwiF,UAAY,KAClB,IAAIhuB,EAAY,IAAIluD,EAAYsuE,MAAMh1E,EAAMI,EAAMuF,OAElD,OADAivD,EAAUx6D,YAAa,EAChBw6D,EANPx0D,EAAMwiF,UAAY,CAACl8E,EAAYgvE,gBAAiB11E,EAAI,aAAiB,GAArB,SAapD,GAJKI,EAAMwiF,YACTxiF,EAAMwiF,UAAYxiF,EAAMh1E,QAGrBg1E,EAAMwhF,YAAa,CACtBxhF,EAAMwhF,aAAc,EACpB,IAAIx2J,EAAQg1E,EAAM2iF,MACd/I,EAASrpJ,KAAKo5D,SAASqW,EAAMwiF,UAAWx3J,GAC5C,GAAI4uJ,EACF,OAAOrpJ,KAAKuwJ,cAAclH,EAAQ55E,EAAMwiF,UAAWx3J,GASvD,OALAg1E,EAAM2iF,WAAQxnJ,EAEd6kE,EAAM8iF,eAAgB,EACtB9iF,EAAMwhF,aAAc,EAEhB1pI,EAAI,KACC,IAAIwuD,EAAYsuE,MAAM98H,EAAI,KAAUkoD,EAAMuF,YADnD,GAKFe,EAAY19E,UAAZ,iBAA4C,SAAUo/E,EAAOhI,EAAOloD,GAClE,IAAI5sB,EAAO80E,EAAMoiF,OAAS,EAC1B,GAAa,IAATl3J,GAEF,GADA80E,EAAMoiF,MAAQ,EACVtqI,EAAI,KACN,OAAO,IAAIwuD,EAAYsuE,MAAM98H,EAAI,KAAUkoD,EAAMuF,YAE9C,GAAa,IAATr6E,GAET,GADA80E,EAAMoiF,MAAQ,EACVtqI,EAAI,KACN,OAAO,IAAIwuD,EAAYsuE,MAAM98H,EAAI,KAAUkoD,EAAMuF,YAE9C,GAAa,IAATr6E,EAAY,CAErB,GADA80E,EAAMoiF,MAAQ,GACVtqI,EAAI,MAAakoD,EAAMh1E,MAMzB,OADAg1E,EAAMogF,QAAS,EACR,IAAI95E,EAAYsuE,MAAM98H,EAAI,KAAUkoD,EAAMuF,OAJjDyC,EAAMlnC,WAMH,GAAa,IAAT51C,IACT80E,EAAMoiF,MAAQ,EACVtqI,EAAI,QACN,OAAO,IAAIwuD,EAAYsuE,MAAM98H,EAAI,OAAYkoD,EAAMuF,QAKzDe,EAAY19E,UAAZ,wBAAmD,SAAUo/E,EAAOhI,EAAOloD,GAEzEkwD,EAAMlnC,OAGRwlC,EAAY19E,UAAZ,uBAAkD,SAAUo/E,EAAOhI,EAAOloD,GACxEkwD,EAAMlnC,MACNknC,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQuF,KAAKstJ,eAAe/lI,EAAMkoD,EAAMuF,QAGlEe,EAAY19E,UAAZ,eAA0C,SAAUo/E,EAAOhI,EAAOloD,GAEhE,GADAkwD,EAAMlnC,MACFk/B,EAAMhG,WACRgO,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQ,CAACs7E,EAAYgvE,gBAAiBx9H,EAAI,UADpE,CAIA,IAAI9sB,EAAQuF,KAAK2uJ,kBAAkBpnI,EAAI,KAAUA,GAEjD,GAAI9sB,GAA0B,iBAAVA,GAAsBA,EAAMyzJ,SAAU,CAExDzzJ,EAAMyzJ,UAAW,EAEjB,IADA,IAAIl5E,EAAQvF,EAAMuF,OACVh1E,KAAKqqJ,YAAYr1E,EAAOztD,EAAI,OAClCytD,EAAQA,EAAM+yE,YAEhB,IAAI7sG,EAA2CzgD,EAC/C,OAAOuF,KAAKmwJ,cAAcj1G,EAAMl7C,KAAKgmE,QAEvCyR,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQA,IAGlCs7E,EAAY19E,UAAZ,gBAA2C09E,EAAY19E,UAAZ,0BAE3C09E,EAAY19E,UAAZ,qBAAgD,SAAUo/E,EAAOhI,EAAOloD,GAEtEkwD,EAAMlnC,MAEN,IAAIq/G,EAASngF,EAAMmgF,QAAU,GAC7BA,EAAOn3J,KAAK8uB,EAAI,MAAJ,MACZ,IAAI08G,EAAY,IAAIluD,EAAYsuE,MAAM98H,EAAI,KAAUkoD,EAAMuF,OAE1D,OADAivD,EAAU2rB,OAASA,EACZ3rB,GAGTluD,EAAY19E,UAAZ,YAAuC,SAAUo/E,EAAOhI,EAAOloD,GAC7DkwD,EAAMlnC,MACN,IAAI91C,EAAQ8sB,EAAI,MAChB,GAAI9sB,aAAiBsI,OAAQ,CAC3B,IAAIoqJ,EAAentJ,KAAK2nJ,kBAAkB3nJ,KAAKonJ,cAC/CpnJ,KAAKksJ,eAAeiB,EAAc1yJ,GAClCA,EAAQ0yJ,EAEV11E,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQA,GAGlCs7E,EAAY19E,UAAZ,sBAAiD,SAAUo/E,EAAOhI,EAAOloD,GACvE,GAAyB,OAArBA,EAAI,UAA8C,OAArBA,EAAI,SACnC,MAAMgwD,YAAY,6BAA+BhwD,EAAI,UAEvD,IAAKkoD,EAAMkhF,UAET,OADAlhF,EAAMkhF,WAAY,EACX,IAAI56E,EAAYsuE,MAAM98H,EAAI,KAAUkoD,EAAMuF,OAEnD,GAAKvF,EAAMmhF,WAUTn5E,EAAMlnC,MACNknC,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQg1E,EAAMh1E,UAXjB,CACrB,KAA0B,OAArB8sB,EAAI,WAA0BkoD,EAAMh1E,OAAgC,OAArB8sB,EAAI,UAAyBkoD,EAAMh1E,OAMrF,OADAg1E,EAAMmhF,YAAa,EACZ,IAAI76E,EAAYsuE,MAAM98H,EAAI,MAAWkoD,EAAMuF,OAJlDyC,EAAMlnC,MACNknC,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQg1E,EAAMh1E,QAW5Cs7E,EAAY19E,UAAZ,qBAAgD,SAAUo/E,EAAOhI,EAAOloD,GACtE,IAAKkoD,EAAMuiF,YAET,OADAviF,EAAMuiF,aAAc,EACb,IAAIj8E,EAAYsuE,MAAM98H,EAAI,OAAYkoD,EAAMuF,OAErD,IAAI+B,EACJ,GAAKxvD,EAAI,SAIF,KAAKkoD,EAAM+iF,cAIhB,OAHA/iF,EAAMyiF,QAAUziF,EAAMh1E,MAEtBg1E,EAAM+iF,eAAgB,EACf,IAAIz8E,EAAYsuE,MAAM98H,EAAI,SAAckoD,EAAMuF,OAErD+B,EAAWtH,EAAMh1E,WATjBg1E,EAAMyiF,QAAUziF,EAAMh1E,MAEtBs8E,EAAWxvD,EAAI,SAAJ,KAUb,GADAkwD,EAAMlnC,MACFk/B,EAAMhG,WACRgO,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQ,CAACg1E,EAAMyiF,QAASn7E,OAC3C,CACL,IAAIt8E,EAAQuF,KAAKoqJ,YAAY36E,EAAMyiF,QAASn7E,GAC5C,GAAIt8E,GAA0B,iBAAVA,GAAsBA,EAAMyzJ,SAAU,CAExDzzJ,EAAMyzJ,UAAW,EACjB,IAAIhzG,EAA2CzgD,EAC/C,OAAOuF,KAAKmwJ,cAAcj1G,EAAMu0B,EAAMyiF,SAExCz6E,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQA,IAIpCs7E,EAAY19E,UAAZ,kBAA6C09E,EAAY19E,UAAZ,mBAE7C09E,EAAY19E,UAAZ,qBAAgD,SAAUo/E,EAAOhI,EAAOloD,GACtE,IAAItsB,EAAIw0E,EAAMghF,IAAM,EAChBt1J,EAAWosB,EAAI,WAAetsB,GAClC,GAAKw0E,EAAMyiF,QAIJ,CAGL,GAAoB,gBADhBn3J,EAAMI,EAAQ,KACX,KACL,IAAI47E,EAAWh8E,EAAG,SACb,IAAoB,YAAhBA,EAAG,KAGZ,MAAMw8E,YAAY,6BAA+Bx8E,EAAG,MAFhDg8E,EAAWh8E,EAAG,MAKf00E,EAAMgjF,YAAY17E,KAErBtH,EAAMgjF,YAAY17E,GAAY,IAEhCtH,EAAMgjF,YAAY17E,GAAU57E,EAAQ,MAAYs0E,EAAMh1E,MACtDg1E,EAAMghF,KAAOx1J,EACbE,EAAWosB,EAAI,WAAetsB,QAnB9Bw0E,EAAMyiF,QAAUlyJ,KAAK2nJ,kBAAkB3nJ,KAAKulJ,cAC5C91E,EAAMgjF,YAAcr6J,OAAO0C,OAAO,MAoBpC,GAAIK,EACF,OAAO,IAAI46E,EAAYsuE,MAAMlpJ,EAAQ,MAAWs0E,EAAMuF,OAExD,IAAK,IAAIj6E,KAAO00E,EAAMgjF,YAAa,CACjC,IAAIC,EAAQjjF,EAAMgjF,YAAY13J,GAC9B,GAAI,QAAS23J,GAAS,QAASA,EAAO,CAEpC,IAAIxJ,EAAa,CACfzE,cAAc,EACdrqJ,YAAY,EACZC,IAAKq4J,EAAK,IACV/7E,IAAK+7E,EAAK,KAEZ1yJ,KAAK01E,YAAYjG,EAAMyiF,QAASn3J,EAAK,KAAMmuJ,QAG3ClpJ,KAAK01E,YAAYjG,EAAMyiF,QAASn3J,EAAK23J,EAAK,MAG9Cj7E,EAAMlnC,MACNknC,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQg1E,EAAMyiF,SAGxCn8E,EAAY19E,UAAZ,YAAuC,SAAUo/E,EAAOhI,EAAOloD,GAC7D,IAAIinI,EAAajnI,EAAI,KAAS3uB,QAC9B,GAAI41J,EAEF,OADA/+E,EAAMy8D,MAAO,EACN,IAAIn2D,EAAYsuE,MAAMmK,EAAY/+E,EAAMuF,OAEjDvF,EAAMy8D,MAAO,GAKfn2D,EAAY19E,UAAZ,oBAA+C,SAAUo/E,EAAOhI,EAAOloD,GACrE,GAAIA,EAAI,WAAiBkoD,EAAMkiF,MAE7B,OADAliF,EAAMkiF,OAAQ,EACP,IAAI57E,EAAYsuE,MAAM98H,EAAI,SAAckoD,EAAMuF,OAEvDh1E,KAAKyvJ,OAAO15E,EAAYk5E,WAAWI,OAAQ5/E,EAAMh1E,WAAOmQ,IAG1DmrE,EAAY19E,UAAZ,uBAAkD,SAAUo/E,EAAOhI,EAAOloD,GACxE,IAAItsB,EAAIw0E,EAAMghF,IAAM,EAChBjC,EAAajnI,EAAI,YAAgBtsB,GACrC,GAAIuzJ,EAEF,OADA/+E,EAAMghF,GAAKx1J,EAAI,EACR,IAAI86E,EAAYsuE,MAAMmK,EAAY/+E,EAAMuF,OAEjDyC,EAAMlnC,MACNknC,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQg1E,EAAMh1E,OAGxCs7E,EAAY19E,UAAZ,oBAA+C,SAAUo/E,EAAOhI,EAAOloD,GACrE,IAAKkoD,EAAMqiF,MAET,OADAriF,EAAMqiF,MAAQ,EACP,IAAI/7E,EAAYsuE,MAAM98H,EAAI,aAAkBkoD,EAAMuF,OAS3D,IAPoB,IAAhBvF,EAAMqiF,QACRriF,EAAMqiF,MAAQ,EAEdriF,EAAMkjF,aAAeljF,EAAMh1E,MAC3Bg1E,EAAMmjF,cAAgB,KAGX,CACX,IAAIhnJ,EAAQ6jE,EAAMojF,QAAU,EACxBC,EAAavrI,EAAI,MAAU3b,GAC/B,GAAK6jE,EAAMsjF,WAAYD,GAAeA,EAAU,KAOhD,GAAKA,GAAerjF,EAAMsjF,WAAoC,IAAxBtjF,EAAMmjF,aAA5C,CAMA,IAAIE,EAoBF,YADAr7E,EAAMlnC,MAlBN,IAAKk/B,EAAMsjF,WAAatjF,EAAMujF,SAAWF,EAAU,KAEjD,OADArjF,EAAMujF,SAAU,EACT,IAAIj9E,EAAYsuE,MAAMyO,EAAU,KAAUrjF,EAAMuF,OAEzD,GAAIvF,EAAMsjF,UAAYtjF,EAAMh1E,QAAUg1E,EAAMkjF,aAAc,CACxDljF,EAAMsjF,UAAW,EACjB,IAAI93J,EAAIw0E,EAAMghF,IAAM,EACpB,GAAIqC,EAAU,WAAe73J,GAG3B,OAFAw0E,EAAMqgF,UAAW,EACjBrgF,EAAMghF,GAAKx1J,EAAI,EACR,IAAI86E,EAAYsuE,MAAMyO,EAAU,WAAe73J,GAAIw0E,EAAMuF,OAIpEvF,EAAMujF,SAAU,EAChBvjF,EAAMghF,GAAK,EACXhhF,EAAMojF,OAASjnJ,EAAQ,OArBvB6jE,EAAMsjF,UAAW,EACjBtjF,EAAMojF,OAASpjF,EAAMmjF,kBAPrBnjF,EAAMmjF,aAAehnJ,EACrB6jE,EAAMojF,OAASjnJ,EAAQ,IAkC7BmqE,EAAY19E,UAAZ,mBAA8C,SAAUo/E,EAAOhI,EAAOloD,GACpEkwD,EAAMlnC,MACNknC,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQuF,KAAK2uJ,kBAAkB,OAAQpnI,IAGjEwuD,EAAY19E,UAAZ,mBAA8C,SAAUo/E,EAAOhI,EAAOloD,GACpE,IAAKkoD,EAAMkiF,MAET,OADAliF,EAAMkiF,OAAQ,EACP,IAAI57E,EAAYsuE,MAAM98H,EAAI,SAAckoD,EAAMuF,OAErDh1E,KAAK8mJ,eAAer3E,EAAMh1E,QAI9Bs7E,EAAY19E,UAAZ,iBAA4C,SAAUo/E,EAAOhI,EAAOloD,GAClE,IAAKkoD,EAAMwjF,WAET,OADAxjF,EAAMwjF,YAAa,EACZ,IAAIl9E,EAAYsuE,MAAM98H,EAAI,MAAWkoD,EAAMuF,OAEpD,GAAIvF,EAAMkgF,IAAMlgF,EAAMkgF,GAAG1wH,OAAS82C,EAAYk5E,WAAWK,QAAU7/E,EAAMyjF,cAAgB3rI,EAAI,QAAa,CACxGkoD,EAAMyjF,cAAe,EACrB,IAAIjvB,EAAY,IAAIluD,EAAYsuE,MAAM98H,EAAI,QAAakoD,EAAMuF,OAG7D,OAFAivD,EAAU2tB,WAAaniF,EAAMkgF,GAAGl1J,MAChCg1E,EAAMkgF,QAAK/kJ,EACJq5H,EAET,IAAKx0D,EAAM0jF,gBAAkB5rI,EAAI,UAE/B,OADAkoD,EAAM0jF,gBAAiB,EAChB,IAAIp9E,EAAYsuE,MAAM98H,EAAI,UAAekoD,EAAMuF,OAExDyC,EAAMlnC,MACFk/B,EAAMkgF,IAGR3vJ,KAAKyvJ,OAAOhgF,EAAMkgF,GAAG1wH,KAAMwwC,EAAMkgF,GAAGl1J,MAAOg1E,EAAMkgF,GAAGt2F,QAIxD0c,EAAY19E,UAAZ,oBAA+C,SAAUo/E,EAAOhI,EAAOloD,GACrE,IAAKkoD,EAAMkiF,MAAO,CAChBliF,EAAMkiF,OAAQ,EACd,IAAI1tB,EAAY,IAAIluD,EAAYsuE,MAAM98H,EAAI,SAAckoD,EAAMuF,OAE9D,OADAivD,EAAUx6D,WAAkC,WAArBliD,EAAI,SACpB08G,EAETxsD,EAAMlnC,MACN,IAAI91C,EAAQg1E,EAAMh1E,MAClB,GAAyB,MAArB8sB,EAAI,SACN9sB,GAASA,OACJ,GAAyB,MAArB8sB,EAAI,SACb9sB,GAASA,OACJ,GAAyB,MAArB8sB,EAAI,SACb9sB,GAASA,OACJ,GAAyB,MAArB8sB,EAAI,SACb9sB,GAASA,OACJ,GAAyB,WAArB8sB,EAAI,SAA2B,CACxC,IAAIvuB,GAAS,EAGb,GAAI4uC,MAAMytC,QAAQ56E,GAAQ,CACxB,IAAI6Q,EAAM7Q,EAAM,GACZ6Q,IAAQyqE,EAAYgvE,kBAEtBz5I,EAAMmkE,EAAMuF,OAEd,IAAIh7E,EAAO2mE,OAAOlmE,EAAM,IACxB,WACS6Q,EAAI09I,WAAWhvJ,GACtB,MAAOsxB,GACHmkD,EAAMuF,MAAMmzE,OACdnoJ,KAAK8mJ,eAAe9mJ,KAAK2oJ,WAAY,2BAA6B3uJ,EAAO,SAAWsR,EAAM,KAE1FtS,GAAS,GAIfyB,EAAQzB,OACH,GAAyB,WAArBuuB,EAAI,SACb9sB,EAAQA,GAAyB,aAAhBA,EAAMovJ,MAAuB,kBAAoBpvJ,MAC7D,IAAyB,SAArB8sB,EAAI,SAGb,MAAMgwD,YAAY,2BAA6BhwD,EAAI,UAFnD9sB,OAAQmQ,EAIV6sE,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQA,GAGlCs7E,EAAY19E,UAAZ,qBAAgD,SAAUo/E,EAAOhI,EAAOloD,GACtE,IAAKkoD,EAAMkhF,UAAW,CACpBlhF,EAAMkhF,WAAY,EAClB,IAAI1sB,EAAY,IAAIluD,EAAYsuE,MAAM98H,EAAI,SAAckoD,EAAMuF,OAE9D,OADAivD,EAAUx6D,YAAa,EAChBw6D,EAQT,GANKx0D,EAAM2jF,YACT3jF,EAAM2jF,UAAY3jF,EAAMh1E,OAEtBg1E,EAAMqhF,cACRrhF,EAAMshF,WAAathF,EAAMh1E,QAEtBg1E,EAAMqhF,YAAa,CACtB,IAAIE,EAAYhxJ,KAAKgvJ,SAASv/E,EAAM2jF,UAAW7rI,GAE/C,GADAkoD,EAAMshF,WAAaC,EACfA,GAAkC,iBAAdA,GAA0BA,EAAU9C,SAAU,CAEpE8C,EAAU9C,UAAW,EACrBz+E,EAAMqhF,aAAc,EACpB,IAAI51G,EAA2C81G,EAC/C,OAAOhxJ,KAAKmwJ,cAAcj1G,EAAMu0B,EAAM2jF,YAG1C,GAAI3jF,EAAMwhF,YAMR,OAFAx5E,EAAMlnC,WACNknC,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQg1E,EAAMyhF,cAGxC,IACImC,EADArC,EAAYx4E,OAAO/I,EAAMshF,YAE7B,GAAyB,OAArBxpI,EAAI,SACN8rI,EAAcrC,EAAY,MACrB,IAAyB,OAArBzpI,EAAI,SAGb,MAAMgwD,YAAY,8BAAgChwD,EAAI,UAFtD8rI,EAAcrC,EAAY,EAI5B,IAAIsC,EAAc/rI,EAAI,OAAa8rI,EAAcrC,EAC7C3H,EAASrpJ,KAAKo5D,SAASqW,EAAM2jF,UAAWC,GAC5C,GAAIhK,EAGF,OAFA55E,EAAMwhF,aAAc,EACpBxhF,EAAMyhF,aAAeoC,EACdtzJ,KAAKuwJ,cAAclH,EAAQ55E,EAAM2jF,UAAWC,GAGrD57E,EAAMlnC,MACNknC,EAAMA,EAAMt/E,OAAS,GAAGsC,MAAQ64J,GAGlCv9E,EAAY19E,UAAZ,wBAAmD,SAAUo/E,EAAOhI,EAAOloD,GACzE,IAAIgsI,EAAehsI,EAAI,aACnBtsB,EAAIw0E,EAAMghF,IAAM,EAChB+C,EAAkBD,EAAat4J,GASnC,IARIw0E,EAAMgkF,OAASD,IAIjBxzJ,KAAK6uJ,gBAAgB2E,EAAe,GAAf,KAA+B/jF,EAAMh1E,OAC1Dg1E,EAAMgkF,OAAQ,EACdD,EAAkBD,IAAet4J,IAE5Bu4J,GAAiB,CAGtB,GAAIA,EAAe,KAGjB,OAFA/jF,EAAMghF,GAAKx1J,EACXw0E,EAAMgkF,OAAQ,EACP,IAAI19E,EAAYsuE,MAAMmP,EAAe,KAAU/jF,EAAMuF,OAE9Dw+E,EAAkBD,IAAet4J,GAEnCw8E,EAAMlnC,OAGRwlC,EAAY19E,UAAZ,kBAA6C,SAAUo/E,EAAOhI,EAAOloD,GACnE,IAAKkoD,EAAMuiF,YAET,OADAviF,EAAMuiF,aAAc,EACb,IAAIj8E,EAAYsuE,MAAM98H,EAAI,OAAYkoD,EAAMuF,OAC9C,IAAKvF,EAAMikF,UAAW,CAC3BjkF,EAAMikF,WAAY,EAClB,IAAI1+E,EAAQh1E,KAAKyuJ,mBAAmBh/E,EAAMuF,MAAOvF,EAAMh1E,OACvD,OAAO,IAAIs7E,EAAYsuE,MAAM98H,EAAI,KAAUytD,GAE3CyC,EAAMlnC,OAIVwlC,EAAY19E,UAAZ,mBAA8C09E,EAAY19E,UAAZ,qBAM9C09E,EAAY19E,UAAZ,KAAgC09E,EAAY19E,UAAU69E,KACtDH,EAAY19E,UAAZ,IAA+B09E,EAAY19E,UAAUmpC,IACrDu0C,EAAY19E,UAAZ,WAAsC09E,EAAY19E,UAAU+sJ,WAC5DrvE,EAAY19E,UAAZ,aAAwC09E,EAAY19E,UAAUi0J,aAC9Dv2E,EAAY19E,UAAZ,kBAA6C09E,EAAY19E,UAAUsvJ,kBACnE5xE,EAAY19E,UAAZ,oBAA+C09E,EAAY19E,UAAUs9E,oBACrEI,EAAY19E,UAAZ,qBAAgD09E,EAAY19E,UAAUu9E,qBACtEG,EAAY19E,UAAZ,YAAuC09E,EAAY19E,UAAU+xJ,YAC7Dr0E,EAAY19E,UAAZ,YAAuC09E,EAAY19E,UAAUq9E,YAC7DK,EAAY19E,UAAZ,eAA0C09E,EAAY19E,UAAUw9E,eAChEE,EAAY19E,UAAZ,eAA0C09E,EAAY19E,UAAUi9E,eAEhES,EAAY19E,UAAZ,gBAA2C,SAAUiG,GACnD,OAAOA,I,8BCx1HT,sDAKO,SAAS6/D,EAAsBnyD,EAAgBo9C,EAAiBhuD,EAAYqtB,EAAQ,GACzF,MAAMkrI,EAAwBnzJ,KAAKoD,IAAIpD,KAAKyO,MAAMm6C,GAAU,GAI5D,IAAIkU,EAAgB,GADDn5D,IAAUmB,qBACS,GAAK0G,EAAO6B,eAC9CyvD,EAAgBn5D,IAAUoB,sBAC5B+3D,EAAgBn5D,IAAUoB,qBAI5B,MACMquJ,EACJD,GAF6B3nJ,EAAOgC,aAAe,KAEF/C,IAAmBiyD,iBAGhED,EAAY,GAAKx0C,EAAQ,GAAK,GACpC,OAAOjoB,KAAKoN,IAAI0vD,EAAes2F,EAAgCx4J,EAAE6a,MAAMe,aAAeimD,K,6BCtBxF,iGAUA,MAAM42F,EAAc,IAAI9wJ,OAAO,oBAA4B,MAErDiH,EAAYC,YAAYhM,GAC5BiM,YAAa,CACXk+D,QAAS,CACP5X,WAAY,WACZg2D,aAAc,WACd1yE,OAAQ71C,EAAM81C,QAAQ,GACtB3pC,MAAOnM,EAAMuM,OAAO49D,SAEtBt0D,MAAO,CACL08C,WAAY,WACZg2D,aAAc,WACd1yE,OAAQ71C,EAAM81C,QAAQ,GACtB3pC,MAAOnM,EAAMoM,QAAQyJ,MAAMkH,MAE7BD,QAAS,CACPy1C,WAAY,WACZg2D,aAAc,WACd1yE,OAAQ71C,EAAM81C,QAAQ,GACtB3pC,MAAOnM,EAAMoM,QAAQ0Q,QAAQC,MAE/BzF,KAAM,CACJi7C,WAAY,WACZg2D,aAAc,WACd1yE,OAAQ71C,EAAM81C,QAAQ,GACtB3pC,MAAOnM,EAAMoM,QAAQkL,KAAKyF,MAE5BkuD,QAAS,CACP1Y,WAAY,WACZg2D,aAAc,WACd1yE,OAAQ71C,EAAM81C,QAAQ,GACtB3pC,MAAOnM,EAAMoM,QAAQ6+D,QAAQluD,SAK7B84I,EAAY,CAACnpJ,EAAiCpR,KACL,CAC3Cua,MAAOnJ,EAAQmJ,MACfs0D,QAASz9D,EAAQy9D,QACjB7yD,KAAM5K,EAAQ4K,KACdjV,KAAMqK,EAAQu+D,SAEI3vE,IAAMoR,EAAQoQ,SAQvBg5I,EAAkB3gJ,IAAM4gJ,KAAMtpJ,IACzC,MAAMC,EAAUX,IACViqJ,EAAQ,GAQRhuF,EAAU,CALA,CACdxsE,EAAG,GACHmS,MAAO,EACPsoJ,OAAQ,CAAEnlG,KAAM,UAEWrkD,EAAMuwD,KAAKk5F,SAASN,GAAc,MAoB/D,OAnBI5tF,EAAQ9tE,OAAS,GACnB8tE,EAAQzqE,MAAM,GAAI,GAAG6wC,QAAQ,CAACxyC,EAAG5B,KAC/B,MAAMgD,EAAIgrE,EAAQhuE,EAAI,GACtB,IAAK4B,QAAiB+Q,IAAZ/Q,EAAE+R,YAAoChB,IAAb/Q,EAAEq6J,OACnC,OAEF,MAAME,EAAav6J,EAAE+R,MAAQ/R,EAAE,GAAG1B,OAC5Bk8J,EAAYp5J,EAAIA,EAAE2Q,MAAQlB,EAAMuwD,KAAK9iE,OACrCm8J,EAAW5pJ,EAAMuwD,KAAKz/D,MAAM44J,EAAYC,GAC1CD,IAAeC,GAEjBJ,EAAMx7J,KAAK,CAAEs2D,KAAMl1D,EAAEq6J,OAAOnlG,KAAMkM,KAAMq5F,MAIzB,IAAjBL,EAAM97J,QAER87J,EAAMx7J,KAAK,CAAEs2D,KAAM,KAAMkM,KAAMvwD,EAAMuwD,OAGrC,kBAAC,IAAD,CAAYtwD,QAAS,CAAE4hC,KAAMunH,EAAUnpJ,EAASD,EAAMN,QAAUmqJ,WAAW,GACxEN,EAAMnhJ,IAAI,CAAC0hJ,EAAM5oJ,KAChB,MAAM6oJ,EAiBd,SAAuB1lG,GAOrB,MAAM2lG,EAA2C,CAC/Cj7J,EAAG,UACHk7J,EAAG,UACHC,EAAG,UACHC,EAAG,UACHC,EAAG,UACHC,EAAG,UACHC,EAAG,UACHC,EAAG,WAECC,EAAyC,CAC7Cz7J,EAAG,UACHk7J,EAAG,UACHC,EAAG,UACHC,EAAG,UACHC,EAAG,UACHC,EAAG,UACHC,EAAG,UACHC,EAAG,WAmCC7nH,EAMF,GAEJ,GAAa,OAAT2hB,GAA0B,MAATA,EACnB,OAAO3hB,EAGT,MAAM+nH,EAAYpmG,EACfl8C,MAAM,KACNC,IAAK1X,GAAMorJ,SAASprJ,IACpBse,OACC,CAACte,EAAGnD,EAAG+W,IAGA,GAAL5T,GAAe,GAALnD,GAAyB,IAAd+W,EAAI/W,EAAI,IAA0B,IAAd+W,EAAI/W,EAAI,IAGvD,IAAIm9J,EAAgC,KACpCD,EAAU9oH,QAASgpH,IAEI,OAAjBD,GACFhoH,EAAMgoH,GA1DQrmG,KAEhB,GAAI,GAAKA,GAAQA,EAAO,EAEtB,OAAO2lG,EAAiB3lG,GAE1B,GAAI,GAAKA,GAAQA,EAAO,GAEtB,OAAOmmG,EAAenmG,GAExB,GAAI,IAAMA,GAAQA,EAAO,IAAK,CAE5B,MAAM0H,EAAO1H,EAAO,GACdumG,EAAK90J,KAAKyO,MAAMwnD,EAAO,IACvB8+F,EAAK/0J,KAAKyO,MAAOwnD,EAAO,GAAM,GAC9B++F,EAAKh1J,KAAKyO,MAAOwnD,EAAO,EAAK,GAInC,MAAQ,OAHE6+F,GAAM,EAAI,EAAI,GAAU,GAALA,MACnBC,GAAM,EAAI,EAAI,GAAU,GAALA,MACnBC,GAAM,EAAI,EAAI,GAAU,GAALA,KAG/B,GAAI,KAAOzmG,GAAQA,EAAO,IAAK,CAE7B,MACM0mG,EAAc,IADP1mG,EAAO,KACK,EACzB,MAAQ,OAAM0mG,MAASA,MAASA,KAGlC,MAAO,WA8BiBC,CAASL,GAC/BD,EAAe,MAGI,GAAZC,EACPjoH,EAAMuoH,WAAa,OACE,GAAZN,EACTjoH,EAAMwoH,eAAiB,YAGhB,IAAMP,GAAYA,EAAW,GAChCX,EAAiBW,EAAW,MAC9BjoH,EAAMhjC,MAAQsqJ,EAAiBW,EAAW,KAIrC,IAAMA,GAAYA,EAAW,GAChCH,EAAeG,EAAW,MAC5BjoH,EAAMzyB,gBAAkBu6I,EAAeG,EAAW,KAIjC,IAAZA,EACPD,EAAe,QAGI,IAAZC,IACPD,EAAe,0BAKWxqJ,IAA1BwiC,EAAMzyB,kBACRyyB,EAAM7yB,QAAU,gBAElB,OAAO6yB,EA1IiByoH,CAAcrB,EAAKzlG,MACrC,OAAK4G,IAAEmgG,QAAQrB,GASND,EAAKv5F,KANV,kBAAC,IAAD,CAAYlgE,IAAK6Q,EAAO2oJ,WAAW,EAAO5qJ,UAAU,OAAOC,GAAI6qJ,GAC5DD,EAAKv5F,Y,wOC3Eb,MAAMo5E,EAqCXt0I,YAAY/F,EAAO,IAAI,cAnChB,cAmCgB,uBAjCP,GAiCO,cA/BhB,GA+BgB,aA9BjB,GA8BiB,aA7BjB,GA6BiB,aA5BjB,GA4BiB,aA3BjB,GA2BiB,aA1BjB,GA0BiB,kBAxBZ,GAwBY,iBAvBb,GAuBa,iBAtBb,GAsBa,iBArBb,GAqBa,iBApBb,GAoBa,iBAnBb,GAmBa,mBAjBX,GAiBW,kBAhBZ,GAgBY,kBAfZ,GAeY,kBAdZ,GAcY,kBAbZ,GAaY,kBAZZ,GAYY,yBAVL,GAUK,wBATN,GASM,wBARN,GAQM,wBAPN,GAOM,wBANN,GAMM,wBALN,GAKM,kBAHF,IAGE,uBAFG,IAGxBgG,KAAKhG,KAAOA,EAGd42B,eAAeC,EAAaC,EAAO,GACjC,OAAOtwB,KAAKoD,IAAIpD,KAAKyO,MAAM6hB,GAAQ,GAAKtwB,KAAK4jB,IAAIyM,EAAM,OAAS,MAAO,GAGzEyqD,uBAAuBC,GACrB,OAAOD,YAAuBC,GAGhCrqD,oBACElxB,KAAK+yB,KAAO/yB,KAAK4wB,eAAe5wB,KAAK+1J,SAAU/1J,KAAKg2J,UAAYh2J,KAAKs7E,uBAAuBt7E,KAAKknI,kBACjGlnI,KAAKiB,IAAMjB,KAAK4wB,eAAe5wB,KAAKi2J,QAASj2J,KAAKk2J,SAAWl2J,KAAKs7E,uBAAuBt7E,KAAKmnI,iBAC9FnnI,KAAKgzB,IAAMhzB,KAAK4wB,eAAe5wB,KAAKm2J,QAASn2J,KAAKo2J,SAAWp2J,KAAKs7E,uBAAuBt7E,KAAKonI,iBAC9FpnI,KAAKizB,IAAMjzB,KAAK4wB,eAAe5wB,KAAKq2J,QAASr2J,KAAKs2J,SAAWt2J,KAAKs7E,uBAAuBt7E,KAAKqnI,iBAC9FrnI,KAAKkzB,IAAMlzB,KAAK4wB,eAAe5wB,KAAKu2J,QAASv2J,KAAKw2J,SAAWx2J,KAAKs7E,uBAAuBt7E,KAAKsnI,iBAC9FtnI,KAAKmzB,IAAMnzB,KAAK4wB,eAAe5wB,KAAKy2J,QAASz2J,KAAK02J,SAAW12J,KAAKs7E,uBAAuBt7E,KAAKunI,iBAGhG6U,iBACE,OAAQp8I,KAAK+yB,KAAO/yB,KAAKiB,IAAMjB,KAAKgzB,IAAMhzB,KAAKizB,IAAMjzB,KAAKkzB,IAAMlzB,KAAKmzB,KAAO,GAG9EwjI,aAAaxY,GACX,OAAKv0C,IAAgBtxG,eAAe6lJ,IAIpCn+I,KAAKm6E,KAAOgkE,GACL,IAJLn+I,KAAKm6E,KAAO,cACL,GAMXy8E,mBACE52J,KAAKm6E,KAAO,aAGdyf,UAOE,OAJK55F,KAAKm6E,gBAAwB2vB,MAChC9pG,KAAKm6E,KAAQn6E,KAAKm6E,KAAangF,MAG7B4vG,IAAgBtxG,eAAe0H,KAAKm6E,MAC/ByvB,IAAgB5pG,KAAKm6E,MAEvByvB,IAAe,WAGxB1vB,qBAAqB/pD,GACnB,MAAMgqD,EAAOn6E,KAAK45F,UACZu6C,EAAI,CACRn6D,QAAS7pD,EAAK6pD,QACdC,YAAa9pD,EAAK8qD,OAClBluC,UAAW5c,EAAKqrH,gBAElB,OAAOthE,YAAqBi6D,EAAGn0I,KAAMm6E,GAGvCY,yBAAyB5qD,GACvB,MAAMgqD,EAAOn6E,KAAK45F,UACZu6C,EAAI,CACRn6D,QAAS7pD,EAAK6pD,QACdC,YAAa9pD,EAAK8qD,OAClBluC,UAAW5c,EAAKqrH,gBAElB,OAAOzgE,YAAyBo5D,EAAGn0I,KAAMm6E,GAG3CgB,mBAAmBhrD,GACjB,MAAMgqD,EAAOn6E,KAAK45F,UACZu6C,EAAI,CACRn6D,QAAS7pD,EAAK6pD,QACdC,YAAa9pD,EAAK8qD,OAClBluC,UAAW5c,EAAKqrH,gBAElB,OAAOrgE,YAAmBg5D,EAAGn0I,KAAMm6E,GAGrCumC,UACE,MAAO,CACL3tF,MAAO/yB,KAAKg2J,UAAY,GAAK,EAAI,EACjC/0J,KAAMjB,KAAKk2J,SAAW,GAAK,EAAI,EAC/BljI,KAAMhzB,KAAKo2J,SAAW,GAAK,EAAI,EAC/BnjI,KAAMjzB,KAAKs2J,SAAW,GAAK,EAAI,EAC/BpjI,KAAMlzB,KAAKw2J,SAAW,GAAK,EAAI,EAC/BrjI,KAAMnzB,KAAK02J,SAAW,GAAK,EAAI,GAInCp1C,eAAe73F,EAAY,GACzB,MAAM0wD,EAAOn6E,KAAK45F,UAClB,GAAIzf,IAASyvB,IAAe,WAAgB,OAC5C,MACMitD,EADiBr2J,KAAKoN,IAAIusE,EAAKn7C,WAAY,IACJvV,EAEvCi3F,EAAU1gH,KAAK0gH,UACrB1gH,KAAK+1J,UACF57E,EAAKG,WAHc,KAIpBu8E,EACAn2C,EAAQ3tF,KACR/yB,KAAKs7E,uBAAuBt7E,KAAKknI,iBACnClnI,KAAKi2J,SACF97E,EAAKI,UARc,KASpBs8E,EACAn2C,EAAQz/G,IACRjB,KAAKs7E,uBAAuBt7E,KAAKmnI,gBACnCnnI,KAAKm2J,SACFh8E,EAAKK,UAbc,KAcpBq8E,EACAn2C,EAAQ1tF,IACRhzB,KAAKs7E,uBAAuBt7E,KAAKonI,gBACnCpnI,KAAKq2J,SACFl8E,EAAKM,UAlBc,KAmBpBo8E,EACAn2C,EAAQztF,IACRjzB,KAAKs7E,uBAAuBt7E,KAAKqnI,gBACnCrnI,KAAKu2J,SACFp8E,EAAKO,UAvBc,KAwBpBm8E,EACAn2C,EAAQxtF,IACRlzB,KAAKs7E,uBAAuBt7E,KAAKsnI,gBACnCtnI,KAAKy2J,SACFt8E,EAAKQ,UA5Bc,KA6BpBk8E,EACAn2C,EAAQvtF,IACRnzB,KAAKs7E,uBAAuBt7E,KAAKunI,gBAGrCyU,oBAAoBvyH,EAAY,EAAG0G,GACjCnwB,KAAK+9I,eAAiB/9I,KAAKk6E,qBAAqB/pD,GAAQ1G,EAG1DqtI,2BACE,MAAO,CACL/jI,KAAMsoD,YAA6Br7E,KAAK+1J,UACxC90J,IAAKo6E,YAA6Br7E,KAAKi2J,SACvCjjI,IAAKqoD,YAA6Br7E,KAAKm2J,SACvCljI,IAAKooD,YAA6Br7E,KAAKq2J,SACvCnjI,IAAKmoD,YAA6Br7E,KAAKu2J,SACvCpjI,IAAKkoD,YAA6Br7E,KAAKy2J,UAI3CM,YACE,MAAMx7E,EAASv7E,KAAK82J,2BACpB,OAAOv7E,EAAOxoD,KAAO,GAAKwoD,EAAOt6E,IAAM,GAAKs6E,EAAOvoD,IAAM,GAAKuoD,EAAOtoD,IAAM,GAAKsoD,EAAOroD,IAAM,GAAKqoD,EAAOpoD,IAAM,EAGjH6jI,2BACE,MAAO,CACLjkI,KAAM/yB,KAAKs7E,uBAAuBt7E,KAAKknI,iBACvCjmI,IAAKjB,KAAKs7E,uBAAuBt7E,KAAKmnI,gBACtCn0G,IAAKhzB,KAAKs7E,uBAAuBt7E,KAAKonI,gBACtCn0G,IAAKjzB,KAAKs7E,uBAAuBt7E,KAAKqnI,gBACtCn0G,IAAKlzB,KAAKs7E,uBAAuBt7E,KAAKsnI,gBACtCn0G,IAAKnzB,KAAKs7E,uBAAuBt7E,KAAKunI,iBAI1C0vB,+BACE,MAAM17E,EAASv7E,KAAK82J,2BACpB,MAAO,CACL/jI,KAAM/yB,KAAKs7E,uBAAuBt7E,KAAKknI,gBAAkB3rD,EAAOxoD,MAChE9xB,IAAKjB,KAAKs7E,uBAAuBt7E,KAAKmnI,eAAiB5rD,EAAOt6E,KAC9D+xB,IAAKhzB,KAAKs7E,uBAAuBt7E,KAAKonI,eAAiB7rD,EAAOvoD,KAC9DC,IAAKjzB,KAAKs7E,uBAAuBt7E,KAAKqnI,eAAiB9rD,EAAOtoD,KAC9DC,IAAKlzB,KAAKs7E,uBAAuBt7E,KAAKsnI,eAAiB/rD,EAAOroD,KAC9DC,IAAKnzB,KAAKs7E,uBAAuBt7E,KAAKunI,eAAiBhsD,EAAOpoD,MAIlE+jI,sBACE,MAAMC,EAAan3J,KAAKi3J,+BAClBG,EAAYp3J,KAAKg3J,2BAEvB,MAAO,CACLjkI,KAAMokI,EAAWpkI,KAAOqkI,EAAUrkI,KAClC9xB,IAAKk2J,EAAWl2J,IAAMm2J,EAAUn2J,IAChC+xB,IAAKmkI,EAAWnkI,IAAMokI,EAAUpkI,IAChCC,IAAKkkI,EAAWlkI,IAAMmkI,EAAUnkI,IAChCC,IAAKikI,EAAWjkI,IAAMkkI,EAAUlkI,IAChCC,IAAKgkI,EAAWhkI,IAAMikI,EAAUjkI,KAIpC6qH,SACE,MAAMttI,EAAM1Q,KAAKk3J,sBACX37E,EAASv7E,KAAK82J,2BACpB92J,KAAKknI,iBAAmB3rD,EAAOxoD,KAC/B/yB,KAAKmnI,gBAAkB5rD,EAAOt6E,IAC9BjB,KAAKonI,gBAAkB7rD,EAAOvoD,IAC9BhzB,KAAKqnI,gBAAkB9rD,EAAOtoD,IAC9BjzB,KAAKsnI,gBAAkB/rD,EAAOroD,IAC9BlzB,KAAKunI,gBAAkBhsD,EAAOpoD,IAG9BnzB,KAAK2jC,SAASxrC,OAAS,EACvB6H,KAAKg2J,UAAY,EACjBh2J,KAAKk2J,SAAW,EAChBl2J,KAAKo2J,SAAW,EAChBp2J,KAAKs2J,SAAW,EAChBt2J,KAAKw2J,SAAW,EAChBx2J,KAAK02J,SAAW,EAChB,IAAK,IAAIz+J,EAAI,EAAGA,EAAI+H,KAAKwY,cAAcrgB,SAAUF,EAAG,CAClD,MAAM2mC,EAAMsqE,IAAmBlpG,KAAKwY,cAAcvgB,IAClD+H,KAAKq3J,aAAaz4H,GAIpB5+B,KAAK+1J,SAAW,EAChB/1J,KAAKi2J,QAAU,EACfj2J,KAAKm2J,QAAU,EACfn2J,KAAKq2J,QAAU,EACfr2J,KAAKu2J,QAAU,EACfv2J,KAAKy2J,QAAU,EACfz2J,KAAKkxB,oBAEL,MAAMomI,EAAkBt3J,KAAK+9I,cAE7B,OADA/9I,KAAK+9I,cAAgB,EACd,CACL/jE,QAASs9E,EACTvkI,KAAMriB,EAAIqiB,KACV9xB,IAAKyP,EAAIzP,IACT+xB,IAAKtiB,EAAIsiB,IACTC,IAAKviB,EAAIuiB,IACTC,IAAKxiB,EAAIwiB,IACTC,IAAKziB,EAAIyiB,KAIbkkI,aAAapsI,GACU,MAAjBA,EAAIhV,MAAMhV,MAAajB,KAAKk2J,UAAYjrI,EAAIhV,MAAMhV,KACjC,MAAjBgqB,EAAIhV,MAAM+c,MAAahzB,KAAKo2J,UAAYnrI,EAAIhV,MAAM+c,KACjC,MAAjB/H,EAAIhV,MAAMgd,MAAajzB,KAAKs2J,UAAYrrI,EAAIhV,MAAMgd,KACjC,MAAjBhI,EAAIhV,MAAMid,MAAalzB,KAAKw2J,UAAYvrI,EAAIhV,MAAMid,KACjC,MAAjBjI,EAAIhV,MAAMkd,MAAanzB,KAAK02J,UAAYzrI,EAAIhV,MAAMkd,KAChC,MAAlBlI,EAAIhV,MAAM8c,OAAc/yB,KAAKg2J,WAAa/qI,EAAIhV,MAAM8c,MAG1DwkI,WAAWtsI,EAAwBpgB,EAAiBslB,GAElD,OAAInwB,KAAKwY,cAAcY,SAAS6R,EAAIjxB,QAASgG,KAAK2jC,SAASvqB,SAAS6R,EAAIjxB,UAEpE6Q,EAAO7O,MAAQm0B,EAAK+lG,eAAejrG,MACvCpgB,EAAOsc,UAAUgJ,EAAK+lG,eAAejrG,GAAM,QAC1B,MAAbA,EAAIgU,KACNj/B,KAAKwY,cAAc/f,KAAKwyB,EAAIjxB,MAE5BgG,KAAK2jC,SAASlrC,KAAKwyB,EAAIjxB,MAEzBgG,KAAKq3J,aAAapsI,IACX,IAMT5Q,SACE,OAAO5O,YAAe,aAAczL,MAMvB,gBAACvF,GACd,OAAOoR,YAAiBwoI,EAAY55I,EAAM9C,OAI9CoE,IAAQqP,aAAaipI,WAAaA,G,6BC9UlC,6DAUO,SAASmjB,EAA0B9nG,EAAgBt0D,GAKxD,MAAMq8J,EAA0B/nG,EAAOl3C,cAAc1F,IAAKwY,GACjDA,EAAEtxB,MAEL09J,EAAgC,GAItC,SAASC,EAAqB/4H,GAC5B,GAAI64H,EAAcr+I,SAASwlB,EAAI5kC,MAC7B,OAAO,EAET,GAAI09J,EAAct+I,SAASwlB,GACzB,OAAO,EAET,GAAIA,EAAI7oB,UACN,OAAO,EAGT,MAAM6hJ,EAAa,CACjB,eACA,gBACA,eACA,iBACA,eACA,gBACA,mBACA,oBACA,mBACA,qBACA,mBACA,oBACA,mBACA,mBACA,mBACA,qBACA,mBAEF,IAAK,MAAM9mI,KAAQ14B,OAAOuT,KAAKizB,EAAI3oB,OACjC,GAAI2hJ,EAAWx+I,SAAS0X,GACtB,OAAO,EAIX,OAAO,EAKT,GAAI11B,EAAEmwD,SAAU,CACd,MAAMrxC,EAAM9e,EAAEkgI,iBAEd,IAAK,MAAMtqB,KAAW54G,OAAOuT,KAAKgN,KAAsB,CACtD,MAAMimB,EAAMjmB,IAAoBq4F,GAC3B2mD,EAAqB/4H,KAItB1kB,EAAI6d,iBAAmB6G,EAAInmB,QAAQrd,GAAGqa,SACxCiiJ,EAAcj/J,KAAKmmC,KAKzB,IAAK,MAAMc,KAAWtkC,EAAEsa,SAAU,CAChC,GAAIgqB,IAAYtjC,IAAaojC,aAC3B,SAEF,GAAIE,IAAYtjC,IAAa2hC,WAC3B,SAEF,MAAM7jB,EAAsBzG,IAASisB,GACrC,GAAW,MAAPxlB,EAIJ,IAAK,MAAM82F,KAAW92F,EAAI1B,cAAe,CACvC,MAAMomB,EAAoBjmB,IAAoBq4F,GACzC2mD,EAAqB/4H,KAItB1kB,EAAI6d,iBAAmB6G,EAAInmB,QAAQrd,GAAGqa,SACxCiiJ,EAAcj/J,KAAKmmC,KAKzB,OAAO84H,I,6BCtGT,kCACO,MAAMG,EAAoB,IADjC,OACqC14G,I,6BCDrC,6DASO,MAAM4nB,EAA0C,CACrD,CACEz4C,KAAMvkB,IAAS6S,MACfm9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAao8C,cACnBuoC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS6S,MACfm9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAas2B,0BACnBquD,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS6S,MACfm9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAa+2B,wBACnB4tD,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS6S,MACf+gC,SAAU,EACV+iE,QAAS,EACT1mH,KAAMiK,IAAa4/G,qBACnBj7B,MAAO,CAACliE,IAAaw8F,MAEvB,CACE50F,KAAMvkB,IAAS6S,MACfm9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,OAEzB9/H,KAAMiK,IAAag2B,WACnB2uD,MAAO,CAACliE,IAAa4N,QAAS5N,IAAaqxI,YAC3CC,iBAAkB,IAClBC,iBAAkB,KAEpB,CACE3pI,KAAMvkB,IAAS6S,MACfm9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,OAEzB9/H,KAAMiK,IAAa43B,yBACnB+sD,MAAO,CAACliE,IAAa4N,QAAS5N,IAAaqxI,YAC3CC,iBAAkB,KAClBC,iBAAkB,KAEpB,CACE3pI,KAAMvkB,IAAS6S,MACfm9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAayuH,0BACnB9pC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS6S,MACfm9G,iBAAkB,CAChB+9B,kBAAmB,EACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAa+8C,yBACnB4nC,MAAO,CAACliE,IAAa4N,QAAS5N,IAAaqxI,YAC3CC,iBAAkB,GAClBC,iBAAkB,GAEpB,CACE3pI,KAAMvkB,IAAS6S,MACfm9G,iBAAkB,CAChB+9B,kBAAmB,EACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAa2uH,YACnBhqC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS6S,MACfm9G,iBAAkB,CAChB+9B,kBAAmB,EACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAa28C,qBACnBgoC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS6S,MACf+gC,SAAU,GACV+iE,QAAS,EACT1mH,KAAMiK,IAAa6/G,oBACnBl7B,MAAO,CAACliE,IAAaw8F,MAEvB,CACE50F,KAAMvkB,IAAS6S,MACf+gC,SAAU,EACV+iE,QAAS,EACT1mH,KAAMiK,IAAaw/G,sBACnB76B,MAAO,CAACliE,IAAawxI,aAEvB,CACE5pI,KAAMvkB,IAAS6S,MACfm9G,iBAAkB,CAChB+9B,kBAAmB,EACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAay8C,sBACnBkoC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS6S,MACf5iB,KAAMiK,IAAak0J,YACnBvvE,MAAO,CAACliE,IAAa0xI,SAEvB,CACE9pI,KAAMvkB,IAAS8S,UACfk9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,OAEzB9/H,KAAMiK,IAAaw3B,+BACnBmtD,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS8S,UACfk9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,OAEzB9/H,KAAMiK,IAAas8C,6BACnBqoC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAASiT,OACf+8G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAaw8C,kBACnBmoC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAASiT,OACf+8G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,KAEzB9/H,KAAMiK,IAAag9C,oBACnB2nC,MAAO,CAACliE,IAAa4N,QAAS5N,IAAaqxI,YAC3CC,iBAAkB,IAClBC,iBAAkB,GAEpB,CACE3pI,KAAMvkB,IAASiT,OACf+8G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAa87C,wBACnB6oC,MAAO,CAACliE,IAAa4N,QAAS5N,IAAaqxI,YAC3CC,iBAAkB,IAClBC,iBAAkB,IAEpB,CACE3pI,KAAMvkB,IAASgT,SACfg9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAa+7C,gBACnB4oC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAASgT,SACfg9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,KAEzB9/H,KAAMiK,IAAau8C,8BACnBooC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAASgT,SACfg9G,iBAAkB,CAChB+9B,kBAAmB,EACnBh+B,sBAAuB,KAEzB9/H,KAAMiK,IAAa67G,kBACnBl3B,MAAO,CAACliE,IAAa4N,QAAS5N,IAAa2xI,UAE7C,CACE/pI,KAAMvkB,IAASgT,SACfg9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAai8C,iBACnB0oC,MAAO,CAACliE,IAAa4N,QAAS5N,IAAa2xI,UAE7C,CACE/pI,KAAMvkB,IAASgT,SACf/iB,KAAMiK,IAAaq0J,eACnB1vE,MAAO,CAACliE,IAAa2xI,UAEvB,CACE/pI,KAAMvkB,IAAS+S,SACfi9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAa48C,yBACnB+nC,MAAO,CAACliE,IAAa4N,QAAS5N,IAAaqxI,YAC3CC,iBAAkB,EAClBC,iBAAkB,GAEpB,CACE3pI,KAAMvkB,IAAS+S,SACfi9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,OAEzB9/H,KAAMiK,IAAay2B,wBACnBkuD,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS+S,SACf9iB,KAAMiK,IAAai5B,YACnB0rD,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS+S,SACfi9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAas0J,2BACnB3vE,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS+S,SACf9iB,KAAMiK,IAAau0J,iBACnB5vE,MAAO,CAACliE,IAAa2xI,UAEvB,CACE/pI,KAAMvkB,IAAS+S,SACfi9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,KAEzB9/H,KAAMiK,IAAa0uH,iBACnB/pC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS+S,SACf9iB,KAAMiK,IAAai9C,mBACnB0nC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS+S,SACfi9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAaq3B,kBACnBstD,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS+S,SACfi9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAak8C,2BACnByoC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS+S,SACf4jG,QAAS,EACT/iE,SAAU,EACV3jD,KAAMiK,IAAa8/G,gBACnBn7B,MAAO,CAACliE,IAAaw8F,MAEvB,CACE50F,KAAMvkB,IAAS+S,SACfi9G,iBAAkB,CAChB+9B,kBAAmB,EACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAak9C,iBACnBynC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS+S,SACfi9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,OAEzB9/H,KAAMiK,IAAam2B,iBACnBwuD,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAAS+S,SACf9iB,KAAMiK,IAAak5B,YACnByrD,MAAO,CAACliE,IAAa4N,QAAS5N,IAAa2xI,UAE7C,CACE/pI,KAAMvkB,IAAS+S,SACf6gC,SAAU,GACV+iE,QAAS,GACT1mH,KAAMiK,IAAa+/G,sBACnBp7B,MAAO,CAACliE,IAAaw8F,MAEvB,CACE50F,KAAMvkB,IAAS+S,SACf6gC,SAAU,EACV+iE,QAAS,EACT1mH,KAAMiK,IAAaivC,0BACnB01C,MAAO,CAACliE,IAAawxI,aAEvB,CACE5pI,KAAMvkB,IAAS+S,SACfi9G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,KAEzB9/H,KAAMiK,IAAam8C,wBACnBwoC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAASkT,SACf88G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAa88C,iBACnB6nC,MAAO,CAACliE,IAAa4N,QAAS5N,IAAaqxI,YAC3CC,iBAAkB,IAClBC,iBAAkB,GAEpB,CACE3pI,KAAMvkB,IAASkT,SACf88G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAag8C,mBACnB2oC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAASkT,SACf88G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAa08C,iBACnBioC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAASkT,SACf0gC,SAAU,EACV+iE,QAAS,EACT1mH,KAAMiK,IAAaggH,4BACnBr7B,MAAO,CAACliE,IAAaw8F,MAEvB,CACE50F,KAAMvkB,IAASkT,SACf88G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAa42B,YACnB+tD,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAASkT,SACf88G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAak3B,4BACnBytD,MAAO,CAACliE,IAAa4N,QAAS5N,IAAaqxI,YAC3CC,iBAAkB,KAClBC,iBAAkB,KAEpB,CACE3pI,KAAMvkB,IAASkT,SACf88G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,GAEzB9/H,KAAMiK,IAAaq8C,0BACnBsoC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAASkT,SACf88G,iBAAkB,CAChB+9B,kBAAmB,GACnBh+B,sBAAuB,MAEzB9/H,KAAMiK,IAAa68C,0BACnB8nC,MAAO,CAACliE,IAAa4N,UAEvB,CACEhG,KAAMvkB,IAASkT,SACf0gC,SAAU,EACV+iE,QAAS,EACT1mH,KAAMiK,IAAay/G,gCACnB96B,MAAO,CAACliE,IAAawxI,aAEvB,CACE5pI,KAAM,KACNt0B,KAAMiK,IAAaw0J,SACnB7vE,MAAO,CAACliE,IAAa+xI,WAEvB,CACEnqI,KAAM,KACNt0B,KAAMiK,IAAay0J,MACnB9vE,MAAO,CAACliE,IAAagyI,QAEvB,CACEpqI,KAAM,KACNt0B,KAAMiK,IAAauqB,aACnBo6D,MAAO,CAACliE,IAAa8H,eAEvB,CACEF,KAAM,KACNt0B,KAAMiK,IAAa00J,mBACnB/vE,MAAO,CAACliE,IAAayzB,cAEvB,CACE7rB,KAAMvkB,IAAS8S,UACf7iB,KAAMiK,IAAa20J,+BACnBhwE,MAAO,CAACliE,IAAa2xI,UAEvB,CACE/pI,KAAMvkB,IAASiT,OACfhjB,KAAMiK,IAAa40J,aACnBjwE,MAAO,CAACliE,IAAa2xI,Y,6BCnczB,sHAIO,SAASjjD,EAAc42C,EAAiBhgJ,GAC7C,MAAM8sJ,EAAgC,GAAlB9M,EAAQ7zJ,QAA2B,QAAZ6zJ,EAAoB,KAAOA,EAAQxwJ,MAAM,GAC9Eu9J,EAAM,IAAIC,IAEVC,EAAW,CAACC,EAAqBC,KACrC,IAAK,IAAIlhK,EAAI,EAAGA,EAAIkhK,EAAahhK,SAAUF,EAAG,CAC5C,IAAI+B,EAAOk/J,EAAUjhK,GACjB+B,EAAKqpB,WAAW,OAAMrpB,EAAOA,EAAKwB,MAAM,IACvCs9J,IAAe9+J,EAAK80C,SAASgqH,IAChCC,EAAIhsG,KAAK/yD,EAAM,IAAI22D,KAAK,CAACwoG,EAAalhK,IAAK,CAAEgnC,KAAM,kBAiBzD,GAbK65H,IAAez3G,YAAiBy3G,IACnCG,EACEjtJ,EAAOijD,QAAQn8C,IAAKvZ,GAAMA,EAAE2U,UAC5BlC,EAAOijD,QAAQn8C,IAAKvZ,GAAMA,EAAEw1D,OAG3B+pG,IAAeA,EAAYhqH,SAAS,SACvCmqH,EACEjtJ,EAAOwhF,UAAU16E,IAAKvZ,GAAMA,EAAEk2C,IAC9BzjC,EAAOwhF,UAAU16E,IAAKvZ,GAAMA,EAAE0hE,OAIG,GAAjC7iE,OAAOuT,KAAKotJ,EAAItiH,OAAOt+C,OAAa,MAAM,IAAI2S,MAAO,8BAA6BkhJ,GACtF,MAAMoN,EAAS,YAAW/3G,YAAiB2qG,GAAW,UAAwB,UAAZA,EAAsB,QAAU,cAClG+M,EAAIM,cAAc,CAAEp6H,KAAM,SAAU8sB,KAAM7e,GAAkBosH,IAAUC,OAAOrsH,EAASksH,IAGjF,SAASzsG,EACdnW,EACAiF,EACA5wC,EACAmB,EACAmvC,GAEA,IACE,GAAoB,IAAhBA,EAAKhjD,OAEP,YADAq+C,EAAS1iC,MAAM,2EAGjB,MAAM27B,EAAK0L,EAAK,GAAK,GAErB,GAAI1L,EAAGpsB,WAAW,KAChB,IAEE,YADA+xF,EAAc3lE,EAAIzjC,GAElB,MAAOsf,GACP,IAAIu9B,EAAM8X,OAAOr1C,GAIjB,OAHU,OAANA,GAA0B,iBAALA,GAAiBA,EAAEhzB,eAAe,aACzDuwD,EAAM8X,OAAQr1C,EAA2BksD,UAEpChhC,EAAS1iC,MAAM+0C,QAEnB,GAAIxH,YAAiB5R,GAAK,CAE/B,MAAM0O,EAAS3H,EAAS29B,UAAUtpE,EAAQ4kC,GAC1C,GAAc,MAAV0O,EACF,OAAOA,EAAOwO,eAEX,KAAIld,EAAGX,SAAS,QAQrB,YADA0H,EAAS1iC,MAAO,iCAPc,CAE9B,MAAMtK,EAAMgtC,EAAS+2C,YAAY1iF,EAAQ4kC,GACzC,GAAW,MAAPjmC,EACF,OAAOA,EAAImjD,YAOf,YADAnW,EAAS1iC,MAAS27B,EAAF,mBAEhB,MAAOnkB,GAEP,YADAkrB,EAAS1iC,MAAMwX,EAAI,O,+LCnFhB,MAAMy2G,EAOXhiI,YAAY9E,EAAW+e,GAAe,aALhC,GAKgC,WAFlC,GAGFha,KAAK/E,EAAIA,EACT+E,KAAKohC,IAAMpnB,K,6BCTf,+EAEO,MAAMw/I,EACX,uBAAKC,MAAM,6BAA6B/sH,MAAM,OAAO+V,OAAO,OAAOi3G,QAAQ,cAActsH,MAAO,CAAEuV,KAAM,YACtG,yBACE,wBAAM5oD,EAAE,wTACR,wBAAMA,EAAE,sPAID4/J,EACX,uBACEF,MAAM,6BACN/sH,MAAM,OACN+V,OAAO,OACPi3G,QAAQ,sBACRtsH,MAAO,CAAEuV,KAAM,YAEf,wBAAM5oD,EAAE,yFACR,wBAAMA,EAAE,4FACR,wBAAMA,EAAE,sHACR,wBAAMA,EAAE,iH,6BCrBZ,0IAoBO,SAAS6/J,GAAY,OAAEtvJ,EAAF,SAAUuvJ,EAAV,YAAoBluI,EAApB,SAAiCgtB,IAC3D,MAAM9tC,EAAS0I,IAAI9X,SAEbq+J,EAAcxvJ,EAAO0P,MAAQ1P,EAAOwd,SACpCiyI,EAAczvJ,EAAO0P,MAAQ,EAgBnC,OACE,kBAAC,IAAD,CAAKO,QAAQ,OAAOgjC,cAAc,MAAM/iC,WAAW,UACjD,kBAAC,IAAD,CAAKD,QAAQ,QACX,kBAAC,IAAD,CACEq/C,MACE,kBAAC,IAAD,KACGtvD,EAAOm+H,+BAA+B18G,IAAqBsB,2BAD9D,qCAMF,kBAAC,IAAD,eACU/iB,EAAO0P,MADjB,MAC2B1P,EAAOwd,YAItC,kBAAC,IAAD,CAAS8xC,MAAOigG,EAAW,kBAAC,IAAD,+DAAkF,IAC3G,8BACE,kBAAC,IAAD,CAAYtvJ,UAAWuvJ,EAAaj6G,QAhC5C,WACOi6G,MACHxvJ,EAAO0P,MACL6/I,GAAUluI,EAAYyxD,YAAYvyE,EAAQ8gB,EAAYrhB,QAC1DquC,OA6BQ,kBAAC,IAAD,SAIN,kBAAC,IAAD,CAASihB,MAAOigG,EAAW,kBAAC,IAAD,+DAAkF,IAC3G,8BACE,kBAAC,IAAD,CAAYtvJ,UAAWwvJ,EAAal6G,QAhC5C,WACOk6G,MACHzvJ,EAAO0P,MACL6/I,GAAUluI,EAAYyxD,YAAYvyE,EAAQ8gB,EAAYrhB,QAC1DquC,OA6BQ,kBAAC,IAAD,Y,+BClEZ,sFAYO,SAASqhH,EAAUtvJ,GAKxB,OACE,kBAAC,IAAD,CAAK6P,QAAQ,OAAOgjC,cAAc,MAAM/iC,WAAW,UACjD,kBAAC,IAAD,CAASo/C,MAAO,kBAAC,IAAD,8DACd,kBAAC,IAAD,qBAEF,kBAAC,IAAD,CAAQ2H,QAAS72D,EAAMJ,OAAOg8E,UAAW7sB,SAT7C,SAAqBzoB,GACnBtmC,EAAMJ,OAAOg8E,UAAYt1C,EAAM3lB,OAAOk2C,QACtC72D,EAAMiuC,iB,6BCfV,+EAUO,SAASshH,EAAevvJ,GAC7B,MAAOmR,EAAM0rD,GAAW3wB,oBAAS,GAEjC,OACE,oCACE,kBAAC,IAAD,CAAQrsC,SAAyC,IAA/BG,EAAMihB,YAAYw2D,SAAgBtiC,QAAS,IAAM0nB,GAAQ,IAA3E,6BAC6B51D,YAAajH,EAAMJ,OAAOu5E,UAAW,GADlE,KAGA,kBAAC,IAAD,CAAehoE,KAAMA,EAAMC,QAAS,IAAMyrD,GAAQ,GAAQj9D,OAAQI,EAAMJ,OAAQqhB,YAAajhB,EAAMihB,iB,8BClBzG,4SAsBO,MAAM8pG,EAAsD,GAE7DykC,EAAW,CAACrvJ,EAAiB+zB,MAC7B/zB,EAAO7O,MAAQ4iC,EAAI3X,OAGhBw/B,YAAuB7nB,EAAIplB,cAQ9B2gJ,EAAuBzvJ,IAC3B,MAAMk0B,EAAMl0B,EAAMk0B,IAChB/zB,EAASH,EAAMG,OAEjB,OACE,kBAAC,IAAD,CAAYT,MAAOzL,IAASV,MAAMjC,OAChC,8CACA,6BACC4iC,EAAIjpB,QAAQ7C,IAAKsnJ,GAChB,0BAAMhtH,MAAO,CAAE7yB,QAAS,OAAQC,WAAY,WACzC3P,EAAO+O,gBAAgBwgJ,GAAU,kBAAC,IAAD,CAAUxwJ,GAAI,CAAEk2H,GAAI,KAAU,kBAAC,IAAD,CAAsBl2H,GAAI,CAAEk2H,GAAI,KAC/Fs6B,MAOEC,EAAe,KAC1B,MAAMxvJ,EAAS0I,IAAI9X,SACbggD,EAASloC,IAAID,SAEnB,IAAK,MAAMsrB,KAAOxmC,OAAO0gC,OAAOngB,KAAsB,CACpD,MAAM3e,EAAO4kC,EAAI5kC,KACXsgK,EAAe,IAAI5kC,IAAsB92F,GAC/C62F,EAAuBz7H,GAAQsgK,EAGjC,MAAOC,EAAaC,GAAkB5jH,mBAASm6D,YAAyBlmG,GAAQ,KACzE4vJ,EAAWC,GAAgB9jH,oBAAS,GACrC+jH,EAAuBhiJ,IAAoB4hJ,GAE3CtjH,EAAcL,oBAAS,GAAO,GACpC,SAAS+B,IACP1B,EAAa2B,IAASA,GAGxB,MAUMgiH,EAAmBC,IACvBl8J,IAASI,2BAA6B87J,EACtCliH,KAQF,OALAS,oBAAU,KACR,MAAMsG,EAAKwO,YAAYvV,EAAU,KACjC,MAAO,IAAM+1B,cAAchvB,IAC1B,IAGD,kBAAC,IAAD,CAAW8/E,gBAAc,EAACpkH,SAAS,KAAKxR,GAAI,CAAEirD,GAAI,IAChD,kBAAC,IAAD,CAAQhV,QAAS,IAAMpE,EAAOxF,WAAWhW,IAAUh8B,IAAai8C,oBAAhE,QACA,kBAAC,IAAD,CAAYV,QAAQ,MAApB,uBACA,kBAAC,IAAD,mFAEE,6BAFF,iJAKE,6BACA,6BANF,gQAYA,kBAAC,IAAD,CAAK51C,GAAI,CAAEkrD,GAAI,IACb,kBAAC,IAAD,CAAOlrD,GAAI,CAAExO,EAAG,IACd,kBAAC,IAAD,CAAYokD,QAAQ,MAApB,uBACA,kBAAC,IAAD,CAAK51C,GAAI,CAAE2Q,QAAS,OAAQklH,oBAAqB,YAC/C,kBAAC,IAAD,CAAQ71H,GAAI,CAAE8iC,MAAO,QAAUmT,QAAS,IAAM+6G,EAAgB57J,IAAkC87J,OAAhG,gBAGA,kBAAC,IAAD,CAAQlxJ,GAAI,CAAE8iC,MAAO,QAAUmT,QAAS,IAAM+6G,EAAgB57J,IAAkCC,UAAhG,2BAKH8xG,YAAyBlmG,GAAQ1S,OAAS,EACzC,kBAAC,IAAD,CAAOyR,GAAI,CAAEoyE,GAAI,EAAGtvC,MAAO,cAAenyB,QAAS,OAAQklH,oBAAqB,YAC9E,kBAAC,IAAD,CAAM71H,GAAI,CAAE64C,OAAQ,IAAK+qB,UAAW,SAAUhC,YAAc,aAAY7sE,IAASV,MAAMwtE,YAlD3E,MACpB,MAAM7jB,EAAOmpD,YAAyBlmG,GACtC,OAAQlM,IAASI,4BACf,KAAKC,IAAkC87J,KACrC,OAAOlzG,EAAK52C,KAAK,CAACI,EAAGE,IAAMmkH,EAAuBrkH,GAAG6V,KAAOwuG,EAAuBnkH,GAAG2V,MACxF,QACE,OAAO2gC,IA6CAmzG,GAAgBjoJ,IAAI,CAAC8sC,EAAG3nD,IACvB,kBAAC,IAAD,CAAgB8C,IAAK9C,EAAI,EAAG4nD,QAAS,IAAM26G,EAAe56G,GAAI+X,SAAU4iG,IAAgB36G,GACtF,kBAAC,IAAD,CACEh2C,GAAI,CACFQ,MAAO8vJ,EAASrvJ,EAAQ4qH,EAAuB71E,IAC3CjhD,IAASV,MAAM8c,QACfpc,IAASV,MAAMsM,WAGpBq1C,MAKT,kBAAC,IAAD,CAAKh2C,GAAI,CAAE/P,EAAG,IACZ,kBAAC,IAAD,CAAY2lD,QAAQ,KAAK51C,GAAI,CAAE2Q,QAAS,OAAQC,WAAY,SAAUqlH,SAAU,SAC9E,kBAAC,IAAD,CAAcj2H,GAAI,CAAEk2H,GAAI,KAD1B,IACmCy6B,GAEnC,kBAAC,IAAD,CACE16G,QAAS,IAAM66G,GAAa,GAC5B9wJ,GAAI,CAAE8iC,MAAO,QACbniC,UAAW2vJ,EAASrvJ,EAAQ4qH,EAAuB8kC,KAHrD,uBAME,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAOv+J,MAAOy5H,EAAuB8kC,GAAatzI,KAAMpc,OAAQA,KAPpE,KAWA,kBAAC,IAAD,CACEgR,KAAM4+I,EACN3+I,QAAS,IAAM4+I,GAAa,GAC5BlvD,UAAW,KACT3gG,EAAOyoG,UACL,IAAIkiB,IAAa,CACfh8G,aAAc+gJ,EACdvnH,aAAa,EACbnoC,OAAQA,KAGZA,EAAO0oB,gBACPkoB,EAAO1F,UAETw1D,iBACE,gEAC2B,kCAD3B,yDAC2F,kCAAW,IADtG,gBAGI1gG,EAAO+O,gBAAgB1V,IAAkB2jD,mBACzC,oCACE,6BACA,6BAFF,6FASR,kBAAC,IAAD,CAAKj+C,GAAI,CAAEyR,UAAW,IAAKmyD,UAAW,WACpC,kBAAC,IAAD,CAAYpjE,MAAOzL,IAASV,MAAMsX,MAChC,6CAAsB,IACrB1F,YACCqhG,YAA+BrmG,EAAQ4qH,EAAuB8kC,MAKjEI,EAAqBhlJ,QAAQxd,OAAS,GACrC,kBAACgiK,EAAD,CAAqBtvJ,OAAQA,EAAQ+zB,IAAK+7H,IAG5C,6BAEA,kBAAC,IAAD,KACG,MACC,MAAMplJ,EACiC,iBAA9BolJ,EAAqBplJ,KAC1B,8BAAOolJ,EAAqBplJ,MAE5BolJ,EAAqBplJ,KAUzB,OAPE,oCACGA,EACD,6BACA,6BACColJ,EAAqB5iJ,QAZ3B,OAsBT,kBAAC,IAAD,iCAIJ,kBAAC,IAAD,CAAKnO,GAAI,CAAEkrD,GAAI,IACb,kBAAC,IAAD,CAAYtV,QAAQ,MAApB,iBAEA,kBAAC,IAAD,CAAO51C,GAAI,CAAEkrD,GAAI,EAAG15D,EAAG,EAAGsxC,MAAO,gBAC/B,kBAAC,IAAD,KACE,gDADF,IAC4B7hC,EAAOmlB,QACjC,6BACA,4DAAqC,IACpCre,YAA+D,KAAjD,EAAIxN,IAAU+E,eAAiB2B,EAAOmlB,SAAgB,GAJvE,uBAQF,kBAAC,IAAD,yMAGE,6BACA,6BAJF,wM,6BC3OR,sDAEO,SAASgrI,IACd,MAAO1wH,EAAI2wH,GAASrkH,oBAAS,GAK7B,OAJAwC,oBAAU,KACR,MAAMnhD,EAAIi2D,YAAY,IAAM+sG,EAAOriH,IAASA,GAAM,KAClD,MAAO,IAAM81B,cAAcz2E,KAEtB,oCAAGqyC,EAAK,IAAM,4C,6BCRvB,kGAMO,SAAS4wH,IACd,MAAOC,EAAiBC,GAAsBxkH,oBAAS,GACvD,OACE,oCACE,kBAAC,IAAD,CAASgjB,MAAM,6EACb,kBAAC,IAAD,CAAQ2oE,UAAW,kBAAC,IAAD,MAAoB1iF,QAAS,IAAMu7G,GAAmB,IAAzE,iBAIF,kBAAC,IAAD,CAAkBv/I,KAAMs/I,EAAiBr/I,QAAS,IAAMs/I,GAAmB,Q,6BCfjF,kGAWO,SAASC,GAAkB,OAAE5/G,IAClC,MAAO6/G,EAAiBC,GAAsB3kH,oBAAS,GACvD,OACE,oCACE,kBAAC,IAAD,CAASgjB,MAAM,mEACb,kBAAC,IAAD,CAAQla,GAAG,yBAAyB6iF,UAAW,kBAAC,IAAD,MAAkB1iF,QAAS,IAAM07G,GAAmB,IAAnG,iBAIF,kBAAC,IAAD,CAAkB1/I,KAAMy/I,EAAiBx/I,QAAS,IAAMy/I,GAAmB,GAAQ9/G,OAAQA,O,qCCpBjG,sEAIO,SAAS+/G,IACd,OACE,oCACE,kBAAC,IAAD,CAAY5xJ,GAAI,CAAEkrD,GAAI,IAAtB,mGACmG,IACjG,kBAAC,IAAD,CAAMzE,KAAK,wEAAwEhlC,OAAO,UAA1F,yBAFF,KAOA,kBAAC,IAAD,CAAYzhB,GAAI,CAAEkrD,GAAI,IAAtB,mBACmB,IACjB,kBAAC,IAAD,CAAMzE,KAAK,qEAAqEhlC,OAAO,UAAvF,iBAEQ,IAJV,gC,8BCdN,kHAaO,SAASowI,GAAiB,MAAErxJ,EAAQ,YACzC,MAAOsxJ,EAAaC,GAAkB/kH,oBAAS,GAE/C,OACE,oCACE,kBAAC,IAAD,CAASgjB,MAAM,gFACb,kBAAC,IAAD,CAAQ2oE,UAAW,kBAAC,IAAD,MAAgBn4H,MAAOA,EAAOy1C,QAAS,IAAM87G,GAAe,IAA/E,gBAIF,kBAAC,IAAD,CACEnwD,UAAW,KACTmwD,GAAe,GACfp0C,cACGx7D,KAAK,KACJsqD,cACAr9D,WAAW,IAAMzqB,SAAS0qB,SAAU,OAErCqT,MAAOhyD,GAAM+F,QAAQyT,MAAO,0BAAyBxZ,KAE1DuhB,KAAM6/I,EACN5/I,QAAS,IAAM6/I,GAAe,GAC9BpwD,iBAAkB,kD,8BCnC1B,iGAaO,SAASqwD,GAAgB,MAC9BxxJ,EAAQ,UADsB,eAE9ByxJ,GAAiB,EAFa,YAG9Br5B,IAEA,MAAOk5B,EAAaC,GAAkB/kH,oBAAS,GAU/C,OACE,oCACE,kBAAC,IAAD,CAASgjB,MAAM,yFACb,kBAAC,IAAD,CAAQ2oE,UAAW,kBAAC,IAAD,MAAoBn4H,MAAOA,EAAOy1C,QAX3D,WACMg8G,EACFr5B,IAEAm5B,GAAe,KAOb,eAIF,kBAAC,IAAD,CACEnwD,UAAWg3B,EACX3mH,KAAM6/I,EACN5/I,QAAS,IAAM6/I,GAAe,GAC9BpwD,iBAAkB,oF,6BCvC1B,8LAqBA,MAAMuwD,EAAWpxJ,IACf,MAAMqxJ,EAAerxJ,EAAMk0B,IAAIjpB,QAAQ+D,OAAQklB,GAAQl0B,EAAMG,OAAO+O,gBAAgBglB,IAC9Eo9H,EAAatxJ,EAAMk0B,IAAIjpB,QAAQxd,OAAS,GAAK4jK,EAAa5jK,SAAWuS,EAAMk0B,IAAIjpB,QAAQxd,OAE7F,OACE,kBAAC,IAAD,CACEyhE,MACE,oCACE,kBAAC,IAAD,CAAYhwD,GAAI,CAAEQ,MAAOzL,IAASV,MAAMjC,QAAxC,yDAGC0O,EAAMk0B,IAAIjpB,QAAQ7C,IAAKsnJ,GACtB,kBAAC6B,EAAD,CACE/iK,UAAWwR,EAAMG,OAAO+O,gBAAgBwgJ,GACxC3/J,MAAO2/J,EACPhwJ,MAAOzL,IAASV,MAAMjC,MACtBjB,IAAKq/J,OAMb,kBAAC,IAAD,CACExwJ,GAAI,CACF42H,GAAI,EACJt1D,SAAU,SACV3wD,QAAS,OACTC,WAAY,SACZpQ,MAAO4xJ,EAAar9J,IAASV,MAAMkqE,aAAexpE,IAASV,MAAM6V,MACjEooJ,SAAU,YAGXF,EACC,oCACE,kBAAC,IAAD,CAAa9wF,SAAS,QAAQthE,GAAI,CAAEk2H,GAAI,KAD1C,wBAKA,oCACE,kBAAC,IAAD,CAAQ50D,SAAS,QAAQthE,GAAI,CAAEk2H,GAAI,KADrC,WAEWp1H,EAAMk0B,IAAIjpB,QAAQxd,OAAS4jK,EAAa5jK,OAFnD,wBAeJgkK,EAAazxJ,GAEf,kBAAC,IAAD,CACEkvD,MACE,oCACE,kBAAC,IAAD,CAAYhwD,GAAI,CAAEQ,MAAOzL,IAASV,MAAMjC,QAAxC,wEAGA,4BACE,kBAAC,IAAD,CAAY4N,GAAI,CAAEQ,MAAOzL,IAASV,MAAMjC,QACtC,4BACE,2BAAI0O,EAAMk0B,IAAIlpB,SAAS,IADzB,YAGChL,EAAMG,OAAOwwH,kBAAoB3wH,EAAMk0B,IAAI7oB,WAC1C,uCACU,qCAGXrL,EAAMG,OAAOq1B,sBACXx1B,EAAMk0B,IAAI7oB,WACXrL,EAAMk0B,IAAI5kC,OAASkK,IAAkB4jD,YACnC,4BACE,4CAQd,kBAAC,IAAD,CACEojB,SAAS,QACTthE,GAAI,CAAE42H,GAAI,EAAGp2H,MAAOzL,IAASV,MAAMjC,MAAO69D,UAAW,iBAAkBqiG,SAAU,gBAYnFD,EAAevxJ,GAEjB,kBAAC,IAAD,CACEd,GAAI,CAAE2Q,QAAS,OAAQC,WAAY,SAAUpQ,MAAOM,EAAMxR,UAAYwR,EAAMN,MAAQzL,IAASV,MAAM6V,QAElGpJ,EAAMxR,UAAY,kBAAC,IAAD,CAAU0Q,GAAI,CAAEk2H,GAAI,KAAU,kBAAC,IAAD,CAAsBl2H,GAAI,CAAEk2H,GAAI,KAChFp1H,EAAMjQ,OAkBA2hK,EAA4B1xJ,GAErC,kBAAC,IAAD,CACE0Q,SAAS,KACTokH,gBAAc,EACd51H,GAAI,CAAEirD,GAAI,EAAGt6C,QAAS,OAAQklH,oBAAqB,iBAAkBW,IAAK,MAEzE11H,EAAM2xJ,SAASvpJ,IAAKk+F,GACnB,kBAACsrD,EAAD,CAAyBvhK,IAAKi2G,EAAS56B,OAAQ1rE,EAAOsmG,QAASA,EAASurD,OAAO,KAEhF7xJ,EAAM+sJ,cAAc3kJ,IAAKk+F,GACxB,kBAACsrD,EAAD,CAAyBvhK,IAAKi2G,EAAS56B,OAAQ1rE,EAAOsmG,QAASA,EAASurD,OAAO,MAYhF,SAASD,EAAwB5xJ,GACtC,MAAOmR,EAAM0rD,GAAW3wB,oBAAS,GAE3BhY,EAAMjmB,IAAoBjO,EAAMsmG,SAChCpqD,EAAWhoB,EAAInmB,QAAQ/N,EAAM0rE,OAAOvrE,QACpCoc,EAAOvc,EAAM0rE,OAAOomF,WAAa59H,EAAI9oB,SAAW8wC,EAASpxC,UACzDC,EAAUmxC,EAASnxC,QACnBF,EAA2B,iBAAbqpB,EAAIrpB,KAAoB,8BAAOqpB,EAAIrpB,MAAeqpB,EAAIrpB,KACpE8pG,EACJ,oCACG9pG,EACD,6BACA,6BACCqpB,EAAI7mB,OAIT,OACE,kBAAC,IAAD,CACEnO,GAAI,CACFxO,EAAG,GACHmf,QAAS,OACTklH,oBAAqB,uBACrBW,IAAK,EACL7zD,QAAS7hE,EAAM6xJ,MAAQ,IAAO,EAC9BlsF,SAAU,WAGZ,oCACE,kBAAC,IAAD,CAAKzmE,GAAI,CAAE2Q,QAAS,OAAQC,WAAY,WACtC,kBAAC,IAAD,CACEqlC,QAAS,IACPn1C,EAAM0rE,OAAO1vB,qBAAqBh8C,EAAM0rE,OAAOvrE,OAAQ+zB,EAAM/iB,IAC3D0rD,EAAQ1rD,KAGZtR,UAAWG,EAAM0rE,OAAOqmF,YAAY/xJ,EAAM0rE,OAAOvrE,OAAQ+zB,IAAQl0B,EAAM6xJ,MACvE3yJ,GAAI,CAAE8iC,MAAO,OAAQ+V,OAAQ,OAAQi6G,MAAO,OAAQvpF,MAAO,OAAQ2sD,GAAI,IAEtEp1H,EAAM6xJ,MAAQ,QAAU,OAG3B,kBAAC,IAAD,CAAK3yJ,GAAI,CAAEwR,SAAU1Q,EAAM6xJ,MAAQ,OAAS,QAC1C,kBAAC,IAAD,CAAK3yJ,GAAI,CAAE2Q,QAAS,OAAQC,WAAY,SAAUmiJ,kBAAoB,8BACpE,kBAAC,IAAD,CACE/iG,MACE,oCACE,kBAAC,IAAD,CAAYpa,QAAQ,MACjB90C,EAAMsmG,QACNtmG,EAAMsmG,UAAY9sG,IAAkB0U,mBAClC,YAAWgmB,EAAI9lB,SAASpO,EAAM0rE,OAAOvrE,SAE1C,kBAAC,IAAD,KAAaw0G,KAIjB,kBAAC,IAAD,CACEz1G,GAAI,CACFsyJ,SAAU,QACV3rF,aAAc,WACd/f,WAAY,SACZl1C,SAAU,SACVlR,MACEM,EAAM6xJ,QAAU7xJ,EAAM0rE,OAAOqmF,YAAY/xJ,EAAM0rE,OAAOvrE,OAAQ+zB,GAC1DjgC,IAASV,MAAMsM,SACf5L,IAASV,MAAM8c,UAGtB6jB,EAAI5kC,KACJ4kC,EAAI5kC,OAASkK,IAAkB0U,mBAAsB,YAAWgmB,EAAI9lB,SAASpO,EAAM0rE,OAAOvrE,UAItE,IAAxB+zB,EAAIlpB,SAASvd,SAAiBuS,EAAM0rE,OAAOomF,YAC1C,kBAACL,EAAD,CAAWtxJ,OAAQH,EAAM0rE,OAAOvrE,OAAQ+zB,IAAKA,IAE9CA,EAAIjpB,QAAQxd,OAAS,IAAMuS,EAAM0rE,OAAOomF,YAAc,kBAACV,EAAD,CAASjxJ,OAAQH,EAAM0rE,OAAOvrE,OAAQ+zB,IAAKA,OAKvGl0B,EAAM6xJ,OACL,kBAAC,IAAD,CAAK3yJ,GAAI,CAAE2Q,QAAS,OAAQC,WAAY,SAAUilH,oBAAqB,YACrE,kBAACw8B,EAAD,CACE/iK,UAAoB,IAAT+tB,GAAcvc,EAAM0rE,OAAOvrE,OAAO7O,MAAQirB,EACrDxsB,MAAOqF,IAAeqB,YAAY8lB,GAClC7c,MAAOzL,IAASV,MAAMjC,aAEF4O,IAArBF,EAAM0rE,OAAOtW,KACZ,kBAACm8F,EAAD,CACE/iK,UAAWwR,EAAM0rE,OAAOtW,KAAOrqD,EAC/Bhb,MAAUqF,IAAeyB,iBAAiBkU,GAAlC,OACRrL,MAAOzL,IAASV,MAAM6hE,OAM7BnhE,IAASrB,qCACR,kBAAC,IAAD,CACEue,KAAMA,EACNC,QAAS,IAAMyrD,GAAQ,GACvB5zD,QAASjJ,EAAM0rE,OAAOziE,QACtBirB,IAAKA,Q,6BC5QjB,8IA6BA,SAASkB,EAAO1kC,EAAYqgD,EAAiB1b,GAC3C,MAAM9Y,EAAO9iB,IAAUS,WAClBxJ,EAAE2P,UAAUkc,KAIjB7rB,EAAE+rB,UAAUF,EAAM,SAClB7rB,EAAE0kC,OAAOC,GACTx2B,YAAgB,sDAAkBw2B,EAAlB,MAChB0b,EAAO7G,UAGF,SAASgoH,EAAiBlyJ,GAC/B,MAAMG,EAAS0I,IAAI9X,SACbggD,EAASloC,IAAID,SACb2jC,EAAcL,oBAAS,GAAO,IAC7B/6B,EAAM0rD,GAAW3wB,oBAAS,IAC1B9G,EAAa+sH,GAAkBjmH,mBAAS7sC,IAAS+S,UACxD,SAAS67B,IACP1B,EAAa/8C,IAAOA,GAQtB,SAAS4iK,EAAYxuI,GACnB,MAAMrH,EAAO9iB,IAAUS,WAClBiG,EAAOE,UAAUkc,KAGlBtoB,IAASlB,2BACXqiC,EAAOj1B,EAAQ4wC,EAAQntB,IAGzBi5C,GAAQ,GACRs1F,EAAevuI,KAGjB,OAlBA8qB,oBAAU,KACR,MAAMsG,EAAKwO,YAAYvV,EAAU,KACjC,MAAO,IAAM+1B,cAAchvB,IAC1B,IAgBD,oCACE,kBAAC,IAAD,CAAYF,QAAQ,MAApB,iBACA,kBAAC,IAAD,CAAKqV,GAAI,GACP,kBAAC,IAAD,mEAC8D,IAC5D,kBAAC,IAAD,CAAO74D,MAAOmI,IAAUS,WAAYiG,OAAQH,EAAMtP,IAFpD,KAICuD,IAASjC,gBACR,oCACGtE,OAAO0gC,OAAO/uB,KACZ2P,OAAQ4U,GAAiBA,GAAQ5jB,EAAMtP,EAAEkzB,MACzCxb,IAAKwb,IAEJ,QAAc1jB,IADAxS,OAAO2/D,QAAQhuD,KAAU8P,KAAMq7D,GAAUA,EAAM,KAAO5mD,GAC3C,MAAM,IAAIxjB,MAAO,gCAA+BwjB,MACzE,OACE,kBAAC,IAAMimC,SAAP,CAAgBx5D,IAAKuzB,GACnB,kBAAC,IAAD,CAAQuxB,QAAS,IAAMi9G,EAAYxuI,GAAmB1kB,GAAI,CAAE/P,EAAG,IAC7D,kBAAC,IAAD,kBAAuBy0B,IAEzB,iCAMV,kBAAC,IAAD,CAAUu7G,YAAan/H,EAAMtP,EAAEkzB,KAAMw7G,SAAWx7G,GAAmBwuI,EAAYxuI,MAGnF,kBAAC,IAAD,CACEA,KAAMwhB,EACNhQ,OAAQ,IAAMA,EAAOj1B,EAAQ4wC,EAAQ3L,GACrCj0B,KAAMA,EACNC,QAAS,IAAMyrD,GAAQ,Q,mpBC3C/B,IAAIw1F,GAAgB,EAChBC,EAAoB,GACjB,SAASC,IACd,MAAMpiK,EAAKo6E,YAAmB,CAAE95B,KAAM,KAoBtC6hH,EAjBA,SAASE,EAASriK,GAChB,IAAImiK,EAAoB,GACxB,MAAMrxJ,EAAOvT,OAAOuT,KAAK9Q,GACzB,IAAK,MAAME,KAAO4Q,EAAM,CACtB,MAAMrN,EAAIzD,EAAGE,GACI,iBAANuD,IACT0+J,EAAQvkK,KAAKsC,GACbiiK,EAAUA,EAAQjsJ,OAAOmsJ,EAAS5+J,KAEnB,mBAANA,GACT0+J,EAAQvkK,KAAKsC,GAIjB,OAAOiiK,EAGCE,CAASriK,GAEnB,MAAMsiK,EAAU,CAAC,QAAS,QAAS,UAAW,SAAU,cAAe,gBACvEH,EAAUA,EAAQtjJ,OAAQgqC,IAAoBy5G,EAAQ/jJ,SAASsqC,IAAS1yC,OAI1E,MAAMosJ,EAOJr9J,YAAYmwC,EAAkB6e,EAAc7iD,EAAkBmxJ,EAA+BC,GAC3Ft9J,KAAKkwC,SAAWA,EAChBlwC,KAAK+uD,KAAOA,EACZ/uD,KAAKkM,SAAWA,EAChBlM,KAAKq9J,aAAeA,EACpBr9J,KAAKs9J,MAAQA,GAIjB,IAAIC,EAA4B,GAC5BC,EAAmC,KAGhC,SAASC,EAAK/yJ,GACnB,MAAMusC,EAAcL,oBAAS,GAAO,GAIpC,MAAM8mH,EAAY7vF,iBAAqC,MACjD8vF,EAAY9vF,iBAAsB,MAClC+vF,EAAe/vF,iBAAoB,OAClCgwF,EAAWC,GAAgBlnH,mBAAc,OACzCgiB,EAAQmlG,GAAannH,mBAAuC,OAC5Dl9B,EAAQskJ,GAAapnH,mBAAS,KAC9BqnH,EAAgBC,IAAqBtnH,oBAAS,IAE9CtuB,GAAK61I,IAAUvnH,mBAAS,aACxBwnH,GAAYC,IAAiBznH,mBAAqB,CAAC,CAAC,MAAO,OAC3D0nH,GAAaC,IAAkB3nH,oBAAS,IACxC4nH,GAAaC,IAAkB7nH,mBAAmB,KAElD8nH,GAAaC,IAAkB/nH,oBAAS,IACxCoD,GAAS4kH,IAAchoH,mBAAkB,CAC9C34C,MAAOU,IAASO,YAChB2/J,aAAclgK,IAASQ,mBACvB+rE,SAAUvsE,IAASS,eACnBsuE,SAAU/uE,IAASW,eACnBo3C,IAAKhsC,EAAMgsC,KAAO/3C,IAASU,aAGtBy/J,GAAaC,IAAkBnoH,oBAAS,GAG/C2mH,EAAcA,EAAY7jJ,OAAQykC,GACM,OAA/BpyC,YAAUoyC,EAAOjyC,WAEtBsxJ,GAAuD,OAAtCzxJ,YAAUyxJ,EAActxJ,YAC3CsxJ,EAAgBD,EAAY,QACN3yJ,IAAlB4yJ,IAA6BA,EAAgB,OAGnD,MAAOwB,GAAYC,IAAiBroH,mBAAS,CAC3C6L,OAAQnnD,OAAO20E,YACfvjC,MAAOpxC,OAAOg0E,aAuGhB,SAAS4vF,GAAgB/gH,GACG,OAAtBw/G,EAAU/vG,UACZzP,EAAOm/G,MAAQK,EAAU/vG,QAAQgL,OAAOumG,YACtChhH,EAAO4Q,KACP5Q,EAAOjO,SAASpB,SAAS,QAAU,YAAc,eAzGvDsK,oBAAU,KACR,MAAMgmH,EAAwBtwF,oBAAS,WACrCmwF,GAAc,CACZx8G,OAAQnnD,OAAO20E,YACfvjC,MAAOpxC,OAAOg0E,eAEf,KAIH,OAFAh0E,OAAOqzE,iBAAiB,SAAUywF,GAE3B,KACL9jK,OAAOuzE,oBAAoB,SAAUuwF,KAEtC,IAEHhmH,oBAAU,KACc,OAAlBokH,GACF6B,GAAU7B,EAAczuG,OAEzB,IAEH3V,oBAAU,KACR,SAASkmH,EAAQtuH,GACXryC,IAAShC,iBAEK,QAAdq0C,EAAM+d,OAAmB/d,EAAMuuH,SAAWvuH,EAAMwuH,WAClDxuH,EAAMsrF,iBACN5xH,EAAM+wC,OAAO7F,cAIG,QAAd5E,EAAM+d,OAAmB/d,EAAMuuH,SAAWvuH,EAAMwuH,WAClDxuH,EAAMsrF,iBACNtrF,EAAMorF,kBACN18H,OAIJ,OADAmxD,SAAS8d,iBAAiB,UAAW2wF,GAC9B,IAAMzuG,SAASge,oBAAoB,UAAWywF,KAGvDlmH,oBAAU,KAER,GAAIY,GAAQtD,KAAOkiB,IAAWilG,EAC5B,IAEEviK,OAAOmkK,QAAQ,CAAC,eAAe,SAAUpgK,GACvCy+J,EAAaz+J,EAAUqgK,YAAY9mG,EAAQglG,EAAahwG,UACxDvuD,EAAUsgK,QAAQC,IAAIC,SAAS,QAAS,KAAK,WAE3CngK,QAEFL,EAAUsgK,QAAQC,IAAIC,SAAS,OAAQ,KAAK,WAC1Cn1J,EAAM+wC,OAAO7F,gBAGfv2C,EAAUsgK,QAAQC,IAAIC,SAAS,gBAAiB,MAAM,WACpDngK,KACAgL,EAAM+wC,OAAO7F,gBAKfv2C,EAAUsgK,QAAQC,IAAIE,aAAa,YAAY,SAAUC,EAAc5kH,GAA2B,MAChG,MAAM6kH,EAAK,UAAG7kH,EAAKn6C,cAAR,QAAkB,EAEvBi/J,EAAYC,KAClB,QAAkBt1J,IAAdq1J,EAAyB,CAE3BE,IADmBF,EAAYD,GAASzC,EAAYplK,YAIxDkH,EAAUsgK,QAAQC,IAAIE,aAAa,YAAY,SAAUC,EAAc5kH,GAA2B,MAChG,MAAM6kH,EAAK,UAAG7kH,EAAKn6C,cAAR,QAAkB,EAEvBi/J,EAAYC,KAClB,QAAkBt1J,IAAdq1J,EAAyB,CAC3B,IAAIG,EAAYH,EAAYD,EAC5B,KAAOI,EAAY,GACjBA,GAAa7C,EAAYplK,OAE3BgoK,GAAWC,OAGf/gK,EAAUsgK,QAAQC,IAAIS,WAAW,KAAM,SAAU,WAAY,GAAI,CAAEC,QAAS,WAC5EjhK,EAAUsgK,QAAQC,IAAIS,WAAW,KAAM,SAAU,WAAY,GAAI,CAAEC,QAAS,WAC5E1nG,EAAOplC,WAET,YACQwmB,GAAQtD,MAElBmnH,WAAW0C,UACXzC,EAAa,OAGf,MAAO,KACLD,WAAW0C,YAEZ,CAACvmH,GAAS0jH,EAAW9kG,EAAQilG,IAYhC,MAAM2C,GAAkBC,kBACtB,IACE3xF,mBAAS,CAACv1E,EAAG+xB,KACX6yI,GAAO5kK,GACP8kK,GAAc/yI,GACdizI,IAAe,IACd,KACL,IAGF9lG,eAAe4mG,GAAUqB,GACvB,GAAqB,MAAjBlD,GAAyBA,EAActtH,SAASpB,SAAS,QAE3D,YADA0xH,GAAgB,MAAO,CAAC,CAAC,MAAO,MAGlCjC,IAAe,GACf,MAAMvuB,EAAW0wB,EAAU,GACrB1/F,QAAiBusC,YAAkB7iG,EAAMG,OAAQmlI,EAAUtlI,EAAMG,OAAOgxC,mBAAmBoT,SACjG,KAAI+R,EAAS/5C,KAAO,GAApB,CAUA,OAAQ+5C,EAAS/5C,MACf,KAAKw+F,IAAwB+nB,YAC3BgzB,GAAgB,oBAAqB,CAAC,CAAC,eAAgB,MACvD,MAEF,KAAK/6C,IAAwB8nB,eAC3BizB,GAAgB,yBAA0B,CAAC,CAAC,oBAAqB,MACjE,MAEF,KAAK/6C,IAAwBluC,YAC7B,QACEipF,GAAgB,oBAAqB,CAAC,CAAC,eAAgB,MAI3D,OAAO,IAAIn4G,QAAc,QAzBzB,CAAuB,QACrB,MAAM0P,EAAO,oBAAGiJ,EAASjJ,eAAZ,aAAG,EAAkB/mD,KAAK,CAACI,EAAGE,IAAMA,EAAE2V,KAAO7V,EAAE6V,aAA/C,QAAwD,GAC/D05I,EAAc,GACpB,IAAK,MAAMzrF,KAASnd,EAClB4oG,EAAYloK,KAAK,CAAE,GAAEy8E,EAAMl7E,SAASk7E,EAAMj2C,QAASn/B,IAAe6B,UAAUuzE,EAAMjuD,QAGpFu5I,GAAgB,QAAU1gK,IAAe6B,UAAUq/D,EAAS/5C,MAAO05I,IA8NvE,SAASzzD,GAAW0zD,GAClB,MAAM50J,EAASD,YAAU60J,EAAa10J,UACtC,GAAe,OAAXF,EAAiB,MAAM,IAAIlB,MAAM,wCACrC,GAAIu2C,YAAiBu/G,EAAa1wH,UAAW,CAE3C,IAAK,IAAIj4C,EAAI,EAAGA,EAAI+T,EAAOijD,QAAQ92D,OAAQF,IACzC,GAAI2oK,EAAa1wH,UAAYlkC,EAAOijD,QAAQh3D,GAAGiW,SAU7C,OATAlC,EAAOijD,QAAQh3D,GAAGi1G,WAChBxiG,EAAMG,OACN+1J,EAAa1wH,SACb0wH,EAAa7xG,KACbrkD,EAAMG,OAAOmjB,cACbhiB,EAAOijD,SAELtwD,IAAStB,oBAAoBy7C,IAAWC,gBAC5CruC,EAAM+wC,OAAO7F,aAMjB,MAAMuI,EAAS,IAAI4uD,IACnB5uD,EAAO+uD,WACLxiG,EAAMG,OACN+1J,EAAa1wH,SACb0wH,EAAa7xG,KACbrkD,EAAMG,OAAOmjB,cACbhiB,EAAOijD,SAETjjD,EAAOijD,QAAQx2D,KAAK0lD,OACf,KAAIyiH,EAAa1wH,SAASpB,SAAS,QAaxC,YADAvlC,YAAgB,0FAZiC,CACjD,IAAK,IAAItR,EAAI,EAAGA,EAAI+T,EAAOwhF,UAAUr1F,SAAUF,EAC7C,GAAI+T,EAAOwhF,UAAUv1F,GAAGw3C,KAAOmxH,EAAa1wH,SAI1C,OAHAlkC,EAAOwhF,UAAUv1F,GAAGq1F,MAAMszE,EAAa7xG,MACnCpwD,IAAStB,oBAAoBy7C,IAAWC,gBAC5CruC,EAAM+wC,OAAO7F,aAIjB,MAAMirH,EAAW,IAAI3zE,IAAS0zE,EAAa1wH,SAAU0wH,EAAa7xG,MAClE/iD,EAAOwhF,UAAU/0F,KAAKooK,IAMpBliK,IAAStB,oBAAoBy7C,IAAWC,WAC5CruC,EAAM+wC,OAAO7F,aAGf,SAASl2C,KACP,GAAsB,OAAlB89J,EAEF,YADAn9J,QAAQyT,MAAM,qEAIhB,GAAI0M,IAAUG,WAAaH,IAAUC,WAAaF,IAAeuB,mBAAoB,CAEnF,GAA+B,mBAA3B07I,EAActtH,UAA4D,eAA3BstH,EAActtH,SAE/D,YADA3mC,YAAgB,yCAGlB,MAAMu3J,EAAYtD,EAAczuG,KAAK9qB,QAAQ,MAAO,IAC9C88H,EAAM,gCACNC,EAAO,qEACb,OAA+B,GAA3BF,EAAUx9J,QAAQy9J,KAAyC,GAA3BD,EAAUx9J,QAAQ09J,QACpDz3J,YAAgB,sDAKlB2jG,GAAWswD,QAEX56I,eAKF,GAA8B,IAA1B46I,EAActtH,SAEhB,YADA3mC,YAAgB,gCAIlB,IAAK+lC,YAAgBkuH,EAActtH,UAIjC,YAHA3mC,YACE,6GAKJ,MAAMyC,EAASD,YAAUyxJ,EAActxJ,UACvC,GAAe,OAAXF,EAAiB,MAAM,IAAIlB,MAAM,wCACrC,GAAIu2C,YAAiBm8G,EAActtH,UAAW,CAE5C,IAAK,IAAIj4C,EAAI,EAAGA,EAAI+T,EAAOijD,QAAQ92D,OAAQF,IACzC,GAAIulK,EAActtH,UAAYlkC,EAAOijD,QAAQh3D,GAAGiW,SAS9C,OARAlC,EAAOijD,QAAQh3D,GAAGi1G,WAChBxiG,EAAMG,OACN2yJ,EAActtH,SACdstH,EAAczuG,KACdrkD,EAAMG,OAAOmjB,cACbhiB,EAAOijD,cAELtwD,IAAStB,oBAAoBy7C,IAAWC,YAMhD,MAAMoF,EAAS,IAAI4uD,IACnB5uD,EAAO+uD,WACLxiG,EAAMG,OACN2yJ,EAActtH,SACdstH,EAAczuG,KACdrkD,EAAMG,OAAOmjB,cACbhiB,EAAOijD,SAETjjD,EAAOijD,QAAQx2D,KAAK0lD,OACf,KAAIq/G,EAActtH,SAASpB,SAAS,QAYzC,YADAvlC,YAAgB,0FAXkC,CAClD,IAAK,IAAItR,EAAI,EAAGA,EAAI+T,EAAOwhF,UAAUr1F,SAAUF,EAC7C,GAAI+T,EAAOwhF,UAAUv1F,GAAGw3C,KAAO+tH,EAActtH,SAG3C,OAFAlkC,EAAOwhF,UAAUv1F,GAAGq1F,MAAMkwE,EAAczuG,WACpCpwD,IAAStB,oBAAoBy7C,IAAWC,YAIhD,MAAM8nH,EAAW,IAAI3zE,IAASswE,EAActtH,SAAUstH,EAAczuG,MACpE/iD,EAAOwhF,UAAU/0F,KAAKooK,IAMpBliK,IAAStB,oBAAoBy7C,IAAWC,WAuB9C,SAASmnH,KACP,GAAsB,OAAlB1C,EACF,OAAOD,EAAYvb,UAChB7jG,GACmB,OAAlBq/G,GACAr/G,EAAOjO,WAAastH,EAActtH,UAClCiO,EAAOjyC,WAAasxJ,EAActxJ,UAO1C,SAASi0J,GAAWv0J,GAClB,GAAsB,OAAlB4xJ,EAAwB,CAE1B,MAAMyD,EAAWf,UACAt1J,IAAbq2J,IACF1D,EAAY0D,GAAYzD,GAI5BA,EAAgB,IAAKD,EAAY3xJ,IAEP,OAAtB8xJ,EAAU9vG,SAA2C,OAAvB2vG,EAAY3xJ,WACXhB,IAA7B2yJ,EAAY3xJ,GAAO0xJ,OAAuBC,EAAY3xJ,GAAO0xJ,MAAM4D,eACrEhC,GAAgB3B,EAAY3xJ,IAE9B8xJ,EAAU9vG,QAAQuzG,SAAS5D,EAAY3xJ,GAAO0xJ,OAE9CI,EAAU9vG,QAAQwzG,YAAY7D,EAAY3xJ,GAAOyxJ,cACjDK,EAAU9vG,QAAQyzG,mBAAmB9D,EAAY3xJ,GAAOyxJ,aAAaltD,YACrEkvD,GAAU9B,EAAY3xJ,GAAOmjD,MAC7B2uG,EAAU9vG,QAAQp6B,SAItB,SAAS8tI,GAAW11J,GAElB,MAAM21J,EAAgBhE,EAAY3xJ,GAC5B41J,EAAmBjE,EAAYvb,UAClC7jG,GAAWA,EAAOjO,WAAaqxH,EAAcrxH,UAAYiO,EAAOjyC,WAAaq1J,EAAcr1J,UAE9F,IAAIu1J,EAAkB,IACI,IAAtBD,IACFC,EAAkBlE,EAAYiE,GAAkBzyG,MAElD,MAAM/iD,EAASD,YAAUw1J,EAAcr1J,UACvC,GAAe,OAAXF,EAAiB,MAAM,IAAIlB,MAAO,WAAUy2J,EAAcr1J,4CAE9D,MAAMw1J,EAAoB11J,EAAOijD,QAAQ+yF,UAAW7jG,GAAWA,EAAOjwC,WAAaqzJ,EAAcrxH,UAcjG,IAb2B,IAAvBwxH,GAA4BD,IAAoBz1J,EAAOijD,QAAQyyG,GAAmB3yG,MACpF0sE,IAAY/xH,KAAK,CACfF,IAAM,kCAAiC+3J,EAAcrxH,eAAeqxH,EAAcr1J,YAClFo8C,QAAUtvD,IACJA,IAEFuoK,EAAcxyG,KAAO0yG,EACrBv0D,GAAWq0D,OAMfhE,EAAYplK,OAAS,EAAG,CAC1BolK,EAAcA,EAAY7jJ,OAAO,CAACjf,EAAOxC,IAAMA,IAAM2T,GAErD,IAAI+1J,GAAe,OACsB/2J,IAArC2yJ,EAAY3xJ,EAAQ+1J,KACtBA,EAAc,OAC2B/2J,IAArC2yJ,EAAY3xJ,EAAQ+1J,KACtBA,EAAc,IAKlBnE,EAAgBD,EAAY3xJ,EAAQ+1J,GACV,OAAtBjE,EAAU9vG,gBAEiChjD,IAA3C2yJ,EAAY3xJ,EAAQ+1J,GAAarE,OACU,OAA3CC,EAAY3xJ,EAAQ+1J,GAAarE,OACjCC,EAAY3xJ,EAAQ+1J,GAAarE,MAAM4D,eAEvChC,GAAgB3B,EAAY3xJ,EAAQ+1J,IAGtCjE,EAAU9vG,QAAQuzG,SAAS5D,EAAY3xJ,EAAQ+1J,GAAarE,OAC5DI,EAAU9vG,QAAQwzG,YAAY7D,EAAY3xJ,EAAQ+1J,GAAatE,cAC/DK,EAAU9vG,QAAQyzG,mBAAmB9D,EAAY3xJ,EAAQ+1J,GAAatE,aAAaltD,YACnFutD,EAAU9vG,QAAQp6B,SAjoBtByjB,EAAa/8C,IAAOA,QAsoBlBqjK,EAAc,GACdC,EAAgB,KAChB9yJ,EAAM+wC,OAAO7F,aAiDjB,SAASgsH,GAAch2J,GAA8B,MACnD,MAAMi2J,EAAatE,EAAY3xJ,GACzBI,EAASD,YAAU81J,EAAW31J,UACpC,GAAe,OAAXF,EAAiB,MAAM,IAAIlB,MAAO,WAAU+2J,EAAW31J,4CAE3D,MAAM41J,EAAe91J,EAAOijD,QAAQp1C,KAAMtgB,GAAMA,EAAE2U,WAAa2zJ,EAAW3xH,UAC1E,iBAAO4xH,aAAP,EAAOA,EAAc/yG,YAArB,QAA6B,KAE/B,SAASgzG,GAAmB/wH,GAC1BgtH,EAAUhtH,EAAM3lB,OAAO5wB,OAEzB,SAASunK,KACPhE,EAAU,IACVE,IAAmBD,GAErB,MAAMgE,GAAsB7pK,OAAO0gC,OAAOykI,GAAa7jJ,OACpDykC,GAAWA,EAAOjyC,SAASkN,SAASM,IAAWykC,EAAOjO,SAAS92B,SAASM,IASrEwoJ,GAAelD,GAAWv8G,QAAU,KAAOzI,GAAQtD,IAAM,GAAK,IAG9DyrH,GAAcF,GAAoB9pK,OAFnB,KAE2C8pK,GAAoB9pK,OADlE,EACuF,EAEnGiqK,GAAeD,GAAcE,GACnC,OACE,oCACE,yBAAKj1H,MAAO,CAAE7yB,QAA2B,OAAlBijJ,EAAyB,QAAU,OAAQ/6G,OAAQ,OAAQ/V,MAAO,SACvF,kBAAC,IAAD,CAAiB41H,UA/LvB,SAAmBtpK,GAEjB,IAAKA,EAAO82C,YAEV,OAGF,MAAMyyH,EAfR,SAAiB33F,EAAyBwpF,EAAoBoO,GAC5D,MAAMxpK,EAAS4uC,MAAMC,KAAK+iC,IACnB63F,GAAWzpK,EAAOK,OAAO+6J,EAAY,GAG5C,OAFAp7J,EAAOK,OAAOmpK,EAAU,EAAGC,GAEpBzpK,EAUO0pK,CAAQnF,EAAavkK,EAAOk5B,OAAOtmB,MAAO5S,EAAO82C,YAAYlkC,OAE3E2xJ,EAAcgF,IAuLR,kBAAC,IAAD,CAAWI,YAAY,OAAOC,UAAU,cACrC,CAACC,EAAUC,IACV,kBAAC,IAAD,GACE1nJ,SAAW,SACXb,QAAQ,OACRgjC,cAAc,MACd/iC,WAAW,SACXg2C,WAAW,SACX0f,IAAK2yF,EAASE,UACVF,EAASG,eAPf,CAQE51H,MAAO,CACLzyB,gBAAiBmoJ,EAASG,eACtBtkK,IAASV,MAAMgqE,oBACftpE,IAASV,MAAM+pE,kBACnByF,UAAW,YAGb,kBAAC,IAAD,CAAS7T,MAAO,uBACbqkG,EACC,kBAAC,IAAD,CACExjK,MAAOif,EACP+/C,SAAUsoG,GACV7lC,WAAS,EACTxiE,WAAY,CACVC,eAAgB,kBAAC,IAAD,MAChBupG,YAAY,EACZppG,aAAc,kBAAC,IAAD,CAAWja,QAASmiH,QAItC,kBAAC,IAAD,CAAQniH,QAASmiH,IACf,kBAAC,IAAD,QAILC,GAAoBnvJ,IAAI,EAAGo9B,WAAUhkC,YAAYN,KAAU,QAC1D,MAGMu3J,EAA8B,SAAbj3J,EACjBk3J,GAHS,QAAb,EAAA5F,SAAA,eAAettH,YAAa+xH,GAAoBr2J,GAAOskC,WAC1C,QAAb,EAAAstH,SAAA,eAAetxJ,YAAa+1J,GAAoBr2J,GAAOM,SAGrD,CACE0O,WAAYjc,IAASV,MAAMiqE,OAC3Bm7F,YAAa1kK,IAASV,MAAMiqE,OAC5B99D,MAAOzL,IAASV,MAAM8c,SAExB,CACEH,WAAYjc,IAASV,MAAMgqE,oBAC3Bo7F,YAAa1kK,IAASV,MAAMgqE,oBAC5B79D,MAAOzL,IAASV,MAAM0qE,WAGxBw6F,IACFC,EAAWh5J,MAAQzL,IAASV,MAAMsX,MAEpC,MAAM+tJ,EAAkB,CACtBloJ,SAAW,OACXi1D,SAAW,OACXp8B,UAAW,SACX54B,UAAW,YACR+nJ,GAGCG,EAAiB,GAAEr3J,OAAcgkC,KA5GvD,SAAetkC,GACb,MAAMi2J,EAAatE,EAAY3xJ,GACzB43J,EAAmB5B,GAAch2J,GACvC,OAAyB,OAArB43J,GAIGA,IADqBz2D,IAAOI,WAAW00D,EAAW9yG,MAHnB,KAImB,GAqGQ00G,CAAM73J,KACzD,OACE,kBAAC,IAAD,CACE7Q,IAAKm1C,EAAWhkC,EAChBw3J,YAAaxzH,EAAWhkC,EACxBN,MAAOA,EACP+3J,mCAAmC,GAEjCd,GACA,2BACE3yF,IAAK2yF,EAASE,UACVF,EAASe,eACTf,EAASgB,gBAHf,CAIEz2H,MAAO,IACFy1H,EAASe,eAAex2H,MAC3BhyB,SAAa+mJ,GAAF,KACXh4F,YAAc,MACd25F,WAAY,EACZhpJ,OAAQ,aAAenc,IAASV,MAAMorE,QAGxC,kBAAC,IAAD,CAASzP,MAAO2pG,GACd,kBAAC,IAAD,CACE1jH,QAAS,IAAMsgH,GAAWv0J,GAC1BukE,YAAc7kD,IACZA,EAAEgxG,iBACe,IAAbhxG,EAAE48C,QAAco5F,GAAW11J,IAEjCwhC,MAAO,CACLhyB,SAAagnJ,GAAF,KACXnuH,UAAW,SACX34B,SAAU,YACP8nJ,IAGL,0BAAMh2H,MAAO,CAAE9xB,SAAU,SAAUsnJ,UAAW,MAAOryF,aAAc,aAChEgzF,KAIP,kBAAC,IAAD,CAAS3pG,MAAM,oDACb,kBAAC,IAAD,CAAQ/Z,QAAS,IAxL3C,SAAqBj0C,GACnB,MAAMi2J,EAAatE,EAAY3xJ,GACzB43J,EAAmB5B,GAAch2J,GACd,OAArB43J,GAEA3B,EAAW9yG,OAASy0G,GACtB/nC,IAAY/xH,KAAK,CACfF,IACE,4EACAq4J,EAAW3xH,SACX,yCACFoY,QAAUtvD,IACJA,IAEF6oK,EAAW9yG,KAAOy0G,EAGlBrD,GAAWv0J,GAEe,OAAtB8xJ,EAAU9vG,SAAmC,OAAfi0G,UACPj3J,IAArBi3J,EAAWvE,OAAuBuE,EAAWvE,MAAM4D,eACrDhC,GAAgB2C,GAElBnE,EAAU9vG,QAAQuzG,SAASU,EAAWvE,OAEtCI,EAAU9vG,QAAQwL,SAASyoG,EAAW9yG,MACtCswG,GAAUwC,EAAW9yG,MACrB2uG,EAAU9vG,QAAQp6B,aA6JmBuwI,CAAYn4J,GAAQwhC,MAAOk2H,GAChD,kBAAC,IAAD,CAAUp4F,SAAS,YAGvB,kBAAC,IAAD,CAAQrrB,QAAS,IAAMyhH,GAAW11J,GAAQwhC,MAAOk2H,GAC/C,kBAAC,IAAD,CAAWp4F,SAAS,eAO/B23F,EAASvpG,eAKlB,yBAAKlsB,MAAO,CAAE+tF,cAAe,SAC7B,kBAAC,IAAD,CACE6oC,YAtoBR,SAAqBrrG,GACnB,GAAIokG,EAAe,OAEnBA,GAAgB,EAChBpkG,EAAOsrG,UAAUC,+BAA+B,aAAc,CAC5DC,uBAAwB,CACtB7G,EACAxmI,KAEA,MAAM/jB,EAAOuqJ,EAAM8G,kBAAkBttI,GAC/ButI,EAAiD,GACvD,IAAK,MAAM3gH,KAAUs5G,EAAS,OAC5BqH,EAAY5rK,KAAK,CACf4gE,MAAO3V,EACP4gH,KAAM3rG,EAAOsrG,UAAUM,mBAAmBzY,SAC1C0Y,WAAY9gH,EACZ+gH,gBAAiB9rG,EAAOsrG,UAAUS,6BAA6BC,gBAC/D9gG,MAAO,CACL+gG,gBAAiB9tI,EAASq5E,WAC1B00D,YAAW,UAAE9xJ,aAAF,EAAEA,EAAM8xJ,mBAAR,QAAuB,EAClCC,cAAehuI,EAASq5E,WACxB40D,UAAWjuI,EAASkuI,UAI1B,MAAO,CAAEX,YAAaA,MAI1B,iBAIE,MAAMY,EAAKtsG,EAAOsrG,UAAUiB,eAAerrJ,KAAK,EAAG6lC,QAAgB,eAAPA,GAC5D,QAAW90C,IAAPq6J,EAAkB,MAAM,IAAIn6J,MAAM,mDAOtC,IAFmBm6J,IACjBA,EAAG3sK,eAAe,UACf6sK,CAAUF,GAAK,MAAM,IAAIn6J,MAAM,8CACpC,MAAM,SAAEi1I,SAAmBklB,EAAGG,SAG9BrlB,EAASslB,UAAU94H,KAAKs8F,QAAQ,CAAC,IAAI9lI,OAAO,YAAa,CAAEq1D,MAAO,QAClE,IAAK,MAAM1U,KAAUs5G,EACnBjd,EAASslB,UAAU94H,KAAKs8F,QAAQ,CAAC,IAAI9lI,OAAQ,MAAK2gD,QAAc,CAAE0U,MAAO,uBACrD,CAAC,MAAO,QAAS,MAAO,YAEhC/rB,QAASuT,GACrBmgG,EAASslB,UAAU94H,KAAKs8F,QAAQ,CAAC,IAAI9lI,OAAQ,MAAK68C,QAAS,CAAEwY,MAAO,oBAFjD,CAAC,OAAQ,QAAS,OAAQ,aAIlC/rB,QAASuT,GACpBmgG,EAASslB,UAAU94H,KAAKs8F,QAAQ,CAAC,IAAI9lI,OAAQ,MAAK68C,QAAS,CAAEwY,MAAO,mBAEtE2nF,EAASslB,UAAU94H,KAAKs8F,QAAQ,CAAC,IAAI9lI,OAAO,cAAe,CAAEq1D,MAAO,UA3BtE,GA8BA,MAAMlmC,GAAUozI,IAAY,IAAIrhI,QAAQ,WAAY,IACpD00B,EAAOsrG,UAAUsB,WAAWC,mBAAmBC,YAAYvzI,EAAQ,kBACnEymC,EAAOsrG,UAAUsB,WAAWG,mBAAmBD,YAAYvzI,EAAQ,kBACnEwmC,YAAWC,GACXb,YAAcn5D,IAASF,aACvBk6D,EAAOC,OAAOC,YAAY,cAAeX,YAAUv5D,IAASF,eAukBtDknK,QAnkBR,SAAiB/sG,EAA+BD,GAQ9C,GALAolG,EAAUnlG,GAEV8kG,EAAU9vG,QAAUgL,EACpB+kG,EAAU/vG,QAAU+K,EAEM,OAAtB+kG,EAAU9vG,SAA0C,OAAtB+vG,EAAU/vG,QAA5C,CAEA,IAAKljD,EAAM+rC,OAA2B,OAAlB+mH,EAQlB,OANA0B,GAAgB1B,GAChBE,EAAU9vG,QAAQuzG,SAAS3D,EAAcF,OACzCI,EAAU9vG,QAAQwzG,YAAY5D,EAAcH,cAC5CK,EAAU9vG,QAAQyzG,mBAAmB7D,EAAcH,aAAaltD,YAChEkvD,GAAU7B,EAAczuG,WACxB2uG,EAAU9vG,QAAQp6B,QAGpB,GAAI9oB,EAAM+rC,MAAO,CACf,MAAMA,EAAQr+C,OAAO2/D,QAAQrtD,EAAM+rC,OAEnC,IAAKA,EAAMt+C,OAET,YADAulK,EAAU9vG,QAAQp6B,QAIpB,IAAK,MAAOtlB,EAAU6gD,KAAStY,EAAO,CAEpC,MAAMorH,EAAatE,EAAY1jJ,KAC5BskC,GAAWA,EAAOjO,WAAahiC,GAAYiwC,EAAOjyC,WAAaxB,EAAMwB,UAExE,GAAI21J,QAEuBj3J,IAArBi3J,EAAWvE,OAA4C,OAArBuE,EAAWvE,OAAkBuE,EAAWvE,MAAM4D,eAClFhC,GAAgB2C,GAGlBrE,EAAgBqE,EAChBnE,EAAU9vG,QAAQuzG,SAASU,EAAWvE,OACtCI,EAAU9vG,QAAQwzG,YAAYS,EAAWxE,cACzCK,EAAU9vG,QAAQyzG,mBAAmBQ,EAAWxE,aAAaltD,YAC7DkvD,GAAUwC,EAAW9yG,UAChB,CAEL,MAAM2oF,EAAY,IAAI0lB,EACpBlvJ,EACA6gD,EACArkD,EAAMwB,SACN,IAAIyxJ,EAAU/vG,QAAQg4G,SAAS,EAAG,GAClCjI,EAAU/vG,QAAQgL,OAAOumG,YAAYpwG,EAAM7gD,EAAS4gC,SAAS,QAAU,YAAc,eAEvFyuH,EAAY9kK,KAAKi/I,GACjB8lB,EAAgB,IAAK9lB,GACrBgmB,EAAU9vG,QAAQuzG,SAASzpB,EAAU4lB,OACrC+B,GAAU3nB,EAAU3oF,QAK1B2uG,EAAU9vG,QAAQp6B,UAugBZqyI,QAAS,kBAAC,IAAD,+BACTpjH,OAAWy/G,GAAF,KACT4D,gBAAgB,aAChBC,aAAc,GACdtsG,SA1eR,SAAoBinG,GAClB,QAAgB91J,IAAZ81J,EAAuB,OAE3B,GADArB,GAAUqB,GACgB,OAAtBhD,EAAU9vG,QAAkB,OAChC,MAAMo4G,EAAStI,EAAU9vG,QAAQskC,cACjC,GAAe,OAAX8zE,EAAJ,CACA,GAAsB,OAAlBxI,EAAwB,CAC1BA,EAAgB,IAAKA,EAAezuG,KAAM2xG,EAASrD,aAAc2I,GACjE,MAAM/E,EAAW1D,EAAYvb,UAC1B7jG,GACmB,OAAlBq/G,GACAr/G,EAAOjO,WAAastH,EAActtH,UAClCiO,EAAOjyC,WAAasxJ,EAActxJ,UAEhC+5J,EAAS,IAAI1I,GACb2I,EAAa1I,EACnB0I,EAAWn3G,KAAO2xG,EAClBuF,EAAOhF,GAAYiF,EACnB3I,EAAc,IAAI0I,GAEpB,KAlDF,SAAiBvF,GACf,GAA0B,OAAtBhD,EAAU9vG,SAAsC,OAAlB4vG,EAAwB,OAC1D,IAAKA,EAActtH,SAASpB,SAAS,SAAW0uH,EAActtH,SAASpB,SAAS,OAAQ,OACxF,MAAMq3H,EAAeh4B,YAAkBuyB,GACvC,IAAsB,IAAlByF,EAAqB,CACvB,MAAMC,EAAiB1I,EAAU9vG,QAAQy4G,iBAAiB7H,GAAa,CACrE,CACE36F,MAAO,CACL+gG,gBAAiBuB,EACjBtB,YAAa,EACbC,cAAeqB,EACfpB,UAAW,IAEb/qH,QAAS,CACPssH,aAAa,EACbC,qBAAsB,qBACtBC,wBAAyB,CACvB/rK,MAAO,gDAKfgkK,GAAe2H,OACV,CACL,MAAMA,EAAiB1I,EAAU9vG,QAAQy4G,iBAAiB7H,GAAa,IACvEC,GAAe2H,IA0BfK,CAAQ/F,GACR,MAAO7sJ,OAqdH5V,MAAO+7C,GAAQ/7C,MACf+7C,QAAS,IAAKA,GAAS0sH,aAAa,KAGtC,kBAAC,IAAD,CACEx2F,IAAK0tF,EACL5yJ,UAAU,gBACVuP,QAAQ,OACRgjC,cAAc,MACd3zC,GAAI,CAAExO,EAAG,GACTof,WAAW,WAGb,kBAAC,IAAD,CAAKD,QAAQ,OAAOgjC,cAAc,MAAM3zC,GAAI,CAAE/P,EAAG,GAAK2gB,WAAW,UAC/D,kBAAC,IAAD,CAAQ+nH,UAAW,kBAAC,IAAD,MAAkB1iF,QAAS,IAAM8+G,IAAe,GAAO/0J,GAAI,CAAEk2H,GAAI,IAApF,WAGA,kBAAC,IAAD,CAAQjgF,QA3qBhB,WAC4B,OAAtB69G,EAAU9vG,SACd8vG,EAAU9vG,QAAQ+4G,UAAU,gCAAgCnlI,QAyqBtD,YACA,kBAAC,IAAD,CACEp3B,MAAOk0J,GAAc,YAAc,UACnC10J,GAAI,CAAEirD,GAAI,GACVhV,QAAS,KACPk/G,IAAe,KAGhBz2I,IAEH,kBAAC,IAAD,CAAQu3B,QAASngD,IAAjB,uBACA,kBAAC,IAAD,CAAQkK,GAAI,CAAEirD,GAAI,GAAKhV,QAASn1C,EAAM+wC,OAAO7F,YAA7C,2BAGA,kBAAC,IAAD,KACG,IACD,kDAAgC,IAChC,kBAAC,IAAD,CAAMvqB,OAAO,SAASglC,KAAK,yDAA3B,SAGC,MACD,kBAAC,IAAD,CAAMhlC,OAAO,SAASglC,KAAK,6EAA3B,UAKJ,kBAAC,IAAD,CACEx0C,KAAM6iJ,GACN5iJ,QAAS,KAAM,MACbg8C,YAAcn5D,IAASF,aACvB,UAAAk/J,EAAU/vG,eAAV,SAAmBgL,OAAOC,YAAY,cAAeX,YAAUv5D,IAASF,cACxEkgK,IAAe,IAEjB3kH,QAAS,CACP/7C,MAAOU,IAASO,YAChB2/J,aAAclgK,IAASQ,mBACvB+rE,SAAUvsE,IAASS,eACnBsuE,SAAU/uE,IAASW,eACnBo3C,IAAK/3C,IAASU,WAEhBK,KAAOs6C,IAAqB,MAC1B8d,YAAcn5D,IAASF,aACvB,UAAAk/J,EAAU/vG,eAAV,SAAmBgL,OAAOC,YAAY,cAAeX,YAAUv5D,IAASF,cACxEmgK,GAAW5kH,GACXr7C,IAASO,YAAc86C,EAAQ/7C,MAC/BU,IAASQ,mBAAqB66C,EAAQ6kH,aACtClgK,IAASS,eAAiB46C,EAAQkxB,SAClCvsE,IAASW,eAAiB06C,EAAQ0zB,SAClC/uE,IAASU,UAAY26C,EAAQtD,OAGjC,kBAAC,IAAD,CAAO76B,KAAMijJ,GAAahjJ,QAAS,IAAMijJ,IAAe,IACtD,kBAAC,IAAD,KACE,kBAAC,IAAD,KACGX,GAAWtrJ,IAAI,EAAE7X,EAAGX,KACnB,kBAAC,IAAMi6D,SAAP,CAAgBx5D,IAAKE,EAAIX,GACvB,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAWsP,GAAI,CAAEQ,MAAOzL,IAASV,MAAM8c,UAAY9f,GACnD,kBAAC,IAAD,CAAWoyC,MAAM,QAAQzjC,GAAI,CAAEQ,MAAOzL,IAASV,MAAM8c,UAClDzgB,UASjB,yBACE8yC,MAAO,CACL7yB,QAA2B,OAAlBijJ,EAAyB,OAAS,OAC3C/6G,OAAQ,OACR/V,MAAO,OACPjyB,eAAgB,SAChBD,WAAY,WAGd,0BAAM4yB,MAAO,CAAEhjC,MAAOzL,IAASV,MAAM8c,QAASmwD,SAAU,OAAQozC,UAAW,WACzE,kBAAC,IAAD,CAAY9+D,QAAQ,MAApB,iBACA,kBAAC,IAAD,CAAYA,QAAQ,MAApB,OACM,+CADN,MAEE,6BAFF,mC,gCC9iCV,gFAgBO,SAASonH,EAAkBn3D,EAAkBpgE,GAClD,MAAM3+B,EAAgB,GAEtB,IAAKu+B,YAAqBI,GACxB,OAAO3+B,EAGT,IAAIm2J,EAAQx3H,EAKZ,SAASy3H,EAAYr3H,GACnB,GAAc,MAAVo3H,GAAiBz2H,YAAkBX,GAAK,CAC1C,MAAMs3H,EAASr3H,YAAwBD,GACxB,MAAXs3H,GAAmBr2J,EAAI0I,SAAS2tJ,IAClCr2J,EAAIjY,KAAKsuK,QAEN,GAAIt3H,EAAGpsB,WAAWwjJ,GAAQ,CAC/B,MAAM7rC,EAAYvrF,EAAGj0C,MAAMqrK,EAAM1uK,QAC3B4uK,EAASr3H,YAAwBsrF,GACxB,MAAX+rC,GAAmBr2J,EAAI0I,SAAS2tJ,IAClCr2J,EAAIjY,KAAKsuK,IAdVF,EAAM/3H,SAAS,OAClB+3H,GAAS,KAkBX,IAAK,MAAM1oH,KAAUsxD,EAAKxgD,QACxB63G,EAAY3oH,EAAOjwC,UAGrB,IAAK,MAAM1E,KAAOimG,EAAKjiB,UACrBs5E,EAAYt9J,EAAIimC,IAGlB,OAAO/+B,EAMF,SAASs2J,EAAch7J,EAAoBqjC,GAChD,MAAM43H,EAAuB53H,GAAyB,MAAlBA,EAAI7zC,OAAO,GAAa,GAAK,KAEjE,MAAO,IAAIwQ,EAAOijD,QAAQn8C,IAAKvZ,GAAMA,EAAE2U,aAAclC,EAAOwhF,UAAU16E,IAAKpY,GAAMA,EAAE+0C,KAAK6R,KAAMpzC,GAC5FA,EAASmV,WAAW4jJ,M,sEC7DxB,ogBAkBA,SAASC,eAAen4G,GACtB,OAAO,IAAI4B,KAAK,CAAC5B,GAAO,CAAE9vB,KAAM,oBAG3Bw5B,eAAe0uG,QAAQt8J,OAAiBszC,OAAgB8Q,SAC7D,IAAKm4G,cAAcjpH,OAAQ8Q,SAAU,aAQ/B9Q,OAAOwgB,eAAe9zD,OAAQokD,SACpC,MAAMo4G,MAAQC,eAAenpH,OAAQ8Q,QAAS,IACxCjG,IAAMq+G,MAAMA,MAAMlvK,OAAS,GAAG6wD,IAChC7K,OAAO6K,KAAO7K,OAAO6K,MAAQA,KAC/B+H,IAAIM,gBAAgBlT,OAAO6K,KAazB7K,OAAO4K,aAAa5wD,OAAS,GAAGgmD,OAAO4K,aAAa1c,QAASyhG,GAAQ/8E,IAAIM,gBAAgBy8E,EAAI9kF,MACjG7K,OAAO6K,IAAMq+G,MAAMA,MAAMlvK,OAAS,GAAG6wD,IACrC7K,OAAOxkD,OAAS,IAAI0uD,QAASC,SAAYA,QAAQlkB,KAAK,yCACtD+Z,OAAO4K,aAAes+G,MAWjB5uG,eAAe6e,gBACpBzsE,EACAokD,EAAoB,GACpB3L,GAEA,MAAMnF,EAASmF,EAAa6wB,YAC5B,GAAe,OAAXh2B,EAAiB,MAAM,IAAIrzC,MAAM,wBAC/Bq8J,QAAQt8J,EAAQszC,EAAQ8Q,GAC9B3L,EAAa0d,SAAW7iB,EAAO6iB,SAC/B,MAAMumG,QAAqBppH,EAAOxkD,OAE5BkB,EAAKyoD,EAAamF,IAAI0uB,KAE5B,IAAKowF,EACH,MAAM3+G,2DAAqBtF,EAAiBnF,EAAOjwC,SAAT,uDAI5C,IAAKq5J,EAAavsJ,KAChB,MAAM4tC,2DACJtF,EACGnF,EAAOjwC,SAAT,4DAGL,OAAOq5J,EAAavsJ,KAAKngB,GAG3B,SAAS2sK,sBAAsBt5J,EAAkB+gD,EAAmBw4G,GAClE,MAAMC,EAAYz4G,EAAQp1C,KAAMtgB,GAAMA,EAAE2U,UAAYA,GAIpD,IAAKw5J,EAAW,OAAO,EAGvB,OADwBA,EAAUz6D,qBAAuBw6D,EAQ3D,SAASL,cAAcjpH,EAAgB8Q,GACrC,OAAK9Q,EAAOxkD,QACLwkD,EAAO4K,aAAazH,KAAMwsF,GAAQ05B,sBAAsB15B,EAAI5/H,SAAU+gD,EAAS9Q,EAAO8uD,uBAuB/F,SAASq6D,eAAenpH,EAAgB8Q,EAAmB04G,GAEzD,MAAMC,EAAwB,GAE9B,IAAK,MAAMx6D,KAAau6D,EACjBxpH,EAAOkvD,WAAW/rD,KAAM/nD,GAAMA,EAAEyS,SAAWohG,EAAUphG,QAAUzS,EAAE2U,UAAYk/F,EAAUl/F,WAC1FiwC,EAAOkvD,WAAW50G,KAAK,CAAEuT,OAAQohG,EAAUphG,OAAQkC,SAAUk/F,EAAUl/F,WAG3Ey5J,EAAKlvK,KAAK0lD,GACV,IAaE,MAAMs1B,EAAM33E,6CAAMqiD,EAAO4Q,KAAM,CAAE6kB,WAAY,SAAUF,YAAa,SAAUm0F,QAAQ,IAMhFC,EAA4B,GAElCz5B,0CAAY56D,EAAK,CACfQ,kBAAkB1sD,GAEXA,EAAK2K,QACV41I,EAAYrvK,KAAK,CACfyV,SAAUqZ,EAAK2K,OAAOz3B,MACtBqmF,MAAOv5D,EAAK2K,OAAO2xC,MAAM,GAAK,EAC9BkyE,IAAKxuH,EAAK2K,OAAO2xC,MAAM,GAAK,KAGhCkkG,uBAAuBxgJ,GAChBA,EAAK2K,QACV41I,EAAYrvK,KAAK,CACfyV,SAAUqZ,EAAK2K,OAAOz3B,MACtBqmF,MAAOv5D,EAAK2K,OAAO2xC,MAAM,GAAK,EAC9BkyE,IAAKxuH,EAAK2K,OAAO2xC,MAAM,GAAK,KAGhCmkG,qBAAqBzgJ,GACdA,EAAK2K,QACV41I,EAAYrvK,KAAK,CACfyV,SAAUqZ,EAAK2K,OAAOz3B,MACtBqmF,MAAOv5D,EAAK2K,OAAO2xC,MAAM,GAAK,EAC9BkyE,IAAKxuH,EAAK2K,OAAO2xC,MAAM,GAAK,OAMlCikG,EAAY92J,KAAK,CAACI,EAAGE,IAAMA,EAAEwvE,MAAQ1vE,EAAE0vE,OACvC,IAAImnF,EAAkB9pH,EAAO4Q,KAE7B,IAAK,MAAMxnC,KAAQugJ,EAAa,CAC9B,MAAM55J,EAAWqZ,EAAKrZ,SAASmV,WAAW,MAAQkE,EAAKrZ,SAASsD,UAAU,GAAK+V,EAAKrZ,SAG9Eg6J,EAAkBj5G,EAAQv1C,OAAQngB,GAAMq3C,kEAAiBr3C,EAAE2U,SAAUA,IAC3E,GAA+B,IAA3Bg6J,EAAgB/vK,OAAc,SAElC,MAAOgwK,GAAkBD,EAEnBE,EAAOd,eAAea,EAAgBl5G,EAAS04G,GAGrDC,EAASnvK,QAAQ2vK,GACjB,MAAMC,EAAOD,EAAKA,EAAKjwK,OAAS,GAAG6wD,IAGnCi/G,EAAkBA,EAAgBz2J,UAAU,EAAG+V,EAAKu5D,OAASunF,EAAOJ,EAAgBz2J,UAAU+V,EAAKwuH,KAKrGkyB,GAAoB,mBAAkB9pH,EAAOnyC,UAAUmyC,EAAOjwC,WAE9D,MAAMm6J,EAAOt3G,IAAIC,gBAAgBk2G,eAAee,IAGhD,OADAL,EAASnvK,KAAK,IAAI6vK,iDAAUnqH,EAAOjwC,SAAUm6J,EAAMlqH,EAAO8uD,uBACnD26D,EACP,MAAO/zJ,GAEP,IAAK,MAAMm1C,KAAO4+G,EAAU72G,IAAIM,gBAAgBrI,EAAIA,KACpD,MAAMn1C,EAnFR,QAqFE8zJ,EAAKp3H,S,6BChOT,iEAGO,SAAS4pG,EAAMouB,GACpB,MAAO,IACJ5wK,IACCA,EAAO06I,YAAS16I,GAEhB,MAAMwjD,EAEF,GAEJ,IAAK,MAAMphD,KAAKpC,EAAM,CACpB,IAAI+C,EAASimE,OACO,iBAAT5mE,EAAE,GACXW,EAAI89E,OACqB,kBAATz+E,EAAE,GAClBW,EAAIw7B,QACK0R,MAAMytC,QAAQt7E,EAAE,MACzBW,EAAI,CAACimE,SAEP,MAAM6nG,EAAYzuK,EAAE,GAAG5B,OAAS,EAAI,EAAI,EACxCgjD,EAAK,IAAIn6C,OAAOwnK,GAAazuK,EAAE,IAAMW,EAEvC,MAAMunJ,EAAMwmB,IAAOttH,EAAM,CAAEutH,KAAMH,IACjC,IAAK,MAAMxuK,KAAKpC,EACTsqJ,EAAI3pJ,eAAe,KAAOyB,EAAE,KAAQkoJ,EAAI3pJ,eAAe,IAAMyB,EAAE,MAAKkoJ,EAAIloJ,EAAE,IAAMA,EAAE,IAEzF,IAAK,MAAMgB,KAAO3C,OAAOuT,KAAKs2I,GAAM,CAClC,IAAKlnJ,EAAIsoB,WAAW,KAAM,SAC1B,MAAM5oB,EAAQwnJ,EAAIlnJ,UACXknJ,EAAIlnJ,GACX,MAAMytK,EAA2B,IAAfztK,EAAI5C,OAAe,EAAI,EACzC8pJ,EAAIlnJ,EAAIS,MAAMgtK,IAAc/tK,EAE9B,OAAOwnJ,K,6BCnCb,kCAEA,MAAM0mB,EAAqB,IAF3B,OAE+B5yF,GAAY,GAAI,QAiBxC,SAASs8D,EAASsb,GACvB,GAAiB,MAAbA,EAAmB,OAAO,KAC9B,MAZsBxvH,EAYFwvH,IAVP,iBAANxvH,GACPA,EAAE7lC,eAAe,eACjB6lC,EAAE7lC,eAAe,WACjB6lC,EAAE7lC,eAAe,WACjB6lC,EAAE7lC,eAAe,UAOf,OAAOq1J,EAbaxvH,MAgBtB,GAAIwvH,EAAUr1J,eAAe,UAAgC,UAApBq1J,EAAU9D,MAAmB,CACpE,MAAM76I,EAAiB,GACjB7W,EAASwwK,EAAmBve,YAAYuD,EAAW,UACzD,GAAsB,iBAAXx1J,EACT,IAAK,IAAIF,EAAI,EAAGA,EAAIE,EAAQF,IACtB0wK,EAAmBte,YAAYsD,EAAW11J,KAC5C+W,EAAI/W,GAAKo6I,EAASs2B,EAAmBve,YAAYuD,EAAW11J,KAIlE,OAAO+W,EACF,CAEL,MAAM1D,EAA+B,GACrC,IAAK,MAAMvQ,KAAO3C,OAAOuT,KAAKgiJ,EAAU3E,YAAa,CACnD,MAAM/0F,EAAM05F,EAAU3E,WAAWjuJ,GACjCuQ,EAAIvQ,GAAOs3I,EAASp+E,GAEtB,OAAO3oD,K,6BC3CX,+IAgBO,SAASs9J,EAA0Bl+J,GACxC,MAAMzM,EAAQg/G,eACR,MAAEtiD,EAAF,KAAStmB,EAAT,YAAew0H,EAAf,aAA4BC,GAAiBp+J,EAkBnD,OACE,gBAAC,IAAD,CAAKd,GAAI,CAAEk6J,WAAY,EAAGtjC,GAAI,MAC5B,gBAAC,IAAD,CAAY3gF,QAlBoB7O,IAClC83H,EAAa93H,EAAO,IAiB+BzmC,SAAmB,IAAT8pC,GACpC,QAApBp2C,EAAM2kK,UAAsB,gBAAC,IAAD,MAAmB,gBAAC,IAAD,OAElD,gBAAC,IAAD,CAAY/iH,QAjBe7O,IAC7B83H,EAAa93H,EAAOqD,EAAO,IAgBmB9pC,SAAmB,IAAT8pC,GAC/B,QAApBp2C,EAAM2kK,UAAsB,gBAAC,IAAD,MAAyB,gBAAC,IAAD,OAExD,gBAAC,IAAD,CAAY/iH,QAhBe7O,IAC7B83H,EAAa93H,EAAOqD,EAAO,IAemB9pC,SAAU8pC,GAAQ7zC,KAAKy9D,KAAKtD,EAAQkuG,GAAe,GACxE,QAApB5qK,EAAM2kK,UAAsB,gBAAC,IAAD,MAAwB,gBAAC,IAAD,OAEvD,gBAAC,IAAD,CAAY/iH,QAfmB7O,IACjC83H,EAAa93H,EAAOxwC,KAAKoD,IAAI,EAAGpD,KAAKy9D,KAAKtD,EAAQkuG,GAAe,KAcft+J,SAAU8pC,GAAQ7zC,KAAKy9D,KAAKtD,EAAQkuG,GAAe,GAC5E,QAApB5qK,EAAM2kK,UAAsB,gBAAC,IAAD,MAAoB,gBAAC,IAAD,U,6BChDzD,gPAiBO,SAASmG,GAA6B,EAAE9tK,EAAF,MAAK+e,IAChD,MAAO6B,EAAM0rD,GAAWn0D,IAAMwjC,UAAS,GACvC,OAAU,IAAN37C,EAAgB,qCAGlB,kBAAC,IAAD,CAAK0O,UAAWi2H,IAAOh2H,GAAI,CAAE+zG,GAAI,EAAGviH,EAAG,IACrC,kBAAC,IAAD,CAAgBokI,gBAAc,EAAC3/E,QAAS,IAAM0nB,EAAS3uB,IAASA,IAC9D,kBAAC,IAAD,CAAc79B,QAAS,kBAAC,IAAD,CAAYykC,QAAQ,MAApB,yBACtB3jC,EAAO,kBAAC,IAAD,CAAYzR,MAAM,YAAe,kBAAC,IAAD,CAAYA,MAAM,aAE7D,kBAAC,IAAD,CAAU4R,GAAIH,GACZ,kBAACmtJ,EAAD,CAA2B/tK,EAAGA,EAAG+e,MAAOA,MAMzC,MAAMgvJ,EAA4B,EAAG/tK,IAAG+e,YAC7C,MAAMnP,EAAS0I,IAAI9X,SAKbwtK,EAAmB,KAANhuK,EAAW8F,IAAW,EACnCkV,EAAQotD,YAAsBpoE,EAAG+e,UAASxZ,KAAK4M,IAAIvC,EAAOgc,cAAc5rB,GAAK,EAAGguK,IAEtF,OACE,kBAAC,IAAD,CAAKr/J,GAAI,CAAEs/J,YAAa,EAAGC,UAAW,EAAGntF,IAAK,IAC5C,kBAACotF,EAAD,CAAcnuK,EAAGA,EAAGgb,MAAOA,IAC3B,kBAACozJ,EAAD,CAAYpuK,EAAGA,EAAGgb,MAAOA,IACzB,kBAACqzJ,EAAD,CAAcruK,EAAGA,EAAGgb,MAAOA,IAC3B,kBAACszJ,EAAD,CAAmBtuK,EAAGA,EAAGgb,MAAOA,IAChC,kBAACuzJ,EAAD,CAAcvuK,EAAGA,EAAGgb,MAAOA,IAC3B,kBAACwzJ,EAAD,CAAuBxuK,EAAGA,EAAGgb,MAAOA,IACpC,kBAACyzJ,EAAD,CAAYzuK,EAAGA,EAAGgb,MAAOA,IACzB,kBAAC0zJ,EAAD,CAAY1uK,EAAGA,EAAGgb,MAAOA,IACzB,kBAAC2zJ,EAAD,CAAmB3uK,EAAGA,EAAGgb,MAAOA,IAChC,kBAAC4zJ,EAAD,CAAc5uK,EAAGA,EAAGgb,MAAOA,IAC3B,kBAAC6zJ,EAAD,CAAW7uK,EAAGA,EAAGgb,MAAOA,IACxB,kBAAC8zJ,EAAD,CAAkB9uK,EAAGA,EAAGgb,MAAOA,IAC/B,kBAAC+zJ,EAAD,CAAkB/uK,EAAGA,EAAGgb,MAAOA,IAC/B,kBAACg0J,EAAD,CAAahvK,EAAGA,EAAGgb,MAAOA,MAmB1Bi0J,EAAex/J,IACnB,MAAMy/J,EAAY/xK,OAAO2/D,QAAQrtD,EAAM0/J,SACpC1wJ,OAAO,EAAE3e,KAAS2P,EAAMuL,MAAMlb,KAASmQ,IAAmBnQ,IAC1D+X,IAAI,EAAE/X,EAAKN,MAAP,eACH,kBAAC,IAAD,CACEM,IAAKmmJ,qBACLlnJ,KAAMS,EAAMT,KACZrC,KAAM,CAAEu1C,QAAO,UAAEzyC,EAAMyyC,eAAR,SAA0C,IAAnBxiC,EAAMuL,MAAMlb,IAAY2G,QAAQ,GAAnC,KACnC0I,MAAK,UAAE3P,EAAM2P,aAAR,QAAiBzL,IAASV,MAAM8c,YAI3C,OAAOovJ,EAAUhyK,OAAS,EACxB,0BAAMi1C,MAAO,CAAE7yB,QAAS,eAAgBmyB,MAAO,OAAQ29H,aAAc,SACnE,kBAAC,IAAD,CAAY7qH,QAAQ,MAAM90C,EAAM4/J,aAChC,kBAAC,IAAD,KACE,kBAAC,IAAD,KAAYH,KAIhB,sCASJ,SAASf,GAAa,MAAEnzJ,IACtB,MAAM4iE,EAAoB,CACxBtqE,sBAAuB,CAAEvU,KAASqU,IAAeC,YAAjB,eAChCsrB,wBAAyB,CACvB5/B,KAAM,4BACNkzC,QAASyzB,OAAO1qD,EAAM2jB,0BAExBqoC,iBAAkB,CAAEjoE,KAAM,sBAC1B6lC,oBAAqB,CAAE7lC,KAAM,0BAC7BooE,gBAAiB,CAAEpoE,KAAM,kBAG3B,OAAO,kBAACkwK,EAAD,CAAaI,YAAY,UAAUF,QAASvxF,EAAM5iE,MAAOA,IAGlE,SAASszJ,GAAkB,MAAEtzJ,IAC3B,MAAM4iE,EAAoB,CACxB5/D,sBAAuB,CAAEjf,KAAM,cAC/Bgf,oBAAqB,CACnBhf,KAAM,kBACNoQ,MAAOzL,IAASV,MAAM6hE,MAI1B,OAAO,kBAACoqG,EAAD,CAAaI,YAAY,gBAAgBF,QAASvxF,EAAM5iE,MAAOA,IAGxE,SAAS4zJ,GAAa,MAAE5zJ,IACtB,MAAM4iE,EAAoB,CACxB9W,iBAAkB,CAChB/nE,KAAM,aACNoQ,MAAOzL,IAASV,MAAMjC,OAExBqmE,mBAAoB,CAAEroE,KAAM,aAG9B,OAAO,kBAACkwK,EAAD,CAAaI,YAAY,UAAUF,QAASvxF,EAAM5iE,MAAOA,IAGlE,SAASyzJ,GAAW,MAAEzzJ,IAMpB,OAAO,kBAACi0J,EAAD,CAAaI,YAAY,eAAeF,QALrB,CACxBxnG,wBAAyB,CAAE5oE,KAAM,oBACjC6oE,2BAA4B,CAAE7oE,KAAM,yBAGwBic,MAAOA,IAGvE,SAASqzJ,GAAa,MAAErzJ,IACtB,MAAM4iE,EAAoB,CACxBpW,qBAAsB,CAAEzoE,KAAM,mBAC9BwoE,mBAAoB,CAClBxoE,KAAM,kBACNoQ,MAAOzL,IAASV,MAAM6hE,KAExByC,mBAAoB,CAAEvoE,KAAM,YAC5BytD,sBAAuB,CACrBztD,KAAM,cACNoQ,MAAOzL,IAASV,MAAM6hE,MAI1B,OAAO,kBAACoqG,EAAD,CAAaI,YAAY,UAAUF,QAASvxF,EAAM5iE,MAAOA,IAGlE,SAAS0zJ,GAAW,MAAE1zJ,IACpB,MAAM4iE,EAAoB,CACxBvW,aAAc,CACZtoE,KAAM,YACNoQ,MAAOzL,IAASV,MAAM8pE,QAExB/F,WAAY,CACVhoE,KAAM,cACNoQ,MAAOzL,IAASV,MAAM8pE,SAI1B,OAAO,kBAACmiG,EAAD,CAAaI,YAAY,QAAQF,QAASvxF,EAAM5iE,MAAOA,IAGhE,SAASozJ,GAAW,MAAEpzJ,IACpB,MAAM4iE,EAAoB,CACxB1nD,uBAAwB,CACtBn3B,KAAM,gBACNoQ,MAAOzL,IAASV,MAAM80B,MAExB3B,wBAAyB,CACvBp3B,KAAM,iBACNoQ,MAAOzL,IAASV,MAAM8pE,QAExB12C,uBAAwB,CACtBr3B,KAAM,gBACNoQ,MAAOzL,IAASV,MAAM8pE,QAExBz2C,yBAA0B,CACxBt3B,KAAM,kBACNoQ,MAAOzL,IAASV,MAAM8pE,QAExBx2C,uBAAwB,CACtBv3B,KAAM,gBACNoQ,MAAOzL,IAASV,MAAM8pE,QAExBv2C,wBAAyB,CACvBx3B,KAAM,iBACNoQ,MAAOzL,IAASV,MAAMk1B,MAI1B,OAAO,kBAAC+2I,EAAD,CAAaI,YAAY,SAASF,QAASvxF,EAAM5iE,MAAOA,IAGjE,SAASuzJ,GAAa,MAAEvzJ,IACtB,MAAM4iE,EAAoB,CACxB/2B,YAAa,CACX9nD,KAAM,cACNoQ,MAAOzL,IAASV,MAAM80B,MAExBmqC,iBAAkB,CAAEljE,KAAM,sBAC1B0pB,eAAgB,CAAE1pB,KAAM,oBACxBwpB,oBAAqB,CAAExpB,KAAM,yBAC7B2pB,uBAAwB,CAAE3pB,KAAM,4BAChCwqB,iBAAkB,CAAExqB,KAAM,sBAC1BkoE,gBAAiB,CACfloE,KAAM,oBACNoQ,MAAOzL,IAASV,MAAMjC,OAExBimD,gBAAiB,CACfjoD,KAAM,oBACNoQ,MAAOzL,IAASV,MAAMjC,OAExBmmE,oBAAqB,CACnBnoE,KAAM,yBACNoQ,MAAOzL,IAASV,MAAMjC,QAI1B,OAAO,kBAACkuK,EAAD,CAAaI,YAAY,UAAUF,QAASvxF,EAAM5iE,MAAOA,IAGlE,SAASwzJ,GAAsB,MAAExzJ,IAC/B,MAAM4iE,EAAoB,CACxBhX,oBAAqB,CACnB7nE,KAAM,YACNkzC,QAASj3B,EAAM4rD,oBAAoBngE,QAAQ,IAE7CogE,uBAAwB,CACtB9nE,KAAM,eACNkzC,QAASj3B,EAAM6rD,uBAAuBpgE,QAAQ,IAEhDgE,qBAAsB,CAAE1L,KAAM,gBAC9B2L,sBAAuB,CAAE3L,KAAM,WAC/B4nE,oBAAqB,CAAE5nE,KAAM,kBAG/B,OAAO,kBAACkwK,EAAD,CAAaI,YAAY,oBAAoBF,QAASvxF,EAAM5iE,MAAOA,IAG5E,SAAS2zJ,GAAkB,MAAE3zJ,IAC3B,MAAM4iE,EAAoB,CACxBnW,kBAAmB,CACjB1oE,KAAM,qBACNoQ,MAAOzL,IAASV,MAAMjC,OAExB2mE,gBAAiB,CACf3oE,KAAM,0BACNoQ,MAAOzL,IAASV,MAAM6hE,MAI1B,OAAO,kBAACoqG,EAAD,CAAaI,YAAY,eAAeF,QAASvxF,EAAM5iE,MAAOA,IAGvE,SAAS+zJ,GAAiB,MAAE/zJ,IAE1B,IADe1C,IAAI9X,SACPqnJ,uBAAwB,OAAO,qCAO3C,OAAO,kBAAConB,EAAD,CAAaI,YAAY,cAAcF,QALpB,CACxBpnG,gBAAiB,CAAEhpE,KAAM,aACzBipE,qBAAsB,CAAEjpE,KAAM,eAG6Bic,MAAOA,IAGtE,SAASg0J,GAAY,MAAEh0J,IAErB,IADe1C,IAAI9X,SACPylC,iBAAkB,OAAO,qCAErC,MAAMqpI,EAAYt0J,EAAMmtD,qBAAqB1hE,QAAQ,GAC/Cm3E,EAAoB,CACxB2xF,2BAA4B,CAAExwK,KAAM,cACpCopE,qBAAsB,CACpBppE,KAAM,qBACNkzC,QAAU,IAAEj3B,EAAMmtD,qBAAuBl4D,IAAmBk4D,qBAAwB,IAAGmnG,EAAcA,KAIzG,OAAO,kBAACL,EAAD,CAAaI,YAAY,gBAAgBF,QAASvxF,EAAM5iE,MAAOA,IAGxE,SAAS6zJ,GAAU,MAAE7zJ,IACnB,MAAMpL,EAAS0I,IAAI9X,SACnB,GAAwB,IAApBoP,EAAO+b,UAAkB/b,EAAOgc,cAAc,IAAM,EAAG,OAAO,qCAElE,MAAMgyD,EAAoB,CACxB3V,YAAa,CACXlpE,KAAM,eACNkzC,QAASj3B,EAAMitD,YAAYxhE,QAAQ,IAErCwmD,eAAgB,CAAEluD,KAAM,yBAG1B,OAAO,kBAACkwK,EAAD,CAAaI,YAAY,OAAOF,QAASvxF,EAAM5iE,MAAOA,IAG/D,SAAS8zJ,GAAiB,MAAE9zJ,IAE1B,IADe1C,IAAI9X,SACPwnJ,uBAAwB,OAAO,qCAE3C,MAAMpqE,EAAoB,CACxB9V,mBAAoB,CAClB/oE,KAAM,sBACNkzC,QAASj3B,EAAM8sD,mBAAmBrhE,QAAQ,IAE5CohE,qBAAsB,CAAE9oE,KAAM,cAGhC,OAAO,kBAACkwK,EAAD,CAAaI,YAAY,cAAcF,QAASvxF,EAAM5iE,MAAOA,M,0SCxUtE,MAAMjM,EAAYC,YAAW,CAC3BsiC,KAAM,CACJzxB,OAAQ,kBACR4xB,MAAO,MACP+V,OAAQ,SAIC9V,EAAuCjiC,GAEhD,gBAAC,IAAD,KACMA,EADN,CAEEC,QAAS,CACP4hC,KAAMviC,IAAYuiC,QACf7hC,EAAMC,YAYV,SAAS8/J,EAAKC,GACnB,OACE,gBAAC/9H,EAAD,CACES,MAAO,CAAEzyB,gBAAiB+vJ,EAAUtgK,OACpCugK,aAAcD,EAAUC,aACxB9qH,QAAS6qH,EAAU7qH,Y,6BCpCzB,gFAiCO,SAAS+qH,EAAKlgK,GACnB,MAAMmgK,EAAajoH,YAAcl4C,EAAMm4C,MAEvC,SAASz4C,EAAM8oG,EAAgBC,GAC7B,GAAIzoG,EAAMi3I,UAAUzuC,GAAQC,IAAW03D,EAAW33D,GAAQC,GAAS,MAAO,MAC1E,GAAIzoG,EAAMi3I,UAAUzuC,GAAQC,GAAS,MAAO,QAE5C,GAAI03D,EAAW33D,GAAQC,GAAS,CAC9B,MAAMz9C,EAAWhrD,EAAMm4C,KAAKE,WAAWmwD,EAAQC,GAC/C,IAAKz9C,EAAU,MAAM,IAAI5qD,MAAM,qCAC/B,OA3BN,SAAqB4qD,GAEnB,IAAI8pD,EAAKh/G,KAAKoN,KAAK8nD,EAASp3D,EAAI,IAAMo3D,EAASn3D,EAAI,GAAI,IACnDkhH,EAAKD,EACLE,EAAKF,EAET,MAAMh1G,EAAS,GACf,IAAK,IAAIvS,EAAI,EAAGA,EAAI,EAAGA,IACrBunH,EAAM,IAAMA,EAAM,MAClBC,EAAM,IAAMA,EAAM,MAClBC,EAAM,IAAMA,EAAM,MAClBl1G,EAAO/R,MAAM+mH,EAAK,MAAUC,EAAK,MAAUC,EAAK,OAAW,GAG7D,MAAQ,OAAkB,IAAZl1G,EAAO,OAAyB,IAAZA,EAAO,OAAyB,IAAZA,EAAO,MAalDsgK,CAAYp1G,GAErB,MAAO,GAIT,MAAMq1G,EAAQ,GACd,IAAK,IAAI5xK,EAAI,EAAGA,EAAIuR,EAAM+3C,OAAQtpD,IAAK,CACrC,MAAMk8D,EAAQ,GACd,IAAK,IAAIp9D,EAAI,EAAGA,EAAIyS,EAAMgiC,MAAOz0C,IAC/Bo9D,EAAM58D,KACJ,gBAAC,IAAD,CAAMsC,IAAK9C,EAAG0yK,aAAc,IAAMjgK,EAAMgxC,MAAMzjD,EAAGkB,GAAI0mD,QAAS,IAAMn1C,EAAMymD,MAAMl5D,EAAGkB,GAAIiR,MAAOA,EAAMnS,EAAGkB,MAG3G4xK,EAAMtyK,KAAK,gBAAC,IAAD,CAAUsC,IAAK5B,GAAIk8D,IAGhC,OAAO,gBAAC,IAAD,KAAY01G,K,8BC5DrB,8CAGO,SAASx0F,EAA6Bp4B,GAC3C,GAAuB,MAAnBA,EAAO6iB,UAAoB7iB,EAAO6iB,SAAW,EAC/C,OAAO7iB,EAAO6iB,SAGhB,MAAMh1D,EAASD,YAAUoyC,EAAOnyC,QAChC,GAAc,MAAVA,EACF,OAAO,EAET,IAAK,IAAI/T,EAAI,EAAGA,EAAI+T,EAAOijD,QAAQ92D,SAAUF,EAC3C,GAAI+T,EAAOijD,QAAQh3D,GAAGiW,WAAaiwC,EAAOjwC,SAGxC,OADAiwC,EAAO6iB,SAAWh1D,EAAOijD,QAAQh3D,GAAG+oE,SAC7B7iB,EAAO6iB,SAIlB,OAAO,I,6BCnBT,yEAqBA,MAAMgqG,EAAkB,+DAkBxB,SAASC,EACP9vH,EACAtwC,EACA2rC,GAEA,GAAmB,GAAf2E,EAAKhjD,SAAmC,GAAEgjD,EAAK,IARnC/hC,SAAS,KAQiC,CAIxD,OAKJ,SAA+B8xJ,EAAoBC,EAAwB30H,GACzE,MAAM40H,EAAgC,CACpCC,KAAMH,EACNI,QAAS,GACTC,SAAU,GACVC,UAAW,GACXC,YAAa,GACbC,YAAaP,GAOf,GAA4D,KAH5DD,EAAaA,EAAWjnI,QAAQ,KAAM,MAGvBpxB,MAAM,IAAI6G,OAAQ5f,GAAW,KAALA,GAAU3B,OAE/C,OADAizK,EAAWI,UAAY,4EAChBJ,GAIRA,EAAWE,QAASF,EAAWG,UAAYL,EAAWr4J,MAAM,KAC7Du4J,EAAWE,QAAU18H,YAAmBw8H,EAAWE,SAGnD,MAAMv7H,EAAMlB,YAAoB2H,EAASzG,OAczC,OAbAq7H,EAAWE,QAAW,GAAEv7H,KAAOq7H,EAAWE,UAG1CH,EAAa9+H,QAAS8R,IACpB,MAAMjwC,EAAWiwC,EAAOjwC,SAASmV,WAAW,KAAO86B,EAAOjwC,SAAY,IAAGiwC,EAAOjwC,SAC5EA,EAASmV,WAAW+nJ,EAAWE,UAAYp9J,EAAS4gC,SAASs8H,EAAWG,WAC1EH,EAAWK,YAAYhzK,KAAKyV,KAKhCk9J,EAAWC,KAAQ,GAAED,EAAWE,WAAWF,EAAWG,WAE/CH,EA5CcO,CAFD,GAAExwH,EAAK,GACTtwC,EAAOgxC,mBAAmBoT,QACkBzY,GAG9D,OAAO,KA4CF,SAASo1H,EACd/qF,GACA,SAAErqC,EAAF,OAAYiF,EAAZ,OAAoB5wC,EAApB,KAA4BswC,GAC5B0wH,GAEA,GAAI1wH,EAAKhjD,OAAS,EAEhB,YADAq+C,EAAS1iC,MAAO,sBAAqB+sE,qBAA2BA,kBAIlE,IAAIirF,EAAsB3wH,EAC1B,IACE,MAAM4wH,EAAad,EAAuB9vH,EAAMtwC,EAAQ2rC,GACxD,GAAIu1H,EAAY,CACd,IAAsC,IAAlCjW,kBAAQiW,EAAWP,WAAsB,MAAM,IAAI1gK,MAAMihK,EAAWP,WACxEM,EAAsBC,EAAWN,YAGnC,MAAMh1H,EAAQq1H,EAAoBh5J,IAAKwlE,IACrC,MAAMpqE,EAAY,GAAEoqE,EAEpB,GAAIj3B,YAAiBnzC,GAAW,CAC9B,MAAM89J,EAAWx1H,EAASy1H,YAAY/9J,GAChCiwC,EAAS3H,EAAS29B,UAAUtpE,EAAQqD,GACpCg+J,EArGd,SAAeh+J,GACb,OAAOA,EAAS4gC,SAAS,QAAU5gC,EAAS4gC,SAAS,OAoG7Bq9H,CAAMj+J,GAClB6gD,EAAkB,OAAX5Q,EAAkBA,EAAO4Q,KAAOm9G,EAAYlB,EAAiB,GAS1E,OAPIj8G,IAASi8G,GACXoB,IAAgBC,WAAWn+J,EAAU,CACnC8qE,IAAK,EACLgsF,OAAQ,IAIL,CAACgH,EAAUj9G,GAGpB,GAAI7gD,EAAS4gC,SAAS,QAAS,CAC7B,MAAMk9H,EAAWx1H,EAASy1H,YAAY/9J,GAChC1E,EAAMgtC,EAAS+2C,YAAY1iF,EAAQqD,GACzC,MAAO,CAAC89J,EAAkB,OAARxiK,EAAe,GAAKA,EAAIyxD,MAG5C,MAAM,IAAInwD,MACP,2FAA0F+1E,KAI/F,GAAIkrF,GAA+B,IAAjBt1H,EAAMt+C,OACtB,MAAM,IAAI2S,MAAO,+CAA8C+1E,mBAAyBkrF,EAAWV,UAGrG5vH,EAAOhG,eAAer9C,OAAOmgE,YAAY9hB,GAAQo1H,GACjD,MAAOvgJ,GACPkrB,EAAS1iC,MAAO,GAAEwX,M,+BCpJf,SAASghJ,EAAc7xK,GAc5B,MAAM8xK,EAAQ9xK,EAAMiY,SAAS,GAAGG,MAAM,IAChC25J,GAbsBC,EAakBF,EAAMp0K,QAX1B,GAAuB,GAAlBs0K,EACP,GAAlBA,EACE,EACAA,EAAiB,EAErBjsK,KAAKy9D,KAAKz9D,KAAK6nB,KAAsB,EAAjBokJ,KAClBjsK,KAAKy9D,KAAKz9D,KAAK6nB,KAAK,EAAIokJ,EAAiBjsK,KAAKy9D,KAAKz9D,KAAK6nB,KAAKokJ,MAC7DjsK,KAAKy9D,KAAKz9D,KAAK6nB,KAAKokJ,GAAkB,GACtCjsK,KAAKy9D,KAAKz9D,KAAK6nB,KAAKokJ,IAV1B,IAA4BA,EAc5B,MAAM9xG,EAAQ,CAAC3rD,EAAoBilD,IACjCjlD,EAAI84B,OAAO,CAAC12B,EAAW+sB,IAAeA,IAAM81B,EAAM7iD,EAAI,EAAIA,EAAI,GAG1Ds7J,EAAS,CAAC,IAAK,OAAQH,EAAMlzK,OAAO,EAAG,IAC7C,IAAK,IAAIpB,EAAI,EAAGA,EAAIu0K,EAAYv0K,IAE9By0K,EAAOj0K,KAAK,OAAQ8zK,EAAMlzK,OAAO,EAAGmH,KAAKoN,IAAI,EAAG3V,GAAK,IAGvD,IAAK,MAAM2T,KAAS8gK,EAAO5kI,QAAO,SAAU12B,EAAkBka,EAAWrzB,GAEvE,MADS,KAALqzB,GAAUla,EAAE3Y,KAAKR,GACdmZ,IACN,IAAK,CAEN,MAAMu7J,EAAa/gK,EAAQ,EACrBghK,EAAa,GACbC,EAAY,IAAIH,GACtB,UAA4B9hK,IAArBiiK,EAAUjhK,IAAsB,CAErC,MAAMkhK,EAAuBD,EAAUxzK,OAAOuS,EAAoB,EAAb+gK,GACrDC,EAAWn0K,QAAQq0K,EAAMzzK,OAAO,EAAGszK,IAErCC,EAAWvzK,OAAO,EAAG,GACrBqzK,EAAO9gK,IAAU+uD,EAAMiyG,EAAY,KAAO,GAAGl6J,WAG/C,OADAg6J,EAAO7jC,SAASluE,EAAM+xG,EAAQ,KAAO,GAAGh6J,YACjCg6J,EAAO1pK,KAAK,IAGd,SAAS+pK,EAAcR,GAE5B,MAAMG,EAASH,EAAM15J,MAAM,IACrBm6J,EAAa,GACbR,EAAahsK,KAAKy9D,KAAKz9D,KAAK6nB,KAAKkkJ,EAAMp0K,SACvCwiE,EAAQ,CAAC3rD,EAAoBilD,IACjCjlD,EAAI84B,OAAO,CAAC12B,EAAW+sB,IAAeA,IAAM81B,EAAM7iD,EAAI,EAAIA,EAAI,GAGhE,IAAI67J,EAAiBP,EAAOrzK,OAAO,EAAG,GAAG2J,KAAK,IAC9CgqK,EAAWv0K,KAAKw0K,IAAmBtyG,EAAM+xG,EAAQ,KAAO,GAAGh6J,YAC3D,IAAK,IAAIza,EAAI,EAAGA,EAAIu0K,EAAYv0K,IAAK,CAEnC,MAAMi1K,EAAa1sK,KAAKoN,IAAI,EAAG3V,GAAK,EAC9Bk1K,EAAYD,EAAa,EACzBE,EAAY,IAAIV,GAChBW,EAAa,GACnB,KAAgCziK,MAAzBwiK,EAAUF,IAA0B,CAEzC,MAAMJ,EAAQ,IAAIM,EAAU/zK,OAAO6zK,EAAwB,EAAZC,IAC/CE,EAAW50K,QAAQq0K,EAAMzzK,OAAO,EAAG8zK,IAErC,MAAMG,EAAcD,EAAWz0K,QAC/Bo0K,EAAWv0K,KAAK60K,IAAgB3yG,EAAM0yG,EAAY,KAAO,GAAG36J,YAG9D,IAAI66J,EAAY,EAChB,IAAK,IAAIt1K,EAAI,EAAGA,EAAIu0K,EAAa,EAAGv0K,IAElCs1K,GAAaP,EAAW/0K,GAAK,EAAIuI,KAAKoN,IAAI,EAAG3V,GAAK,EAIpD,GAFAy0K,EAAO7jC,QAAQokC,GAEXM,EAAY,GAAsB,GAAjBP,EAAW,GAE9BN,EAAOa,GAAkC,KAArBb,EAAOa,GAAoB,IAAM,SAChD,GAAqB,GAAjBP,EAAW,GAEpBC,EAAmC,KAAlBA,EAAwB,IAAM,SAC1C,GAAqB,GAAjBD,EAAW,IAAcA,EAAW1rH,KAAMksH,GAAmB,GAATA,GAC7D,OAAO,EAGT,IAAK,IAAIv1K,EAAIu0K,EAAYv0K,GAAK,EAAGA,IAE/By0K,EAAOrzK,OAAOmH,KAAKoN,IAAI,EAAG3V,GAAI,GAGhC,OADAy0K,EAAOrzK,OAAO,EAAG,GACVmtJ,SAASkmB,EAAO1pK,KAAK,IAAK,GA/FnC,qE,gCCCA,uDAGO,MAAM+c,UAAiB2uF,IAC5B3uG,YAAYuV,EAA+B,MACzC8N,MAAM9N,GAGR21G,+BAA+BD,GAC7B,OAAOA,EAAKzrC,iBAAiBuD,sBAG/BzoE,SACE,OAAO5O,YAAe,WAAYzL,MAGrB,gBAACvF,GACd,OAAOoR,YAAiBkU,EAAUtlB,EAAM9C,OAI5CoE,IAAQqP,aAAa2U,SAAWA,G,6BCtBhC,kCAAO,MAAMkgE,EAWT,CACFC,SAAU,CACR,+FACA,IACA,sFACA,sDACA,gGACA,qFACA,wFACA,oEACA,+EACA,KAEFutF,SAAU,CACR,uCACA,IACA,sQAGA,IACA,iHACA,kDACA,oDACA,IACA,4GACA,IACA,gCACA,sCACA,8BACA,4CACA,IACA,qUAIA,KAEFt6F,MAAO,CAAC,eAAgB,IAAK,qBAAsB,KACnD0rE,IAAK,CAAC,aAAc,IAAK,qBAAsB,KAC/CI,KAAM,CACJ,wBACA,IACA,mPAGA,IACA,oBACA,IACA,6EACA,KAEF76H,IAAK,CACH,6BACA,IACA,2PAGA,IACA,8CACA,IACA,uEACA,IACA,oFACA,kFACA,sEACA,IACA,uEACA,IACA,kBACA,iBACA,KAEF8sD,MAAO,CACL,+BACA,IACA,kDACA,IACA,6EACA,IACA,iBACA,IACA,oRAGA,IACA,wBACA,oCACA,IACA,4DACA,IACA,+BACA,KAEF4P,MAAO,CACL,6BACA,IACA,yPAIA,IACA,mCACA,IACA,YACA,IACA,8BACA,sCACA,KAEF4sF,KAAM,CAAC,cAAe,IAAK,wCAAyC,O,sOCvG/D,MAAM1yG,EAqBXj7D,YAAY3E,EAAwB,CAAE6rB,KAAM,EAAGg0C,KAAM,KACnD,GADyD,kBAjBxC,IAiBwC,cAbpD,GAaoD,qBAV9C,GAU8C,gBALrC,MAKqC,cAFpD,IAGsB,MAAvBzxB,IAAYpuC,EAAE6/D,MAChB,MAAM,IAAInwD,MAAO,mEAAkE1P,EAAE6/D,MAGvFj7D,KAAKi7D,KAAO7/D,EAAE6/D,KACdj7D,KAAKinB,KAAO7rB,EAAE6rB,KAEV7rB,EAAE6gB,UAAY7gB,EAAE6gB,SAAS9jB,OAAS,IACpC6H,KAAKic,SAAW7gB,EAAE6gB,UAGJ,MAAZ7gB,EAAEg7E,SACJp2E,KAAKo2E,OAASh7E,EAAEg7E,QAIpB/Z,SAASphE,GACP+E,KAAKic,SAASxjB,KAAKwC,GACnBA,EAAEm7E,OAASp2E,KAIb2tK,SAAS1yG,GAEP,GAAIj7D,KAAKi7D,OAASA,EAChB,OAAOj7D,KAIT,IAAI0Q,EAAM,KACV,IAAK,IAAIzY,EAAI,EAAGA,EAAI+H,KAAKic,SAAS9jB,SAAUF,EAE1C,GADAyY,EAAM1Q,KAAKic,SAAShkB,GAAG01K,SAAS1yG,GACrB,MAAPvqD,EACF,OAAOA,EAIX,OAAO,KAGTk9J,UAAU3yK,GACR+E,KAAKo2E,OAASn7E,GAMX,MAAMshE,EAAa,kCAEI,IAFJ,cAKJ,MAGpBjzB,cACE,MAAM54B,EAAgB,GAChBm9J,EAAgB,GAEtB,GAAiB,MAAb7tK,KAAKusC,KACP,OAAO77B,EAIT,IADAm9J,EAAMp1K,KAAKuH,KAAKusC,MACQ,IAAjBshI,EAAM11K,QAAc,CACzB,MAAMovB,EAAyBsmJ,EAAMj1K,QACrC,GAAY,MAAR2uB,EAAJ,CAIA7W,EAAIjY,KAAK8uB,EAAK0zC,MACd,IAAK,IAAIhjE,EAAI,EAAGA,EAAIsvB,EAAKtL,SAAS9jB,SAAUF,EAC1C41K,EAAMp1K,KAAK8uB,EAAKtL,SAAShkB,KAI7B,OAAOyY,EAITy0H,2BACE,OAAOnlI,KAAK8tK,oBAAoB,mBAGlCzoC,2BACE,OAAOrlI,KAAK8tK,oBAAoB,mBAGlC1oC,2BACE,OAAOplI,KAAK8tK,oBAAoB,mBAGlCvoC,2BACE,OAAOvlI,KAAK8tK,oBAAoB,mBAGlCxoC,2BACE,OAAOtlI,KAAK8tK,oBAAoB,mBAGlC7oC,0BACE,OAAOjlI,KAAK8tK,oBAAoB,kBAGlCC,iCACE,OAAO/tK,KAAK8tK,oBAAoB,yBAGlCtoC,qBACE,OAAOxlI,KAAK8tK,oBAAoB,aAGlCroC,kCACE,OAAOzlI,KAAK8tK,oBAAoB,mBAGlC1jE,uBACE,OAAOpqG,KAAK8tK,oBAAoB,eAIlCA,oBAAoB/2F,GAClB,IAAIrmE,EAAM,EACV,GAAiB,MAAb1Q,KAAKusC,KACP,OAAO77B,EAGT,MAAMm9J,EAAgB,GAEtB,IADAA,EAAMp1K,KAAKuH,KAAKusC,MACQ,IAAjBshI,EAAM11K,QAAc,OACzB,MAAMovB,EAAyBsmJ,EAAMj1K,QAIrC,GAAY,MAAR2uB,IAAiBA,EAAKkiB,WACxB,SAGF,MAAMF,EAA4BC,IAAYjiB,EAAK0zC,MAGnD,GAAgB,MAAZ1xB,EAAkB,CACpBlpC,QAAQC,KAAM,kCAAiCinB,EAAK0zC,MACpD,SAGF,MAAMnqC,EAAI,UACR,CACEk9I,gBAAiBzkI,EAASykI,gBAC1BC,gBAAiB1kI,EAAS0kI,gBAC1BC,gBAAiB3kI,EAAS2kI,gBAC1BC,gBAAiB5kI,EAAS4kI,gBAC1BC,gBAAiB7kI,EAAS6kI,gBAC1BC,eAAgB9kI,EAAS8kI,eACzBC,sBAAuB/kI,EAAS+kI,sBAChCC,UAAWhlI,EAASglI,UACpBC,gBAAiBjlI,EAASilI,gBAC1BC,YAAallI,EAASklI,aACtB13F,UAZM,QAYO,KAEjB,GAAY,MAARjmD,EAAJ,CAKApgB,GAAOogB,EACP,IAAK,IAAI74B,EAAI,EAAGA,EAAIsvB,EAAKtL,SAAS9jB,SAAUF,EAC1C41K,EAAMp1K,KAAK8uB,EAAKtL,SAAShkB,SANzBoI,QAAQC,KAAM,mEAAkEy2E,GAUpF,OAAOrmE,EAKTi9J,SAAS3zK,GACP,OAAiB,MAAbgG,KAAKusC,KACA,KAEFvsC,KAAKusC,KAAKohI,SAAS3zK,GAI5BuvC,SAASvvC,GACP,GAAiB,MAAbgG,KAAKusC,KACP,OAGF,MAAMshI,EAAgB,GAEtB,IADAA,EAAMp1K,KAAKuH,KAAKusC,MACQ,IAAjBshI,EAAM11K,QAAc,CACzB,MAAMovB,EAAyBsmJ,EAAMj1K,QACrC,GAAY,MAAR2uB,EAAJ,CAIA,GAAIA,EAAK0zC,OAASjhE,EAGhB,OAFAutB,EAAKkiB,YAAa,OAClBzpC,KAAKypC,WAAWzvC,IAAQ,GAI1B,IAAK,IAAI/B,EAAI,EAAGA,EAAIsvB,EAAKtL,SAAS9jB,SAAUF,EAC1C41K,EAAMp1K,KAAK8uB,EAAKtL,SAAShkB,KAI7BoI,QAAQC,KAAM,yEAAwEtG,GAIxFwiE,QAAQjwB,GACNvsC,KAAKusC,KAAOA,K,+BC5PhB,kCAIO,MAAMgY,EAAgB,I,6BCJ7B,kCAAO,MAAMmqH,EAIT,CACFC,SAAU,GACVC,SAAU,EACVC,QAAS,K,8BCPX,iHAMA,MAAMC,EAA6B,CACjC,CAAC,cAAe,wBAChB,CAAC,cAAe,wBAChB,CAAC,gBAAiB,wBAClB,CAAC,gBAAiB,wBAClB,CAAC,qBAAsB,6CACvB,CAAC,aAAc,+BACf,CAAC,uBAAwB,mCACzB,CAAC,qBAAsB,iCACvB,CAAC,mBAAoB,gCACrB,CAAC,gBAAiB,6BAClB,CAAC,oBAAqB,iCACtB,CAAC,oBAAqB,iCACtB,CAAC,iBAAkB,8BACnB,CAAC,iBAAkB,8BACnB,CAAC,mBAAoB,gCACrB,CAAC,QAAS,uBACV,CAAC,MAAO,uBACR,CAAC,QAAS,2CACV,CAAC,gBAAiB,qBAClB,CAAC,WAAY,2BAGTjgH,EAA8B,CAClC,CAAC,kBAAmB,uCACpB,CAAC,kBAAmB,uCACpB,CAAC,oBAAqB,yCACtB,CAAC,gCAAiC,qDAClC,CAAC,yBAA0B,sCAC3B,CAAC,iBAAkB,wBACnB,CAAC,eAAgB,mBACjB,CAAC,iCAAkC,kCACnC,CAAC,+BAAgC,gCACjC,CAAC,6BAA8B,+BAC/B,CAAC,0BAA2B,4BAC5B,CAAC,8BAA+B,gCAChC,CAAC,8BAA+B,gCAChC,CAAC,2BAA4B,6BAC7B,CAAC,2BAA4B,6BAC7B,CAAC,6BAA8B,gCAEjC,SAASkgH,EAAWhgH,GAClB,IAAK,MAAMC,KAAUH,EACnB,GAAIE,EAAK9rD,MAAM+rD,EAAO,IAAK,OAAO,EAEpC,OAAO,EAGT,SAASF,EAAQC,GACf,MAAMkoD,EAAQloD,EAAKl8C,MAAM,MACnB+3E,EAAgB,GACtB,IAAK,IAAI3yF,EAAI,EAAGA,EAAIg/G,EAAM9+G,OAAQF,IAAK,CACrC,MAAM+2K,EAAO/3D,EAAMh/G,GACnB,IAAIw/D,EAAOw/C,EAAMh/G,GACjB,IAAK,MAAM+2D,KAAUH,EACnB4I,EAAOA,EAAKxzB,QAAQ+qB,EAAO,GAAIA,EAAO,IAEpCyI,GAAQu3G,IACVpkF,EAAInyF,KAAM,oFACVmyF,EAAInyF,KAAM,OACVmyF,EAAInyF,KAAM,MAAKu2K,GACfpkF,EAAInyF,KAAK,OACTmyF,EAAInyF,KAAM,qFAEZmyF,EAAInyF,KAAKg/D,GAEX,OAAOmzB,EAAI5nF,KAAK,MAGX,SAASmsD,EAASl0D,EAAI,GAC3B,MAAMg0K,EAAKxzK,IAAO+c,cAAcqB,KAAMzI,GAAMA,EAAEpX,OAASkK,IAAkB0U,mBACzE,GAAIq2J,EACFA,EAAGj1J,OAAS/e,MACP,CACL,MAAMg0K,EAAK,IAAIpwI,IAAwB36B,IAAkB0U,mBACzDq2J,EAAGj1J,MAAQ/e,EACXQ,IAAO+c,cAAc/f,KAAKw2K,IAIvB,SAAS//G,IAKd,IAAI1lD,EAAM,GACV,IAAK,MAAMwC,KAAUO,cACnB,IAAK,MAAMyiD,KAAU8/G,EAAQ,CAC3B,MAAMv1K,EAAiB,GACvB,IAAK,MAAM4kD,KAAUnyC,EAAOijD,QAAS,CACnC,MAAMgoD,EAAQ94D,EAAO4Q,KAAKl8C,MAAM,MAChC,IAAK,IAAI5a,EAAI,EAAGA,EAAIg/G,EAAM9+G,OAAQF,IAC5Bg/G,EAAMh/G,GAAGmhB,SAAS41C,EAAO,KAC3Bz1D,EAAEd,KAAK,CACLs0D,KAAM5O,EAAOjwC,SACbupD,KAAMx/D,EAAI,IAMlB,GAAiB,IAAbsB,EAAEpB,OAAN,CAEAqR,GAAQ,sBAAqBwlD,EAAO,eAAeA,EAAO,OAC1D,IAAK,MAAMkgH,KAAM31K,EACfiQ,GAAQ,GAAE0lK,EAAGniH,QAAQmiH,EAAGz3G,UAI9B,GAAY,KAARjuD,EAAY,CACD/N,IAAOunB,kBACf02H,gBAAgB,0BAA2BlwI,GAGlD,IAAK,MAAMwC,KAAUO,cAAiB,CACpC,MAAM4iK,EAAoB,GAC1B,IAAK,MAAMhxH,KAAUnyC,EAAOijD,QAAS,CACnC,IAAK8/G,EAAW5wH,EAAO4Q,MAAO,SAC9B,MAAM6+E,EAASzvF,EAAOjwC,SAASkL,SAAS,KAAO,WAAa,UAC5D+1J,EAAQ12K,KAAK,IAAIs0G,IAAOtxG,IAAQmyI,EAASzvF,EAAOjwC,SAAUiwC,EAAO4Q,KAAM5Q,EAAOnyC,SAC9EmyC,EAAO4Q,KAAOD,EAAQ3Q,EAAO4Q,MAE/B/iD,EAAOijD,QAAUjjD,EAAOijD,QAAQl+C,OAAOo+J,M,4CChI3C,+CAKO,SAASv6I,EAA6Bw6I,GAC3C,GAAe,MAAXA,EACF,OAAO,KAGT,MAAMC,EAA6BD,EAAQv8C,aAC3C,OAAmB,MAAfw8C,EACK,KAGFn6I,IAAiBm6I,K,+BCf1B,mHAGO,SAASvsB,IACd,OAAsB,IAAlB9iJ,KAAK4mB,WAIgB,IAAlB5mB,KAAK4mB,UAAoC,IAAlB5mB,KAAK4mB,UAAkB5mB,KAAK6mB,cAAc,GAAK,GAAK7mB,KAAK6mB,cAAc,GAAK,GAGrG,SAASotH,IACd,OAAwB,MAApBj0I,KAAK2rB,aAGF3rB,KAAK2rB,uBAAuBgX,IAG9B,SAASqgH,IACdhjJ,KAAK2rB,YAAc,IAAIgX,IAAY3iC,Q,6BCnBrC,4HAOO,SAASijJ,IACd,OAAyB,IAAlBjjJ,KAAK4mB,UAAkB5mB,KAAK6mB,cAAc,GAAK,EAGjD,SAASqtH,IACd,OAAwB,MAApBl0I,KAAKkrB,aAGFlrB,KAAKkrB,uBAAuBlG,IAG9B,SAASm+H,EAAgCmsB,EAAkBC,EAAmB,GAKnF,GAJAvvK,KAAKkrB,YAAc,IAAIlG,IAAY,CACjChrB,KAAMs1K,IAGsB,IAA1BtvK,KAAK6mB,cAAc,GAAU,CAC/B,MAAM2oJ,EAAen/D,IAA0BD,IAA8BS,cAAcjlG,MACrF6jK,EAAYp/D,IAA0BD,IAA8BU,WAAWllG,MAErF5L,KAAKkrB,YAAYoY,eAAeksI,GAAgB,EAChDxvK,KAAKkrB,YAAYoY,eAAemsI,GAAa,EAG/CzvK,KAAKkrB,YAAYq5C,aAAegrG,I,6BC5B3B,SAASzuF,EAAqBnuC,GACV,OAArB3yC,KAAK+1B,aACP/1B,KAAK+1B,YAAY6d,OAAO5zC,MAAM,GAEhCA,KAAK+1B,YAAc4c,EAEd,SAAS3oB,EAAuBupB,EAAS,GAC9C,GAAyB,OAArBvzC,KAAK+1B,YAAsB,OACd/1B,KAAK+1B,YAAY/L,QAAQhqB,KAAMuzC,IAE9CvzC,KAAK8vB,YAAW,GAGb,SAAS8jB,EAAsBmjE,GACX,OAArB/2G,KAAK+1B,cACT/1B,KAAK+1B,YAAY6d,OAAO5zC,KAAM+2G,GAC9B/2G,KAAK+1B,YAAc,MAhBrB,uG,6BCHA,kYAoDA,MAAM25I,EAuBF,CAEFC,aAAa,IAAIvgJ,MAAOC,UAExBugJ,WAAY,SAAUnmJ,EAAY,GAChC,MAAM3Z,EAAO2Z,EAAYtlB,IAAUG,WACP,MAAxB7I,IAAOkyD,gBACTlyD,IAAOkyD,cAAgB,GAEU,MAA/BlyD,IAAO6zB,uBACT7zB,IAAO6zB,qBAAuB,GAEO,MAAnC7zB,IAAOi1B,2BACTj1B,IAAOi1B,yBAA2B,GAEpCj1B,IAAOkyD,eAAiB79C,EACxBrU,IAAO6zB,sBAAwBxf,EAC/BrU,IAAOi1B,0BAA4B5gB,EAEnC+gC,IAAS7mB,QAAQ1W,IAAQ7X,IAAQguB,GAEjChuB,IAAOmnJ,YAAYn5H,GAGfhuB,IAAO40B,eACTq0B,YAAmBj7B,GAIjBhuB,IAAO8vD,UAA4B,OAAhB9vD,IAAO00B,MAC5B10B,IAAO00B,KAAKnG,QAAQP,EAAWhuB,KAIjCmgD,IAAY5xB,QAAQvuB,IAAQguB,GAGxBhuB,IAAOyvB,uBAAuBlG,KAEhCvpB,IAAOyvB,YAAY0zD,YAAYn1D,GAG7BhuB,IAAOkwB,uBAAuBgX,KAChClnC,IAAOkwB,YAAYizD,YAAYn1D,GAIjC,IAAK,IAAIxxB,EAAI,EAAGA,EAAIwD,IAAOqzB,QAAQ32B,SAAUF,EAC3C,GAAIwD,IAAOqzB,QAAQ72B,aAAc82B,IAAQ,CACvC,MAAM8gJ,EAAqBp0K,IAAOqzB,QAAQ72B,GAAG+xB,QAAQvuB,IAAQguB,GAG7D,GAA0B,MAAtBomJ,EACF,SAEF,IAAK,IAAI12K,EAAI,EAAGA,EAAIsC,IAAOqzB,QAAQ32B,SAAUgB,EACvCA,IAAMlB,GAGVwD,IAAOqzB,QAAQ31B,GAAGmoH,eAAe7lH,IAAQo0K,EAAoBpmJ,GAAW,GAM9EimJ,EAAOI,qBAAqBrmJ,GAC5BimJ,EAAOK,gBAGPl4F,YAAwBpuD,GAGxBD,YAAuB/tB,IAAQguB,IAQjCumJ,SAAU,CACRC,gBAAiB,IACjBC,yBAA0B,GAC1BC,eAAgB,EAChBC,mBAAoB,GACpBC,2BAA4B,EAC5BC,2BAA4B,GAC5BC,2BAA4B,GAC5Bl8E,wBAAyB,IACzBm8E,qBAAsB,EACtBpiK,SAAU,IACVqiK,gBAAiB,EACjBC,mBAAoB,IACpBC,oBAAqB,IAGvBb,qBAAsB,SAAUrmJ,EAAY,GAC1C,IAAK,MAAMmnJ,KAAex4K,OAAOuT,KAAK+jK,EAAOM,UAAW,CACtD,MAAM/6C,EAAUy6C,EAAOM,SAASY,GAChC,QAAgBhmK,IAAZqqH,EAAuB,MAAM,IAAInqH,MAAM,mCAC3C4kK,EAAOM,SAASY,GAAe37C,EAAUxrG,IAQ7CsmJ,cAAe,WAcb,GAbIL,EAAOM,SAASC,iBAAmB,IACJ,MAA7BtxK,IAASnC,mBACXmC,IAASnC,iBAAmB,IAEI,IAA9BmC,IAASnC,mBA2QnB,WAEE,GAAImC,IAASd,iCAAkC,OAK/C,GADqB,CAACqV,IAAK6jC,SAAU7jC,IAAKslC,YACzBp/B,SAAS9F,IAAO+gC,QAAS,OAE1C,MAAMw8H,EACJ,sDACiB,4CADjB,IAEE,kBAAC,IAAD,CACEjnK,GAAI,CAAE42H,GAAI,GACVp2H,MAAM,UACN+4B,KAAK,QACL0c,QAAS,KAEPlhD,IAASnC,iBAAmB,KANhC,WAaJs3B,IAAepqB,KAAKmnK,EAAc98I,IAAaC,QAAS,KAnSlD88I,GACApB,EAAOM,SAASC,gBAAkB,MAElCP,EAAOM,SAASC,gBAA8C,EAA5BtxK,IAASnC,iBAC3Cs8C,IAAWC,UAAUp6C,IAASf,0BAI9B8xK,EAAOM,SAAS37E,yBAA2B,EAAG,CAChD,MAAM37D,EAAkBj9B,IAAOg9B,6BAC/B,GAAIC,EAAgBvgC,OAAS,EAAG,CAC9B,MAAMmyH,EAAc5xF,EAAgBl4B,KAAKyO,MAAMzO,KAAK0O,SAAWwpB,EAAgBvgC,SAC/E+tD,YAAgBokE,GAElBolD,EAAOM,SAAS37E,wBAA0B,IAG5C,GAAIq7E,EAAOM,SAASQ,sBAAwB,EAAG,CAC7C,MAAMO,EAAiBvwK,KAAKyO,MAAM,EAAIygK,EAAOM,SAASQ,sBACtDzpH,YAA6BgqH,GAC7BrB,EAAOM,SAASQ,qBAAuB,EAczC,GAXId,EAAOM,SAAS5hK,UAAY,IAC9B05G,cACIrsH,IAAOme,gBAAgB1V,IAAkB4jD,YAC3C4nH,EAAOM,SAAS5hK,SAAW,KAE3BshK,EAAOM,SAAS5hK,SAAW,KAG3B3S,IAAOyvB,uBAAuBlG,KAChCvpB,IAAOyvB,YAAYlB,QAAQvuB,KAEzBi0K,EAAOM,SAASS,iBAAmB,EAAG,CACxC,GAAIh1K,IAAOkwB,uBAAuBgX,IAChC,IACElnC,IAAOkwB,YAAY3B,QAAQ1W,IAAQ7X,KACnC,MAAO6vB,GACPoyD,YAAe,8CAAgDpyD,GAGnEokJ,EAAOM,SAASS,gBAAkB,EAGhCf,EAAOM,SAASU,oBAAsB,IAEpClwK,KAAK0O,UAAY,KACnB4c,cAEF4jJ,EAAOM,SAASU,mBAAqB,KAGnChB,EAAOM,SAASW,qBAAuB,IACzCp2H,cACAm1H,EAAOM,SAASW,oBAAsB,MAI1ClxK,KAAM,SAAU7D,GAKd,GAJAo1K,cACAC,cAGIljH,YAASnyD,GAAa,CACxBgsE,IAAYl+D,OAEZ85D,YAAuB/nE,KACvB61D,cACA71D,IAAO08B,wBACH18B,IAAO40B,eACTm0B,cAIF/oD,IAAO42D,aAAa52D,IAAOu0B,SAG3B0/I,EAAOC,aAAc,IAAIvgJ,MAAOC,UAChC,MAAMF,EAAa1zB,IAAO0zB,WACpB+hJ,EAAcxB,EAAOC,YAAcxgJ,EACnCgiJ,EAAmB3wK,KAAKyO,MAAMiiK,EAAc/sK,IAAUG,YAG5D,GAAI7I,IAAO28B,YAAYjgC,OAAS,EAAG,CACjC,IAAIi5K,EAAe,EACnB,GAAID,EAAmB,IAErB,IAAK,IAAIl5K,EAAI,EAAGA,EAAIk5K,EAAmB,IAAMl5K,IACvCuI,KAAK0O,SAAW,KAAMkiK,SAI5BA,EAAgBD,EAAmB,IAAQ,IAE7C,IAAK,IAAIl5K,EAAI,EAAGA,EAAIm5K,EAAcn5K,IAChC6zB,cAIJ,IAAIulJ,EAAoB,EACxB,MAAMC,EAAwB71K,IAAO+zB,aAAaxZ,QAAUva,IAAO6zB,qBAAwB4hJ,EAAc,IAIzG,GAHAz1K,IAAO4uB,UAAUinJ,EAAsB,WAEvCv5F,YAAsBt8E,KACK,OAAvBA,IAAOs6B,YACTt6B,IAAO+3B,OAAQ,EACf/3B,IAAOmnJ,YAAYuuB,QAEnB,IAAK,IAAIl5K,EAAI,EAAGA,EAAIwD,IAAOia,SAASvd,OAAQF,IAAK,CAC/C,MAAMynC,EAAUjkC,IAAOia,SAASzd,GAChC,IAAKwb,IAASnb,eAAeonC,GAAU,SACvC,MAAM/rB,EAAUF,IAASisB,GACzB,IAAK/rB,EAAQ6lB,SAAU,SAGvB,IADa7lB,EAAQC,UACXozC,aAAc,SAExB,GAAIvrD,IAAOwrD,gBAAkBvnB,EAAS,SAEtC,MAAMynB,EAAOC,YAAsB3rD,IAAQkY,GACrC0zC,EAAOC,YAA8B7rD,IAAQkY,GAC7C4zC,EAAOC,YAA2B/rD,IAAQkY,GAI1CmsD,EAFiBt/D,KAAKoD,IAAIujD,EAAME,EAAME,GAAQ9rD,IAAOia,SAASvd,OAEvCg5K,EAC7Bx9J,EAAQokB,kBAAoB+nC,EAC5BuxG,GAAqBvxG,EAKzB,MAAMyxG,EAAoC/nJ,YAAuB/tB,IAAQ01K,GACnEK,EAAkB7qJ,YAAkBlrB,KACxC,oCACE,kBAAC,IAAD,CAAQmuB,OAAQ2nJ,IADlB,WAIA,kBAAC,IAAD,CAAOv1K,MAAOu1K,IAIhBxqH,YAA6BoqH,GAGzB11K,IAAO40B,eACTq0B,YAAmBysH,GAIrB,MAAMhhJ,EAAO10B,IAAO00B,KAChB10B,IAAO8vD,UAAqB,OAATp7B,GACrBA,EAAKnG,QAAQmnJ,EAAkB11K,KAI7BA,IAAOyvB,uBAAuBlG,KAChCvpB,IAAOyvB,YAAY0zD,YAAYuyF,GAI7B11K,IAAOkwB,uBAAuBgX,KAChClnC,IAAOkwB,YAAYizD,YAAYuyF,GAGjCv1H,IAAY5xB,QAAQvuB,IAAQ01K,GAG5B,IAAK,IAAIl5K,EAAI,EAAGA,EAAIwD,IAAOqzB,QAAQ32B,SAAUF,EAC3C,GAAIwD,IAAOqzB,QAAQ72B,aAAc82B,IAAQ,CACvC,MAAM8gJ,EAAqBp0K,IAAOqzB,QAAQ72B,GAAG+xB,QAAQvuB,IAAQ01K,GAG7D,GAA0B,MAAtBtB,EACF,SAEF,IAAK,IAAI12K,EAAI,EAAGA,EAAIsC,IAAOqzB,QAAQ32B,SAAUgB,EACvCA,IAAMlB,GAGVwD,IAAOqzB,QAAQ31B,GAAGmoH,eAAe7lH,IAAQo0K,EAAoBsB,GAAkB,GAMrF,MAAMrhK,EAAOqhK,EAAmBhtK,IAAUG,WACd,MAAxB7I,IAAOkyD,gBACTlyD,IAAOkyD,cAAgB,GAEU,MAA/BlyD,IAAO6zB,uBACT7zB,IAAO6zB,qBAAuB,GAEO,MAAnC7zB,IAAOi1B,2BACTj1B,IAAOi1B,yBAA2B,GAEpCj1B,IAAOkyD,eAAiB79C,EACxBrU,IAAO6zB,sBAAwBxf,EAC/BrU,IAAOi1B,0BAA4B5gB,EAEnCrU,IAAO0zB,WAAaugJ,EAAOC,YAC3BD,EAAO5uF,QACP,MAAM2wF,EAAoB5hK,YAAiCC,GAC3DkpC,WACE,IACEvvC,IAAYC,KACV,oCACE,kBAAC,IAAD,oBAAyB+nK,EAAzB,6BACA,4BACE,4BACE,kBAAC,IAAD,+BACyB,kBAAC,IAAD,CAAOz1K,MAAOs1K,MAGzC,4BACE,kBAAC,IAAD,qCAA0CE,IAE5C,4BACE,kBAAC,IAAD,mBACa,kBAAC,IAAD,CAAY3xG,WAAYwxG,IADrC,iDAOV,UAIF7tG,YAAuB/nE,KACvBi0K,EAAO5uF,QACPrlF,IAAO8D,OACPwN,YAAmBtR,IAAOunB,mBAC1BkpB,cACAl4B,cACAs9C,cAGA3uC,cAEFs6I,eAGFn8E,MAAO,WAEL,MAAM4wF,GAAc,IAAItiJ,MAAOC,UAC/B,IAAI2jC,EAAO0+G,EAAchC,EAAOC,YAChC,MAAMz4I,EAAS87B,EAAO7uD,IAAUG,WAGhC0uD,EAAOxyD,KAAKyO,MAAM+jD,EAAO7uD,IAAUG,YAE/B0uD,EAAO,IAET08G,EAAOC,YAAc+B,EAAcx6I,EACnCz7B,IAAO0zB,WAAauiJ,EAAcx6I,EAClCw4I,EAAOE,WAAW58G,IAEpB13D,OAAOq2K,sBAAsBjC,EAAO5uF,U,qFChcxC,8xB,+BCAA,sLAoBA,MAAM92E,EAAYC,YAAYhM,GAC5BiM,YAAa,CACXqiC,KAAM,CACJ5xB,gBAAiB1c,EAAMuM,OAAOw9D,sBAK7B,SAAS4pG,IACd,MAAMjnK,EAAUX,KACTqjF,EAAMwkF,GAAWj7H,oBAAS,IAC1Bk7H,EAAQC,GAAan7H,oBAAS,GAE/Bq5D,EAAW,IAAG9rG,IAAUC,kBAAkB0nG,iBAsChD,OAlCEj7C,SAAS+I,MAAS,aAAYq2C,EAGhC72D,oBAAU,KACR,MAAMsG,EAAK1G,WAAW,KACf84H,GAAQD,GAAQ,IACpB,KACH,MAAO,IAAMjxG,aAAalhB,KAG5BtG,oBAAU,MACRqf,uBACQh5D,cACHssD,KAAMnwD,IACL,IACE8zK,IAAOjwK,KAAK7D,GACZ,MAAOiY,GAGP,MAFAouH,cACA8vC,GAAU,GACJl+J,EAGRmiG,cACA+7D,GAAU,KAEXzlH,MAAO0lH,IACN3xK,QAAQyT,MAAMk+J,GACdtC,IAAOjwK,KAAK,IACZsyK,GAAU,KAGhBE,IACC,IAGD,kBAAC,IAAD,CAAKjnK,UAAWL,EAAQ4hC,MACrBulI,EACC,kBAAC,IAAD,CAAUt7H,SAAU3F,IAAU0F,OAAQm5H,IAAQ7kK,OAAQpP,MAEtD,kBAAC,IAAD,CAAMuyE,WAAS,EAAC40F,UAAU,SAASnoJ,eAAe,SAASD,WAAW,SAAS4yB,MAAO,CAAE6G,UAAW,UACjG,kBAAC,IAAD,CAAMs2F,MAAI,GACR,kBAAC,IAAD,CAAkBpnG,KAAM,IAAK/4B,MAAM,aAErC,kBAAC,IAAD,CAAMmgI,MAAI,GACR,kBAAC,IAAD,CAAY/qF,QAAQ,MAApB,qBAA4CywD,IAE7C5iB,GACC,kBAAC,IAAD,CAAMk9C,MAAI,GACR,kBAAC,IAAD,4CACsC,uBAAGl6E,KAAK,cAAR,6B,gDCtFpD,0FASO,SAASz2C,EAA+BglB,EAA4BszI,GAAe,GACxF,MAAMlhE,EAAkBpyE,aAAevpB,IAAeupB,EAAI5kC,KAAO4kC,EAEjE,IAAK,MAAM29H,KAASv8J,KAAKwY,cACvB,GAAI+jJ,EAAMviK,OAASg3G,EACjB,OAAO,EAIX,IAAKkhE,EACH,IAAK,MAAM3V,KAASv8J,KAAKkZ,oBACvB,GAAIqjJ,EAAMviK,OAASg3G,EACjB,OAAO,EAKb,OAAO,EAGF,SAAS3+C,EAA4B8/G,EAAS,GAEnDnyK,KAAK2vB,0BACL3vB,KAAKm4B,wBAELn4B,KAAKiW,MAAQm8J,YAAiBpyK,KAAMmyK,K,6BC9B/B,SAAS9zG,EAAcpjE,GAC5B,MAAoB,iBAANA,IAAmB0I,MAAM1I,GALzC,mC,6BCAA,+DASO,MAAMwoD,EAOX1jD,YACEkkD,EAAc,GACdZ,EAAS,EACThgB,EAAQ,EACRgvI,EAAkBjtH,IAAWC,SAC7B9wB,EAAqB0X,IAAcuZ,MAGnC,IAAI8sH,GAAc,EAUlB,GATsB,iBAAXjvH,GAAwC,iBAAVhgB,IACvCivI,GAAc,IAEZ3uK,MAAM0/C,IAAW1/C,MAAM0/B,MACzBivI,GAAc,GAEW,iBAAhBruH,IACTquH,GAAc,GAEZA,EACF,MAAM,IAAIxnK,MAAO,2CAGnB9K,KAAKikD,YAAcA,EACnBjkD,KAAKqjD,OAASA,EACdrjD,KAAKqjC,MAAQA,EACbrjC,KAAKi/B,KAAOozI,EACZryK,KAAKu0B,IAAMA,EAMbla,SACE,OAAO5O,YAAe,QAASzL,MAMlB,gBAACvF,GACd,OAAOoR,YAAiB43C,EAAOhpD,EAAM9C,OAIzCoE,IAAQqP,aAAaq4C,MAAQA,G,8RC5CtB,MAAM/I,EAAoC,oCAChC,GADgC,mBAEjB,IAE9B63H,WACE,OAAO7D,IAAgBE,SAAW3jK,IAAmBm4D,qBAAuB3nE,IAAOorB,cAAc,IAGnG6lB,QACE,OAAOlsC,KAAKoD,IAAI,EAAGpD,KAAK4M,IAAI5M,KAAKyO,MAAMjP,KAAKuyK,WAAa,EAAI,GAAI7D,IAAgBG,UAEnFpsH,SACE,OAAOjiD,KAAKoD,IAAI,EAAGpD,KAAK4M,IAAI5M,KAAKyO,MAAMjP,KAAKuyK,WAAa,EAAI,IAAM7D,IAAgBG,UAGrF2D,OAAO3nK,EAAiB4nK,EAAoBrpH,GACtCA,EAAUqpH,EAAGhgE,eACfggE,EAAG//D,UAAa+/D,EAAGhgE,cAAgBggE,EAAG//D,UAAatpD,EAAU,EAC7DqpH,EAAGhgE,cAAgBrpD,GAEnBqpH,EAAG//D,WAAatpD,EAAUqpH,EAAGhgE,cAG/B,MAAMigE,EAAQj/J,IAASrX,IAAay1D,uBACpC6gH,EAAM36I,kBAAqBltB,EAAOoL,MAAMiB,aAAe1W,KAAKoN,IAAIw7C,EAAS,MAASspH,EAAMp+J,MAAQ,MAAS,IAG3Gq+J,UACE,OAAQ3yK,KAAKijD,aAAe9+C,IAAUG,WAAc,IAAO,EAG7D0lB,QAAQ5uB,EAAYquB,EAAY,GACzBruB,EAAEwe,gBAAgB1V,IAAkBu4G,gBACzCz8G,KAAKijD,cAAgBx5B,EACrBzpB,KAAKijD,cAAgB,GACrBjjD,KAAKijD,aAAeziD,KAAKoD,IAAI,EAAG5D,KAAKijD,cACrCjjD,KAAK4yK,YAAYx3K,GACjBy8J,IAAkBnuJ,QAGpBmpK,OAAOn9G,GAOL,IAAIT,EALUS,EAAST,aAEMniD,IAAK7X,GAAM+E,KAAK+iD,WAAW9nD,EAAE,GAAIA,EAAE,KAGhCye,OAAQykB,KAAyDA,GAEjG82B,EAAaA,EAAWv7C,OAAQg8C,GAAaA,EAASA,WAAWz2B,OAASwC,IAAa20B,SACvF,IAAI08G,EAAQ,EAEZ79G,EAAaA,EAAWv7C,OAAO,CAACykB,EAAGlmC,EAAGsB,IAAMA,EAAE+J,QAAQ66B,KAAOlmC,GAC7D,IAAK,MAAM86K,KAAa99G,EACtB69G,GAASC,EAAUr9G,WAAW5oB,MAEhC,OAAOkmI,YAAgBt9G,EAAS+8C,cAAe/8C,EAASg9C,UAAWh9C,EAASA,WAAW5oB,MAAOgmI,GAGhGG,SAASC,EAAeC,EAAex+G,EAAkBe,GACvD,GAAIw9G,EAAQ,GAAKC,EAAQ,EAAG,OAAO,EACnC,GAAID,EAAQx9G,EAAShpB,MAAMioB,GAAY30D,KAAK0sC,QAAS,OAAO,EAC5D,GAAIymI,EAAQz9G,EAASjT,OAAOkS,GAAY30D,KAAKyiD,SAAU,OAAO,EAC9D,GAAIziD,KAAK26D,MAAMjF,IAAaA,EAASjB,MAAO,OAAO,EACnD,MAAM2+G,EAAU,IAAI5gE,IAAe,CAAEl0G,EAAG40K,EAAO30K,EAAG40K,EAAOx+G,SAAUA,EAAUe,SAAUA,IACvF,IAAK,MAAM29G,KAASrzK,KAAK0hJ,UACvB,GAAI2xB,EAAM1gE,QAAQygE,GAAU,OAAO,EAErC,OAAO,EAGTE,MAAMJ,EAAeC,EAAex+G,EAAkBe,GACpD,QAAK11D,KAAKizK,SAASC,EAAOC,EAAOx+G,EAAUe,KAC3C11D,KAAK0hJ,UAAUjpJ,KAAK,IAAI+5G,IAAe,CAAEl0G,EAAG40K,EAAO30K,EAAG40K,EAAOx+G,SAAUA,EAAUe,SAAUA,MACpF,GAGT69G,aAAaL,EAAeC,GAC1B,OAAOnzK,KAAK0hJ,UAAU7nI,KAAM3B,GAAMA,EAAE5Z,IAAM40K,GAASh7J,EAAE3Z,IAAM40K,GAG7DpwH,WAAWmwD,EAAgBC,GACzB,IAAK,MAAMkgE,KAASrzK,KAAK0hJ,UACvB,GAAI2xB,EAAM3+G,OAAOw+C,EAAQC,GACvB,OAAOkgE,EAOb14G,MAAMjF,GACJ,IAAIpxC,EAAM,EACV,IAAK,MAAM+uJ,KAASrzK,KAAK0hJ,UACnB2xB,EAAM39G,WAAWhW,KAAOgW,EAAShW,IAAIp7B,IAE3C,OAAOA,EAGT28C,OAAOiyG,EAAeC,GACpB,IAAK,IAAIl7K,EAAI,EAAGA,EAAI+H,KAAK0hJ,UAAUvpJ,OAAQF,IACzC,GAAI+H,KAAK0hJ,UAAUzpJ,GAAGqG,IAAM40K,GAASlzK,KAAK0hJ,UAAUzpJ,GAAGsG,IAAM40K,EAE3D,OADAnzK,KAAK0hJ,UAAUroJ,OAAOpB,EAAG,IAClB,EAIX,OAAO,EAGTk7E,QACEnzE,KAAK0hJ,UAAY,GAGnB8xB,cACExzK,KAAK0hJ,UAAUr1G,QAASn0B,IACtBA,EAAEu6F,cAAgB,EAClBv6F,EAAEw6F,UAAY,IAIlBkgE,YAAYx3K,GAGVA,EAAEi3D,aAAaj3D,EAAE40B,SAEjB,IAAK,MAAMqjJ,KAASrzK,KAAK0hJ,UAAW,CAClC,MAAMhsF,EAAW29G,EAAM39G,WAEjB5oB,EAAQ9sC,KAAK6yK,OAAOQ,GAC1B,OAAQ39G,EAASz2B,MACf,KAAKwC,IAAaG,cAChBxmC,EAAE6a,MAAMY,gBAAkBi2B,EAC1B,MACF,KAAKrL,IAAaI,aAChBzmC,EAAE6a,MAAMa,eAAiBg2B,EACzB,MACF,KAAKrL,IAAaK,aAChB1mC,EAAE6a,MAAMc,eAAiB+1B,EACzB,MACF,KAAKrL,IAAaM,YAChB3mC,EAAE6a,MAAMe,cAAgB81B,EACxB,MACF,KAAKrL,IAAaO,QAChB5mC,EAAE6a,MAAMD,SAAW82B,EACnB1xC,EAAE6a,MAAMM,aAAeu2B,EACvB,MACF,KAAKrL,IAAaQ,SAChB7mC,EAAE6a,MAAMC,UAAY42B,EACpB1xC,EAAE6a,MAAMO,cAAgBs2B,EACxB,MACF,KAAKrL,IAAaS,QAChB9mC,EAAE6a,MAAME,SAAW22B,EACnB1xC,EAAE6a,MAAMQ,aAAeq2B,EACvB,MACF,KAAKrL,IAAaU,UAChB/mC,EAAE6a,MAAMG,WAAa02B,EACrB1xC,EAAE6a,MAAMS,eAAiBo2B,EACzB,MACF,KAAKrL,IAAaW,QAChBhnC,EAAE6a,MAAMI,SAAWy2B,EACnB1xC,EAAE6a,MAAMU,aAAem2B,EACvB,MACF,KAAKrL,IAAaY,SAChBjnC,EAAE6a,MAAMK,UAAYw2B,EACpB1xC,EAAE6a,MAAMW,cAAgBk2B,EACxB,MACF,KAAKrL,IAAaa,aAChBlnC,EAAE6a,MAAMqB,oBAAsBw1B,EAC9B,MACF,KAAKrL,IAAac,YAChBnnC,EAAE6a,MAAMsB,4BAA8Bu1B,EACtC1xC,EAAE6a,MAAMuB,uBAAyBs1B,EACjC1xC,EAAE6a,MAAMwB,wBAA0Bq1B,EAClC1xC,EAAE6a,MAAMyB,yBAA2Bo1B,EACnC,MACF,KAAKrL,IAAae,IAChBpnC,EAAE6a,MAAMgB,aAAe61B,EACvB1xC,EAAE6a,MAAMiB,aAAe41B,EACvB,MACF,KAAKrL,IAAagB,UAChBrnC,EAAE6a,MAAMoB,YAAcy1B,EACtB,MACF,KAAKrL,IAAaiB,MAChBtnC,EAAE6a,MAAMmB,eAAiB01B,EACzB1xC,EAAE6a,MAAMkB,aAAe21B,EACvB,MACF,KAAKrL,IAAakB,YAChBvnC,EAAE6a,MAAM0B,yBAA2Bm1B,EACnC1xC,EAAE6a,MAAM2B,0BAA4Bk1B,EACpC1xC,EAAE6a,MAAM4B,sBAAwBi1B,EAChC1xC,EAAE6a,MAAM6B,4BAA8Bg1B,GAI5C1xC,EAAE81B,oBAGJ9C,uBACEpuB,KAAKwzK,cAGPzjJ,qBACE/vB,KAAKmzE,QACLnzE,KAAKijD,aAAe,EAMtB5oC,SACE,OAAO5O,YAAe,cAAezL,MAMxB,gBAACvF,GACd,OAAOoR,YAAiB6uC,EAAajgD,EAAM9C,OAI/CoE,IAAQqP,aAAasvC,YAAcA,G,kMCvN5B,MAAM9C,EA8CX73C,YAAY3E,GAAuB,cAzCX,MAyCW,kBApCxB,GAoCwB,iBA/BzB,GA+ByB,cApBd6I,IAAawvK,MAoBC,eAdX,IAcW,0BARhB,GAQgB,0BAFhB,GAGbr4K,EAAEkzB,OACJtuB,KAAKsuB,KAAOlzB,EAAEkzB,MAEZlzB,EAAEuiD,WACJ39C,KAAK29C,SAAWviD,EAAEuiD,UAEhBviD,EAAEslH,UACJ1gH,KAAK0gH,QAAUtlH,EAAEslH,SAEftlH,EAAE2+H,mBACJ/5H,KAAK+5H,iBAAmB3+H,EAAE2+H,kBAExB3+H,EAAEpB,OACJgG,KAAKhG,KAAOoB,EAAEpB,MAEZoB,EAAEwtF,QACJ5oF,KAAK4oF,MAAQxtF,EAAEwtF,OAEbxtF,EAAE48J,mBACJh4J,KAAKg4J,iBAAmB58J,EAAE48J,kBAExB58J,EAAE68J,mBACJj4J,KAAKi4J,iBAAmB78J,EAAE68J,qB,uCC5FhC,0MAoBO,SAASyb,EAAahpK,GAC3B,MAAMC,EAAUX,cAEhB,OACE,kBAAC,IAAD,CAAOJ,GAAI,CAAE2Q,QAAS,QAASyhE,GAAI,EAAGtvC,MAAO,SAC3C,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAU1yC,KAAK,OAAOoQ,MAAOzL,IAASV,MAAM8c,QAASpjB,KAAM,CAAEu1C,QAASxiC,EAAMglD,OAAOphC,QACnF,kBAAC,IAAD,CACEt0B,KAAK,KACLoQ,MAAOzL,IAASV,MAAM2xB,GACtBj4B,KAAM,CACJu1C,QAAU,GAAEptC,IAAeoB,SAASwJ,EAAMglD,OAAO9/B,SAAS9vB,IAAeoB,SAASwJ,EAAMglD,OAAO7/B,aAGnG,kBAAC,IAAD,CACE71B,KAAK,UACLoQ,MAAOzL,IAASV,MAAM80B,KACtBp7B,KAAM,CAAEqiB,MAAOtP,EAAMglD,OAAO15C,QAAS6a,IAAKnmB,EAAMglD,OAAOn5C,eAEzD,kBAAC,IAAD,CACEvc,KAAK,WACLoQ,MAAOzL,IAASV,MAAM8pE,OACtBpwE,KAAM,CAAEqiB,MAAOtP,EAAMglD,OAAOx5C,SAAU2a,IAAKnmB,EAAMglD,OAAOl5C,gBAE1D,kBAAC,IAAD,CACExc,KAAK,UACLoQ,MAAOzL,IAASV,MAAM8pE,OACtBpwE,KAAM,CAAEqiB,MAAOtP,EAAMglD,OAAOv5C,QAAS0a,IAAKnmB,EAAMglD,OAAOj5C,eAEzD,kBAAC,IAAD,CACEzc,KAAK,YACLoQ,MAAOzL,IAASV,MAAM8pE,OACtBpwE,KAAM,CAAEqiB,MAAOtP,EAAMglD,OAAOt5C,UAAWya,IAAKnmB,EAAMglD,OAAOh5C,iBAE3D,kBAAC,IAAD,CACE1c,KAAK,UACLoQ,MAAOzL,IAASV,MAAM8pE,OACtBpwE,KAAM,CAAEqiB,MAAOtP,EAAMglD,OAAOr5C,QAASwa,IAAKnmB,EAAMglD,OAAO/4C,eAEzD,kBAAC,IAAD,CACE3c,KAAK,WACLoQ,MAAOzL,IAASV,MAAMk1B,IACtBx7B,KAAM,CAAEqiB,MAAOtP,EAAMglD,OAAOp5C,SAAUua,IAAKnmB,EAAMglD,OAAO94C,gBAE1D,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAWjM,QAAS,CAAE4hC,KAAM5hC,EAAQwiC,WAClC,+BAGJ,kBAAC,IAAD,CACEnzC,KAAK,QACLoQ,MAAOzL,IAASV,MAAM8c,QACtBpjB,KAAM,CAAEu1C,QAASptC,IAAeoC,kBAAkB,IAAMwI,EAAMglD,OAAO1gC,UAEvE,kBAAC,IAAD,CACEh1B,KAAK,OACLoQ,MAAOzL,IAASV,MAAM8c,QACtBpjB,KAAM,CAAEu1C,QAASptC,IAAeqC,oBAAoBuI,EAAMglD,OAAOx/B,SAEnE,kBAAC,IAAD,CACEl2B,KAAK,SACLoQ,MAAOzL,IAASV,MAAM8c,QACtBpjB,KAAM,CAAEu1C,QAASptC,IAAesC,mBAAmBsI,EAAMglD,OAAO6yD,aAOnE,SAASoxD,EAAgBjpK,GAC9B,MAAMC,EAAUX,cACVa,EAAS0I,IAAI9X,SAEnB,IAAI9D,EAAmC,GACvC,GAAI+S,EAAMglD,OAAOmxD,cAAgB70E,IAAetJ,MAC9C/qC,EAAO,CACL,CACG,QACD,oCACE,kBAAC,IAAD,CAAOqE,MAAOC,WAAWyO,EAAMglD,OAAOuxD,uBADxC,kBAIF,CAAE,cAAiBnhH,IAAeuB,UAAUqJ,EAAMglD,OAAOsxD,iBAAiBjuF,MAAzD,oBACjB,CAAE,eAAkBjzB,IAAeuB,UAAUqJ,EAAMglD,OAAOsxD,iBAAiB//G,KAAzD,oBAClB,CAAE,cAAiBnB,IAAeuB,UAAUqJ,EAAMglD,OAAOsxD,iBAAiBhuF,KAAzD,oBACjB,CAAE,gBAAmBlzB,IAAeuB,UAAUqJ,EAAMglD,OAAOsxD,iBAAiB/tF,KAAzD,oBACnB,CAAE,cAAiBnzB,IAAeuB,UAAUqJ,EAAMglD,OAAOsxD,iBAAiB9tF,KAAzD,oBACjB,CAAE,eAAkBpzB,IAAeuB,UAAUqJ,EAAMglD,OAAOsxD,iBAAiB7tF,KAAzD,0BAYpB,GATAx7B,EAAO,CACL,CAAE,SAAS,kBAAC,IAAD,CAAWqE,MAAO,EAAI0O,EAAMglD,OAAOsxD,iBAAiBhlH,SAC/D,CAAE,eAAkB8D,IAAeuB,UAAU,EAAIqJ,EAAMglD,OAAOsxD,iBAAiBjuF,MAA7D,UAClB,CAAE,gBAAmBjzB,IAAeuB,UAAU,EAAIqJ,EAAMglD,OAAOsxD,iBAAiB//G,KAA7D,UACnB,CAAE,eAAkBnB,IAAeuB,UAAU,EAAIqJ,EAAMglD,OAAOsxD,iBAAiBhuF,KAA7D,UAClB,CAAE,iBAAoBlzB,IAAeuB,UAAU,EAAIqJ,EAAMglD,OAAOsxD,iBAAiB/tF,KAA7D,UACpB,CAAE,eAAkBnzB,IAAeuB,UAAU,EAAIqJ,EAAMglD,OAAOsxD,iBAAiB9tF,KAA7D,UAClB,CAAE,gBAAmBpzB,IAAeuB,UAAU,EAAIqJ,EAAMglD,OAAOsxD,iBAAiB7tF,KAA7D,WAEjBzoB,EAAMglD,OAAOmxD,cAAgB70E,IAAe1X,SAAW5pB,EAAMglD,OAAOmxD,cAAgB70E,IAAe73B,QAAS,CAC9G,MAAMkrB,EAAkB30B,EAAMglD,OAAOgzD,WAAW73G,GAChDlT,EAAKc,KAAK,CAAE,cAAc,kBAAC,IAAD,CAAgBonE,WAAY,EAAIxgC,MAI9D,OACE,kBAAC,IAAD,CAAOz1B,GAAI,CAAE2Q,QAAS,QAASyhE,GAAI,EAAGtvC,MAAO,OAAQgkB,WAAY,IAC/D,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAW/lD,QAAS,CAAE4hC,KAAM5hC,EAAQwiC,WAClC,kBAAC,IAAD,CAAYqS,QAAQ,MAApB,cAGH7nD,EAAKmb,IAAI,EAAE1B,EAAGE,KACb,kBAAC,IAAD,CAAUvW,IAAKqW,EAAEsB,WAAapB,EAAEoB,YAC9B,kBAAC,IAAD,CAAW/H,QAAS,CAAE4hC,KAAM5hC,EAAQwiC,WAClC,kBAAC,IAAD,KAAa/7B,IAEf,kBAAC,IAAD,CAAWi8B,MAAM,QAAQ1iC,QAAS,CAAE4hC,KAAM5hC,EAAQwiC,WAChD,kBAAC,IAAD,KAAa77B,U,6BC3I3B,wIAgBO,MAAMsiK,EAAa,CACxBC,IAAK,EACLC,QAAS,EACTC,MAAO,EACPC,UAAW,GAWN,SAASC,EAAevpK,GAK7B,SAASwpK,EAAc36K,GACrB,MAAM46K,EAAY56K,aAAa0U,KAAU1U,EAAEgqB,kBACrC0b,EAAOv0B,EAAM0pK,WACnB,OAAQn1I,GACN,KAAK20I,EAAWC,IACd,OAAO,EACT,KAAKD,EAAWE,QACd,MAAsB,SAAfv6K,EAAE2S,WAAwBioK,EACnC,KAAKP,EAAWG,MACd,OAAOI,GAAa56K,aAAa6uB,KAAgC,SAAf7uB,EAAE2S,SACtD,KAAK0nK,EAAWI,UACd,OAAOG,GAAa56K,aAAa6uB,IACnC,QAEE,OADA/nB,QAAQC,KAAM,8DAA6D2+B,IACpE,GAIb,MAAMzyB,EAAU,GAChB,IAAK,MAAMR,KAAUO,cAAgByE,KAAK,CAACI,EAAGE,IAAMF,EAAElF,SAAS8+I,cAAc15I,EAAEpF,WACzEgoK,EAAcloK,IAChBQ,EAAQ/T,KACN,kBAAC,IAAD,CAAUsC,IAAKiR,EAAOE,SAAUzR,MAAOuR,EAAOE,UAC3CF,EAAOE,WAMhB,OACE,kBAAC,IAAD,CACEytD,eACE,kBAAC,IAAD,CAAQ9Z,QAASn1C,EAAM2pK,SAAU9pK,UAAWG,EAAM+xJ,aAAlD,OAIF7yJ,GAAI,CAAEirD,GAAI,GACVp6D,MAAOiQ,EAAMjQ,MACbg/D,SAAU/uD,EAAM+uD,UAEfjtD,K,iUC7DP,MACa8nK,EAAa,E,IAErBC,G,SAAAA,K,WAAAA,E,qBAAAA,E,2CAAAA,E,sBAAAA,E,mBAAAA,M,KAwBE,MAAMC,UAAkB/pF,IAG7B1qF,YAAY2K,GACV0Y,MAAM1Y,GADkB,sBAoBX,KACb,MAAM,EAAEtP,GAAM4E,KAAK0K,OACb,IAAE+pK,GAAQz0K,KAAKyvE,MAErB,OAAOr0E,EAAE2P,UAAU0pK,KAxBK,mBA2Bd,KACV,IAAKz0K,KAAK00K,gBAAkBnqF,YAAavqF,KAAK0K,MAAMtP,GAClD,OAKF4E,KAAK0K,MAAMtP,EAAE+rB,UAAUnnB,KAAKyvE,MAAMglG,IAAK,UAEvC,MAAME,EAAa,IAAIxzB,IAAK,CAACnhJ,KAAK40K,KAAKC,eAAgB70K,KAAK40K,KAAKC,iBAC3DC,EAAa,IAAI3zB,IAAK,CAACnhJ,KAAK40K,KAAKC,eAAgB70K,KAAK40K,KAAKC,iBAEjE70K,KAAK0vE,SAAS,CACZilG,aACAG,aACAC,gBAAgB,EAChB/7K,OAAQu7K,EAAOS,UAKyB,KAAtCh1K,KAAKi1K,iBAAiBN,GACkB,KAAtC30K,KAAKi1K,iBAAiBH,GACxB90K,KAAKk1K,WAAWX,EAAOY,KAEvBn1K,KAAKk1K,WAAWX,EAAOa,sBAEsB,KAAtCp1K,KAAKi1K,iBAAiBH,IAE/B90K,KAAKk1K,WAAWX,EAAOc,aAxDD,sBA8DVC,IACd,IAAIt8K,EAAmB,CAAC,GAExB,IAAK,IAAIf,EAAI,EAAGA,EAAIq9K,EAAKl0B,MAAMjpJ,SAAUF,EAAG,CAC1C,MAAMwC,EAAQ66K,EAAKl0B,MAAMnpJ,GAAGwC,MAE1BzB,EADEyB,GAAS,GACFzB,EAAO8Z,IAAKxU,GAAMA,EAAI,IACZ,IAAV7D,EACAzB,EAAO+jH,QAASz+G,GAAM,CAACA,EAAI,EAAGA,EAAI,KAElCtF,EAAO8Z,IAAKxU,GAAMA,EAAI7D,GAInC,OAAOzB,IA5EiB,0BAkFNs8K,IAClB,MAAMC,EAAav1K,KAAKw1K,aAAaF,GAC/BG,EAAgBF,EAAW77J,OAAQpb,GAAMA,GAAK,IAEpD,OAAIm3K,EAAct9K,OAAS,GACzBs9K,EAAczkK,KAAK,CAACI,EAAGE,IAAMF,EAAIE,GAC1BmkK,EAAcA,EAAct9K,OAAS,IAGrCo9K,EAAW,KA3FI,8BAgGFD,IACtB,MAAMC,EAAav1K,KAAKw1K,aAAaF,GACrC,OAAIt1K,KAAK01K,aAAaJ,GAEb,IAAI,IAAIhrH,IAAI,CAACirH,EAAW,MAExB,IAAI,IAAIjrH,IAAIirH,EAAW77J,OAAQpb,GAAMA,GAAK,QAtG3B,sBA0GVg3K,GACPt1K,KAAKi1K,iBAAiBK,GAAQ,IA3Gb,mBA8GbtkI,IACX,IAAKA,EAAMC,UACT,OAGF,MAAM0kI,EAAU31K,KAAKyvE,MAAMklG,WAAWtzB,SAASrhJ,KAAK40K,KAAKC,gBAEzD70K,KAAK0vE,SAAS,CACZilG,WAAYgB,IAIV31K,KAAK01K,aAAaC,IACpB31K,KAAKk1K,WAAWX,EAAOc,aA3HD,oBA+HZrkI,IACZ,IAAKA,EAAMC,UACT,OAKF,IAAI2kI,EAAgB51K,KAAKyvE,MAAMqlG,WAC/B,OAAa,CAKX,KAFwB90K,KAAKi1K,iBAAiBW,IAEvB,IAGrB,MAFAA,EAAgBA,EAAcv0B,SAASrhJ,KAAK40K,KAAKC,gBAWrD,GALA70K,KAAK0vE,SAAS,CACZolG,WAAYc,IAIV51K,KAAK01K,aAAaE,GACpB51K,KAAKk1K,WAAWX,EAAOsB,eAClB,CACL,MAAMC,EAAkB91K,KAAKi1K,iBAAiBW,GACxCG,EAAkB/1K,KAAKi1K,iBAAiBj1K,KAAKyvE,MAAMklG,YAIzD,GAAImB,EAAkB,IAAMC,EAAkB,GAC5C,MAAM,IAAIjrK,MAAM,uCAGdirK,EAAkBD,EACpB91K,KAAKk1K,WAAWX,EAAOsB,WACdE,EAAkBD,EAC3B91K,KAAKk1K,WAAWX,EAAOc,WAEvBr1K,KAAKk1K,WAAWX,EAAOY,QAzKH,oBA8KZn8K,IACZ,MAAMouE,EACJpuE,IAAWu7K,EAAOc,UACd,EACAr8K,IAAWu7K,EAAOY,IAClBn1K,KAAKyvE,MAAMglG,IACXz7K,IAAWu7K,EAAOsB,UAClB,EAAI71K,KAAKyvE,MAAMglG,IACfz7K,IAAWu7K,EAAOa,qBAClB,IAAMp1K,KAAKyvE,MAAMglG,IACjB,MACE,MAAM,IAAI3pK,MAAO,sBAAqB9R,IADxC,GAGNgH,KAAKsqF,IAAItqF,KAAK0K,MAAMtP,EAAGgsE,GACvBpnE,KAAK0vE,SAAS,CACZqlG,gBAAgB,EAChB/7K,SACAouE,MAAOpnE,KAAKyvE,MAAMrI,MAAQA,EAAQpnE,KAAKyvE,MAAMglG,QA/LvB,uBAmMTzjI,IACf,MAAM,EAAE51C,GAAM4E,KAAK0K,MACbsrK,EAAWhlI,EAAM3lB,OAAO5wB,MACxBw7K,EAAQz1K,KAAKsjB,MAAM7nB,WAAW+5K,IAChCryK,MAAMsyK,GACRj2K,KAAK0vE,SAAS,CACZ+kG,IAAK,EACLuB,WACAE,cAAc,EACdC,uBAAwB,uBAEjBF,GAAS,EAClBj2K,KAAK0vE,SAAS,CACZ+kG,IAAK,EACLuB,WACAE,cAAc,EACdC,uBAAwB,8BAEjBF,EAnPC,IAoPVj2K,KAAK0vE,SAAS,CACZ+kG,IAAK,EACLuB,WACAE,cAAc,EACdC,uBAAwB,oBAEhB/6K,EAAE2P,UAAUkrK,GAStBj2K,KAAK0vE,SAAS,CACZ+kG,IAAKwB,EACLD,WACAE,cAAc,EACdC,uBAAwB,GACxBn9K,OAAQu7K,EAAOS,UAbjBh1K,KAAK0vE,SAAS,CACZ+kG,IAAK,EACLuB,WACAE,cAAc,EACdC,uBAAwB,uBAjOJ,sBAgPVnlI,IAETA,EAAMC,YAINjxC,KAAKyvE,MAAMymG,cACdl2K,KAAKo2K,eApPPp2K,KAAK40K,KAAO,IAAIyB,IAAK/B,GAIrBt0K,KAAKyvE,MAAQ,CACXklG,WAAY,IAAIxzB,IAAK,IACrB2zB,WAAY,IAAI3zB,IAAK,IACrBszB,IALiB,IAMjBuB,SAAUr1G,OANO,KAOjBo0G,gBAAgB,EAChB/7K,OAAQu7K,EAAOS,QACf5tG,MAAO,EACP8uG,cAAc,EACdC,uBAAwB,IA2O5BG,SACE,MAAM,SAAEN,EAAF,WAAYrB,EAAZ,WAAwBG,EAAxB,eAAoCC,EAApC,OAAoD/7K,EAApD,aAA4Dk9K,EAA5D,uBAA0EC,EAA1E,MAAkG/uG,GACtGpnE,KAAKyvE,MAGD8mG,EAAmBv2K,KAAKw2K,qBAAqB7B,GAC7C8B,EAAmBz2K,KAAKw2K,qBAAqB1B,GAEnD,OACE,gCAEE,gBAAC,IAAD,KACE,gBAAC,IAAD,CACEr6K,MAAOu7K,EACP38G,MACE,gCACG,eACD,gBAAC,IAAD,CAAOr9D,MA1SP,MA2SC,KAGLuO,SAAUwqK,EACVt7G,SAAUz5D,KAAK02K,cACf5iK,MAAOoiK,EACPS,WAAYT,EAAeC,EAAyB,GACpDl3I,KAAK,SACLmO,MAAO,CACLV,MAAO,SAETgtB,WAAY,CACVC,eACE,gBAAC,IAAD,CAAgB7iC,SAAS,SACvB,gBAAC,IAAD,cAMR,gBAAC,IAAD,KACG,gCACD,gBAAC,IAAD,CAAO96B,MAAOorE,MAKhB2tG,EAKA,gCACE,gBAAC,IAAD,CAAQl1H,QAAS7/C,KAAK42K,WAAtB,OACA,gBAAC,IAAD,CAAQxsK,MAAM,YAAYy1C,QAAS7/C,KAAK62K,YAAxC,SANF,gBAAC,IAAD,CAAQh3H,QAAS7/C,KAAK82K,aAAcvsK,SAAU2rK,IAAiBl2K,KAAK00K,gBAApE,UAcAK,GAAkB/7K,IAAWu7K,EAAOS,UACpC,gCACE,gBAAC,IAAD,CAAKz6J,QAAQ,QACX,gBAAC,IAAD,CAAOw8J,UAAW,GAChB,gBAAC,IAAD,eACCpC,EAAWvzB,MAAMtuI,IAAI,CAACkkK,EAAM/+K,IAC3B,gBAAC,IAAD,CAAW++K,KAAMA,EAAMj8K,IAAK9C,KAG9B,gBAAC,IAAD,cACS,IACNs+K,EACEzjK,IAAqB,CAACrY,EAAOxC,IAAM,wBAAM8C,IAAK9C,GAAIwC,IAClDqtC,OAAO,CAACmvI,EAAMhvJ,IAAS,CAACgvJ,EAAM,OAAQhvJ,OAK/C,2BAEA,gBAAC,IAAD,CAAK1N,QAAQ,QACX,gBAAC,IAAD,CAAOw8J,UAAW,GAChB,gBAAC,IAAD,eACCjC,EAAW1zB,MAAMtuI,IAAI,CAACkkK,EAAM/+K,IAE3B,gBAAC,IAAD,CAAW++K,KAAMA,EAAME,OAAQnC,GAAwB,IAAN98K,EAAS8C,IAAK9C,MAG/D88K,GACA,gCACE,gBAAC,IAAD,cACS,IACN0B,EACE3jK,IAAqB,CAACrY,EAAOxC,IAAM,wBAAM8C,IAAK9C,GAAIwC,IAClDqtC,OAAO,CAACmvI,EAAMhvJ,IAAS,CAACgvJ,EAAM,OAAQhvJ,SAUtDjvB,IAAWu7K,EAAOS,SACjB,gBAAC,IAAD,KACGh8K,EADH,IAEGA,IAAWu7K,EAAOsB,WAAa,gBAAC,IAAD,CAAO75K,MAAOgE,KAAKyvE,MAAMglG,MACxDz7K,IAAWu7K,EAAOa,sBAAwB,gBAAC,IAAD,CAAOp5K,MAAwB,IAAjBgE,KAAKyvE,MAAMglG,MACnEz7K,IAAWu7K,EAAOc,WAAa,gBAAC,IAAD,CAAOr5K,OAAQgE,KAAKyvE,MAAMglG,W,6BCrZtE,yFAYA,MAAMzqK,EAAYC,YAAW,IAC3BC,YAAa,CACX8sK,KAAM,CACJ77J,QAAS,OACTL,OAAQ,oBACRH,gBAAiB,QACjBJ,QAAS,eACT8vD,aAAc,OACda,SAAU,SACVozC,UAAW,SACXxqE,OAAQ,MACR6hH,WAAY,QAEdwhB,IAAK,CACH/sK,MAAO,OAGTm+D,MAAO,CACLn+D,MAAO,SAET3P,MAAO,CACLywE,SAAU,OACV3B,WAAY,iBAKL6tG,EAAuB,EAAGJ,OAAME,aAC3C,MAAMvsK,EAAUX,IAChB,IAAI6kG,EACJ,OAAQmoE,EAAKnoE,MACX,KAAKF,IAAK0oE,MACRxoE,EAAO,mCACP,MACF,KAAKF,IAAKM,SACRJ,EAAO,mCACP,MACF,KAAKF,IAAKK,OACRH,EAAO,mCACP,MACF,KAAKF,IAAK2oE,OACRzoE,EAAO,mCACP,MACF,QACE,MAAM,IAAI/jG,MAAO,yBAAwBksK,EAAKnoE,MAElD,OACE,kBAAC,IAAD,CAAO7jG,UAAY,GAAEL,EAAQqsK,QAAQA,EAAKjoE,YAAcpkG,EAAQwsK,IAAMxsK,EAAQ49D,SAC5E,oCACE,0BAAMv9D,UAAWL,EAAQlQ,OAAQy8K,EAAS,MAAQF,EAAKloE,eACvD,8BAAOooE,EAAS,MAAQroE,O,8BC5DhC,qEAMA,SAAS0oE,EAAen8K,EAAY8c,GAClC,MAAMs/J,EAAct/J,EAAEM,cAAchd,QAAQke,OAAQklB,GAAgB,uBAARA,GAC5D,IAAK,MAAM64I,KAAcD,EACvB,IACGp8K,EAAEod,cAAc8oC,KAAM1iB,GACdA,EAAI5kC,MAAQy9K,GAGrB,OAAO,EAEX,OAAO,EAGF,MAAM39H,EAA0B,CACrC,CACE8f,MAAO,2BACP1gE,UAAW,KACT,MAAM8S,EAASD,YAAU,QACzB,SAAKC,IAAWA,EAAO1T,eAAe,qBAC/B0T,aAAkBiC,KAAUjC,EAAO0sE,kBAG9C,CACE9e,MAAO,+BACP1gE,UAAW,KACT,MAAM8S,EAASD,YAAU,QACzB,SAAKC,IAAWA,EAAO1T,eAAe,wBAC/B0T,aAAkBiC,KAAUjC,EAAOmtB,qBAG9C,CACEygC,MAAO,8CACP1gE,UAAYkC,GACHA,EAAEsa,SAAS0D,SAAShd,IAAamiC,WAG5C,CACEq7B,MAAQ,sCAAqCx9D,IAAamiC,SAC1DrlC,UAAYkC,GACHm8K,EAAen8K,EAAGqY,IAASrX,IAAamiC,YAGnD,CACEq7B,MAAO,iDACP1gE,UAAYkC,GACHA,EAAEsa,SAAS0D,SAAShd,IAAamgC,UAG5C,CACEq9B,MAAQ,sCAAqCx9D,IAAamgC,QAC1DrjC,UAAYkC,GACHm8K,EAAen8K,EAAGqY,IAASrX,IAAamgC,WAGnD,CACEq9B,MAAO,uCACP1gE,UAAYkC,GACHA,EAAEsa,SAAS0D,SAAShd,IAAa+/B,eAG5C,CACEy9B,MAAQ,sCAAqCx9D,IAAa+/B,aAC1DjjC,UAAYkC,GACHm8K,EAAen8K,EAAGqY,IAASrX,IAAa+/B,gBAGnD,CACEy9B,MAAO,+CACP1gE,UAAYkC,GACHA,EAAEsa,SAAS0D,SAAShd,IAAa2/B,aAG5C,CACE69B,MAAQ,sCAAqCx9D,IAAa2/B,WAC1D7iC,UAAYkC,GACHm8K,EAAen8K,EAAGqY,IAASrX,IAAa2/B,cAGnD,CACE69B,MAAO,sBACP1gE,UAAYkC,GAEHA,EAAEsa,SAAS0D,SAAShd,IAAau9B,WAG5C,CACEigC,MAAQ,yCAAwCx9D,IAAau9B,SAC7DzgC,UAAYkC,GACHA,EAAEod,cAAc8oC,KAAM1iB,GAAoB,gBAAZA,EAAI5kC,OAG7C,CACE4/D,MAAO,gDACP1gE,UAAW,KACF,K,kCCtGb,8CAEO,MAAMw+K,EAAyB,CACpCC,YAAa,EACbC,cAAe,GAGjB,IAAK,MAAM78K,KAAO3C,OAAOuT,KAAKm0C,KAC5B43H,EAAuBC,YAAcn3K,KAAKoD,IAAI7I,EAAI5C,OAAQu/K,EAAuBC,aACjFD,EAAuBE,cAAgBp3K,KAAKoD,IAAIk8C,IAAa/kD,GAAK5C,OAAQu/K,EAAuBE,gB,6BCTnG,sFAeO,SAASC,GAAiB,YAC/Br3I,EAD+B,WAE/BG,EAF+B,mBAG/Bm3I,EAH+B,iBAI/BC,IAEA,IAAKv3I,EAAa,OAAO,qCACzB,MAAMw3I,IAAer3I,EAEfs3I,EAAYD,EAAar5K,IAASV,MAAM8c,QAAUpc,IAASV,MAAM2qE,eAEvE,IAAIsvG,EAAa,GAKjB,OAJIv3I,IACFu3I,EAAa,IAAI9oJ,KAAKuR,GAAY7uB,kBAIlC,kBAAC,IAAD,CACElI,GAAI,CACFkR,OAAS,aAAYnc,IAASV,MAAMorE,KACpC2S,GAAI,IAGN,kBAAC,IAAD,CACEpyE,GAAI,CACF2Q,QAAS,OACTgjC,cAAe,MACfsiF,SAAU,SAGZ,kBAAC,IAAD,CACEr/F,YAAaA,EACb23I,SAAUH,EACV70I,KAAK,OACLi1I,aAAcJ,EAAaF,EAAqBC,IAElD,kBAAC,IAAD,CACEnuK,GAAI,CACF2Q,QAAS,OACTgjC,cAAe,SACf9iC,eAAgB,SAChBgoH,GAAI,IAGN,kBAAC,IAAD,CAAYjjF,QAAQ,KAAK51C,GAAI,CAAEQ,MAAO6tK,IACnCz3I,EAAYI,MAEf,kBAAC,IAAD,CAAY4e,QAAQ,QAAQ51C,GAAI,CAAEwR,SAAU,QAAShR,MAAO6tK,IACzDz3I,EAAY65E,aAEd29D,GACC,kBAAC,IAAD,CAAYx4H,QAAQ,UAAU51C,GAAI,CAAEshE,SAAU,OAAQ9gE,MAAOzL,IAASV,MAAMyqE,cAA5E,eACewvG,Q,6BCnE3B,kCAYA,MAAMG,EACJt4K,YAAYzF,EAAG65I,EAAG7iI,GAChBtR,KAAK22E,IAAIr8E,EAAG65I,EAAG7iI,GAGjBoB,WACE,MAAQ,OAAMlS,KAAKsjB,MAAM9jB,KAAK1F,OAAOkG,KAAKsjB,MAAM9jB,KAAKm0I,OAAO3zI,KAAKsjB,MAAM9jB,KAAKsR,MAG9EqlE,IAAIr8E,EAAG65I,EAAG7iI,GACRtR,KAAK1F,EAAI0F,KAAKkoI,MAAM5tI,GACpB0F,KAAKm0I,EAAIn0I,KAAKkoI,MAAMiM,GACpBn0I,KAAKsR,EAAItR,KAAKkoI,MAAM52H,GAGtBgnK,UAAUC,EAAQ,GAChBA,EAASA,EAAQ,IAAO/3K,KAAKg4K,GAC7B,MAAMC,EAAMj4K,KAAKi4K,IAAIF,GACfG,EAAMl4K,KAAKk4K,IAAIH,GAErBv4K,KAAK24K,SAAS,CACZ,KAAc,KAAND,EAAoB,KAAND,EACtB,KAAc,KAANC,EAAoB,KAAND,EACtB,KAAc,KAANC,EAAoB,KAAND,EACtB,KAAc,KAANC,EAAoB,KAAND,EACtB,KAAc,KAANC,EAAoB,IAAND,EACtB,KAAc,KAANC,EAAoB,KAAND,EACtB,KAAc,KAANC,EAAoB,KAAND,EACtB,KAAc,KAANC,EAAoB,KAAND,EACtB,KAAc,KAANC,EAAoB,KAAND,IAI1BG,UAAUn+K,EAAQ,GAChBuF,KAAK24K,SAAS,CACZ,MAAS,OAAU,EAAIl+K,GACvB,MAAS,OAAU,EAAIA,GACvB,MAAS,OAAU,EAAIA,GACvB,MAAS,OAAU,EAAIA,GACvB,MAAS,OAAU,EAAIA,GACvB,MAAS,OAAU,EAAIA,GACvB,MAAS,OAAU,EAAIA,GACvB,MAAS,OAAU,EAAIA,GACvB,MAAS,OAAU,EAAIA,KAI3Bo+K,MAAMp+K,EAAQ,GACZuF,KAAK24K,SAAS,CACZ,KAAQ,MAAS,EAAIl+K,GACrB,KAAQ,MAAS,EAAIA,GACrB,KAAQ,MAAS,EAAIA,GACrB,KAAQ,MAAS,EAAIA,GACrB,KAAQ,MAAS,EAAIA,GACrB,KAAQ,MAAS,EAAIA,GACrB,KAAQ,MAAS,EAAIA,GACrB,KAAQ,MAAS,EAAIA,GACrB,KAAQ,MAAS,EAAIA,KAIzBq+K,SAASr+K,EAAQ,GACfuF,KAAK24K,SAAS,CACZ,KAAQ,KAAQl+K,EAChB,KAAQ,KAAQA,EAChB,KAAQ,KAAQA,EAChB,KAAQ,KAAQA,EAChB,KAAQ,KAAQA,EAChB,KAAQ,KAAQA,EAChB,KAAQ,KAAQA,EAChB,KAAQ,KAAQA,EAChB,KAAQ,KAAQA,IAIpBk+K,SAASI,GACP,MAAMC,EAAOh5K,KAAKkoI,MAAMloI,KAAK1F,EAAIy+K,EAAO,GAAK/4K,KAAKm0I,EAAI4kC,EAAO,GAAK/4K,KAAKsR,EAAIynK,EAAO,IAC5EE,EAAOj5K,KAAKkoI,MAAMloI,KAAK1F,EAAIy+K,EAAO,GAAK/4K,KAAKm0I,EAAI4kC,EAAO,GAAK/4K,KAAKsR,EAAIynK,EAAO,IAC5EG,EAAOl5K,KAAKkoI,MAAMloI,KAAK1F,EAAIy+K,EAAO,GAAK/4K,KAAKm0I,EAAI4kC,EAAO,GAAK/4K,KAAKsR,EAAIynK,EAAO,IAClF/4K,KAAK1F,EAAI0+K,EACTh5K,KAAKm0I,EAAI8kC,EACTj5K,KAAKsR,EAAI4nK,EAGXC,WAAW1+K,EAAQ,GACjBuF,KAAKo5K,OAAO3+K,GAEd4+K,SAAS5+K,EAAQ,GACfuF,KAAKo5K,OAAO3+K,GAAS,GAAMA,EAAS,IAGtC2+K,OAAOE,EAAQ,EAAGC,EAAY,GAC5Bv5K,KAAK1F,EAAI0F,KAAKkoI,MAAMloI,KAAK1F,EAAIg/K,EAAoB,IAAZC,GACrCv5K,KAAKm0I,EAAIn0I,KAAKkoI,MAAMloI,KAAKm0I,EAAImlC,EAAoB,IAAZC,GACrCv5K,KAAKsR,EAAItR,KAAKkoI,MAAMloI,KAAKsR,EAAIgoK,EAAoB,IAAZC,GAGvCC,OAAO/+K,EAAQ,GACbuF,KAAK1F,EAAI0F,KAAKkoI,MAAmD,KAA5CztI,EAASuF,KAAK1F,EAAI,KAAQ,EAAI,EAAIG,KACvDuF,KAAKm0I,EAAIn0I,KAAKkoI,MAAmD,KAA5CztI,EAASuF,KAAKm0I,EAAI,KAAQ,EAAI,EAAI15I,KACvDuF,KAAKsR,EAAItR,KAAKkoI,MAAmD,KAA5CztI,EAASuF,KAAKsR,EAAI,KAAQ,EAAI,EAAI7W,KAGzDg/K,MAEE,MAAMn/K,EAAI0F,KAAK1F,EAAI,IACb65I,EAAIn0I,KAAKm0I,EAAI,IACb7iI,EAAItR,KAAKsR,EAAI,IACb1N,EAAMpD,KAAKoD,IAAItJ,EAAG65I,EAAG7iI,GACrBlE,EAAM5M,KAAK4M,IAAI9S,EAAG65I,EAAG7iI,GAC3B,IAAIyY,EACFxwB,EACAK,GAAKgK,EAAMwJ,GAAO,EAEpB,GAAIxJ,IAAQwJ,EACV2c,EAAIxwB,EAAI,MACH,CACL,MAAMQ,EAAI6J,EAAMwJ,EAEhB,OADA7T,EAAIK,EAAI,GAAMG,GAAK,EAAI6J,EAAMwJ,GAAOrT,GAAK6J,EAAMwJ,GACvCxJ,GACN,KAAKtJ,EACHyvB,GAAKoqH,EAAI7iI,GAAKvX,GAAKo6I,EAAI7iI,EAAI,EAAI,GAC/B,MAEF,KAAK6iI,EACHpqH,GAAKzY,EAAIhX,GAAKP,EAAI,EAClB,MAEF,KAAKuX,EACHyY,GAAKzvB,EAAI65I,GAAKp6I,EAAI,EAGtBgwB,GAAK,EAGP,MAAO,CACLA,EAAO,IAAJA,EACHxwB,EAAO,IAAJA,EACHK,EAAO,IAAJA,GAIPsuI,MAAMztI,GAMJ,OALIA,EAAQ,IACVA,EAAQ,IACCA,EAAQ,IACjBA,EAAQ,GAEHA,GAIJ,MAAMi/K,EACX35K,YAAYsrB,GACVrrB,KAAKqrB,OAASA,EACdrrB,KAAK25K,UAAYtuJ,EAAOouJ,MACxBz5K,KAAK45K,YAAc,IAAIvB,EAAM,EAAG,EAAG,GAGrCwB,QACE,MAAM7gL,EAASgH,KAAK85K,YAAY95K,KAAK+5K,aACrC,MAAO,CACLjhJ,OAAQ9/B,EAAO8/B,OACf+sD,KAAM7sF,EAAO6sF,KACbnsE,OAAQ1Z,KAAKg6K,IAAIhhL,EAAO8/B,SAI5BihJ,YACE,MAEM3oK,EAAI,CAAC,GAAI,IAAK,KAAO,IAAK,IAAK,KAErC,IAAI6oK,EAAO,CAAEp0F,KAAM9kF,KACnB,IAAK,IAAI9I,EAAI,EAAGgiL,EAAKp0F,KAAO,IAAM5tF,EAAI,EAAGA,IAAK,CAC5C,MAAMiiL,EAAU,CAAC,GAAI,GAAI,KAAM,GAAI,IAAK,KAClClhL,EAASgH,KAAKm6K,KAPZ,EAOoB/oK,EANpB,GAM0B8oK,EAAS,KACvClhL,EAAO6sF,KAAOo0F,EAAKp0F,OACrBo0F,EAAOjhL,GAGX,OAAOihL,EAGTH,YAAYhhG,GACV,MAAMhoE,EAAIgoE,EAAK+M,KAETu0F,EAAKtpK,EAAI,EACTM,EAAI,CAAC,IAAOgpK,EAAI,IAAOA,EAAIA,EAAI,IAAOA,EAAI,GAAMA,EAAI,GAAMA,GAChE,OAAOp6K,KAAKm6K,KAAKrpK,EAAGM,EAHV,EAGgB0nE,EAAKhgD,OAAQ,KAGzCqhJ,KAAKrpK,EAAGM,EAAGtX,EAAGg/B,EAAQuhJ,GAIpB,IAAIJ,EAAO,KACPK,EAAWv5K,IACf,MAAMw5K,EAAS,IAAI3yI,MAAM,GACnB4yI,EAAW,IAAI5yI,MAAM,GACrB6yI,EAAU,IAAI7yI,MAAM,GAE1B,IAAK,IAAIgY,EAAI,EAAGA,EAAIy6H,EAAOz6H,IAAK,CAC9B,MAAM86H,EAAK5gL,EAAI0G,KAAKoN,IAAIgyC,EAAI,EAThB,oBAUZ,IAAK,IAAI3nD,EAAI,EAAGA,EAAI,EAAGA,IACrBsiL,EAAOtiL,GAAKuI,KAAK0O,SAAW,GAAM,GAAK,EACvCsrK,EAASviL,GAAK6gC,EAAO7gC,GAAKyiL,EAAKH,EAAOtiL,GACtCwiL,EAAQxiL,GAAK6gC,EAAO7gC,GAAKyiL,EAAKH,EAAOtiL,GAGvC,MAAM0iL,EAAW36K,KAAK6lF,KAAK20F,GAAYx6K,KAAK6lF,KAAK40F,GACjD,IAAK,IAAIxiL,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,MAAMk8I,EAAKwmC,GAAY,EAAID,GAAOH,EAAOtiL,GACnC2iL,EAAKxpK,EAAEnZ,GAAKuI,KAAKoN,IAAIkD,EAAI8uC,EAAI,EApBzB,GAqBV9mB,EAAO7gC,GAAK4iL,EAAI/hJ,EAAO7gC,GAAK2iL,EAAKzmC,EAAGl8I,GAGtC,MAAM4tF,EAAO7lF,KAAK6lF,KAAK/sD,GACnB+sD,EAAOy0F,IACTL,EAAOnhJ,EAAOt9B,MAAM,GACpB8+K,EAAWz0F,GAGf,MAAO,CAAE/sD,OAAQmhJ,EAAMp0F,KAAMy0F,GAE7B,SAASO,EAAIpgL,EAAOqgL,GAClB,IAAIl3K,EAAM,IAkBV,OAjBY,IAARk3K,EACFl3K,EAAM,KACW,IAARk3K,GAAsC,IAARA,IACvCl3K,EAAM,KAGI,IAARk3K,EACErgL,EAAQmJ,EACVnJ,GAASmJ,EACAnJ,EAAQ,IACjBA,EAAQmJ,EAAOnJ,EAAQmJ,GAEhBnJ,EAAQ,EACjBA,EAAQ,EACCA,EAAQmJ,IACjBnJ,EAAQmJ,GAEHnJ,GAIXorF,KAAKk1F,GAEH,MAAM3wK,EAAQpK,KAAK45K,YACnBxvK,EAAMusE,IAAI,EAAG,EAAG,GAEhBvsE,EAAMovK,OAAOuB,EAAQ,GAAK,KAC1B3wK,EAAMyuK,MAAMkC,EAAQ,GAAK,KACzB3wK,EAAM0uK,SAASiC,EAAQ,GAAK,KAC5B3wK,EAAMkuK,UAAuB,IAAbyC,EAAQ,IACxB3wK,EAAM+uK,WAAW4B,EAAQ,GAAK,KAC9B3wK,EAAMivK,SAAS0B,EAAQ,GAAK,KAE5B,MAAMC,EAAW5wK,EAAMqvK,MACvB,OACEj5K,KAAKC,IAAI2J,EAAM9P,EAAI0F,KAAKqrB,OAAO/wB,GAC/BkG,KAAKC,IAAI2J,EAAM+pI,EAAIn0I,KAAKqrB,OAAO8oH,GAC/B3zI,KAAKC,IAAI2J,EAAMkH,EAAItR,KAAKqrB,OAAO/Z,GAC/B9Q,KAAKC,IAAIu6K,EAASjxJ,EAAI/pB,KAAK25K,UAAU5vJ,GACrCvpB,KAAKC,IAAIu6K,EAASzhL,EAAIyG,KAAK25K,UAAUpgL,GACrCiH,KAAKC,IAAIu6K,EAASphL,EAAIoG,KAAK25K,UAAU//K,GAIzCogL,IAAIe,GACF,SAASplD,EAAImlD,EAAK/hK,EAAa,GAC7B,OAAOvY,KAAKsjB,MAAMi3J,EAAQD,GAAO/hK,GAEnC,MAAQ,UAAS48G,EAAI,cAAcA,EAAI,iBAAiBA,EAAI,mBAAmBA,EAAI,EAAG,uBAAuBA,EAC3G,iBACcA,EAAI,QAejB,SAASslD,EAAkBC,GAChC,MAAMC,EAZR,SAAkBD,GAGhBA,EAAMA,EAAIj3I,QADa,mCACW,CAACpqC,EAAGS,EAAG65I,EAAG7iI,IACnChX,EAAIA,EAAI65I,EAAIA,EAAI7iI,EAAIA,GAG7B,MAAMtY,EAAS,4CAA4CmpG,KAAK+4E,GAChE,OAAOliL,EAAS,CAACwtJ,SAASxtJ,EAAO,GAAI,IAAKwtJ,SAASxtJ,EAAO,GAAI,IAAKwtJ,SAASxtJ,EAAO,GAAI,KAAO,KAIlFoiL,CAASF,GACrB,IAAKC,EAAK,MAAO,GAEjB,MAAO7gL,EAAG65I,EAAG7iI,GAAK6pK,EACZ/wK,EAAQ,IAAIiuK,EAAM/9K,EAAG65I,EAAG7iI,GAE9B,OADe,IAAIooK,EAAOtvK,GACZyvK,QAAQngK,S,+CCtTxB,kCAEO,MAAM2hK,EAA0B,CACrCrhL,KAAM,UACNqlH,YAAa,qCACbi8D,OAAQ,aACRC,WANF,OAMcC,EACZhxK,OAAQ,CACNi+D,aAAc,OACd1tD,QAAS,OACT2tD,YAAa,OACbP,aAAc,OACdC,QAAS,OACTC,YAAa,OACbS,WAAY,OACZh1D,MAAO,OACPi1D,UAAW,OACXH,eAAgB,OAChBD,UAAW,OACXE,cAAe,OACfM,aAAc,OACdD,QAAS,OACTE,YAAa,OACbJ,UAAW,OACXzzD,KAAM,OACN0zD,SAAU,OACVwC,UAAW,OACXpC,KAAM,OACNf,MAAO,OACPC,MAAO,OACP34C,GAAI,UACJ5zB,MAAO,UACP+2B,KAAM,UACNg1C,OAAQ,UACR50C,IAAK,UACLC,IAAK,UACL0sC,IAAK,UACLv1D,SAAU,UACVy9D,kBAAmB,OACnBC,oBAAqB,OACrBC,OAAQ,U,6BCxCZ,kCAEO,MAAMmzG,EAA0B,CACrCrhL,KAAM,eACNqlH,YAAa,mCACbi8D,OAAQ,SACRG,UAAW,wFACXF,WAPF,OAOcC,EACZhxK,OAAQ,CACNi+D,aAAc,UACd1tD,QAAS,UACT2tD,YAAa,UACbP,aAAc,UACdC,QAAS,UACTC,YAAa,UACbS,WAAY,UACZh1D,MAAO,UACPi1D,UAAW,UACXH,eAAgB,UAChBD,UAAW,UACXE,cAAe,UACfM,aAAc,UACdD,QAAS,UACTE,YAAa,UACbJ,UAAW,UACXzzD,KAAM,UACN0zD,SAAU,UACVwC,UAAW,UACXpC,KAAM,UACNf,MAAO,UACPC,MAAO,UACP34C,GAAI,UACJ5zB,MAAO,UACP+2B,KAAM,UACNg1C,OAAQ,UACR50C,IAAK,UACLC,IAAK,UACL0sC,IAAK,UACLv1D,SAAU,UACVy9D,kBAAmB,UACnBC,oBAAqB,UACrBC,OAAQ,a,6BCzCZ,kCAEO,MAAMmzG,EAA0B,CACrCrhL,KAAM,cACNqlH,YAAa,cACbi8D,OAAQ,QACRC,WANF,OAMcC,EACZhxK,OAAQ,CACNi+D,aAAc,OACd1tD,QAAS,UACT2tD,YAAa,UACbP,aAAc,UACdC,QAAS,UACTC,YAAa,UACbS,WAAY,UACZh1D,MAAO,UACPi1D,UAAW,UACXH,eAAgB,OAChBD,UAAW,OACXE,cAAe,OACfM,aAAc,UACdD,QAAS,UACTE,YAAa,UACbJ,UAAW,UACXzzD,KAAM,UACN0zD,SAAU,UACVwC,UAAW,OACXpC,KAAM,OACNf,MAAO,OACPC,MAAO,OACP34C,GAAI,UACJ5zB,MAAO,UACP+2B,KAAM,UACNg1C,OAAQ,UACR50C,IAAK,UACLC,IAAK,UACL0sC,IAAK,UACLv1D,SAAU,UACVy9D,kBAAmB,UACnBC,oBAAqB,UACrBC,OAAQ,U,6BCxCZ,kCAEO,MAAMmzG,EAA0B,CACrCrhL,KAAM,SACNshL,OAAQ,YACRj8D,YAAa,uBACbo8D,UAAW,wFACXF,WAPF,OAOcC,EACZhxK,OAAQ,CACNi+D,aAAc,UACd1tD,QAAS,UACT2tD,YAAa,UACbP,aAAc,UACdC,QAAS,UACTC,YAAa,UACbS,WAAY,UACZh1D,MAAO,UACPi1D,UAAW,UACXH,eAAgB,OAChBD,UAAW,OACXE,cAAe,OACfM,aAAc,UACdD,QAAS,UACTE,YAAa,UACbJ,UAAW,OACXzzD,KAAM,OACN0zD,SAAU,OACVwC,UAAW,OACXpC,KAAM,OACNf,MAAO,OACPC,MAAO,OACP34C,GAAI,UACJ5zB,MAAO,UACP+2B,KAAM,UACNg1C,OAAQ,UACR50C,IAAK,UACLC,IAAK,UACL0sC,IAAK,UACLv1D,SAAU,UACVy9D,kBAAmB,OACnBC,oBAAqB,OACrBC,OAAQ,U,6BCzCZ,kCAEO,MAAMmzG,EAA0B,CACrCrhL,KAAM,QACNshL,OAAQ,UACRj8D,YAAa,eACbo8D,UAAW,wFACXF,WAPF,OAOcC,EACZhxK,OAAQ,CACNi+D,aAAc,UACd1tD,QAAS,UACT2tD,YAAa,UACbP,aAAc,UACdC,QAAS,UACTC,YAAa,UACbS,WAAY,UACZh1D,MAAO,UACPi1D,UAAW,UACXH,eAAgB,UAChBD,UAAW,UACXE,cAAe,UACfM,aAAc,UACdD,QAAS,UACTE,YAAa,UACbJ,UAAW,OACXzzD,KAAM,OACN0zD,SAAU,OACVwC,UAAW,OACXpC,KAAM,OACNf,MAAO,OACPC,MAAO,UACP34C,GAAI,UACJ5zB,MAAO,UACP+2B,KAAM,UACNg1C,OAAQ,UACR50C,IAAK,UACLC,IAAK,UACL0sC,IAAK,UACLv1D,SAAU,UACVy9D,kBAAmB,UACnBC,oBAAqB,UACrBC,OAAQ,U,6BCzCZ,kCAEO,MAAMmzG,EAA0B,CACrCrhL,KAAM,eACNqlH,YAAa,qBACbi8D,OAAQ,gBACRG,UAAW,wFACXF,WAPF,OAOcC,EACZhxK,OAAQ,CACNi+D,aAAc,UACd1tD,QAAS,UACT2tD,YAAa,UACbP,aAAc,UACdC,QAAS,UACTC,YAAa,UACbS,WAAY,UACZh1D,MAAO,UACPi1D,UAAW,UACXH,eAAgB,OAChBD,UAAW,OACXE,cAAe,OACfM,aAAc,UACdD,QAAS,OACTE,YAAa,OACbJ,UAAW,OACXzzD,KAAM,OACN0zD,SAAU,OACVwC,UAAW,OACXpC,KAAM,UACNf,MAAO,OACPC,MAAO,UACP34C,GAAI,UACJ5zB,MAAO,UACP+2B,KAAM,UACNg1C,OAAQ,UACR50C,IAAK,UACLC,IAAK,UACL0sC,IAAK,UACLv1D,SAAU,UACVy9D,kBAAmB,UACnBC,oBAAqB,UACrBC,OAAQ,a,6BCzCZ,kCAEO,MAAMmzG,EAA0B,CACrCrhL,KAAM,SACNshL,OAAQ,UACRj8D,YAAa,uEACbo8D,UAAW,wFACXF,WAPF,OAOcC,EACZhxK,OAAQ,CACNi+D,aAAc,UACd1tD,QAAS,UACT2tD,YAAa,UACbP,aAAc,UACdC,QAAS,UACTC,YAAa,UACbS,WAAY,OACZh1D,MAAO,OACPi1D,UAAW,OACXH,eAAgB,OAChBD,UAAW,OACXE,cAAe,OACfM,aAAc,OACdD,QAAS,OACTE,YAAa,OACbJ,UAAW,OACXzzD,KAAM,OACN0zD,SAAU,OACVwC,UAAW,OACXpC,KAAM,OACNf,MAAO,OACPC,MAAO,OACP34C,GAAI,UACJ5zB,MAAO,UACP+2B,KAAM,UACNg1C,OAAQ,UACR50C,IAAK,UACLC,IAAK,UACL0sC,IAAK,UACLv1D,SAAU,UACVy9D,kBAAmB,OACnBC,oBAAqB,OACrBC,OAAQ,U,6BCzCZ,kCAEO,MAAMmzG,EAA0B,CACrCrhL,KAAM,eACNqlH,YAAa,kDACbi8D,OAAQ,QACRG,UAAW,wFACXF,WAPF,OAOcC,EACZhxK,OAAQ,CACNi+D,aAAc,UACd1tD,QAAS,UACT2tD,YAAa,UACbP,aAAc,UACdC,QAAS,UACTC,YAAa,UACbS,WAAY,UACZh1D,MAAO,UACPi1D,UAAW,UACXH,eAAgB,UAChBD,UAAW,UACXE,cAAe,UACfM,aAAc,UACdD,QAAS,UACTE,YAAa,UACbJ,UAAW,OACXzzD,KAAM,OACN0zD,SAAU,OACVwC,UAAW,OACXpC,KAAM,UACNf,MAAO,OACPC,MAAO,UACP34C,GAAI,UACJ5zB,MAAO,UACP+2B,KAAM,UACNg1C,OAAQ,UACR50C,IAAK,UACLC,IAAK,UACL0sC,IAAK,UACLv1D,SAAU,UACVy9D,kBAAmB,UACnBC,oBAAqB,UACrBC,OAAQ,a,6BCzCZ,kCAEO,MAAMmzG,EAA0B,CACrCrhL,KAAM,UACNqlH,YAAa,qBACbi8D,OAAQ,YACRG,UAAW,wFACXF,WAPF,OAOcC,EACZhxK,OAAQ,CACNi+D,aAAc,UACd1tD,QAAS,UACT2tD,YAAa,UACbP,aAAc,OACdC,QAAS,OACTC,YAAa,OACbS,WAAY,UACZh1D,MAAO,UACPi1D,UAAW,UACXH,eAAgB,OAChBD,UAAW,UACXE,cAAe,OACfM,aAAc,UACdD,QAAS,UACTE,YAAa,UACbJ,UAAW,UACXzzD,KAAM,UACN0zD,SAAU,UACVwC,UAAW,UACXpC,KAAM,UACNf,MAAO,OACPC,MAAO,UACP34C,GAAI,UACJ5zB,MAAO,UACP+2B,KAAM,UACNg1C,OAAQ,UACR50C,IAAK,UACLC,IAAK,UACL0sC,IAAK,UACLv1D,SAAU,UACVy9D,kBAAmB,UACnBC,oBAAqB,UACrBC,OAAQ,a,6BCzCZ,kCAEO,MAAMmzG,EAA0B,CACrCrhL,KAAM,YACNqlH,YAAa,0CACbi8D,OAAQ,cACRG,UAAW,wFACXF,WAPF,OAOcC,EACZhxK,OAAQ,CACNi+D,aAAc,UACd1tD,QAAS,UACT2tD,YAAa,UACbP,aAAc,UACdC,QAAS,UACTC,YAAa,UACbS,WAAY,OACZh1D,MAAO,OACPi1D,UAAW,OACXH,eAAgB,OAChBD,UAAW,OACXE,cAAe,OACfM,aAAc,OACdD,QAAS,OACTE,YAAa,OACbJ,UAAW,OACXzzD,KAAM,OACN0zD,SAAU,OACVwC,UAAW,OACXpC,KAAM,UACNf,MAAO,OACPC,MAAO,UACP34C,GAAI,UACJ5zB,MAAO,UACP+2B,KAAM,UACNg1C,OAAQ,UACR50C,IAAK,UACLC,IAAK,UACL0sC,IAAK,UACLv1D,SAAU,UACVy9D,kBAAmB,UACnBC,oBAAqB,UACrBC,OAAQ,a,6BCzCZ,kCAEO,MAAMmzG,EAA0B,CACrCrhL,KAAM,eACNqlH,YAAa,yBACbi8D,OAAQ,WACRG,UAAW,wFACXF,WAPF,OAOcC,EACZhxK,OAAQ,CACNi+D,aAAc,UACd1tD,QAAS,UACT2tD,YAAa,UACbP,aAAc,UACdC,QAAS,UACTC,YAAa,UACbS,WAAY,UACZh1D,MAAO,UACPi1D,UAAW,UACXH,eAAgB,UAChBD,UAAW,UACXE,cAAe,UACfM,aAAc,OACdD,QAAS,OACTE,YAAa,OACbJ,UAAW,OACXzzD,KAAM,OACN0zD,SAAU,UACVwC,UAAW,UACXpC,KAAM,UACNf,MAAO,UACPC,MAAO,UACP34C,GAAI,UACJ5zB,MAAO,UACP+2B,KAAM,UACNg1C,OAAQ,UACR50C,IAAK,UACLC,IAAK,UACL0sC,IAAK,UACLv1D,SAAU,UACVy9D,kBAAmB,UACnBC,oBAAqB,UACrBC,OAAQ,U,6BCzCZ,kCAEO,MAAMmzG,EAA0B,CACrCrhL,KAAM,WACNqlH,YAAa,4BACbi8D,OAAQ,YACRG,UAAW,wFACXF,WAPF,OAOcC,EACZhxK,OAAQ,CACNi+D,aAAc,UACd1tD,QAAS,UACT2tD,YAAa,UACbP,aAAc,UACdC,QAAS,UACTC,YAAa,UACbS,WAAY,UACZh1D,MAAO,UACPi1D,UAAW,UACXH,eAAgB,OAChBD,UAAW,OACXE,cAAe,OACfM,aAAc,UACdD,QAAS,UACTE,YAAa,UACbJ,UAAW,UACXzzD,KAAM,UACN0zD,SAAU,UACVwC,UAAW,UACXpC,KAAM,UACNf,MAAO,UACPC,MAAO,UACP34C,GAAI,UACJ5zB,MAAO,UACP+2B,KAAM,UACNg1C,OAAQ,UACR50C,IAAK,UACLC,IAAK,UACL0sC,IAAK,UACLv1D,SAAU,UACVy9D,kBAAmB,UACnBC,oBAAqB,UACrBC,OAAQ,a,6BCzCZ,kCAEO,MAAMmzG,EAA0B,CACrCrhL,KAAM,oBACNqlH,YAAa,gCACbi8D,OAAQ,QACRG,UAAW,wFACXF,WAPF,OAOcC,EACZhxK,OAAQ,CACNi+D,aAAc,UACd1tD,QAAS,UACT2tD,YAAa,UACbP,aAAc,UACdC,QAAS,UACTC,YAAa,UACbS,WAAY,UACZh1D,MAAO,UACPi1D,UAAW,UACXH,eAAgB,UAChBD,UAAW,UACXE,cAAe,UACfM,aAAc,OACdD,QAAS,OACTE,YAAa,OACbJ,UAAW,OACXzzD,KAAM,OACN0zD,SAAU,OACVwC,UAAW,OACXpC,KAAM,UACNf,MAAO,OACPC,MAAO,UACP34C,GAAI,UACJ5zB,MAAO,UACP+2B,KAAM,UACNg1C,OAAQ,UACR50C,IAAK,UACLC,IAAK,UACL0sC,IAAK,UACLv1D,SAAU,UACVy9D,kBAAmB,UACnBC,oBAAqB,UACrBC,OAAQ,a,6BCzCZ,kCAEO,MAAMmzG,EAA0B,CACrCrhL,KAAM,QACNqlH,YAAa,+BACbi8D,OAAQ,OACRG,UAAW,wFACXF,WAPF,OAOcC,EACZhxK,OAAQ,CACNi+D,aAAc,UACd1tD,QAAS,UACT2tD,YAAa,UACbP,aAAc,UACdC,QAAS,UACTC,YAAa,UACbS,WAAY,UACZh1D,MAAO,UACPi1D,UAAW,UACXH,eAAgB,UAChBD,UAAW,UACXE,cAAe,UACfM,aAAc,UACdD,QAAS,UACTE,YAAa,UACbJ,UAAW,UACXzzD,KAAM,UACN0zD,SAAU,UACVwC,UAAW,UACXpC,KAAM,UACNf,MAAO,UACPC,MAAO,UACP34C,GAAI,UACJ5zB,MAAO,UACP+2B,KAAM,UACNg1C,OAAQ,UACR50C,IAAK,UACLC,IAAK,UACL0sC,IAAK,UACLv1D,SAAU,UACVy9D,kBAAmB,UACnBC,oBAAqB,UACrBC,OAAQ,a,yHC1CG,wD,6BCAA,wD,6BCAA,wD,6BCAA,wD,6BCAA,wD,6BCAA,wD,6BCAA,wD,6BCAA,wD,6BCAA,wD,6BCAA,wD,6BCAA,wD,6BCAA,wD,6BCAA,wD,6BCAA,wD,gxBC6ER,MAAMr3B,GAA8B,+BAEjB,MAFiB,yBAId,IAJc,8BAKnB,GALmB,wBAOM,CAC7C,IAAIi6D,IAAQ,cAAa3mG,IAAUC,kBAAkB0nG,kBAAW,aARzB,wBAY1B,GAZ0B,kBAgB/B,KAEV9hF,QAAQyxB,EAAiB5wC,EAAiB0oC,GACpB,OAAhBvzC,KAAKsK,SACTtK,KAAKsK,OAAO+gG,UAAalnG,IAAUG,WAAaivC,EAAU,IACtDvzC,KAAKsK,OAAO+gG,SAAW,KAAMrrG,KAAKgnI,aAAavrF,EAAQ5wC,GAAQ,GACnE66G,IAAeh8G,QAGjByjF,OAAOo9C,GACLvqI,KAAK07K,cAAcjjL,KAAK8xI,GACpBvqI,KAAK07K,cAAcvjL,OAASwG,IAASvB,qBACvC4C,KAAK07K,cAAcriL,OAAO,EAAG2G,KAAK07K,cAAcvjL,OAASwG,IAASvB,qBAEpEsoH,IAAeh8G,OAGjBo8D,MAAMvsE,GACJyG,KAAKmtF,OAAO,IAAI2d,IAAOvxG,EAAG,YAG5BixI,SAASjjH,GACPvnB,KAAKmtF,OAAO,IAAI6d,IAAUzjF,IAG5BzT,MAAMva,GACJyG,KAAKmtF,OAAO,IAAI2d,IAAOvxG,EAAG,UAG5B6uE,QAAQ7uE,GACNyG,KAAKmtF,OAAO,IAAI2d,IAAOvxG,EAAG,YAG5Bgc,KAAKhc,GACHyG,KAAKmtF,OAAO,IAAI2d,IAAOvxG,EAAG,SAG5B+G,KAAK/G,GACHyG,KAAKmtF,OAAO,IAAI2d,IAAOvxG,EAAG,SAG5BoiL,UAAU9wK,GAER,MAAMmB,EAASnB,EAAOgxC,mBACtB,GAAI7vC,aAAkBoc,IACpBpoB,KAAK8T,MAAM,uCADb,CAIA,KAAM9H,aAAkBiC,KAAS,MAAM,IAAInD,MAAM,kCACjD9K,KAAKo9E,YAAYl7B,YAAqBl2C,EAAQnB,GAAU,EAAG,IAAKmB,IAGlE4vK,UAAU/wK,GACR,MAAMmB,EAASnB,EAAOgxC,mBACtB,GAAI7vC,aAAkBoc,IACpBpoB,KAAK8T,MAAM,uCADb,CAIA,KAAM9H,aAAkBiC,KAAS,MAAM,IAAInD,MAAM,kCACjD9K,KAAKo9E,YAAYh7B,YAAkBp2C,EAAQnB,GAAU,GAAI,IAAKmB,IAEhE6vK,YAAYhxK,GACV,MAAMmB,EAASnB,EAAOgxC,mBACtB,GAAI7vC,aAAkBoc,IACpBpoB,KAAK8T,MAAM,yCADb,CAIA,KAAM9H,aAAkBiC,KAAS,MAAM,IAAInD,MAAM,kCACjD9K,KAAKo9E,YAAY/6B,YAAoBr2C,EAAQnB,GAAU,GAAI,IAAKmB,IAGlE8vK,cAAcjxK,GAEZ,MAAMmB,EAASnB,EAAOgxC,mBACtB,GAAI7vC,aAAkBoc,IACpBpoB,KAAK8T,MAAM,2CADb,CAIA,KAAM9H,aAAkBiC,KAAS,MAAM,IAAInD,MAAM,kCACjD9K,KAAKo9E,YAAYl7B,YAAqBl2C,EAAQnB,GAAU,EAAG,IAAKmB,IAGlE+vK,aAAalxK,GACX7K,KAAK8lE,MAAM,uBACX,MAAM95D,EAASnB,EAAOgxC,mBACtB77C,KAAKo9E,YAAY,EAAG,IAAKpxE,GAG3BoxE,YAAYniF,EAAWqP,EAAqC0B,GAC1DhM,KAAKsK,OAAS,IAAI8gG,IAAOnwG,EAAGqP,EAAQ0B,GAItCgwK,WAAWvgI,EAAiB5wC,EAAiBmB,EAAoB+qG,GAAY,GAC3E,GAAIA,EAAW,OAEf,GAAI/qG,aAAkBoc,IAEpB,YADApoB,KAAK8T,MAAM,mCAGb,KAAM9H,aAAkBiC,KAAS,MAAM,IAAInD,MAAM,kCAGjD,MAAM67F,EAAanlD,YAAuBx1C,EAAQnB,GAC5C02E,EAAO/gF,KAAK0O,SACZ4iI,EAAqBlwF,YAAwB51C,EAAQnB,GACrDknI,EAAqBD,EAAqB,EAChD,GAAIvwD,EAAOolB,EAAY,CAGrB,GADA36F,EAAOmtB,mBAAoB,EACvB9qB,IAAeC,cAAgBtC,EAAOE,SAExC,YADAuvC,EAAOhH,YAAW,GAAO,GAG3B,IAAI+/E,EAAczyE,YAA4B/1C,EAAQnB,GAAUI,KAAmBi3D,gBACnFsyD,EAAch0H,KAAKyO,MAAMjD,EAAO8B,eAAiB0mH,GAE7CA,GAAe,IACjBA,EAAc,GAGhBxoH,EAAO8B,gBAAkB0mH,EACzB3pH,EAAOwf,UAAUmqG,EAAa,WAC9B3pH,EAAOynB,eAAew/G,GACtBjnI,EAAO+nB,oBAAoBk/G,EAAqB3tI,IAAUsC,qCAE1D,MAAMw1K,EAASjwK,EAAO6B,eACtB7B,EAAOqY,QAAQlgB,IAAUqB,qBACzB,MAAM02K,EAASlwK,EAAO6B,eAEtB7N,KAAK8lE,MACF,uBAAsB95D,EAAOE,qBAAqBpM,IAAeqB,YAChEqzH,UACO10H,IAAeuB,UAAUywI,kBAEpC9xI,KAAK8lE,MACF,0BAAyB95D,EAAOE,kBAAkBpM,IAAe2B,eAChEw6K,SACMn8K,IAAe2B,eAAey6K,WAIxCrxK,EAAOynB,eAAey/G,GACtB/xI,KAAK8lE,MACF,mBAAkB95D,EAAOE,qBAAqBpM,IAAeuB,UAAU0wI,kBAK9EoqC,WAAWtxK,EAAiBmB,EAAoB+qG,GAAY,GAC1D,GAAIA,EAAW,OAEf,GAAI/qG,aAAkBoc,IAEpB,YADApoB,KAAK8T,MAAM,mCAGb,KAAM9H,aAAkBiC,KAAS,MAAM,IAAInD,MAAM,kCACjD,MAAM+2C,EAAUD,YAAwB51C,EAAQnB,GAC1CoxK,EAASjwK,EAAO6B,eAChBivD,EAASoB,YAA0BlyD,EAAQ,GAAInB,EAAQmB,EAAOiyC,UAAY,EAC1Ei+H,EAASlwK,EAAO6B,eAEtBhD,EAAOynB,eAAeuvB,GACtB7hD,KAAK8lE,MACF,uBAAsB95D,EAAOE,sBAAsBpM,IAAe8B,iBACjEk7D,EACA,cACWh9D,IAAeuB,UAAUwgD,mBAExC7hD,KAAK8lE,MACF,0BAAyB95D,EAAOE,kBAAkBpM,IAAe2B,eAChEw6K,SACMn8K,IAAe2B,eAAey6K,MAI1CE,aAAavxK,EAAiBmB,EAAoB+qG,GAAY,GAC5D,GAAIA,EAAW,OAEf,GAAI/qG,aAAkBoc,IAEpB,YADApoB,KAAK8T,MAAM,qCAGb,KAAM9H,aAAkBiC,KAAS,MAAM,IAAInD,MAAM,kCACjD,MAAM+2C,EAAUD,YAAwB51C,EAAQnB,GAC1CoxK,EAASjwK,EAAO6B,eACtB7B,EAAOuY,OAAOpgB,IAAUsB,oBACxB,MAAMy2K,EAASlwK,EAAO6B,eAEtBhD,EAAOynB,eAAeuvB,GACtB7hD,KAAK8lE,MACF,0BAAyB95D,EAAOE,kBAAkBpM,IAAe2B,eAChEw6K,SACMn8K,IAAe2B,eAAey6K,YAAiBp8K,IAAe2B,eAAeuK,EAAO6X,8BAC3E/jB,IAAeuB,UAAUwgD,mBAI9Cw6H,eAAe5gI,EAAiB5wC,EAAiBmB,EAAoB+qG,GAAY,GAC/E,IAAKA,EAAW,CACd,GAAI/qG,aAAkBoc,IAEpB,YADApoB,KAAK8T,MAAM,mCAGb,KAAM9H,aAAkBiC,KAAS,MAAM,IAAInD,MAAM,kCAEjD,GADAkB,EAAOmtB,mBAAoB,EACvB9qB,IAAeC,cAAgBtC,EAAOE,SAKxC,OAJuB,MAAnBrB,EAAO+b,WACT/b,EAAO+b,SAAW,QAEpB60B,EAAOhH,YAAW,GAAO,GAG3Bz0C,KAAK8lE,MAAO,gBAAe95D,EAAOE,0BAItCowK,cAAczxK,EAAiBwsI,EAAsBtgC,GAAY,GAC/D,IAAKA,EAAW,CACd,MAAMwlE,EAAYllC,aAAoBjvH,IACtCpoB,KAAK8lE,MAAMuxE,EAASnrI,SAAW,MAC/B,MAAMswK,EAAMnlC,EAAS5pI,iBACrBzN,KAAK8lE,MAAM,uBAA0By2G,EAAkB,SAANC,IACjD,MAAM9jG,GAAmB6jG,GAAallC,EAAS3+D,gBAAmB6jG,EAClEv8K,KAAK8lE,MAAM,iBAAmB4S,EAAiB,MAAQ,OACvD,MAAM+jG,EAAgB/jG,GAAkB2+D,EAAS1pI,OAAS,EAG1D,GAFA3N,KAAK8lE,MAAM,kCAAoC22G,EAAgB,MAAQ,OACvEz8K,KAAK8lE,MAAM,QAAUhmE,IAAe6B,UAAU01I,EAAS1pI,SACnD0pI,aAAoBppI,IAAQ,CAC9BjO,KAAK8lE,MAAM,cAAgBuxE,EAASl+G,kBAAoB,MAAQ,OAChE,MAAMujJ,EAAerlC,EAAStpI,qBAC9B/N,KAAK8lE,MAAM,oDAAuDy2G,EAA2B,MAAfG,IAC9E,MAAMC,EAAWtlC,EAASxpI,eAC1B7N,KAAK8lE,MAAM,2BAA8By2G,EAA4D,MAAhDz8K,IAAegC,qBAAqB66K,KACzF,MAAMC,EAAgBp7H,YAAuB61F,EAAUxsI,GACvD7K,KAAK8lE,MAAM,oBAAuBy2G,EAA6D,MAAjDz8K,IAAe8B,iBAAiBg7K,KAC9E,MAAMhrC,EAAuD,IAAzC1vF,YAAqBm1F,EAAUxsI,GACnD7K,KAAK8lE,MAAM,kBAAqBy2G,EAAkE,MAAtD1sK,YAAiC+hI,GAAa,KAO5F,GALA5xI,KAAK8lE,MACF,qCACCuxE,aAAoBppI,IAASnO,IAAeqB,YAAYk2I,EAASvpI,gBAAkB,QAGnFupI,aAAoBppI,IAAQ,CAC9B,MAAM4uK,EAAUxlC,EAAS7pI,qBACzBxN,KAAK8lE,MAAM,4CAA+Cy2G,EAAsB,MAAVM,IACtE78K,KAAK8lE,MAAM,cAAgBuxE,EAASjB,YAAc,OAAS,WAC3Dp2I,KAAK8lE,MAAM,cAAgBuxE,EAAShB,YAAc,OAAS,WAC3Dr2I,KAAK8lE,MAAM,eAAiBuxE,EAASf,aAAe,OAAS,WAC7Dt2I,KAAK8lE,MAAM,eAAiBuxE,EAASd,aAAe,OAAS,WAC7Dv2I,KAAK8lE,MAAM,cAAgBuxE,EAASb,YAAc,OAAS,aAKjExP,aAAavrF,EAAiB5wC,EAAiBksG,GAAY,GACzD,GAAoB,OAAhB/2G,KAAKsK,OAAT,CAKA,IAAKtK,KAAKsK,OAAO0B,OAAQ,MAAM,IAAIlB,MAAM,gCAEzC9K,KAAK8lE,MAAM9lE,KAAK88K,mBACW,MAAvB98K,KAAKsK,OAAOA,OACdtK,KAAKg8K,WAAWvgI,EAAQ5wC,EAAQ7K,KAAKsK,OAAO0B,OAAQ+qG,GACpB,MAAvB/2G,KAAKsK,OAAOA,OACrBtK,KAAKm8K,WAAWtxK,EAAQ7K,KAAKsK,OAAO0B,OAAQ+qG,GACZ,MAAvB/2G,KAAKsK,OAAOA,OACrBtK,KAAKo8K,aAAavxK,EAAQ7K,KAAKsK,OAAO0B,OAAQ+qG,GACd,MAAvB/2G,KAAKsK,OAAOA,OACrBtK,KAAKq8K,eAAe5gI,EAAQ5wC,EAAQ7K,KAAKsK,OAAO0B,OAAQ+qG,GACxB,MAAvB/2G,KAAKsK,OAAOA,QACrBtK,KAAKs8K,cAAczxK,EAAQ7K,KAAKsK,OAAO0B,OAAQ+qG,GAG7CA,GACF/2G,KAAK8lE,MAAM,aAEb9lE,KAAKsK,OAAS,KACdo7G,IAAeh8G,YAvBb,IAAKqtG,EAAW,MAAM,IAAIjsG,MAAM,iDA0BpCiyK,QAAQlyK,EAAiBqD,GACvB,OAAImzC,YAAiBnzC,GACZlO,KAAKm0E,UAAUtpE,EAAQqD,GAG5BA,EAAS4gC,SAAS,QACb9uC,KAAKg9K,WAAWnyK,EAAQqD,GAG7BA,EAAS4gC,SAAS,QACb9uC,KAAKutF,YAAY1iF,EAAQqD,GAG3B,KAGT+9J,YAAY/9J,GACV,MAAMghC,EAAOsB,YAAiBtiC,EAAUlO,KAAK+vC,OAC7C,GAAY,MAARb,EACF,MAAM,IAAIpkC,MAAO,gCAA+BoD,GAGlD,OAAIkiC,YAAkBlB,GACbN,YAAmBM,GAGrBA,EAGTilC,UAAUtpE,EAAiBqD,GACzB,MAAM3U,EAAIsR,EAAOgxC,mBACXmwH,EAAWhsK,KAAKisK,YAAY/9J,GAClC,IAAK,MAAMiwC,KAAU5kD,EAAE01D,QACrB,GAAI+8G,IAAa7tH,EAAOjwC,SACtB,OAAOiwC,EAIX,OAAO,KAGTovC,YAAY1iF,EAAiBqD,GAC3B,MAAM3U,EAAIsR,EAAOgxC,mBACXmwH,EAAWhsK,KAAKisK,YAAY/9J,GAClC,IAAK,MAAM1E,KAAOjQ,EAAEi0F,UAClB,GAAIw+E,IAAaxiK,EAAIimC,GACnB,OAAOjmC,EAIX,OAAO,KAGTwzK,WAAWnyK,EAAiBqD,GAC1B,MAAM3U,EAAIsR,EAAOgxC,mBACXmwH,EAAWhsK,KAAKisK,YAAY/9J,GAClC,IAAK,MAAM+uK,KAAO1jL,EAAE6U,SAClB,GAAmB,iBAAR6uK,GAAoBjR,IAAaiR,EAC1C,OAAOA,EAIX,OAAO,KAGTltI,MACE,OAAO/vC,KAAKk9K,QAGdC,OAAO9tI,GACLrvC,KAAKk9K,QAAU7tI,EACfq2E,IAAeh8G,OAGA,kBAACmB,EAAiBg3I,GAEjC,GAAI7hJ,KAAKo9K,aACP,OAAOp9K,KAAK8T,MAAM,iDAGpB,MAAM27F,EAAO5kG,EAAOgxC,mBACd+T,EAAW6/C,EAAKmyC,YAAYC,GAClC,GAAgB,MAAZjyF,EACF,OAAO5vD,KAAK8T,MAAM,oBAGpB9T,KAAKo9K,cAAe,EACpB,MAAM1sK,QAAYk/C,EAAS01C,SAG3B,GAAsC,MAAlCmK,EAAKmyC,YAAYC,GAEnB,OADA7hJ,KAAKo9K,cAAe,EACbp9K,KAAK8T,MAAM,0DAGpB,OAAQpD,GACN,KAAK4iD,IAAqBY,QACxB,GAAwB,OAApBtE,EAAS7wB,OAAiB,CAC5B,MAAMA,EAASl0B,EAAOi0B,yBAAyB8wB,EAAS7wB,OAAQ6wB,EAAS8D,iBACzE1zD,KAAK8lE,MAAO,sBAAqB/mC,GAEnC0wE,EAAKqyC,eAAelyF,GACpB,MACF,KAAK0D,IAAqBa,UACtBvE,EAAS0yF,MACP1yF,EAAS0yF,OAAS1yF,EAAS+D,kBAC7B3zD,KAAK8T,MAAM,sDACX27F,EAAKqyC,eAAelyF,IAEpB5vD,KAAK8T,MAAO,qBAAoB87C,EAAS+D,iBAAmB/D,EAAS0yF,yBAEvE,MACF,KAAKhvF,IAAqBS,UAC1B,QACE/zD,KAAK8lE,MAAM,sBAGf9lE,KAAKo9K,cAAe,EAGtBC,0BAA0BxyK,EAAiB87D,EAAQ,EAAG9hC,GAAM,GAE1D7kC,KAAK8lE,MAAM,gDACX9lE,KAAK8lE,MAAM,KAGX,MAAMw3G,EAEF,GACJ,IAAK,MAAMtxK,KAAUO,cACnB+wK,EAAQtxK,EAAOE,UAAY,EAG7B,MAAMurE,EAAsB,GACtB8lG,EAAuB,CAAC,GACxBlmC,EAAWxsI,EAAOgxC,mBAExB,IADA47B,EAAMh/E,KAAK4+I,GACY,GAAhB5/D,EAAMt/E,QAAa,CACxB,MAAMoB,EAAIk+E,EAAMlnC,MAChB,IAAKh3C,EAAG,SACR,MAAMQ,EAAIwjL,EAAWhtI,MACrB,QAAU3lC,IAAN7Q,EAAiB,SACrB,MAAMwiL,EAAYhjL,aAAa6uB,IAC/B,IAAKyc,GAAOtrC,EAAEgqB,mBAAmC,QAAdhqB,EAAE2S,SACnC,SACK,GAAIoxK,EAAQ/jL,EAAE2S,WAAanS,EAAI4sE,EACpC,SACK,IAAK9hC,GAAO03I,EACjB,SAEAe,EAAQ/jL,EAAE2S,UAAY,EAExB,IAAK,IAAIjU,EAAIsB,EAAEuV,iBAAiB3W,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACvD,MAAMulL,EAAO5+G,YAAmBrlE,EAAGtB,GACtB,OAATulL,IACJ/lG,EAAMh/E,KAAK+kL,GACXD,EAAW9kL,KAAKsB,EAAI,IAEtB,GAAS,GAALA,EACF,SAEF,MAAM0jL,EAAc71I,MAAgB,GAAT7tC,EAAI,GAAS,GAAGiJ,KAAK,KAC5C6H,EAAOgnB,WAAW3D,IAASmgF,SAASr0G,MACtCgG,KAAKmtF,OAAO,IAAI+d,IAAKuyE,EAAalkL,EAAE2S,WAEpClM,KAAK8lE,MAAM23G,EAAclkL,EAAE2S,UAG7B,MAAMi/F,EAASsyE,EAAc,KAC7B,IAAI3jL,EAAI,KACJP,EAAEm/E,iBACJ5+E,EAAI,OAEFP,aAAa0U,MACfjO,KAAK8lE,MACF,GAAEqlC,iBAAsBrxG,IAAKyiL,EAAoE,GAAxD,6BAA+BhjL,EAAEwU,wBAGzExU,EAAEjB,eAAe,yBACnB0H,KAAK8lE,MAAMqlC,EAAS,0CAA4C5xG,EAAEiU,uBAGtExN,KAAK8lE,MAAMqlC,EAAS,QAAUrrG,IAAe6B,UAAUpI,EAAEoU,SACzD3N,KAAK8lE,MAAM,MAIf43G,gBAAgB7yK,EAAiBmB,GAC/B,MAAMyjG,EAAO1jG,YAAUC,GACX,MAARyjG,GAIJ5kG,EAAOgxC,mBAAmB9tB,eAAgB,EAC1CljB,EAAOmjB,cAAgByhF,EAAKvjG,SAC5BrB,EAAOgxC,mBAAmB9tB,eAAgB,EAC1C/tB,KAAK8lE,MAAM,gBAAkB2pC,EAAKvjG,UAClClM,KAAKm9K,OAAO,KAC8B,WAAtCtyK,EAAOgxC,mBAAmB3vC,UAC5Bm+H,eATArqI,KAAK8T,MAAM,sCAaf6pK,gBAAgBliI,EAAiB5wC,EAAiBqzE,GAGhDA,GADAA,EAAWA,EAASn1C,QACA9E,QAAQ,SAAU,KAGlCjkC,KAAK49K,eAAe59K,KAAK49K,eAAezlL,OAAS,IAAM+lF,IACzDl+E,KAAK49K,eAAenlL,KAAKylF,GACrBl+E,KAAK49K,eAAezlL,OAAS,IAC/B6H,KAAK49K,eAAevkL,OAAO,EAAG,GAEhCwR,EAAO43I,uBAAyBziJ,KAAK49K,gBAEvC59K,KAAK69K,oBAAsB79K,KAAK49K,eAAezlL,OAC/C,MAAMqzI,EAAcD,YAAcrtD,GAElC,IAAK,IAAIjmF,EAAI,EAAGA,EAAIuzI,EAAYrzI,OAAQF,IACtC+H,KAAK89K,eAAeriI,EAAQ5wC,EAAQ2gI,EAAYvzI,IAIpDk7E,QACEnzE,KAAK07K,cAAgB,CAAC,IAAI5wE,IAAQ,cAAa3mG,IAAUC,kBAAkB0nG,kBAAW,YACtF4Z,IAAeh8G,OACfi8G,IAAoBj8G,OAGtBgmB,WACE1vB,KAAKsK,OAAS,KACdtK,KAAKmzE,QAGP2qG,eAAeriI,EAAiB5wC,EAAiBg2E,GAC/C,GAAoB,OAAhB7gF,KAAKsK,OAEP,YADAtK,KAAK8T,MAAO,2BAA0B+sE,qCAIpCA,EAAQx9D,WAAW,QACrBw9D,EAAU,OAASA,EAAQrlF,MAAM,IAGnC,MAAMirE,EAAeilE,YAAa7qD,GAClC,GAA2B,GAAvBpa,EAAatuE,OACf,OAEF,MAAMoB,EAAIsR,EAAOgxC,mBAEjB,GAAIr7B,IAAUG,UAAW,CACvB,MAAMo9J,EAAchyK,YAAU,WAC9B,GAAmB,MAAfgyK,EACF,MAAM,IAAIjzK,MAAM,gCAElB,OAAQ0V,IAAUC,UAChB,KAAKF,IAAeW,aAClB,GAA4B,IAAxBulD,EAAatuE,QAAmC,QAAnBsuE,EAAa,GAI5C,YADAzmE,KAAK8T,MAAM,2CAFX8O,cAKF,MACF,KAAKrC,IAAeY,WAClB,GAA4B,IAAxBslD,EAAatuE,QAAmC,MAAnBsuE,EAAa,GAI5C,YADAzmE,KAAK8T,MAAM,2CAFX8O,cAKF,MACF,KAAKrC,IAAea,aAClB,GAA4B,IAAxBqlD,EAAatuE,QAAmC,QAAnBsuE,EAAa,GAI5C,YADAzmE,KAAK8T,MAAM,2CAFX8O,cAKF,MACF,KAAKrC,IAAec,qBAClB,GAA2B,GAAvBolD,EAAatuE,QAAkC,gBAAnBsuE,EAAa,GAI3C,YADAzmE,KAAK8T,MAAM,2CAFX8O,cAKF,MACF,KAAKrC,IAAee,qBAClB,GAA2B,GAAvBmlD,EAAatuE,QAAkC,gBAAnBsuE,EAAa,IAA4C,IAApBA,EAAa,GAIhF,YADAzmE,KAAK8T,MAAM,2CAFX8O,cAKF,MACF,KAAKrC,IAAegB,gBAClB,GAA2B,GAAvBklD,EAAatuE,OAYf,YADA6H,KAAK8T,MAAM,2CAVX,GACqB,WAAnB2yD,EAAa,IACO,WAAnBA,EAAa,IAAmBA,EAAa,IAAMs3G,EAAY7xK,SAKhE,YADAlM,KAAK8T,MAAM,6BAFX8O,cASJ,MACF,KAAKrC,IAAeiB,gBAClB,GAA4B,IAAxBilD,EAAatuE,QAAoC,YAApBsuE,EAAa,GAI5C,YADAzmE,KAAK8T,MAAM,2CAFX8O,cAKF,MACF,KAAKrC,IAAekB,aAClB,GAA2B,GAAvBglD,EAAatuE,QAAkC,OAAnBsuE,EAAa,IAAkC,YAAnBA,EAAa,GAIvE,YADAzmE,KAAK8T,MAAM,2CAFX8O,cAKF,MACF,KAAKrC,IAAemB,mBAClB,GAA2B,GAAvB+kD,EAAatuE,QAAkC,QAAnBsuE,EAAa,GAI3C,YADAzmE,KAAK8T,MAAM,2CAFX8O,cAKF,MACF,KAAKrC,IAAeoB,yBAClB,GAA4B,IAAxB8kD,EAAatuE,SAAiB,CAAC,OAAQ,SAAU,QAAQihB,SAASqtD,EAAa,GAAK,IAEtF,YADAzmE,KAAK8T,MAAM,2CAGb,MACF,KAAKyM,IAAeqB,eAClB,GAA2B,GAAvB6kD,EAAatuE,QAAkC,QAAnBsuE,EAAa,GAI3C,YADAzmE,KAAK8T,MAAM,2CAFX8O,cAKF,MACF,KAAKrC,IAAesB,qBAClB,GACyB,GAAvB4kD,EAAatuE,QACM,QAAnBsuE,EAAa,IACO,kBAAnBA,EAAa,IAA6C,cAAnBA,EAAa,GAKrD,YADAzmE,KAAK8T,MAAM,2CAFX8O,cAKF,MACF,KAAKrC,IAAewB,aAClB,GAA2B,GAAvB0kD,EAAatuE,QAAkC,QAAnBsuE,EAAa,GAI3C,YADAzmE,KAAK8T,MAAM,2CAFX8O,cAKF,MACF,KAAKrC,IAAeyB,kBAClB,GACyB,GAAvBykD,EAAatuE,QACM,OAAnBsuE,EAAa,IACO,kBAAnBA,EAAa,IAA6C,cAAnBA,EAAa,GAKrD,YADAzmE,KAAK8T,MAAM,2CAFX8O,cAKF,MACF,KAAKrC,IAAe4B,wBAClB,GACyB,GAAvBskD,EAAatuE,QACM,QAAnBsuE,EAAa,IACO,kBAAnBA,EAAa,IAA6C,cAAnBA,EAAa,GAKrD,YADAzmE,KAAK8T,MAAM,2CAFX8O,cAKF,MACF,QAEE,YADA5iB,KAAK8T,MAAM,yEAMjB,MAAMkqK,EAAcv3G,EAAa,GACjC,GAA2B,iBAAhBu3G,GAAmD,kBAAhBA,EAE5C,YADAh+K,KAAK8T,MAAO,WAAU2yD,EAAa,gBAIrC,MAoDMvuD,EA5CF,CACF,eAAgB+lK,IAChBr3G,MAAOA,IACP63E,QAASA,IACTC,SAAUA,IACVj5G,IAAKA,IACLk5G,IAAKA,IACL9Z,GAAIA,IACJ+Z,MAAOA,IACPzrE,MAAO,IAAMnzE,KAAKmzE,QAClB0rE,IAAK,IAAM7+I,KAAKmzE,QAChBkgB,QAASA,IACTyrD,GAAIA,IACJnyF,SAAUA,IACVoyF,KAAMA,IACNC,KAAMA,IACN/9C,KAAMA,IACNluE,KAAMA,IACNksH,KAAMA,IACNC,QAASA,IACTntH,KAAMA,IACN7lB,SAAUA,IACViiE,KAAMA,IACNk0B,QAASA,IACTG,GAAIA,IACJ28C,MAAOA,IACPC,IAAKA,IACLr6F,GAAIA,IACJs6F,KAAMA,IACN58C,GAAIA,IACJ8B,GAAIA,IACJ/iE,IAAKA,IACLg/D,KAAMA,IACN+B,IAAKA,IACL+8C,MAAOA,KACP35C,KAAMA,KACNu4E,KAAMA,KACN3uG,IAAKA,KACLgwE,QAASA,KACT7oG,IAAKA,KACLnyB,OAAQA,KACRghF,KAAMA,MAGWy4E,EAAYhsJ,eAC1B9Z,EAKLA,EAAElY,KAAMy7C,EAAQ5wC,EAAQtR,EAAGktE,EAAajrE,MAAM,IAJ5CwE,KAAK8T,MAAO,WAAU2yD,EAAa,gBAOvCq2G,kBACE,GAAoB,OAAhB98K,KAAKsK,OAAiB,MAAM,IAAIQ,MAAM,0DAC1C,OAAO4gG,YAAsB,CAC3Bn6B,UAAWvxE,KAAKsK,OAAOwF,KAAO9P,KAAKsK,OAAO+gG,UAAYrrG,KAAKsK,OAAOwF,KAClE87F,WAAY,Q,gDCl1BlB,yEA2BA,SAASuyE,EAA8Bl9K,GACrC,IAAIm9K,EAAiBn9K,EAQrB,OAPIm9K,EAAO/6J,WAAW,OACpB+6J,EAASA,EAAO5iL,MAAM,IAEpB4iL,EAAOtvI,SAAS,OAClBsvI,EAASA,EAAO5iL,MAAM,GAAI,IAGrB4iL,EAGT,SAASC,EAAuBp9K,GAC9B,IAAIm9K,EAAiBn9K,EAQrB,OAPIm9K,EAAO/6J,WAAW,MAAQ+6J,EAAO/6J,WAAW,QAC9C+6J,EAASA,EAAO5iL,MAAM,KAEpB4iL,EAAOtvI,SAAS,MAAQsvI,EAAOtvI,SAAS,QAC1CsvI,EAASA,EAAO5iL,MAAM,GAAI,IAGrB4iL,EAGT,SAASE,EAAuBtvK,GAC9B,MAAMy6D,EAAuB,GAO7B,OANAz6D,EAAIq9B,QAAS/gB,IACX,IAAI/xB,EAAIonE,OAAOr1C,GACf/xB,EAAI,CAAC,IAAKA,EAAG,KAAKyJ,KAAK,IACvBymE,EAAWhxE,KAAKc,KAGXkwE,EAAWzmE,KAAK,KAAKihC,QAAQ,MAAO,IAGtC,MAAMovB,EAA6D,CACxE,CACEj7C,KAAOnd,GACE,CAAC,qDAAuD,uCAAsCA,MAAM+H,KACzG,KAGJg8B,WAAY,EACZ8zB,IAAK,IACI3lD,YAAa,IAAK,KAE3BnT,KAAM,4BACNi5D,SAAU,GACVF,OAAQ,CAACp7D,EAAe4mL,KACtB,GAAoB,iBAAT5mL,EAAmB,MAAM,IAAImT,MAAM,0BAC9C,IAAIoP,EAAM,EACNjf,EAAYtD,EAChB,KAAOsD,GAAKif,EAAM,IAAMA,EAAM,IAAI,CAChC,KAAOjf,EAAIif,GAAQ,GACjBjf,EAAIuF,KAAKsjB,MAAM7oB,EAAIif,KAEnBA,EAGJ,OAAc,IAANjf,EAAUif,EAAM,EAAIjf,KAAOurJ,SAAS+3B,EAAK,MAGrD,CACEnmK,KAAO0gI,GAEE,CACL,kEACA,kFACA,gEACC,GALOA,EAKHpmI,YACL1P,KAAK,KAETg8B,WAAY,EACZ8zB,IAAK,KACH,MAAM2nE,EAActtH,YAAa,EAAG,IAC9B6B,EAAgB,GACtBA,EAAI7W,OAASsiI,EACb,IAAK,IAAIxiI,EAAI,EAAGA,EAAIwiI,IAAOxiI,EACzB+W,EAAI/W,GAAKkV,aAAc,GAAI,IAG7B,OAAO6B,GAEThV,KAAM,4BACNi5D,SAAU,GACVF,OAAQ,CAACw5G,EAAgBgS,KACvB,MACMC,EADOjS,EACe/wK,QAC5B,IAAK,IAAIvD,EAAI,EAAGA,EAAIumL,EAAKrmL,OAAQF,IAC/BumL,EAAKvmL,GAAKuI,KAAKoD,IAAI46K,EAAKvmL,GAAIumL,EAAKvmL,GAAKumL,EAAKvmL,EAAI,IAGjD,OAAOuuJ,SAAS+3B,EAAK,MAAQ/9K,KAAKoD,OAAO46K,KAG7C,CACEpmK,KAAOnd,IACL,GAAiB,iBAANA,EAAgB,MAAM,IAAI6P,MAAM,0BAC3C,MAAO,CACL,yEACA,kCACA,kCACA,sCACA,4CACC,mDAAkD7P,oCACnD,0BACA+H,KAAK,MAETg8B,WAAY,IACZ8zB,IAAK,IACI3lD,YAAa,EAAG,KAEzBnT,KAAM,oBACNi5D,SAAU,GACVF,OAAQ,CAACp7D,EAAe4mL,KACtB,GAAoB,iBAAT5mL,EAAmB,MAAM,IAAImT,MAAM,0BAC9C,MAAM2zK,EAAiB,CAAC,GACxBA,EAAKtmL,OAASR,EAAO,EACrB8mL,EAAK97H,KAAK,EAAG,GACb,IAAK,IAAI1qD,EAAI,EAAGA,EAAIN,IAAQM,EAC1B,IAAK,IAAIkB,EAAYlB,EAAGkB,GAAKxB,IAAQwB,EACnCslL,EAAKtlL,IAAMslL,EAAKtlL,EAAIlB,GAIxB,OAAOwmL,EAAK9mL,KAAU6uJ,SAAS+3B,EAAK,MAGxC,CACEnmK,KAAOm0J,IACL,MAAM50K,EAAO40K,EAGb,MAAO,CACJ,mDAHe50K,EAAK,gBAIrB,iDACC,IAJiBA,EAAK,WAKvB,2DACAqL,KAAK,MAETg8B,WAAY,EACZ8zB,IAAK,KACH,MAAM73D,EAAYkS,YAAa,GAAI,KAC7BuxK,EAAiBvxK,YAAa,EAAG,IACjC5T,EAAc,GAGpB,IAAK,IAAItB,EAAI,EAAGA,GAAKgD,GACf1B,EAAEpB,QAAUumL,EADMzmL,KAIlBuI,KAAK0O,SAAW,IAAOjU,EAAIhD,EAAIymL,EAASnlL,EAAEpB,SAC5CoB,EAAEd,KAAKR,GAGX,MAAO,CAACgD,EAAG1B,IAEbS,KAAM,uBACNi5D,SAAU,GACVF,OAAQ,CAACw5G,EAAgBgS,KACvB,MAAM5mL,EAAO40K,EAEPtxK,EAAItD,EAAK,GACT4B,EAAI5B,EAAK,GACT8mL,EAAiB,CAAC,GACxBA,EAAKtmL,OAAS8C,EAAI,EAClBwjL,EAAK97H,KAAK,EAAG,GACb,IAAK,IAAI1qD,EAAI,EAAGA,EAAIsB,EAAEpB,OAAQF,IAC5B,IAAK,IAAIkB,EAAII,EAAEtB,GAAIkB,GAAK8B,EAAG9B,IACzBslL,EAAKtlL,IAAMslL,EAAKtlL,EAAII,EAAEtB,IAG1B,OAAOwmL,EAAKxjL,KAAOurJ,SAAS+3B,EAAK,MAGrC,CACEnmK,KAAO0gI,IACL,MAAM79I,EAAI69I,EACV,IAAI/+I,EAAY,CACd,2EACA,sEACAiJ,KAAK,KA+BP,OA3BAjJ,GAAK,8BACLA,GAAKkB,EACF6X,IACE2kD,GACC,oDACAA,EAAK3kD,IAAKxU,IAAe,GAAEA,GAAIqgL,SAAS,EAAG,MAAM37K,KAAK,KACtD,KAEHA,KAAK,MACRjJ,GAAK,gCACLA,GAAK,CACH,2DACA,8BACA,8DACA,8DACA,8DACA,gCACA,0CACA,sDACA,8BACA,kGACA,kGACA,mFACA,gCACA,mDACAiJ,KAAK,KAEAjJ,GAETilC,WAAY,EACZ8zB,IAAK,KACH,MAAMj5D,EAAYsT,YAAa,EAAG,IAC5BlS,EAAYkS,YAAa,EAAG,IAC5B4rK,EAAqB,GAC3BA,EAAO5gL,OAAS0B,EAChB,IAAK,IAAI5B,EAAI,EAAGA,EAAI4B,IAAK5B,EACvB8gL,EAAO9gL,GAAK,GACZ8gL,EAAO9gL,GAAGE,OAAS8C,EAGrB,IAAK,IAAIhD,EAAI,EAAGA,EAAI4B,IAAK5B,EACvB,IAAK,IAAIkB,EAAI,EAAGA,EAAI8B,IAAK9B,EACvB4/K,EAAO9gL,GAAGkB,GAAKgU,YAAa,EAAG,IAInC,OAAO4rK,GAET/+K,KAAM,mBACNi5D,SAAU,GACVF,OAAQ,CAACw5G,EAAgBgS,KACvB,MAAM5mL,EAAO40K,EACPqS,EAAmB,GAGzB,IAAIC,EAAI,EACJ9kL,EAHcpC,EAAKQ,OAGH,EAChByB,EAAI,EACJU,EAJc3C,EAAK,GAAGQ,OAIN,EAChBynD,EAAI,EACR,OAAa,CAEX,IAAK,IAAIk/H,EAAcllL,EAAGklL,GAAOxkL,EAAGwkL,IAClCF,EAAOh/H,GAAKjoD,EAAKknL,GAAGC,KAClBl/H,EAEJ,KAAMi/H,EAAI9kL,EACR,MAIF,IAAK,IAAIi/E,EAAc6lG,EAAG7lG,GAAOj/E,EAAGi/E,IAClC4lG,EAAOh/H,GAAKjoD,EAAKqhF,GAAK1+E,KACpBslD,EAEJ,KAAMtlD,EAAIV,EACR,MAIF,IAAK,IAAIklL,EAAcxkL,EAAGwkL,GAAOllL,EAAGklL,IAClCF,EAAOh/H,GAAKjoD,EAAKoC,GAAG+kL,KAClBl/H,EAEJ,KAAM7lD,EAAI8kL,EACR,MAIF,IAAK,IAAI7lG,EAAcj/E,EAAGi/E,GAAO6lG,EAAG7lG,IAClC4lG,EAAOh/H,GAAKjoD,EAAKqhF,GAAKp/E,KACpBgmD,EAEJ,KAAMhmD,EAAIU,EACR,MAIJ,MACMykL,EADqBZ,EAA8BI,GAAKt6I,QAAQ,MAAO,IACxCpxB,MAAM,KAAKC,IAAKvZ,GAAMitJ,SAASjtJ,IACpE,GAAIqlL,EAAOzmL,SAAW4mL,EAAU5mL,OAC9B,OAAO,EAET,IAAK,IAAIF,EAAI,EAAGA,EAAI2mL,EAAOzmL,SAAUF,EACnC,GAAI2mL,EAAO3mL,KAAO8mL,EAAU9mL,GAC1B,OAAO,EAIX,OAAO,IAGX,CACEmgB,KAAO4mK,GAEE,CACL,qDAFUA,EAGT,OACD,gEACA,sEACA,8DACA,YACA,4CACA,uDACA,oCACA,uFACAh8K,KAAK,KAETg8B,WAAY,IACZ8zB,IAAK,KACH,MAAM2nE,EAActtH,YAAa,EAAG,IAC9B6B,EAAgB,GACtBA,EAAI7W,OAASsiI,EACb,IAAK,IAAIxiI,EAAI,EAAGA,EAAI+W,EAAI7W,SAAUF,EAC5BuI,KAAK0O,SAAW,GAClBF,EAAI/W,GAAK,EAET+W,EAAI/W,GAAKkV,YAAa,EAAG,IAI7B,OAAO6B,GAEThV,KAAM,qBACNi5D,SAAU,EACVF,OAAQ,CAACw5G,EAAgBgS,KACvB,MAAM5mL,EAAO40K,EACPtxK,EAAYtD,EAAKQ,OACvB,IAAIF,EAAI,EACR,IAAK,IAAIgnL,EAAQ,EAAGhnL,EAAIgD,GAAKhD,GAAKgnL,IAAShnL,EACzCgnL,EAAQz+K,KAAKoD,IAAI3L,EAAIN,EAAKM,GAAIgnL,GAEhC,MAAMnrH,EAAoB77D,IAAMgD,EAChC,MAAgB,MAARsjL,GAAezqH,GAAsB,MAARyqH,IAAgBzqH,IAGzD,CACE17C,KAAO4mK,GAEE,CACL,qDAFUA,EAGT,OACD,gEACA,sEACA,8DACA,YACA,4CACA,6DACA,2CACA,qEACAh8K,KAAK,KAETg8B,WAAY,EACZ8zB,IAAK,KACH,MAAM2nE,EAActtH,YAAa,EAAG,IAC9B6B,EAAgB,GACtBA,EAAI7W,OAASsiI,EACb,IAAK,IAAIxiI,EAAI,EAAGA,EAAI+W,EAAI7W,OAAQF,IAC9B,IAAK,IAAIkB,EAAI,EAAGA,EAAI,GAAIA,IACtB,GAAIqH,KAAK0O,UAAY/V,EAAI,GAAK,GAAK,CACjC6V,EAAI/W,GAAKkB,EACT,MAKN,OAAO6V,GAEThV,KAAM,wBACNi5D,SAAU,EACVF,OAAQ,CAACw5G,EAAgBgS,KACvB,MAAM5mL,EAAO40K,EACPtxK,EAAYtD,EAAKQ,OACvB,IAAI8mL,EAAQ,EACRC,EAAQ,EACRC,GAAY,EAChB,KAAOF,EAAQhkL,EAAI,GAAG,CACpB,IAAImkL,GAAc,EAClB,IAAK,IAAInnL,EAAIgnL,EAAOhnL,EAAIknL,EAAUlnL,IAC5BA,EAAIN,EAAKM,GAAKgnL,IAChBA,EAAQhnL,EAAIN,EAAKM,GACjBmnL,EAAannL,GAGjB,IAAoB,IAAhBmnL,EAAmB,CACrBF,EAAQ,EACR,MAEFC,EAAWC,EACXF,IAEF,OAAOA,IAAU14B,SAAS+3B,EAAK,MAGnC,CACEnmK,KAAO4mK,GAEE,CACL,wEACA,kDACC,IAAGV,EAJMU,UAKV,eACA,0CACA,0CACA,qDACA,sEACA,4BACAh8K,KAAK,KAETg8B,WAAY,EACZ8zB,IAAK,KACH,MAAMusH,EAAwB,GACxBC,EAAuBnyK,YAAa,EAAG,IAC7C,IAAK,IAAIlV,EAAI,EAAGA,EAAIqnL,IAAgBrnL,EAAG,CACrC,MAAM6oF,EAAgB3zE,YAAa,EAAG,IAChC4oI,EAAcj1D,EAAQ3zE,YAAa,EAAG,IAC5CkyK,EAAU5mL,KAAK,CAACqoF,EAAOi1D,IAGzB,OAAOspC,GAETrlL,KAAM,8BACNi5D,SAAU,GACVF,OAAQ,CAACw5G,EAAgBgS,KACvB,MACMc,EADO9S,EACsB/wK,QACnC6jL,EAAUruK,KAAK,CAACI,EAAaE,IACpBF,EAAE,GAAKE,EAAE,IAGlB,MAAMtY,EAAqB,GAC3B,IAAI8nF,EAAgBu+F,EAAU,GAAG,GAC7BtpC,EAAcspC,EAAU,GAAG,GAC/B,IAAK,MAAME,KAAYF,EACjBE,EAAS,IAAMxpC,EACjBA,EAAMv1I,KAAKoD,IAAImyI,EAAKwpC,EAAS,KAE7BvmL,EAAOP,KAAK,CAACqoF,EAAOi1D,IACpBj1D,EAAQy+F,EAAS,GACjBxpC,EAAMwpC,EAAS,IAGnBvmL,EAAOP,KAAK,CAACqoF,EAAOi1D,IAEpB,MAAMypC,EAA0BlB,EAAuBtlL,GACjDymL,EAAuBlB,EAAIt6I,QAAQ,MAAO,IAEhD,OAAOu7I,IAAoBC,GAAgBD,IAAoBrB,EAA8BsB,KAGjG,CACErnK,KAAOzgB,GACE,CACL,4DACA,2DACA,2CACGA,EAAF,OACD,+DACA,4EACA,gBACA,oDACA,iCACAqL,KAAK,KAETg8B,WAAY,EACZ8zB,IAAK,KACH,IAAI7xD,EAAM,GACV,IAAK,IAAIhJ,EAAI,EAAGA,EAAI,IAAKA,EAAG,CAG1BgJ,GAFoBkM,YAAa,EAAG,KACRuF,WAI9B,OAAOzR,GAETjH,KAAM,wBACNi5D,SAAU,GACVF,OAAQ,CAACp7D,EAAe4mL,KACtB,GAAoB,iBAAT5mL,EAAmB,MAAM,IAAImT,MAAM,0BAC9C,MAAMm3I,EAAgB,GACtB,IAAK,IAAI7wI,EAAI,EAAGA,GAAK,IAAKA,EACxB,IAAK,IAAIE,EAAI,EAAGA,GAAK,IAAKA,EACxB,IAAK,IAAIxX,EAAI,EAAGA,GAAK,IAAKA,EACxB,IAAK,IAAIC,EAAI,EAAGA,GAAK,IAAKA,EACxB,GAAIqX,EAAIE,EAAIxX,EAAIC,IAAMpC,EAAKQ,OAAQ,CACjC,MAAM2Y,EAAI01I,SAAS7uJ,EAAK6Z,UAAU,EAAGJ,GAAI,IACnCsuK,EAAIl5B,SAAS7uJ,EAAK6Z,UAAUJ,EAAGA,EAAIE,GAAI,IACvCquK,EAAIn5B,SAAS7uJ,EAAK6Z,UAAUJ,EAAIE,EAAGF,EAAIE,EAAIxX,GAAI,IAC/C2gE,EAAI+rF,SAAS7uJ,EAAK6Z,UAAUJ,EAAIE,EAAIxX,EAAGsX,EAAIE,EAAIxX,EAAIC,GAAI,IAC7D,GAAI+W,GAAK,KAAO4uK,GAAK,KAAOC,GAAK,KAAOllH,GAAK,IAAK,CAChD,MAAMpuD,EAAa,CAACyE,EAAE4B,WAAY,IAAKgtK,EAAEhtK,WAAY,IAAKitK,EAAEjtK,WAAY,IAAK+nD,EAAE/nD,YAAY1P,KAAK,IAC5FqJ,EAAGlU,SAAWR,EAAKQ,OAAS,GAC9B8pJ,EAAIxpJ,KAAK4T,IASvB,MACMuzK,EADuBzB,EAA8BI,GAAKt6I,QAAQ,MAAO,IACzCpxB,MAAM,KAC5C,GAAI+sK,EAAOznL,SAAW8pJ,EAAI9pJ,OACxB,OAAO,EAET,IAAK,MAAM0nL,KAAWD,EACpB,IAAK39B,EAAI7oI,SAASymK,GAChB,OAAO,EAIX,OAAO,IAGX,CACEznK,KAAOm0J,GAEE,CACL,wEACA,kEAHWA,EAIV,OACD,mEACA,4FACA,oCACA,yDACAvpK,KAAK,KAETg8B,WAAY,EACZ8zB,IAAK,KACH,MAAM2nE,EAActtH,YAAa,EAAG,IAC9B6B,EAAgB,GACtBA,EAAI7W,OAASsiI,EACb,IAAK,IAAIxiI,EAAI,EAAGA,EAAIwiI,IAAOxiI,EACzB+W,EAAI/W,GAAKkV,YAAa,EAAG,KAG3B,OAAO6B,GAEThV,KAAM,6BACNi5D,SAAU,EACVF,OAAQ,CAACw5G,EAAgBgS,KACvB,MAAM5mL,EAAO40K,EACb,IAAIuT,EAAS,EACTC,EAAW,EACf,IAAK,IAAI9nL,EAAI,EAAGA,EAAIN,EAAKQ,SAAUF,EACjC6nL,EAASt/K,KAAKoD,IAAI,EAAIk8K,GAAUnoL,EAAKM,GAAKN,EAAKM,EAAI,IACnD8nL,EAAWv/K,KAAKoD,IAAIk8K,EAAQC,GAG9B,OAAOA,EAASrtK,aAAe6rK,IAGnC,CACEnmK,KAAOm0J,GAEE,CACL,wEACA,kEAHWA,EAIV,OACD,mEACA,iEACA,gEACA,+DACA,mDACA,yDACAvpK,KAAK,KAETg8B,WAAY,EACZ8zB,IAAK,KACH,MAAM2nE,EAActtH,YAAa,EAAG,IAC9B6B,EAAgB,GACtBA,EAAI7W,OAASsiI,EACb,IAAK,IAAIxiI,EAAI,EAAGA,EAAIwiI,IAAOxiI,EACzB+W,EAAI/W,GAAKkV,YAAa,EAAG,KAG3B,OAAO6B,GAEThV,KAAM,8BACNi5D,SAAU,GACVF,OAAQ,CAACw5G,EAAgBgS,KACvB,MAAM5mL,EAAO40K,EACb,IAAIlmI,EAAS,EACb,IAAK,IAAIjrC,EAAI,EAAGA,EAAIzD,EAAKQ,SAAUiD,EACjCirC,GAAU7lC,KAAKoD,IAAIjM,EAAKyD,GAAKzD,EAAKyD,EAAI,GAAI,GAG5C,OAAOirC,EAAO3zB,aAAe6rK,IAGjC,CACEnmK,KAAOm0J,GAEE,CACL,wEACA,kEAHWA,EAIV,OACD,mEACA,uDACA,gEACA,+DACA,mDACA,yDACAvpK,KAAK,KAETg8B,WAAY,EACZ8zB,IAAK,KACH,MAAM2nE,EAActtH,YAAa,EAAG,IAC9B6B,EAAgB,GACtBA,EAAI7W,OAASsiI,EACb,IAAK,IAAIxiI,EAAI,EAAGA,EAAIwiI,IAAOxiI,EACzB+W,EAAI/W,GAAKkV,YAAa,EAAG,KAG3B,OAAO6B,GAEThV,KAAM,+BACNi5D,SAAU,GACVF,OAAQ,CAACw5G,EAAgBgS,KACvB,MAAM5mL,EAAO40K,EACb,IAAIyT,EAAQxnG,OAAOynG,iBACfC,EAAQ1nG,OAAOynG,iBACfE,EAAW,EACXC,EAAW,EACf,IAAK,MAAM/8I,KAAS1rC,EAClByoL,EAAW5/K,KAAKoD,IAAIw8K,EAAUF,EAAQ78I,GACtC68I,EAAQ1/K,KAAKoD,IAAIs8K,EAAOC,EAAW98I,GACnC88I,EAAW3/K,KAAKoD,IAAIu8K,EAAUH,EAAQ38I,GACtC28I,EAAQx/K,KAAKoD,IAAIo8K,GAAgB,EAAT38I,GAG1B,OAAO+8I,EAAS1tK,aAAe6rK,IAGnC,CACEnmK,KAAOm0J,IACL,MAAM50K,EAAO40K,EAGb,MAAO,CACL,2DACC,IAJO50K,EAAK,QACAA,EAAK,WAIlB,8DACA,mEACA,2CACA,mEACA,sEACA,kEACA,uEACA,4BACA,0DACAqL,KAAK,MAETg8B,WAAY,EACZ8zB,IAAK,KACH,MAAMlT,EAAIzyC,YAAa,EAAG,IACpBstH,EAAMttH,YAAa,EAAG,IACtBkzK,EAAmB,GACzBA,EAAOloL,OAASsiI,EAChB,IAAK,IAAIxiI,EAAI,EAAGA,EAAIwiI,IAAOxiI,EACzBooL,EAAOpoL,GAAKkV,YAAa,EAAG,KAG9B,MAAO,CAACyyC,EAAGygI,IAEbrmL,KAAM,8BACNi5D,SAAU,GACVF,OAAQ,CAACw5G,EAAgBgS,KACvB,MAAM5mL,EAAO40K,EACP3sH,EAAYjoD,EAAK,GACjB0oL,EAAmB1oL,EAAK,GAExB8iI,EAAM4lD,EAAOloL,OACnB,GAAIsiI,EAAM,EACR,OAAyB,IAAlB+rB,SAAS+3B,GAElB,GAAI3+H,EAAI66E,EAAM,EAAG,CACf,IAAI/pH,EAAM,EACV,IAAK,IAAIzY,EAAI,EAAGA,EAAIwiI,IAAOxiI,EACzByY,GAAOlQ,KAAKoD,IAAIy8K,EAAOpoL,GAAKooL,EAAOpoL,EAAI,GAAI,GAG7C,OAAOuuJ,SAAS+3B,KAAS7tK,EAG3B,MAAM4vK,EAAiB,GACjBC,EAAiB,GACvBD,EAAKnoL,OAASynD,EAAI,EAClB2gI,EAAKpoL,OAASynD,EAAI,EAClB,IAAK,IAAI3nD,EAAI,EAAGA,GAAK2nD,IAAK3nD,EACxBqoL,EAAKroL,GAAKugF,OAAOynG,iBACjBM,EAAKtoL,GAAK,EAGZ,IAAIuoL,EACJ,IAAK,IAAIvoL,EAAI,EAAGA,EAAIwiI,IAAOxiI,EAAG,CAC5BuoL,EAAMH,EAAOpoL,GACb,IAAK,IAAIkB,EAAIymD,EAAGzmD,EAAI,IAAKA,EACvBonL,EAAKpnL,GAAKqH,KAAKoD,IAAI28K,EAAKpnL,GAAImnL,EAAKnnL,GAAKqnL,GACtCF,EAAKnnL,GAAKqH,KAAKoD,IAAI08K,EAAKnnL,GAAIonL,EAAKpnL,EAAI,GAAKqnL,GAI9C,OAAOh6B,SAAS+3B,KAASgC,EAAK3gI,KAGlC,CACExnC,KAAOm0J,IAEL,SAASkU,EAAsB9oL,EAAkBqiB,EAAQ,GACvD,MAAM0mK,EAAoB/oL,EAAKQ,OAC/B,GAAI6hB,GAAS0mK,EACX,MAAO,GAIT,IAAIz/K,EAAc,CAAC,SAASD,OAFV0/K,EAAY1mK,EAAQ,GAES,IAAKriB,EAAKqiB,GAAOtH,WAAY,KAAK1P,KAAK,IAKtF,OAJIgX,EAAQ0mK,EAAY,IACtBz/K,GAAO,KAGFA,EAAM,KAAOw/K,EAAsB9oL,EAAMqiB,EAAQ,GAS1D,MAAO,CACL,+EACA,uEACA,4DATF,SAAwBriB,GACtB,MAAO,CAAC,MAAO8oL,EAAsB9oL,GAAO,KAAKqL,KAAK,IAGvC29K,CApBJpU,GA0BV,OACD,2DACA,uCACA,mCACA,+BACA,0BACA,QACA,kDACAvpK,KAAK,MAETg8B,WAAY,EACZ8zB,IAAK,KACH,MAAM8tH,EAAuB,GACvB93J,EAAiB3b,YAAa,EAAG,IACvCyzK,EAASzoL,OAAS2wB,EAElB,IAAK,IAAIkwD,EAAM,EAAGA,EAAMlwD,IAAUkwD,EAAK,CACrC4nG,EAAS5nG,GAAO,GAChB4nG,EAAS5nG,GAAK7gF,OAAS6gF,EAAM,EAC7B,IAAK,IAAI/gF,EAAI,EAAGA,EAAI2oL,EAAS5nG,GAAK7gF,SAAUF,EAC1C2oL,EAAS5nG,GAAK/gF,GAAKkV,YAAa,EAAG,GAIvC,OAAOyzK,GAET5mL,KAAM,iCACNi5D,SAAU,GACVF,OAAQ,CAACw5G,EAAgBgS,KACvB,MAAM5mL,EAAO40K,EACPtxK,EAAYtD,EAAKQ,OACjB0oL,EAAelpL,EAAKsD,EAAI,GAAGO,QACjC,IAAK,IAAIvD,EAAIgD,EAAI,EAAGhD,GAAK,IAAKA,EAC5B,IAAK,IAAIkB,EAAI,EAAGA,EAAIxB,EAAKM,GAAGE,SAAUgB,EACpC0nL,EAAG1nL,GAAKqH,KAAK4M,IAAIyzK,EAAG1nL,GAAI0nL,EAAG1nL,EAAI,IAAMxB,EAAKM,GAAGkB,GAIjD,OAAO0nL,EAAG,KAAOr6B,SAAS+3B,KAG9B,CACEnmK,KAAOm0J,IACL,MAAM50K,EAAO40K,EACPuU,EAAUnpL,EAAK,GACfopL,EAAappL,EAAK,GACxB,MAAO,CACL,yBACC,GAAEmpL,cAAoBC,yBACvB,oEACA,8DACA,sDACA,mDACA,wDACA,2CACC,IAAGD,MAAYC,MAChB/9K,KAAK,MAETg8B,WAAY,EACZ8zB,IAAK,IAII,CAHiB3lD,YAAa,EAAG,IACbA,YAAa,EAAG,KAI7CnT,KAAM,2BACNi5D,SAAU,GACVF,OAAQ,CAACw5G,EAAgBgS,KACvB,MAAM5mL,EAAO40K,EACPtxK,EAAYtD,EAAK,GACjBkC,EAAYlC,EAAK,GACjBqpL,EAAuB,GAC7BA,EAAW7oL,OAAS8C,EAEpB,IAAK,IAAIhD,EAAI,EAAGA,EAAIgD,EAAGhD,IACrB+oL,EAAW/oL,GAAK,EAElB,IAAK,IAAI+gF,EAAM,EAAGA,EAAMn/E,EAAGm/E,IACzB,IAAK,IAAI/gF,EAAI,EAAGA,EAAIgD,EAAGhD,IACrB+oL,EAAW/oL,IAAM+oL,EAAW/oL,EAAI,GAIpC,OAAOuuJ,SAAS+3B,KAASyC,EAAW/lL,EAAI,KAG5C,CACEmd,KAAOm0J,IACL,MAAM50K,EAAO40K,EACb,IAAI0U,EAAa,GACjB,IAAK,MAAMxpH,KAAQ9/D,EACjBspL,GAAiBxpH,EAAK/kD,WAAP,MAEjB,MAAO,CACL,oEACGuuK,EAAF,KACD,6EACA,gFACA,6EACA,+BACA,sEACA,8FACAj+K,KAAK,MAETg8B,WAAY,EACZ8zB,IAAK,KACH,MAAMguH,EAAkB3zK,YAAa,EAAG,IAClC4zK,EAAqB5zK,YAAa,EAAG,IAErC+zK,EAAmB,GACzBA,EAAK/oL,OAAS2oL,EACd,IAAK,IAAI7oL,EAAI,EAAGA,EAAI6oL,IAAW7oL,EAC7BipL,EAAKjpL,GAAK,GACVipL,EAAKjpL,GAAGE,OAAS4oL,EACjBG,EAAKjpL,GAAG0qD,KAAK,GAGf,IAAK,IAAIroD,EAAI,EAAGA,EAAIwmL,IAAWxmL,EAC7B,IAAK,IAAIR,EAAI,EAAGA,EAAIinL,IAAcjnL,EACtB,IAANQ,GAAiB,IAANR,GAGXQ,IAAMwmL,EAAU,GAAKhnL,IAAMinL,EAAa,GAKxCvgL,KAAK0O,SAAW,MAClBgyK,EAAK5mL,GAAGR,GAAK,GAKnB,OAAOonL,GAETlnL,KAAM,4BACNi5D,SAAU,GACVF,OAAQ,CAACw5G,EAAgBgS,KACvB,MAAM5mL,EAAO40K,EACP4U,EAA2B,GACjCA,EAAahpL,OAASR,EAAKQ,OAC3B,IAAK,IAAIF,EAAI,EAAGA,EAAIkpL,EAAahpL,SAAUF,EACzCkpL,EAAalpL,GAAKN,EAAKM,GAAGuD,QAG5B,IAAK,IAAIvD,EAAI,EAAGA,EAAIkpL,EAAahpL,OAAQF,IACvC,IAAK,IAAIkB,EAAI,EAAGA,EAAIgoL,EAAa,GAAGhpL,OAAQgB,IAChB,GAAtBgoL,EAAalpL,GAAGkB,GAClBgoL,EAAalpL,GAAGkB,GAAK,EACP,GAALlB,GAAe,GAALkB,EACnBgoL,EAAa,GAAG,GAAK,EAErBA,EAAalpL,GAAGkB,IAAMlB,EAAI,EAAIkpL,EAAalpL,EAAI,GAAGkB,GAAK,IAAMA,EAAI,EAAIgoL,EAAalpL,GAAGkB,EAAI,GAAK,GAKpG,OAAOgoL,EAAaA,EAAahpL,OAAS,GAAGgpL,EAAa,GAAGhpL,OAAS,KAAOquJ,SAAS+3B,KAG1F,CACEvkL,KAAM,0BACNoe,KAAOm0J,GAEE,CACL,oEACC,gBAHUA,EAGUz5J,IAAK2kD,GAAS,IAAMA,EAAO,KAAKz0D,KAAK,gCAC1D,mFACA,iEACA,+EACA,mEACA,qGACA,sFACA,+DACA,iGACA,gBACA,0CACA,+CACA,KACA,wBACA,oCACA,yCACA,KACA,kBACAA,KAAK,KAETg8B,WAAY,EACZi0B,SAAU,GACVH,IAAK,KACH,MAAMrQ,EAASt1C,YAAa,EAAG,IACzBu/B,EAAQv/B,YAAa,EAAG,IACxBi0K,EAAO3+H,EAAS,EAChB4+H,EAAO30I,EAAQ,EACf40I,EAAgBF,EAAOC,EAEvBH,EAAmB,IAAIt5I,MAAM6a,GACnC,IAAK,IAAIlkD,EAAI,EAAGA,EAAIkkD,EAAQlkD,IAAK2iL,EAAK3iL,GAAK,IAAIqpC,MAAM8E,GAAOiW,KAAK,GAEjE,IAAK,IAAIpkD,EAAI,EAAGA,EAAIkkD,EAAQlkD,IAC1B,IAAK,IAAID,EAAI,EAAGA,EAAIouC,EAAOpuC,IAAK,CAC9B,GAAS,GAALC,GAAe,GAALD,EAAQ,SACtB,GAAIC,GAAK6iL,GAAQ9iL,GAAK+iL,EAAM,SAK5B,MAAME,EAAkB/gL,KAAK4M,IAAI7O,EAAID,EAAG8iL,EAAO7iL,EAAI8iL,EAAO/iL,GAAKgjL,EAAiB,GAC5E9gL,KAAK0O,SAAW1O,KAAKoD,IAAI,IAAM29K,KAAiBL,EAAK3iL,GAAGD,GAAK,GAIrE,OAAO4iL,GAETnuH,OAAQ,CAACw5G,EAAgBgS,KACvB,MAAM5mL,EAAO40K,EACP7/H,EAAQ/0C,EAAK,GAAGQ,OAChBsqD,EAAS9qD,EAAKQ,OACdipL,EAAO3+H,EAAS,EAChB4+H,EAAO30I,EAAQ,EAEf80I,EAAuB,IAAI55I,MAAM6a,GAEjCorH,EAAQ,IAAI4T,IAElB,IAAK,IAAIljL,EAAI,EAAGA,EAAIkkD,EAAQlkD,IAC1BijL,EAASjjL,GAAK,IAAIqpC,MAAM8E,GAAOiW,KAAK5hD,KAItC,SAAS2gL,EAAcnjL,EAAWD,GAChC,OAAOC,GAAK,GAAKA,EAAIkkD,GAAUnkD,GAAK,GAAKA,EAAIouC,GAAuB,GAAd/0C,EAAK4G,GAAGD,GAIhE,SAAUqjL,EAAUpjL,EAAWD,GACzBojL,EAAcnjL,EAAI,EAAGD,UAAU,CAACC,EAAI,EAAGD,IACvCojL,EAAcnjL,EAAI,EAAGD,UAAU,CAACC,EAAI,EAAGD,IACvCojL,EAAcnjL,EAAGD,EAAI,UAAU,CAACC,EAAGD,EAAI,IACvCojL,EAAcnjL,EAAGD,EAAI,UAAU,CAACC,EAAGD,EAAI,IAQ7C,IAJAkjL,EAAS,GAAG,GAAK,EACjB3T,EAAMp1K,KAAK,CAAC,EAAG,GAAI,GAGZo1K,EAAM1qI,KAAO,GAAG,CACrB,MAAO5kC,EAAGD,GAAKuvK,EAAMt9H,MACrB,IAAK,MAAOqxI,EAAIC,KAAOF,EAAUpjL,EAAGD,GAAI,CACtC,MAAMvE,EAAIynL,EAASjjL,GAAGD,GAAK,EACvBvE,EAAIynL,EAASI,GAAIC,KACfL,EAASI,GAAIC,IAAO9gL,IAEtB8sK,EAAMp1K,KAAK,CAACmpL,EAAIC,GAAK9nL,GAElB8zK,EAAMiU,aAAa,EAAEC,EAAIC,KAAQD,GAAMH,GAAMI,GAAMH,EAAI9nL,GAE5DynL,EAASI,GAAIC,GAAM9nL,IAMzB,GAAIynL,EAASJ,GAAMC,IAAStgL,IAAU,MAAc,IAAPw9K,EAI7C,GAAIA,EAAIpmL,OAASqpL,EAASJ,GAAMC,GAAO,OAAO,EAG9C,IAAIY,EAAO,EACPC,EAAO,EACX,IAAK,MAAMtf,KAAa2b,EAAK,CAC3B,OAAQ3b,GACN,IAAK,IACHsf,GAAQ,EACR,MACF,IAAK,IACHA,GAAQ,EACR,MACF,IAAK,IACHD,GAAQ,EACR,MACF,IAAK,IACHA,GAAQ,EACR,MACF,QACE,OAAO,EAEX,IAAKP,EAAcQ,EAAMD,GAAO,OAAO,EAIzC,OAAOC,GAAQd,GAAQa,GAAQZ,IAGnC,CACEjpK,KAAOzgB,GACE,CACL,kCACGA,EAAF,OACD,wEACA,yEACA,qEACA,qEACA,+DACA,mEACC,cACA,kCACA,qCACA,gBACDqL,KAAK,KAETg8B,WAAY,GACZ8zB,IAAK,KACH,MAAM2nE,EAActtH,YAAa,EAAG,IAC9B+E,EAAkB,GACxBA,EAAM/Z,OAASsiI,EAGfj6H,KAAK0O,SAAW,GAAOgD,EAAM,GAAK,IAAQA,EAAM,GAAK,IAErD,IAAK,IAAIja,EAAI,EAAGA,EAAIwiI,IAAOxiI,EAAG,CAC5B,MAAMkqL,EAAO3hL,KAAK0O,SAEhBgD,EAAMja,GADJkqL,EAAO,GACE,IACFA,EAAO,GACL,IAEA,IAIf,OAAOjwK,EAAMlP,KAAK,KAEpBhJ,KAAM,qCACNi5D,SAAU,GACVF,OAAQ,CAACp7D,EAAe4mL,KACtB,GAAoB,iBAAT5mL,EAAmB,MAAM,IAAImT,MAAM,0BAC9C,IAAIukE,EAAO,EACPF,EAAQ,EACZ,MAAMz+D,EAAgB,GAEtB,IAAK,IAAIzY,EAAI,EAAGA,EAAIN,EAAKQ,SAAUF,EACjB,MAAZN,EAAKM,KACLo3E,EACmB,MAAZ13E,EAAKM,KACdo3E,EAAO,IAAMA,IAASF,IAI1B,SAASizG,EACPC,EACAz2K,EACAyjE,EACAF,EACA51E,EACAu6D,EACApjD,GAEA,GAAInX,EAAEpB,SAAWyT,EAYA,MAAbrS,EAAEqS,IACAyjE,EAAO,GACT+yG,EAAIC,EAAMz2K,EAAQ,EAAGyjE,EAAO,EAAGF,EAAO51E,EAAGu6D,EAAUpjD,GAErD0xK,EAAIC,EAAO,EAAGz2K,EAAQ,EAAGyjE,EAAMF,EAAO51E,EAAGu6D,EAAWv6D,EAAEqS,GAAQ8E,IACxC,MAAbnX,EAAEqS,IACPujE,EAAQ,GAAGizG,EAAIC,EAAMz2K,EAAQ,EAAGyjE,EAAMF,EAAQ,EAAG51E,EAAGu6D,EAAUpjD,GAC9D2xK,EAAO,GAAGD,EAAIC,EAAO,EAAGz2K,EAAQ,EAAGyjE,EAAMF,EAAO51E,EAAGu6D,EAAWv6D,EAAEqS,GAAQ8E,IAE5E0xK,EAAIC,EAAMz2K,EAAQ,EAAGyjE,EAAMF,EAAO51E,EAAGu6D,EAAWv6D,EAAEqS,GAAQ8E,QApB1D,GAAa,IAAT2+D,GAAwB,IAAVF,GAAwB,IAATkzG,EAAY,CAC3C,IAAK,IAAIpqL,EAAI,EAAGA,EAAIyY,EAAIvY,OAAQF,IAC9B,GAAIyY,EAAIzY,KAAO67D,EACb,OAGJpjD,EAAIjY,KAAKq7D,IAkBfsuH,CAAI,EAAG,EAAG/yG,EAAMF,EAAOx3E,EAAM,GAAI+Y,GAEjC,MACM4xK,EAD6BnE,EAA8BI,GACN1rK,MAAM,KACjE,IAAK,IAAI5a,EAAI,EAAGA,EAAIqqL,EAAsBnqL,SAAUF,EAClDqqL,EAAsBrqL,GAAKomL,EAAuBiE,EAAsBrqL,IAAIgsC,QAAQ,MAAO,IAG7F,GAAIq+I,EAAsBnqL,SAAWuY,EAAIvY,OACvC,OAAO,EAET,IAAK,MAAMoqL,KAAkB7xK,EAC3B,IAAK4xK,EAAsBlpK,SAASmpK,GAClC,OAAO,EAIX,OAAO,IAGX,CACEnqK,KAAOm0J,IACL,MAAM50K,EAAO40K,EACP7gB,EAAiB/zJ,EAAK,GACtB0zB,EAAiB1zB,EAAK,GAE5B,MAAO,CACL,qFACG+zJ,EAAF,OACA,yCAAwCrgI,8BACzC,oFACA,oFACA,sFACA,qFACA,8EACC,KAAIqgI,OAAYrgI,SACjB,mEACA,2EACC,mCACD,gBACC,sCACA,6BACA,sCACA,yBACDroB,KAAK,MAETg8B,WAAY,GACZ8zB,IAAK,KACH,MAAM0vH,EAAYr1K,YAAa,EAAG,IAC5Bs1K,EAAwB,GAC9BA,EAAYtqL,OAASqqL,EACrB,IAAK,IAAIvqL,EAAI,EAAGA,EAAIwqL,EAAYtqL,SAAUF,EAEtCwqL,EAAYxqL,GAAK0oE,OADT,IAAN1oE,EACsBkV,YAAa,EAAG,GAEhBA,YAAa,EAAG,IAI5C,MAAMke,EAAiBle,aAAc,IAAK,KAG1C,MAAO,CAFgBs1K,EAAYz/K,KAAK,IAExBqoB,IAElBrxB,KAAM,kCACNi5D,SAAU,GACVF,OAAQ,CAACw5G,EAAgBgS,KACvB,MAAM5mL,EAAO40K,EACP36J,EAAMja,EAAK,GACX0zB,EAAS1zB,EAAK,GAkCpB,MACM2qL,EAD6BnE,EAA8BI,GACN1rK,MAAM,KACjE,IAAK,IAAI5a,EAAI,EAAGA,EAAIqqL,EAAsBnqL,SAAUF,EAClDqqL,EAAsBrqL,GAAKomL,EAAuBiE,EAAsBrqL,IAAIgsC,QAAQ,MAAO,IAG7F,GAAW,MAAPryB,GAA8B,IAAfA,EAAIzZ,OACrB,OAAqC,IAAjCmqL,EAAsBnqL,QAGW,IAAjCmqL,EAAsBnqL,QAA6C,KAA7BmqL,EAAsB,GAMlE,MAAMtpL,EAAmB,IAhDzB,SAASi6I,EACPviI,EACAw+B,EACAt9B,EACAyZ,EACAkJ,EACAmuJ,EACAC,GAEA,GAAIpuJ,IAAQ3iB,EAAIzZ,OAOhB,IAAK,IAAIF,EAAIs8B,EAAKt8B,EAAI2Z,EAAIzZ,SACpBF,GAAKs8B,GAAmB,KAAZ3iB,EAAI2iB,MADct8B,EAAG,CAIrC,MAAMuoL,EAAMh6B,SAAS50I,EAAIJ,UAAU+iB,EAAKt8B,EAAI,IAEhC,IAARs8B,EACF0+G,EAAOviI,EAAKw+B,EAAOsxI,EAAK5uK,EAAKyZ,EAAQpzB,EAAI,EAAGuoL,EAAKA,IAEjDvtC,EAAOviI,EAAKw+B,EAAO,IAAMsxI,EAAK5uK,EAAKyZ,EAAQpzB,EAAI,EAAGyqL,EAAYlC,EAAKA,GACnEvtC,EAAOviI,EAAKw+B,EAAO,IAAMsxI,EAAK5uK,EAAKyZ,EAAQpzB,EAAI,EAAGyqL,EAAYlC,GAAMA,GACpEvtC,EAAOviI,EAAKw+B,EAAO,IAAMsxI,EAAK5uK,EAAKyZ,EAAQpzB,EAAI,EAAGyqL,EAAYC,EAASA,EAASnC,EAAKmC,EAASnC,SAjB5Fn1J,IAAWq3J,GACbhyK,EAAIjY,KAAKy2C,GAsCf+jG,CAAOj6I,EAAQ,GAAI4Y,EAAKyZ,EAAQ,EAAG,EAAG,GAEtC,IAAK,MAAM0zH,KAAQ/lJ,EACjB,IAAKspL,EAAsBlpK,SAAS2lI,GAClC,OAAO,EAIX,OAAO,IAGX,CACE/kJ,KAAM,0CACNi5D,SAAU,GACVj0B,WAAY,EACZ5mB,KAAOnd,GACE,CACL,gDACGA,EAAF,MACD,4EACA,gEACA,yEACA,wEACA,wEACA,0GACA,wEACA,6CACA,yEACA,2DACA+H,KAAK,KAET8vD,IAAK,IACI3lD,YAAa3M,KAAKoN,IAAI,EAAG,GAAIpN,KAAKoN,IAAI,EAAGT,YAAa,EAAG,MAElE4lD,OAAQ,CAACp7D,EAAe4mL,KACtB,GAAoB,iBAAT5mL,EAAmB,MAAM,IAAImT,MAAM,0BAC9C,OAAOyzK,IAAQjS,YAAc30K,KAGjC,CACEqC,KAAM,0CACNglC,WAAY,EACZi0B,SAAU,GACV76C,KAAOnd,GACE,CACL,wDACC,IAAGA,QACJ,4EACA,oEACA,6EACA,sDACA,oHACA,0GACA,iDACA+H,KAAK,KAET8vD,IAAK,KACH,MAAM8vH,EAAcpiL,KAAKsjB,MAAMtjB,KAAK0O,UAC9B2zK,EAA6BvW,YACjCn/J,YAAa3M,KAAKoN,IAAI,EAAG,GAAIpN,KAAKoN,IAAI,EAAGT,YAAa,EAAG,OACzD0F,MAAM,IACR,GAAI+vK,EAAa,CACf,MAAME,EAAuB31K,YAAa,EAAG01K,EAAY1qL,OAAS,GAClE0qL,EAAYC,GAA6C,KAA7BD,EAAYC,GAAuB,IAAM,IAEvE,OAAOD,EAAY7/K,KAAK,KAE1B+vD,OAAQ,CAACp7D,EAAe4mL,KACtB,GAAoB,iBAAT5mL,EAAmB,MAAM,IAAImT,MAAM,0BAC9C,OAAO07I,SAAS+3B,EAAK,MAAQxR,YAAcp1K,KAG/C,CACEqC,KAAM,+BACNglC,WAAY,EACZi0B,SAAU,EACV76C,KAAOm0J,IACL,MAAM50K,EAAO40K,EACb,MAAO,CACJ,4DACE1wK,KAAK4T,UAAU9X,GAAjB,KACA,gFACA,yCACA,gFACA,gDAA+CA,EAAK,GAAK,KACzD,kEACA,qFACA,kFACA,qFACA,wFACA,8EACA,qFACA,sDACA,gBACA,iDACA,2BACA,yCACA,cACDqL,KAAK,MAET8vD,IAAK,KAEH,MAAM73D,EAAIuF,KAAKyO,MAAsB,EAAhBzO,KAAK0O,UAAgB,EACpCrV,EAAI2G,KAAKyO,MAAsB,EAAhBzO,KAAK0O,UAAgB,EAGpC6zK,EAA4B,GAClC,IAAK,IAAI9qL,EAAI,EAAGA,EAAIgD,EAAGhD,IACrB,IAAK,IAAIkB,EAAI,EAAGA,EAAIU,EAAGV,IACjBqH,KAAK0O,SAAW,IAClB6zK,EAAMtqL,KAAK,CAACR,EAAGgD,EAAI9B,IAMzB,IAAIiY,EAAI5Q,KAAKyO,MAAMzO,KAAK0O,UAAYjU,EAAIpB,IACpCyX,EAAI9Q,KAAKyO,MAAMzO,KAAK0O,UAAYjU,EAAIpB,IAOxC,SAASmpL,EAAWtgI,GAClB,IAAK,IAAIzqD,EAAIyqD,EAAMvqD,OAAS,EAAGF,EAAI,EAAGA,IAAK,CACzC,MAAMkB,EAAIqH,KAAKyO,MAAMzO,KAAK0O,UAAYjX,EAAI,KACzCyqD,EAAMzqD,GAAIyqD,EAAMvpD,IAAM,CAACupD,EAAMvpD,GAAIupD,EAAMzqD,KATxCmZ,EAAIE,KAAIF,EAAGE,GAAK,CAACA,EAAGF,IACpBA,GAAKE,GAAMyxK,EAAM3pK,SAAS,CAAChI,EAAGE,KAChCyxK,EAAMtqL,KAAK,CAAC2Y,EAAGE,IAYjB,MAAM2xK,EAAiBr7I,MAAMC,KAAKD,MAAM3sC,EAAIpB,GAAG8R,QAC/Cq3K,EAAQC,GACR,IAAK,IAAIhrL,EAAI,EAAGA,EAAI8qL,EAAM5qL,OAAQF,IAChC8qL,EAAM9qL,GAAK,CAACgrL,EAAeF,EAAM9qL,GAAG,IAAKgrL,EAAeF,EAAM9qL,GAAG,KAC7D8qL,EAAM9qL,GAAG,GAAK8qL,EAAM9qL,GAAG,MAExB8qL,EAAM9qL,GAAG,GAAI8qL,EAAM9qL,GAAG,IAAM,CAAC8qL,EAAM9qL,GAAG,GAAI8qL,EAAM9qL,GAAG,KAOxD,OAFA+qL,EAAQD,GAED,CAAC9nL,EAAIpB,EAAGkpL,IAEjBhwH,OAAQ,CAACw5G,EAAgBgS,KACvB,MAAM5mL,EAAO40K,EAGb,GAAW,MAAPgS,EAAa,CAEf,SAAS2E,EAAcC,GACrB,MAAMC,EAAUzrL,EAAK,GAAG+hB,OAAO,EAAEtI,KAAOA,GAAK+xK,GAAQrwK,IAAI,EAAE,CAAExB,KAAOA,GAC9D+xK,EAAW1rL,EAAK,GAAG+hB,OAAO,EAAE,CAAEpI,KAAOA,GAAK6xK,GAAQrwK,IAAI,EAAE1B,KAAOA,GACrE,OAAOgyK,EAAQryK,OAAOsyK,GAIxB,MAAMC,EAAmC17I,MAAMjwC,EAAK,IAAIgrD,UAAK/3C,GAC7D,KAAO04K,EAAShiI,KAAM2S,QAAgBrpD,IAARqpD,IAAoB,CAEhD,MAAMsvH,EAAwBD,EAASthC,UAAW/tF,QAAgBrpD,IAARqpD,GAC1DqvH,EAASC,GAAiB,EAC1B,MAAMC,EAAqB,CAACD,GAG5B,KAAOC,EAASrrL,OAAS,GAAG,CAC1B,MAAMgmC,EAAYqlJ,EAASjzI,OAAS,EAC9BoxI,EAAsBuB,EAAc/kJ,GAG1C,IAAK,MAAMuhB,KAAMiiI,EAAW,CAC1B,MAAM9C,EAAY8C,EAAUjiI,GAI5B,QAAoB90C,IAAhB04K,EAASzE,GACS,IAAhByE,EAASnlJ,GAAUmlJ,EAASzE,GAAK,EAChCyE,EAASzE,GAAK,EAEnB2E,EAAS/qL,KAAKomL,QAIX,GAAIyE,EAASzE,KAAOyE,EAASnlJ,GAGhC,OAAO,IAQf,OAAO,EAIT,MAEMmlJ,EAF6BnF,EAA8BI,GACN1rK,MAAM,KAChBC,IAAKmhD,GAAQuyF,SAASvyF,IAGvE,GAAIqvH,EAASnrL,QAAUR,EAAK,GAAI,CAC9B,MAAMorL,EAAQprL,EAAK,GACb8rL,EAAc,CAAC,EAAG,GAExB,OAAOV,EAAMtxK,MAAM,EAAEL,EAAGE,MACtB,MAAMoyK,EAASJ,EAASlyK,GAClBuyK,EAASL,EAAShyK,GACxB,OACEmyK,EAAYrqK,SAASsqK,IACrBD,EAAYrqK,SAASuqK,IACrBD,GAAUC,IAMX,OAAO,IAGhB,CACE3pL,KAAM,iCACNglC,WAAY,EACZi0B,SAAU,GACV76C,KAAOwrK,GACE,CACL,sGACA,uGACA,mGACA,0BACA,8CACC,iBAAgBA,MACjB,mFACA,cACA,qFACA,gGACA,qFACA,qFACA5gL,KAAK,KAET8vD,IAAK,KACH,MAAM36D,EAAS,GAAKqI,KAAKyO,MAAM,IAAMzO,KAAK0O,SAAW1O,KAAK0O,WAC1D,IAAIirH,EAAQ,GAEZ,KAAOA,EAAMhiI,OAASA,GAAQ,CAC5B,MAAMmC,EAAIkG,KAAK0O,SAEf,IAAIjU,EAAI,EAENA,EADEX,EAAI,GACF,EACKA,EAAI,GACT,EACKA,EAAI,GACTkG,KAAKyO,MAAM,GAAKzO,KAAK0O,UAErB,GAAK1O,KAAKyO,MAAM,EAAIzO,KAAK0O,UAI/BirH,GADUF,cACCj5H,OAAO/F,GAGpB,OAAOk/H,EAAM3oH,UAAU,EAAGrZ,IAE5B46D,OAAQ,CAAConE,EAAgBokD,KACvB,GAAqB,iBAAVpkD,EAAoB,MAAM,IAAIrvH,MAAM,0BAC/C,GAAIyzK,EAAIpmL,OAAS,GAAM,EACrB,OAAO,EAGT,IAAI0rL,EAAY,GAChB,IAAK,IAAI5rL,EAAI,EAAGA,EAAI,EAAIsmL,EAAIpmL,OAAQF,GAAK,EAAG,CAC1C,MAAME,EAASomL,EAAI/rK,WAAWva,GAAK,GACnC,GAAIE,EAAS,GAAKA,EAAS,EACzB,OAAO,EAGT0rL,GAAatF,EAAItmL,EAAI,GAAG+I,OAAO7I,GAEjC,GAAI0rL,IAAc1pD,EAChB,OAAO,EAGT,IAAIhiI,EAAS,EACb,IAAK,IAAIF,EAAI,EAAGA,EAAIkiI,EAAMhiI,QAAU,CAClC,IAAI2rL,EAAa,EACjB,KAAO7rL,EAAI6rL,EAAa3pD,EAAMhiI,QAAUgiI,EAAMliI,EAAI6rL,KAAgB3pD,EAAMliI,MACpE6rL,EAIJ,IAFA7rL,GAAK6rL,EAEEA,EAAa,GAClBA,GAAc,EACd3rL,GAAU,EAId,OAAOomL,EAAIpmL,QAAUA,IAGzB,CACE6B,KAAM,mCACNglC,WAAY,EACZi0B,SAAU,GACV76C,KAAO2rK,GACE,CACL,qGACA,sGACA,mGACA,uBACA,yFACA,iGACA,0FACA,iDACA,uGACA,kGACA,mCACA,mDACC,iBAAgBA,MACjB,gDACA,uDACA,2EACA,0EACA,0EACA,4EACA,oEACA/gL,KAAK,KAET8vD,IAAK,IACIsnE,YAAcF,eAEvBnnE,OAAQ,CAAC4nE,EAAgB4jD,KACvB,GAAqB,iBAAV5jD,EAAoB,MAAM,IAAI7vH,MAAM,0BAC/C,OAAOyzK,IAAQ7jD,YAAcC,KAGjC,CACE3gI,KAAM,kCACNglC,WAAY,GACZi0B,SAAU,GACV76C,KAAOwrK,GACE,CACL,qGACA,sGACA,mGACA,uBACA,yFACA,iGACA,0FACA,iDACA,uGACA,kGACA,mCACA,8CACC,iBAAgBA,MACjB,mFACA,qEACA,gEACA,iEACA,+DACA,oEACA,oEACA,4DACA,wDACA,uDACA5gL,KAAK,KAET8vD,IAAK,IACIonE,cAETnnE,OAAQ,CAAConE,EAAgBokD,KACvB,GAAqB,iBAAVpkD,EAAoB,MAAM,IAAIrvH,MAAM,0BAC/C,OAAO4vH,YAAc6jD,KAASpkD,GAASokD,EAAIpmL,QAAUiiI,YAAcD,GAAOhiI,W,6BCjnDhF,kCACA,MAAe6rL,EAWbjkL,cACEC,KAAKrI,KAAO,GAIC,WACb,OAAOqI,KAAKrI,KAAKQ,OAIZM,KAAKgC,EAAUqmC,GACpB,MAAM7oC,EAAI+H,KAAKrI,KAAKQ,OACpB6H,KAAKrI,KAAKM,GAAK,CAAC6oC,EAAQrmC,GACxBuF,KAAKikL,UAAUhsL,GAIVksG,OACL,GAAwB,GAApBnkG,KAAKrI,KAAKQ,OAEd,OAAO6H,KAAKrI,KAAK,GAAG,GAIf44C,MACL,GAAwB,GAApBvwC,KAAKrI,KAAKQ,OAAa,OAE3B,MAAMsC,EAAQuF,KAAKrI,KAAK,GAAG,GAO3B,OALAqI,KAAKrI,KAAK,GAAKqI,KAAKrI,KAAKqI,KAAKrI,KAAKQ,OAAS,GAC5C6H,KAAKrI,KAAKQ,OAAS6H,KAAKrI,KAAKQ,OAAS,EAEtC6H,KAAKkkL,YAAY,GAEVzpL,EAIFqnL,aAAaqC,EAAkCrjJ,GAEpD,MAAM7oC,EAAI+H,KAAKrI,KAAKqqJ,UAAW12H,GAAM64J,EAAU74J,EAAE,KACjD,IAAU,GAANrzB,EAAS,OAGb+H,KAAKrI,KAAKM,GAAG,GAAK6oC,EAGlB,MAAM1lC,EAAIoF,KAAKyO,OAAOhX,EAAI,GAAK,GAE1B+H,KAAKokL,kBAAkBpkL,KAAKrI,KAAKyD,GAAG,GAAI4E,KAAKrI,KAAKM,GAAG,IAIrD+H,KAAKkkL,YAAYjsL,GAFpB+H,KAAKikL,UAAUhsL,GAMTgsL,UAAUhsL,GAGlB,KAAOA,EAAI,GAAG,CACZ,MAAMmD,EAAIoF,KAAKyO,OAAOhX,EAAI,GAAK,GAG/B,GAAI+H,KAAKokL,kBAAkBpkL,KAAKrI,KAAKyD,GAAG,GAAI4E,KAAKrI,KAAKM,GAAG,IAAK,MAG9D,MAAMosL,EAAMrkL,KAAKrI,KAAKyD,GACtB4E,KAAKrI,KAAKyD,GAAK4E,KAAKrI,KAAKM,GACzB+H,KAAKrI,KAAKM,GAAKosL,EAGfpsL,EAAImD,GAKE8oL,YAAYjsL,GAGpB,KAAOA,EAAI+H,KAAKrI,KAAKQ,QAAQ,CAC3B,MAAMyB,EAAQ,EAAJ3B,EAAQ,EACZqC,EAAQ,EAAJrC,EAAQ,EAClB,IAAIqsL,EAASrsL,EAOb,GAJI2B,EAAIoG,KAAKrI,KAAKQ,QAAU6H,KAAKokL,kBAAkBpkL,KAAKrI,KAAKiC,GAAG,GAAIoG,KAAKrI,KAAK2sL,GAAQ,MAAKA,EAAS1qL,GAChGU,EAAI0F,KAAKrI,KAAKQ,QAAU6H,KAAKokL,kBAAkBpkL,KAAKrI,KAAK2C,GAAG,GAAI0F,KAAKrI,KAAK2sL,GAAQ,MAAKA,EAAShqL,GAGhGrC,GAAKqsL,EAAQ,MAGjB,MAAMD,EAAMrkL,KAAKrI,KAAK2sL,GACtBtkL,KAAKrI,KAAK2sL,GAAUtkL,KAAKrI,KAAKM,GAC9B+H,KAAKrI,KAAKM,GAAKosL,EAEfpsL,EAAIqsL,IAmBH,MAAM7C,UAAmBuC,EAC9BI,kBAAkBG,EAAiBC,GACjC,OAAOD,EAAUC,K,4EClIrB,kCACA,MAAMtyK,EAAQ,iEAEP,SAASoR,EAAmBroB,GACjC,IAAIgG,EAAM,GAEV,IAAK,IAAIhJ,EAAI,EAAGA,EAAIgD,IAAKhD,EACvBgJ,GAAOiR,EAAMb,OAAO7Q,KAAKyO,MAAMzO,KAAK0O,SAAWgD,EAAM/Z,SAGvD,OAAO8I,I,+DCEF,MAAMsgC,EAKXxhC,YACE/F,EACAc,EACA0mC,G,YAPK,I,EAQL,U,EAAA,M,sFACAxhC,KAAKhG,KAAOA,EACZgG,KAAKlF,OAASA,EACdkF,KAAKwhC,IAAMA,K,6BCvBf,8GAcA,SAASijJ,EAAoBrjJ,GAC3B,OAAO,SAAUhmC,GACf,OAAOA,EAAE4a,QAAU5a,EAAEq2B,aAAe,GAAK2P,GAiBtC,MAAME,EAA6C,CACxD,CACEvmC,IAAK,cACLf,KAAM,WACNc,OAAQ,CACNkf,MAAO,EACPwnD,QAAS,kFACT1a,IAAK29H,EAAoB,GACzB30K,KAAM3L,IAAUyD,4BAElB45B,IAAK,CAACia,EAAiBjF,EAAqB3rC,EAAiBmB,KAC3D,GAAMA,aAAkBiC,IAIxB,OAAIjC,EAAO0sE,gBACTliC,EAASsvB,MAAM,0FACftvB,EAASsvB,MAAM,4CAGb95D,EAAOmqI,eAAiBnqI,EAAOwB,sBACjCxB,EAAO0sE,gBAAiB,EACxBliC,EAASsvB,MAAM,0CAA4C95D,EAAOE,eAClEsqC,EAASsvB,MAAM,iDAIjBtvB,EAASsvB,MAAM,wDAfbtvB,EAAS1iC,MAAM,sCAkBrB,CACE/Y,IAAK,kBACLf,KAAM,eACNc,OAAQ,CACNkf,MAAO,GACPwnD,QAAS,kEACT1a,IAAK29H,EAAoB,IACzB30K,KAA6C,EAAvC3L,IAAUyD,4BAElB45B,IAAK,CAACia,EAAiBjF,EAAqB3rC,EAAiBmB,KACrDA,aAAkBiC,IAIpBjC,EAAOoqI,YACT5/F,EAASsvB,MAAM,mCAIjB95D,EAAOoqI,aAAc,EACrB5/F,EAASsvB,MAAM,wBACf95D,EAAOmqI,iBAVL3/F,EAAS1iC,MAAM,qDAarB,CACE/Y,IAAK,kBACLf,KAAM,eACNc,OAAQ,CACNkf,MAAO,IACPwnD,QAAS,qCACT1a,IAAK29H,EAAoB,KACzB30K,KAAM3L,IAAUqD,yBAElBg6B,IAAK,CAACia,EAAiBjF,EAAqB3rC,EAAiBmB,KACrDA,aAAkBiC,IAIpBjC,EAAOqqI,YACT7/F,EAASsvB,MAAM,mCAIjB95D,EAAOqqI,aAAc,EACrB7/F,EAASsvB,MAAM,yBACf95D,EAAOmqI,iBAVL3/F,EAAS1iC,MAAM,qDAarB,CACE/Y,IAAK,mBACLf,KAAM,gBACNc,OAAQ,CACNkf,MAAO,IACPwnD,QAAS,oDACT1a,IAAK29H,EAAoB,KACzB30K,KAAM3L,IAAUiD,uBAElBo6B,IAAK,CAACia,EAAiBjF,EAAqB3rC,EAAiBmB,KACrDA,aAAkBiC,IAIpBjC,EAAOsqI,aACT9/F,EAASsvB,MAAM,oCAIjB95D,EAAOsqI,cAAe,EACtB9/F,EAASsvB,MAAM,0BACf95D,EAAOmqI,iBAVL3/F,EAAS1iC,MAAM,sDAarB,CACE/Y,IAAK,kBACLf,KAAM,eACNc,OAAQ,CACNkf,MAAO,IACPwnD,QAAS,iCACT1a,IAAK29H,EAAoB,KACzB30K,KAAM3L,IAAU+C,uBAElBs6B,IAAK,CAACia,EAAiBjF,EAAqB3rC,EAAiBmB,KACrDA,aAAkBiC,IAIpBjC,EAAOuqI,aACT//F,EAASsvB,MAAM,oCAIjB95D,EAAOuqI,cAAe,EACtB//F,EAASsvB,MAAM,0BACf95D,EAAOmqI,iBAVL3/F,EAAS1iC,MAAM,qDAarB,CACE/Y,IAAK,mBACLf,KAAM,gBACNc,OAAQ,CACNkf,MAAO,IACPwnD,QAAS,6BACT1a,IAAK29H,EAAoB,KACzB30K,KAAM3L,IAAU6C,uBAElBw6B,IAAK,CAACia,EAAiBjF,EAAqB3rC,EAAiBmB,KACrDA,aAAkBiC,IAIpBjC,EAAOwqI,YACThgG,EAASsvB,MAAM,qCAIjB95D,EAAOwqI,aAAc,EACrBhgG,EAASsvB,MAAM,2BACf95D,EAAOmqI,iBAVL3/F,EAAS1iC,MAAM,sDAarB,CACE/Y,IAAK,aACLf,KAAM,iBACNc,OAAQ,CACNkf,MAAO,GACPwnD,QAAS,+EACT1a,IAAK29H,EAAoB,IACzB30K,KAAM3L,IAAUuD,4BAElB85B,IAAK,CAACia,EAAiBjF,KACrBA,EAASsvB,MAAM,kCACftvB,EAASsvB,MAAM,sEAGnB,CACE/qE,IAAK,aACLf,KAAM,iBACNc,OAAQ,CACNkf,MAAO,IACPwnD,QAAS,gFACT1a,IAAK29H,EAAoB,KACzB30K,KAAM3L,IAAUiD,uBAElBo6B,IAAK,CAACia,EAAiBjF,KACrBA,EAASsvB,MAAM,kCACftvB,EAASsvB,MAAM,uEAGnB,CACE/qE,IAAK,iBACLf,KAAM,qBACNc,OAAQ,CACNkf,MAAO,GACPwnD,QAAS,0FACT1a,IAAK29H,EAAoB,IACzB30K,KAAM3L,IAAUqD,yBAElBg6B,IAAK,CAACia,EAAiBjF,EAAqB3rC,EAAiBmB,EAAoBmvC,KAC/E,GAAoB,IAAhBA,EAAKhjD,OAEP,YADAq+C,EAAS1iC,MAAM,2EAIjB,MAAM4wK,EAAe34K,YAAUovC,EAAK,IAChB,MAAhBupI,EAKEA,aAAwBz2K,KAK9BuoC,EAASsvB,MAAM4+G,EAAax4K,SAAW,KACvCsqC,EAASsvB,MAAM,+BAAiC4+G,EAAa9gK,gBAC7D4yB,EAASsvB,MAAM,kCAAoC4+G,EAAa72K,gBAChE2oC,EAASsvB,MAAM,uBAAyB4+G,EAAa12K,cACrDwoC,EAASsvB,MACN,oCAAmCj2D,YACW,IAA7CqyC,YAAqBwiI,EAAc75K,IACnC,IAGJ2rC,EAASsvB,MACN,oCAAmCj2D,YACQ,IAA1CuyC,YAAkBsiI,EAAc75K,IAChC,IAGJ2rC,EAASsvB,MACN,sCAAqCj2D,YACQ,IAA5CwyC,YAAoBqiI,EAAc75K,IAClC,KAvBF2rC,EAAS1iC,MAAO,yDALhB0iC,EAAS1iC,MAAM,gCAiCrB,CACE/Y,IAAK,WACLf,KAAM,eACNc,OAAQ,CACNkf,MAAO,GACPwnD,QAAS,kGACT1a,IAAK29H,EAAoB,IACzB30K,KAAM3L,IAAUuD,4BAElB85B,IAAK,CAACia,EAAiBjF,KACrBA,EAASsvB,MAAM,kCACftvB,EAASsvB,MAAM,2FACftvB,EAASsvB,MAAM,6EAGnB,CACE/qE,IAAK,WACLf,KAAM,eACNc,OAAQ,CACNkf,MAAO,IACPwnD,QAAS,kDACT1a,IAAK29H,EAAoB,KACzB30K,KAAM3L,IAAU+C,uBAElBs6B,IAAK,CAACia,EAAiBjF,KACrBA,EAASsvB,MAAM,kCACftvB,EAASsvB,MAAM,iDAGnB,CACE/qE,IAAK,WACLf,KAAM,gBACNc,OAAQ,CACNkf,MAAO,EACPwnD,QAAS,iGACT1a,IAnRG,SAAU1rD,GACf,OAAOA,EAAEg9B,YAAYjgC,OAAS,GAAKiD,EAAE4a,SAAW,GAmR9ClG,KAAM3L,IAAUyD,2BAA6B,IAE/C45B,IAAK,KACH+gH,IAAc74I,SAGlB,CACE3O,IAAK,SACLf,KAAM,aACNc,OAAQ,KACR0mC,IAAK,CAACia,EAAiBjF,EAAqB3rC,KAC1C,MAAM85K,EAAY15K,IAAmB2uB,wBAErC,KADkB/uB,EAAO2N,cAAcrgB,QAAUwsL,GAAa95K,EAAO7O,MAAQ,MAAQ6O,EAAOmL,SAAW,MAKrG,OAHAwgC,EAASsvB,MAAO,kBAAiBj7D,EAAO2N,cAAcrgB,YAAYwsL,KAClEnuI,EAASsvB,MAAO,UAAShmE,IAAeqB,YAAY0J,EAAO7O,uBAC3Dw6C,EAASsvB,MAAO,kBAAiBj7D,EAAOmL,kBAI1CwgC,EAASsvB,MAAM,wBACftvB,EAASsvB,MAAO,MAAK1pE,IAAau9B,mB,6BC3TjC,SAAS1tB,EAAiB24K,GAC/B,MAAMC,EAAY,yCAIlB,OAFuB,IAAI9hL,OADT,IAAG8hL,KAAcA,KAAcA,KAAcA,MAGzCn2C,KAAKk2C,GAT7B,mC,6BCGO,SAASnmG,IACd,MAAM1kF,EAAU,IAAIq1B,KAGd01J,GAA0B,IAAG/qL,EAAEgrL,YAAavpL,OAD9B,GAEdwpL,GAA4B,IAAGjrL,EAAEkrL,cAAezpL,OAFlC,GAGd0pL,GAA4B,IAAGnrL,EAAEorL,cAAe3pL,OAHlC,GAKpB,MAAQ,GAAEzB,EAAEyvI,WAAa,KAAKzvI,EAAE0vI,aAAaq7C,KAAkBE,KAAoBE,IAXrF,mC,6BCAO,SAASvxE,EAAmB7mE,GACjC,MAAMxuC,EAAI,EAAIkC,KAAK4jB,IAAI0oB,GAAS,GAChC,OAAInpC,MAAMrF,KAAOkgI,SAASlgI,GAAW,EAC9BA,EAHT,mC,6BCAA,gFAOA,MAAM8hH,EAAU,IAAOj8G,IAAUG,WAEpB8gL,EAAuD,CAClE,CAAC9iI,IAAgBmpC,SAAU/5C,YAAa,CAAEC,QAAS,KACnD,CAAC2Q,IAAgBspC,OAAQl6C,YAAa,CACpCC,QAAS,GACTQ,OAAQ,GACRE,OAAQ,GACRE,OAAQ,GACRE,OAAQ,GACRT,OAAQ,KAEV,CAACsQ,IAAgBupC,UAAWn6C,YAAa,CACvCC,QAAS,EACTQ,OAAQ,GACRE,OAAQ,GACRE,OAAQ,GACRE,OAAQ,MAIL,SAASw5C,EAAoBphF,EAAiB82B,GACnD,IAAImqD,EAAa,EACZjhF,EAAO+O,gBAAgB1V,IAAkB6nF,wBAC5CD,EAAajhF,EAAO2oB,MAAQ,EAAIrvB,IAAU2D,gBAE5C,MAAMu9K,EAAYD,EAAiBzjJ,GACnC,MAAO,CACL3lC,MAAO,EACP6jE,WAAY,EACZluB,QACGm6C,GAAcu5F,EAAU1zI,QAAU9mC,EAAOoL,MAAMM,YAActL,IAAmBs3D,oBAAuB69C,EAC1GjuE,OACG25C,GAAcu5F,EAAUlzI,OAAStnC,EAAOoL,MAAMO,aAAevL,IAAmBs3D,oBAAuB69C,EAC1G/tE,OACGy5C,GAAcu5F,EAAUhzI,OAASxnC,EAAOoL,MAAMQ,YAAcxL,IAAmBs3D,oBAAuB69C,EACzG7tE,OACGu5C,GAAcu5F,EAAU9yI,OAAS1nC,EAAOoL,MAAMS,cAAgBzL,IAAmBs3D,oBAAuB69C,EAC3G3tE,OACGq5C,GAAcu5F,EAAU5yI,OAAS5nC,EAAOoL,MAAMU,YAAc1L,IAAmBs3D,oBAAuB69C,EACzGpuE,OACG85C,GAAcu5F,EAAUrzI,OAASnnC,EAAOoL,MAAMW,aAAe3L,IAAmBs3D,oBAAuB69C,EAC1GxuE,OAAQ,K,6BCjDZ,qDAQA,MAAM0zI,EAAsC,GACtCC,EAAgC,GAChCC,EAA6C,GAC7CC,EAA2C,GAC3CC,EAAwC,GACxCC,EAAsC,GACtCC,EAAmC,GACnCC,EAAsC,GACtCC,EAAgD,GAChDC,EAAgD,GAChDC,EAAwD,GACxDC,EAAoD,GACpDC,EAAwD,GACxDC,EAA4B,GAC5BC,EAA8B,GAC9BC,EAAoC,GACpCC,EAAsC,GACtCC,EAAuC,GACvCC,EAAyB,GAE/BpwJ,IAAkCiW,QAAS/gB,IACzCg6J,EAAqBh6J,IAAK,EAC1Bo6J,EAAuBp6J,IAAK,IAG9B8K,IAA4BiW,QAAS/gB,IACnCi6J,EAAej6J,IAAK,EACpBo6J,EAAuBp6J,IAAK,IAG9B8K,IAAyCiW,QAAS/gB,IAChDk6J,EAA4Bl6J,IAAK,EACjCo6J,EAAuBp6J,IAAK,IAG9Bo6J,EAAuBtvJ,IAA0C,KAAM,EACvEqvJ,EAA0BrvJ,IAA0C,KAAM,EAE1EA,IAAkCiW,QAAS/gB,IACzCq6J,EAAqBr6J,IAAK,IAG5B8K,IAAkCiW,QAAS/gB,IACzCu6J,EAAqBv6J,IAAK,IAG5B8K,IAA+BiW,QAAS/gB,IACtCs6J,EAAkBt6J,IAAK,IAGzB8K,IAA4CiW,QAAS/gB,IACnDw6J,EAA+Bx6J,IAAK,IAGtC8K,IAA4CiW,QAAS/gB,IACnDy6J,EAA+Bz6J,IAAK,IAGtC,IAAK,IAAIrzB,EAAI,EAAGA,EAAIm+B,IAAkCj+B,SAAUF,EAAG,CACjE,MAAMqzB,EAAI8K,IAAkCn+B,GACxCA,GAAK,IACP+tL,EAAuC16J,IAAK,GAE1CrzB,GAAK,IACPguL,EAAmC36J,IAAK,GAG5C,IAAK,IAAIrzB,EAAI,EAAGA,EAAIm+B,IAAkCj+B,SAAUF,EAAG,CACjE,MAAMqzB,EAAI8K,IAAkCn+B,GACxCA,GAAK,IACPiuL,EAAuC56J,IAAK,GAIhD66J,EAAW/vJ,IAA8B,KAAM,EAC/CgwJ,EAAahwJ,IAA8B,KAAM,EACjDiwJ,EAAmBjwJ,IAAkC,KAAM,EAC3DkwJ,EAAqBlwJ,IAAkC,KAAM,EAC7DmwJ,EAAsBnwJ,IAAkC,KAAM,EAC9DowJ,EAAQpwJ,IAAkC,KAAM,EAGzC,MAAMgW,EAA0C,CACrD,CACEpyC,KAAMiK,IAAag2B,WACnB1kB,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,EAAwBC,EAAsBE,GAClF55E,cAAe,EACfC,iBAAkB,EAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAam2B,iBACnB7kB,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,EAAwBC,EAAsBE,GAClF55E,cAAe,EACfC,iBAAkB,EAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAas2B,0BACnBhlB,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,EAAwBC,EAAsBE,GAClF55E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAay2B,wBACnBnlB,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,EAAwBC,EAAsBE,GAClF55E,cAAe,KACfC,iBAAkB,KAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAa42B,YACnBtlB,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,EAAwBC,EAAsBE,GAClF55E,cAAe,KACfC,iBAAkB,KAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAa+2B,wBACnBzlB,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,EAAwBC,EAAsBE,GAClF55E,cAAe,KACfC,iBAAkB,KAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAak3B,4BACnB5lB,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,EAAwBC,EAAsBE,GAClF55E,cAAe,KACfC,iBAAkB,KAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAaq3B,kBACnB/lB,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,EAAwBC,EAAsBE,GAClF55E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAaw3B,+BACnBlmB,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,EAAwBC,EAAsBE,GAClF55E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAa43B,yBACnBtmB,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,EAAwBC,GAC5D15E,cAAe,EACfC,iBAAkB,EAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAa87C,wBACnBxqC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,EAAwBI,EAAgCH,GAC5F15E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAa+7C,gBACnBzqC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIgnL,EAASd,EAAwBI,GACrE75E,cAAe,KACfC,iBAAkB,KAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAag8C,mBACnB1qC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIgnL,EAASd,EAAwBI,GACrE75E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAai8C,iBACnB3qC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,EAAwBC,EAAsBG,GAClF75E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAak8C,2BACnB5qC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,EAAwBC,EAAsBG,GAClF75E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAam8C,wBACnB7qC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,EAAwBC,EAAsBG,GAClF75E,cAAe,EACfC,iBAAkB,EAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAayuH,0BACnBn9G,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,EAAwBC,EAAsBG,GAClF75E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAao8C,cACnB9qC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIgnL,EAASD,EAAuBb,EAAwBG,GAC5F55E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAaq8C,0BACnB/qC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIgnL,EAASD,EAAuBb,EAAwBG,GAC5F55E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAas8C,6BACnBhrC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIgnL,EAASD,EAAuBb,EAAwBG,GAC5F55E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAa0uH,iBACnBp9G,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIgnL,EAASD,EAAuBb,EAAwBG,GAC5F55E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAau8C,8BACnBjrC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OACvB,GACAkmL,EACAC,EACAG,EACAD,GAEF55E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAaw8C,kBACnBlrC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OACvB,GACAkmL,EACAC,EACAG,EACAD,GAEF55E,cAAe,KACfC,iBAAkB,KAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAai5B,YACnB3nB,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OACvB,GACAwmL,EACAR,EACAC,EACAF,EACAM,EACAD,GAEF35E,cAAe,EACfC,iBAAkB,EAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAak5B,YACnB5nB,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OACvB,GACAwmL,EACAR,EACAC,EACAF,EACAM,EACAD,GAEF35E,cAAe,EACfC,iBAAkB,EAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAay8C,sBACnBnrC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OACvB,GACAwmL,EACAR,EACAD,EACAM,EACAD,EACAE,GAEF75E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAa08C,iBACnBprC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OACvB,GACAkmL,EACAI,EACAH,EACAE,GAEF55E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,IAEpB,CACEn9B,KAAMiK,IAAa28C,qBACnBrrC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIymL,EAAoCC,GACxEj6E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,IAEpB,CACEn9B,KAAMiK,IAAa48C,yBACnBtrC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OACvB,GACAymL,EACAC,EACAJ,GAEF75E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,IAEpB,CACEn9B,KAAMiK,IAAa2uH,YACnBr9G,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIqmL,EAAsBI,GAC1Dh6E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,IAEpB,CACEn9B,KAAMiK,IAAa68C,0BACnBvrC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,GACpCz5E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,KAEpB,CACEn9B,KAAMiK,IAAa88C,iBACnBxrC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,GACpCz5E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,IAEpB,CACEn9B,KAAMiK,IAAa+8C,yBACnBzrC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAIkmL,GACpCz5E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,IAEpB,CACEn9B,KAAMiK,IAAas0J,2BACnBhjJ,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OACvB,GACAkmL,EACAI,EACAF,EACAC,GAEF55E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,IAEpB,CACEn9B,KAAMiK,IAAai9C,mBACnB3rC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAI4mL,EAAcE,GAClDr6E,cAAe,EACfC,iBAAkB,EAClB/0E,iBAAkB,GAEpB,CACEn9B,KAAMiK,IAAak9C,iBACnB5rC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAI4mL,EAAcE,GAClDr6E,cAAe,EACfC,iBAAkB,EAClB/0E,iBAAkB,GAEpB,CACEn9B,KAAMiK,IAAag9C,oBACnB1rC,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAI8lL,EAAsBQ,EAAgCP,GAC1Ft5E,cAAe,IACfC,iBAAkB,IAClB/0E,iBAAkB,IAEpB,CACEn9B,KAAMiK,IAAa67G,kBACnBvqG,KAAM,GACNq5C,iBAAkBx2D,OAAOoH,OAAO,GAAI2mL,EAAYE,GAChDp6E,cAAe,EACfC,iBAAkB,EAClB/0E,iBAAkB,K,uLC9af,MAAMgS,EAsBXppC,YAAY3E,EAAwB,CAAEpB,KAAM,GAAIitB,KAAM,EAAG7O,KAAM,KAAM,cApB9D,IAoB8D,cAjB9D,GAiB8D,cAd9D,IAc8D,yBAXnD,GAWmD,yBAVnD,GAUmD,yBATnD,GASmD,yBARnD,GAQmD,yBAPnD,GAOmD,wBANpD,GAMoD,+BAL7C,GAK6C,mBAJzD,GAIyD,yBAHnD,GAGmD,qBAFvD,GAGZpY,KAAKhG,KAAOoB,EAAEpB,KACdgG,KAAKinB,KAAO7rB,EAAE6rB,KACdjnB,KAAKoY,KAAOhd,EAAEgd,KACVhd,EAAE4yK,kBACJhuK,KAAKguK,gBAAkB5yK,EAAE4yK,iBAEvB5yK,EAAE6yK,kBACJjuK,KAAKiuK,gBAAkB7yK,EAAE6yK,iBAEvB7yK,EAAE8yK,kBACJluK,KAAKkuK,gBAAkB9yK,EAAE8yK,iBAEvB9yK,EAAE+yK,kBACJnuK,KAAKmuK,gBAAkB/yK,EAAE+yK,iBAEvB/yK,EAAEgzK,kBACJpuK,KAAKouK,gBAAkBhzK,EAAEgzK,iBAEvBhzK,EAAEizK,iBACJruK,KAAKquK,eAAiBjzK,EAAEizK,gBAEtBjzK,EAAEkzK,wBACJtuK,KAAKsuK,sBAAwBlzK,EAAEkzK,uBAE7BlzK,EAAEmzK,YACJvuK,KAAKuuK,UAAYnzK,EAAEmzK,WAEjBnzK,EAAEozK,kBACJxuK,KAAKwuK,gBAAkBpzK,EAAEozK,iBAEvBpzK,EAAEqzK,cACJzuK,KAAKyuK,YAAcrzK,EAAEqzK,gB,6BCpE3B,kCAAO,MAAMx6D,EAAyC,CACpD,CACEj6G,KAAM,WACNitB,KAAM,KACN7O,KACE,0NAKJ,CACEpe,KAAM,mBACNitB,KAAM,KACN7O,KACE,kRAMJ,CACEpe,KAAM,gCACNitB,KAAM,IACN7O,KACE,qIAGJ,CACEpe,KAAM,kBACNitB,KAAM,IACN7O,KACE,iHAGJ,CACEpe,KAAM,kBACNitB,KAAM,KACN7O,KACE,+IAEF81J,gBAAiB,IACjBD,gBAAiB,IACjBE,gBAAiB,IACjBC,gBAAiB,KAEnB,CACEp0K,KAAM,SACNitB,KAAM,IACN7O,KACE,2IAGJ,CACEpe,KAAM,oBACNitB,KAAM,KACN7O,KACE,gIAEFi2J,eAAgB,KAElB,CACEr0K,KAAM,qBACNitB,KAAM,IACN7O,KACE,2IAGFq2J,YAAa,KAEf,CACEz0K,KAAM,WACNitB,KAAM,KACN7O,KACE,yKAIJ,CACEpe,KAAM,yBACNitB,KAAM,IACN7O,KACE,6NAIFo2J,gBAAiB,KAEnB,CACEx0K,KAAM,sBACNitB,KAAM,KACN7O,KACE,gLAIJ,CACEpe,KAAM,mBACNitB,KAAM,IACN7O,KACE,4MAIJ,CACEpe,KAAM,UACNitB,KAAM,IACN7O,KAAM,8FAER,CACEpe,KAAM,cACNitB,KAAM,IACN7O,KACE,mTAMJ,CACEpe,KAAM,eACNitB,KAAM,IACN7O,KACE,oZAOJ,CACEpe,KAAM,YACNitB,KAAM,KACN7O,KACE,6NAIF+1J,gBAAiB,KACjBC,gBAAiB,MAEnB,CACEp0K,KAAM,6BACNitB,KAAM,KACN7O,KACE,4LAGFi2J,eAAgB,KAElB,CACEr0K,KAAM,SACNitB,KAAM,IACN7O,KACE,qKAIJ,CACEpe,KAAM,cACNitB,KAAM,KACN7O,KAAM,mGAER,CACEpe,KAAM,sBACNitB,KAAM,IACN7O,KACE,qKAIJ,CACEpe,KAAM,uBACNitB,KAAM,IACN7O,KACE,qKAIJ,CACEpe,KAAM,qBACNitB,KAAM,IACN7O,KACE,oMAIJ,CACEpe,KAAM,mBACNitB,KAAM,IACN7O,KACE,kIAEFk2J,sBAAuB,Q,uLCrLpB,MAAM3kE,EAiCX5pG,YAAY3E,GAAuB,sBApBpB,GAoBoB,cAf5B,IAe4B,0BATjB,GASiB,cAN5B,IAM4B,eAF3B,GAE2B,oBAgBiB,IAAM,MAf1C,MAAVA,EAAE6rB,OACJjnB,KAAKinB,KAAO7rB,EAAE6rB,MAEI,MAAhB7rB,EAAEqrL,aACJzmL,KAAKymL,WAAarrL,EAAEqrL,YAGtBzmL,KAAK0mL,aAAetrL,EAAEsrL,aACtB1mL,KAAKoY,KAAOhd,EAAEgd,KACdpY,KAAK2mL,kBAAkBvrL,EAAEurL,iBAAkBvrL,EAAEurL,gBAC7C3mL,KAAKhG,KAAOoB,EAAEpB,KACdgG,KAAKvF,MAAQW,EAAEX,MAMjBge,QAAQqQ,GACN,MAAyB,iBAAd9oB,KAAKinB,KACPjnB,KAAKinB,KAGPzmB,KAAKsjB,OAAOgF,EAAS,GAAK9oB,KAAK0mL,iB,6BCrE1C,qEAMO,MAAMh9E,EAA6C,CACxD,CACEziF,KAAM,EACNy/J,aAAc,EACdtuK,KAAM,sBACNpe,KAAM,iBACNysL,WAAazsK,GACX,gDACW,kBAAC,IAAD,CAAOhe,MAAO,IAAMge,KAGjCvf,MAAO,KAET,CACEisL,aAAc,IACdtuK,KAAM,2CACNpe,KAAM,6BACNysL,WAAazsK,GACX,gDACW,kBAAC,IAAD,CAAOhe,MAAO,IAAMge,IAD/B,uBAIFvf,MAAO,KAET,CACEisL,aAAc,GACdtuK,KACE,8NAGFuuK,iBAAiB,EACjB3sL,KAAM,0BACNS,MAAO,KAET,CACEisL,aAAc,GACdtuK,KACE,0OAIFuuK,iBAAiB,EACjB3sL,KAAM,yBACNS,MAAO,MAET,CACEisL,aAAc,GACdtuK,KACE,yIAEFpe,KAAM,mBACNysL,WAAazsK,GAAsC,4DAAgC,GAARA,EAAxB,KACnDvf,MAAO,IAET,CACEisL,aAAc,GACdtuK,KACE,oIAEFpe,KAAM,uBACNysL,WAAazsK,GAAsC,4DAAgC,GAARA,EAAxB,KACnDvf,MAAO,IAET,CACEisL,aAAc,IACdtuK,KAAM,qFACNpe,KAAM,oCACNysL,WAAazsK,GACX,2DAAuBA,EAAvB,6CAEFvf,MAAO,KAET,CACEisL,aAAc,IACdtuK,KAAM,2CACNpe,KAAM,gCACNysL,WAAazsK,GACX,2DAAuBla,IAAeS,OAAO,IAAMyZ,EAAO,MAA1D,qBAEFvf,MAAO,KAET,CACEisL,aAAc,IACdtuK,KAAM,mDACNpe,KAAM,8BACNysL,WAAazsK,GACX,2DAAuBla,IAAeS,OAAO,GAAKyZ,EAAO,MAAzD,6BAEFvf,MAAO,IAET,CACEisL,aAAc,IACdtuK,KAAM,6DACNpe,KAAM,2BACNysL,WAAazsK,GAAsC,iDAAaA,EAAb,eACnDvf,MAAO,K,uLCjGJ,MAAMwoI,EAgBXljI,YAAYq2E,GAA4B,gBAZX,MAYW,mBAP7B,GAO6B,cAF5B,IAGNA,aAAkB6sD,IACpBjjI,KAAKm3E,KAAO/+E,OAAOoH,OAAO,GAAI42E,EAAOe,OAGvCn3E,KAAKo2E,OAASA,EAMhBwwG,OAAO5sL,GAEL,IAAIg7E,EAA4Bh1E,KAChC,KAAOg1E,GAAO,CACZ,GAAI58E,OAAOC,UAAUC,eAAeC,KAAKy8E,EAAMmC,KAAMn9E,GACnD,OAAOg7E,EAETA,EAAQA,EAAMoB,OAGhB,OAAO,KAIT/7E,IAAIL,GACF,GAAIA,KAAQgG,KAAKm3E,KACf,OAAOn3E,KAAKm3E,KAAKn9E,GAGnB,MAAM,IAAI8Q,MAAO,sBAAqB9Q,GAKxC28E,IAAI38E,EAAcS,GAChB,MAAMu6E,EAAQh1E,KAAK4mL,OAAO5sL,GAI1B,OAAc,OAAVg7E,EACMA,EAAMmC,KAAKn9E,GAAQS,EAEnBuF,KAAKm3E,KAAKn9E,GAAQS,EAM9Bu4B,IAAIh5B,EAAcS,GAChB,OAAQuF,KAAKm3E,KAAKn9E,GAAQS,K,6BClEvB,SAASgyF,EAAaxxF,GAC3B,OAAI0I,MAAM1I,KAIA,IAANA,GAMqB,IAAjBA,EAAKA,EAAI,IAfnB,mC,6BCAA,qDAcO,MAAMqpD,EAA0C,CACrD,CACEhzC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,MAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAag2B,WACnBgrB,QAAS,GACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,EACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,IACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa77C,IAAag2B,aAGpC,CACE3oB,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,MAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAam2B,iBACnB6qB,QAAS,GACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,EACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,IACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa77C,IAAam2B,mBAGpC,CACE9oB,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,MAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAay2B,wBACnBuqB,QAAS,GACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,EACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,IACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa77C,IAAay2B,0BAGpC,CACEppB,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,KAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAa+2B,wBACnBiqB,QAAS,GACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,EACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,IACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa77C,IAAa+2B,0BAGpC,CACE1pB,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,MAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAak3B,4BACnB8pB,QAAS,GACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,EACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,IACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa77C,IAAak3B,8BAGpC,CACE7pB,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,IACLwJ,IAAK,KAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,IACLwJ,IAAK,KAEPpT,KAAMiK,IAAaq3B,kBACnB2pB,QAAS,GACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,IACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa77C,IAAaq3B,oBAGpC,CACEhqB,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,MAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAaw3B,+BACnBwpB,QAAS,GACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,EACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,IACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa77C,IAAaw3B,iCAGpC,CACEnqB,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,MAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,IACLwJ,IAAK,KAEPpT,KAAMiK,IAAa43B,yBACnBopB,QAAS,GACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,IACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa77C,IAAa43B,2BAGpC,CACEvqB,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,KAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAa87C,wBACnBkF,QAAS,EACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAa87C,0BAGpC,CACEzuC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,KAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAa+7C,gBACnBiF,QAAS,GACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAa+7C,kBAGpC,CACE1uC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,KAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAag8C,mBACnBgF,QAAS,EACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAag8C,qBAGpC,CACE3uC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,KAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAai8C,iBACnB+E,QAAS,EACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAai8C,mBAGpC,CACE5uC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,MAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAak8C,2BACnB8E,QAAS,IACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAak8C,6BAGpC,CACE7uC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,MAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAam8C,wBACnB6E,QAAS,GACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAam8C,0BAGpC,CACE9uC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,KAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAao8C,cACnB4E,QAAS,EACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAao8C,gBAGpC,CACE/uC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,KAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAaq8C,0BACnB2E,QAAS,IACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAaq8C,4BAGpC,CACEhvC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,MAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAas8C,6BACnB0E,QAAS,IACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAas8C,+BAGpC,CACEjvC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,IACLwJ,IAAK,MAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAau8C,8BACnByE,QAAS,KACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAau8C,gCAGpC,CACElvC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,MAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAaw8C,kBACnBwE,QAAS,EACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAaw8C,oBAGpC,CACEnvC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,KAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,IACLwJ,IAAK,KAEPpT,KAAMiK,IAAay8C,sBACnBuE,QAAS,IACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,KACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAay8C,wBAGpC,CACEpvC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,IACLwJ,IAAK,MAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,IACLwJ,IAAK,KAEPpT,KAAMiK,IAAa08C,iBACnBsE,QAAS,EACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAa08C,mBAGpC,CACErvC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,IACLwJ,IAAK,KAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAa28C,qBACnBqE,QAAS,EACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa77C,IAAa28C,uBAGpC,CACEtvC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,KAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,IACLwJ,IAAK,KAEPpT,KAAMiK,IAAa48C,yBACnBoE,QAAS,GACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,IACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa77C,IAAa48C,2BAGpC,CACEvvC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,IACLwJ,IAAK,KAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,IACLwJ,IAAK,KAEPpT,KAAMiK,IAAa68C,0BACnBmE,QAAS,EACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,IACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAa68C,4BAGpC,CACExvC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,IACLwJ,IAAK,KAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,IACLwJ,IAAK,IAEPpT,KAAMiK,IAAa88C,iBACnBkE,QAAS,EACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa77C,IAAa88C,mBAGpC,CACEzvC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,IACLwJ,IAAK,KAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,IACLwJ,IAAK,KAEPpT,KAAMiK,IAAa+8C,yBACnBiE,QAAS,EACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,KACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAa+8C,2BAGpC,CACE1vC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,IACLwJ,IAAK,KAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,IACLwJ,IAAK,IAEPpT,KAAMiK,IAAag9C,oBACnBgE,QAAS,GACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,IACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa77C,IAAag9C,sBAGpC,CACE3vC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,KAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAMiK,IAAai9C,mBACnB+D,QAAS,EACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,KACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa77C,IAAai9C,qBAGpC,CACE5vC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,MAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,IACLwJ,IAAK,KAEPpT,KAAM,kBACNirD,QAAS,EACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,IACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa,oBAGvB,CACExuC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,KAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,IACLwJ,IAAK,KAEPpT,KAAMiK,IAAak9C,iBACnB8D,QAAS,EACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,KACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa77C,IAAak9C,mBAGpC,CACE7vC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,KAEPu2D,UAAW,KACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,IACLwJ,IAAK,KAEPpT,KAAM,oBACNirD,QAAS,KACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,KACLwJ,IAAK,MAEPs2C,OAAQ5D,IAAa,sBAGvB,CACExuC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,IACLwJ,IAAK,MAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAM,yBACNirD,QAAS,EACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa,2BAGvB,CACExuC,GAAG,EACHoyD,UAAW,CACT9/D,IAAK,KACLwJ,IAAK,MAEPu2D,UAAW,MACX5e,GAAI,CACF+e,QAAS,IACTlgE,IAAK,GACLwJ,IAAK,IAEPpT,KAAM,qBACNirD,QAAS,GACT2e,WAAY,CACVE,QAAS,GACTlgE,IAAK,GACLwJ,IAAK,GAEP24C,mBAAoB,CAClBniD,IAAK,MACLwJ,IAAK,KAEPs2C,OAAQ5D,IAAa,yB,8BCt2BzB,yFAuBO,SAAS00F,EAAc3pI,EAAiBy4C,GAC7C,MAAMujI,EAAqB,SAAU39H,GACnC,MAAM/4B,EAAOtlB,EAAOslB,KACpB,GAAa,OAATA,EAAe,MAAM,IAAIrlB,MAAM,yBAEnC,KADkBqlB,aAAgBypB,KAEhC,MAAMsP,EAAIonF,oBAAqB,qCAI7Bw2C,EAAgB,SAAU59H,EAAuBlvD,GACrD,MAAMm2B,EAAOtlB,EAAOslB,KACpB,GAAa,OAATA,EAAe,MAAM,IAAIrlB,MAAM,yBACnC,IAAK,MAAMsE,KAAU+gB,EAAK0pF,QAAS,GAAIzqG,EAAOpV,OAASA,EAAM,OAAOoV,EACpE,MAAM85C,EAAIonF,oBAAqB,yBAAwBt2I,OAYzD,MAAO,CACL07F,WACGxsC,GACA69H,IACC,MAAMpzK,EAAUu1C,EAAI+pF,OAAO/7E,OAAO,UAAW6vH,GAG7C,IAAKl8K,EAAOuwH,kBAAoB7oD,IAAcK,MAAMx5D,SAASzF,GAAU,OAAO,EAC9E,GAAI9I,EAAO0gD,SAAU,OAAO,EAC5B,IAAK1gD,EAAO6K,SAAS0D,SAASzF,GAAU,OAAO,EAE/C,MAAMo2F,EAAYp2F,IAAYvX,IAAamgC,SAAW5oB,IAAYvX,IAAa+/B,aAE/E,OADAtxB,EAAO0wH,UAAU5nH,EAASo2F,IACnB,GAEXx+C,OAAQ,IAAM,IACL1gD,EAAO0gD,SAEhBoqC,eAAiBzsC,GAA0B,KACzC29H,EAAmB39H,GACnB,MAAM/4B,EAAOtlB,EAAOslB,KACpB,GAAa,OAATA,EAAe,MAAM,IAAIrlB,MAAM,qCACnC,OAAOqlB,EAAK0pF,QAAQ/mG,IAAK1D,GAAWA,EAAOpV,OAE7C47F,mBAAqB1sC,GAA0B,KAC7C29H,EAAmB39H,GACnB,MAAM/4B,EAAOtlB,EAAOslB,KACpB,GAAa,OAATA,EAAe,MAAM,IAAIrlB,MAAM,qCACnC,MAAO,CACL6I,QAASwc,EAAKuP,QACdqqE,UAAW55E,EAAK6qH,cAChB/zC,cAAe92E,EAAK82E,cACpBn6D,MAAO3c,EAAKorH,WACZvhE,QAAS7pD,EAAK6pD,QACdihE,gBAAiB9qH,EAAK8qH,gBACtBluG,UAAW5c,EAAKqrH,eAChBJ,qBAAsBjrH,EAAKirH,qBAC3BC,wBAAyBlrH,EAAKkrH,wBAC9BphE,YAAa9pD,EAAK8qD,OAClB+rG,oBAAqB72J,EAAK+qH,eAC1BtzC,cAAez3E,EAAKwtH,qBAGxB9nD,wBAA0B3sC,GAA0B,KAClD29H,EAAmB39H,GACnB,MAAM+9H,EAA2C,GACjD,IAAK,MAAM92J,KAAQ/3B,OAAOuT,KAAKkhC,KAC7Bo6I,EAAI92J,GAAQ/3B,OAAOoH,OAAO,GAAIqtC,IAAS1c,IAGzC,OAAO82J,GAETnxF,qBACG5sC,GACAg+H,IACC,MAAMC,EAAaj+H,EAAI+pF,OAAO/7E,OAAO,aAAcgwH,GACnDL,EAAmB39H,GACnB,MAAM/4B,EAAOtlB,EAAOslB,KACpB,GAAa,OAATA,EAAe,MAAM,IAAIrlB,MAAM,qCACnC,MAAMsE,EAAS03K,EAAc59H,EAAKi+H,GAClC,MAAO,CACLntL,KAAMoV,EAAOpV,KACbmgF,KAAM/qE,EAAO+qE,KACb4jE,cAAe3uI,EAAO2uI,cACtBhrH,KAAM3jB,EAAO2jB,KACb9xB,IAAKmO,EAAOnO,IACZ+xB,IAAK5jB,EAAO4jB,IACZC,IAAK7jB,EAAO6jB,IACZC,IAAK9jB,EAAO8jB,IACZC,IAAK/jB,EAAO+jB,IAEZ4iI,SAAU3mJ,EAAO2mJ,SACjBE,QAAS7mJ,EAAO6mJ,QAChBE,QAAS/mJ,EAAO+mJ,QAChBE,QAASjnJ,EAAOinJ,QAChBE,QAASnnJ,EAAOmnJ,QAChBE,QAASrnJ,EAAOqnJ,QAEhBT,UAAW5mJ,EAAO4mJ,UAClBE,SAAU9mJ,EAAO8mJ,SACjBE,SAAUhnJ,EAAOgnJ,SACjBE,SAAUlnJ,EAAOknJ,SACjBE,SAAUpnJ,EAAOonJ,SACjBE,SAAUtnJ,EAAOsnJ,SAEjB0wB,cAAeh4K,EAAOksE,uBAAuBlsE,EAAO83H,iBACpDmgD,aAAcj4K,EAAOksE,uBAAuBlsE,EAAO+3H,gBACnDmgD,aAAcl4K,EAAOksE,uBAAuBlsE,EAAOg4H,gBACnDmgD,aAAcn4K,EAAOksE,uBAAuBlsE,EAAOi4H,gBACnDmgD,aAAcp4K,EAAOksE,uBAAuBlsE,EAAOk4H,gBACnDmgD,aAAcr4K,EAAOksE,uBAAuBlsE,EAAOm4H,gBAEnDL,gBAAiB93H,EAAO83H,gBACxBC,eAAgB/3H,EAAO+3H,eACvBC,eAAgBh4H,EAAOg4H,eACvBC,eAAgBj4H,EAAOi4H,eACvBC,eAAgBl4H,EAAOk4H,eACvBC,eAAgBn4H,EAAOm4H,eAEvB5jG,SAAUv0B,EAAOu0B,SAASnoC,QAC1Bgd,cAAepJ,EAAOoJ,cAAchd,QAEpCqsG,YAAaz4F,EAAO8qE,qBAAqB/pD,GACzC23E,gBAAiB14F,EAAO2rE,yBAAyB5qD,GACjDyP,UAAWxwB,EAAO+rE,mBAAmBhrD,KAG3C4lE,iBAAmB7sC,GAA0B,KAC3C29H,EAAmB39H,GACnB,MAAM/4B,EAAOtlB,EAAOslB,KACpB,GAAa,OAATA,EAAe,MAAM,IAAIrlB,MAAM,qCACnC,OAAOqlB,EAAK4lE,oBAEdC,cACG9sC,GACAg+H,IACC,MAAMC,EAAaj+H,EAAI+pF,OAAO/7E,OAAO,aAAcgwH,GACnDL,EAAmB39H,GACnB,MAAM/4B,EAAOtlB,EAAOslB,KACpB,GAAa,OAATA,EAAe,MAAM,IAAIrlB,MAAM,qCACnC,MAAM48K,EAAYv3J,EAAK6lE,cAAcmxF,GAOrC,OANIO,EACFpkI,EAAal/B,IAAI,qBAAsB,IAAO,uCAAsC+iK,MAEpF7jI,EAAal/B,IAAI,qBAAsB,IAAO,kCAAiC+iK,MAG1EO,GAEXzxF,aAAe/sC,GAA0B,KACvC29H,EAAmB39H,GACnB,MAAM/4B,EAAOtlB,EAAOslB,KACpB,GAAa,OAATA,EAAe,MAAM,IAAIrlB,MAAM,qCACnC,MAAM68K,EAAQx3J,EAAK+tH,kBAEnB,OADAypC,EAAM9+C,QAAQ,cACP8+C,GAETxxF,cACGjtC,GACD,CAACg+H,EAAsBU,KACrB,MAAMT,EAAaj+H,EAAI+pF,OAAO/7E,OAAO,aAAcgwH,GAC7C/oC,EAAWj1F,EAAI+pF,OAAO/7E,OAAO,WAAY0wH,GAC/Cf,EAAmB39H,GACnB,MAAM95C,EAAS03K,EAAc59H,EAAKi+H,GAC5Bh3J,EAAOtlB,EAAOslB,KACpB,GAAa,OAATA,EAAe,MAAM,IAAIrlB,MAAM,qCACnC,IAAKqlB,EAAK+tH,kBAAkB9kI,SAAS+kI,GAMnC,OALA76F,EAAal/B,IACX,qBACA,IACG,iCAAgC+iK,uBAAgChpC,QAAegpC,wBAE7E/3K,EAAOunJ,aAAa,cAE7B,MAAMvuF,EAAUh5D,EAAOunJ,aAAaxY,GAcpC,OAbI/1E,EACF9kB,EAAal/B,IACX,qBACA,IAAO,sCAAqC+iK,UAAmBhpC,WAGjE76F,EAAal/B,IACX,qBACA,IACG,iCAAgC+iK,UAAmBhpC,aAAoBgpC,wBAIvE/+G,GAEX8tB,aACGhtC,GACA0+H,IACC,MAAMzpC,EAAWj1F,EAAI+pF,OAAO/7E,OAAO,WAAY0wH,GAC/Cf,EAAmB39H,GACnB,MAAMixB,EAxLQ,SAAUjxB,EAAuBlvD,GACnD,MAAMmgF,EAAOyvB,IAAgB5vG,GAC7B,IAAKmgF,EACH,MAAMjxB,EAAIonF,oBAAqB,kBAAiBt2I,MAGlD,OAAOmgF,EAkLU0tG,CAAY3+H,EAAKi1F,GACxB3oF,EAAOp9D,OAAOoH,OAAO,GAAI26E,GAE/B,OADA3kB,EAAKzoB,UAAY30C,OAAOoH,OAAO,GAAI26E,EAAKptC,WACjCyoB,GAEX4gC,kBAAoBltC,GAA0B,KAC5C29H,EAAmB39H,GACZ9wD,OAAOuT,KAAKu9F,MAErB7S,iBACGntC,GACA4+H,IACC,MAAMC,EAAY7+H,EAAI+pF,OAAO/7E,OAAO,YAAa4wH,GACjDjB,EAAmB39H,GACnB,MAAM/4B,EAAOtlB,EAAOslB,KACpB,GAAa,OAATA,EAAe,MAAM,IAAIrlB,MAAM,qCACnC,MAAMmgB,EAAMi+E,IAAmB6+E,GAC/B,OAAY,OAAR98J,EAAqBlqB,IAClBovB,EAAK+lG,eAAejrG,IAE/BqrE,iBACGptC,GACA4+H,IACC,MAAMC,EAAY7+H,EAAI+pF,OAAO/7E,OAAO,YAAa4wH,GACjDjB,EAAmB39H,GACnB,MAAMj+B,EAAMi+E,IAAmB6+E,GAC/B,OAAW,MAAP98J,EAAoB,GACjBA,EAAI2oC,WAEf2iC,kBACGrtC,GACA4+H,IACC,MAAMC,EAAY7+H,EAAI+pF,OAAO/7E,OAAO,YAAa4wH,GACjDjB,EAAmB39H,GACnB,MAAM8+H,EAAY9+E,IAAmB6+E,GACrC,IAAKC,EACH,MAAM9+H,EAAIonF,oBAAqB,sBAAqBy3C,GAEtD,MAAME,EAA4BD,EAAU/xK,MAC5C,OAAO7d,OAAOoH,OAAO,GAAIyoL,IAE7BzxF,kBACGttC,GACD,CAACg+H,EAAsBY,KACrB,MAAMX,EAAaj+H,EAAI+pF,OAAO/7E,OAAO,aAAcgwH,GAC7Ca,EAAY7+H,EAAI+pF,OAAO/7E,OAAO,YAAa4wH,GACjDjB,EAAmB39H,GACnB,MAAM/4B,EAAOtlB,EAAOslB,KACpB,GAAa,OAATA,EAAe,MAAM,IAAIrlB,MAAM,qCACnC,MAAMsE,EAAS03K,EAAc59H,EAAKi+H,GAC5Ba,EAAY9+E,IAAmB6+E,GACrC,IAAKC,EAAW,OAAO,EACvB,MAAMt3K,EAAMtB,EAAOmoJ,WAAWywB,EAAWn9K,EAAQslB,GAUjD,OATIzf,EACF4yC,EAAal/B,IAAI,yBAA0B,IAAO,cAAa2jK,uBAA+BZ,MAE9F7jI,EAAal/B,IACX,yBACA,IAAO,uBAAsB2jK,uBAA+BZ,MAIzDz2K,GAEX+lF,aACGvtC,GACAg+H,IACC,MAAMC,EAAaj+H,EAAI+pF,OAAO/7E,OAAO,aAAcgwH,GACnDL,EAAmB39H,GACnB,MAAM/4B,EAAOtlB,EAAOslB,KACpB,GAAa,OAATA,EAAe,MAAM,IAAIrlB,MAAM,qCACnC,MAAMsE,EAAS03K,EAAc59H,EAAKi+H,GAClC,GAAK/3K,EAAO2nJ,YACZ,OAAO5mI,EAAKsmE,aAAarnF,EAAQk0C,IAErCozC,mBACGxtC,GACAg+H,IACC,MAAMC,EAAaj+H,EAAI+pF,OAAO/7E,OAAO,aAAcgwH,GACnDL,EAAmB39H,GAEnB,GAAa,OADAr+C,EAAOslB,KACD,MAAM,IAAIrlB,MAAM,qCACnC,MAAMsE,EAAS03K,EAAc59H,EAAKi+H,GAClC,GAAK/3K,EAAO2nJ,YACZ,MAAO,CACL/8E,QAAS5qE,EAAO2uI,iBACb3uI,EAAO8nJ,wBAGhBvgE,oBACGztC,GACAg/H,IACC,MAAMC,EAASj/H,EAAI+pF,OAAOU,QAAQu0C,GAClCrB,EAAmB39H,GACnB,MAAM/4B,EAAOtlB,EAAOslB,KACpB,GAAa,OAATA,EAAe,MAAM,IAAIrlB,MAAM,qCAC/Bq9K,GACFh4J,EAAKkrH,yBAA0B,EAC/B/3F,EAAal/B,IAAI,2BAA4B,IAAM,wCAEnD+L,EAAKkrH,yBAA0B,EAC/B/3F,EAAal/B,IAAI,2BAA4B,IAAM,2CAGzDwyE,oBACG1tC,GACAk/H,IACC,MAAMvrC,EAAY3zF,EAAI+pF,OAAO/7E,OAAO,YAAakxH,GACjDvB,EAAmB39H,GACnB,MAAM/4B,EAAOtlB,EAAOslB,KACpB,GAAa,OAATA,EAAe,MAAM,IAAIrlB,MAAM,qCACnC,GAA2B,MAAvB+hC,IAASgwG,GACX,MAAM3zF,EAAIonF,oBAAqB,iBAAgBuM,GAGjD,MAAMwrC,EAAcx7I,IAAS1c,EAAKuP,SAASoN,MAG3C,OAAOu7I,GAFYx7I,IAASgwG,GAAW/vG,MAEJu7I,IAEvCxxF,aAAe3tC,GAA0B,KACvC29H,EAAmB39H,GACnB,MAAM/4B,EAAOtlB,EAAOslB,KACpB,GAAa,OAATA,EAAe,MAAM,IAAIrlB,MAAM,qCACnC,OAA2C,IAApCtK,KAAKsjB,MAAMqM,EAAK8yB,aAAe,O,6BC3V5C,kCAsCO,MAAM4mD,EAAqD,CAChE,CACEzxF,KAAM,qCACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,aACNsb,OAAQ,CAAEglE,WAAY,MAExB,CACEliE,KAAM,gJACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,aACNsb,OAAQ,CACN8kE,YAAa,KACbY,WAAY,KACZI,UAAW,EACXd,WAAY,IACZt7C,WAAY,IAGhB,CACE5mB,KAAM,kJACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,WACNsb,OAAQ,CACN8kE,YAAa,KACbY,WAAY,KACZI,UAAW,IACXd,WAAY,GACZK,UAAW,GACX37C,WAAY,MAGhB,CACE5mB,KAAM,oHACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,iBACNsb,OAAQ,CACN8kE,YAAa,KACbY,WAAY,KACZI,UAAW,GACXd,WAAY,GACZK,UAAW,GACX37C,WAAY,IAGhB,CACE5mB,KAAM,sGACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,eACNsb,OAAQ,CACN8kE,YAAa,KACbY,WAAY,GACZV,WAAY,IACZt7C,WAAY,IAGhB,CACE5mB,KAAM,uHACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,cACNsb,OAAQ,CACN8kE,YAAa,KACbY,WAAY,GACZV,WAAY,IACZt7C,WAAY,KAGhB,CACE5mB,KAAM,iKACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,yBACNsb,OAAQ,CACN8kE,YAAa,KACbY,WAAY,GACZI,UAAW,GACXd,WAAY,GACZK,UAAW,GACX37C,WAAY,KAGhB,CACE5mB,KAAM,2GACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,mBACNsb,OAAQ,CACN8kE,YAAa,KACbY,WAAY,KACZI,UAAW,IACXd,WAAY,GACZK,UAAW,GACX37C,WAAY,KAGhB,CACE5mB,KAAM,6HACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,iBACNsb,OAAQ,CACN8kE,YAAa,IACbY,WAAY,EACZV,WAAY,GACZK,UAAW,GACX37C,WAAY,KAGhB,CACE5mB,KAAM,4GACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,kBACNsb,OAAQ,CACN0lE,YAAa,KACbI,UAAW,EACXd,WAAY,GACZK,UAAW,GACX37C,WAAY,IAGhB,CACE5mB,KAAM,qJACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,aACNsb,OAAQ,CACN8kE,YAAa,KACbY,WAAY,KACZI,UAAW,IACXb,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,UAAW,GACX37C,WAAY,IAGhB,CACE5mB,KAAM,2JACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,aACNsb,OAAQ,CACN8kE,YAAa,KACbY,WAAY,KACZI,UAAW,GACXV,UAAW,GACXD,UAAW,GACXE,UAAW,GACX37C,WAAY,IACZ+N,UAAW,CACT/wC,MAAO,IACPg+E,QAAS,EACTiB,OAAQ,QAId,CACE7iE,KAAM,mKACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,sBACNsb,OAAQ,CACN8kE,YAAa,KACbY,WAAY,IACZI,UAAW,IACXd,WAAY,GACZC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,UAAW,GACX37C,WAAY,EACZ+N,UAAW,CACT/wC,MAAO,IACPg+E,QAAS,IACTiB,OAAQ,OAId,CACE7iE,KAAM,sGACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,YACNsb,OAAQ,CACN8kE,YAAa,MACbY,WAAY,IACZI,UAAW,GACXb,UAAW,EACXC,UAAW,EACXE,UAAW,GACXD,UAAW,GACXE,UAAW,GACX37C,WAAY,KAGhB,CACE5mB,KAAM,oJACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,gBACNsb,OAAQ,CACN8kE,YAAa,MACbY,WAAY,GACZI,UAAW,IACXd,WAAY,GACZC,UAAW,GACXC,UAAW,GACXE,UAAW,GACXD,UAAW,GACXE,UAAW,GACX37C,WAAY,KAGhB,CACE5mB,KAAM,mJACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,wBACNsb,OAAQ,CACN8kE,YAAa,KACbY,WAAY,IACZI,UAAW,IACXd,WAAY,GACZC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXE,UAAW,GACX37C,WAAY,GACZ+N,UAAW,CACT/wC,MAAO,IACPg+E,QAAS,IACTiB,OAAQ,QAId,CACE7iE,KAAM,4JACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,uBACNsb,OAAQ,CACN8kE,YAAa,KACbY,WAAY,KACZI,UAAW,GACXd,WAAY,GACZC,UAAW,GACXE,UAAW,GACXE,UAAW,GACX37C,WAAY,KAGhB,CACE5mB,KAAM,oKACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,oBACNsb,OAAQ,CACN8kE,YAAa,KACbY,WAAY,KACZI,UAAW,IACXd,WAAY,GACZC,UAAW,EACXC,UAAW,EACXC,UAAW,GACXE,UAAW,GACX37C,WAAY,GACZ+N,UAAW,CACT/wC,MAAO,IACPg+E,QAAS,IACTiB,OAAQ,OAId,CACE7iE,KAAM,wJACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,YACNsb,OAAQ,CACN8kE,YAAa,IACbY,WAAY,EACZV,WAAY,GACZC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXE,UAAW,GACX37C,WAAY,GACZ+N,UAAW,CACT/wC,MAAO,EACPg+E,QAAS,EACTiB,OAAQ,KAId,CACE7iE,KAAM,8GACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,oBACNsb,OAAQ,CACN0lE,YAAa,KACbV,WAAY,GACZC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,UAAW,GACX17C,WAAY,EACZ+N,UAAW,CACT/wC,MAAO,EACPg+E,QAAS,EACTiB,OAAQ,MAId,CACE7iE,KAAM,8EACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,eACNsb,OAAQ,CACNilE,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,UAAW,GACX17C,WAAY,MAGhB,CACE5mB,KAAM,wDACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,gBACNsb,OAAQ,CAAEglE,WAAY,IAAKt7C,WAAY,KAEzC,CACE5mB,KAAM,kDACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,iBACNsb,OAAQ,CAAEqlE,UAAW,IAAK37C,WAAY,IAExC,CACE5mB,KAAM,qMACN4xF,UAAU,EACVD,WAAW,EACX/vG,KAAM,oBACNsb,OAAQ,CACNglE,WAAY,GACZC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,UAAW,EACX37C,WAAY,M,6BCjZlB,sDAGO,MAAMmqE,EAOXppG,YAAY/F,EAAO,GAAIitB,EAAO,EAAGgY,EAAoB0yC,IAAYG,OAAQ77D,EAAgB,IACvFjW,KAAKhG,KAAOA,EACZgG,KAAKinB,KAAOA,EACZjnB,KAAKi/B,KAAOA,EACZj/B,KAAKiW,MAAQA,EAEbjW,KAAKoY,KAAOpY,KAAKsoL,oBAGnBA,oBACE,MAAMrxE,EAAQ,CAAC,YAyBf,OAxBsB,MAAlBj3G,KAAKiW,MAAMhV,MACbg2G,EAAMx+G,KAAM,IAAGqH,IAAe8B,iBAAiB5B,KAAKiW,MAAMhV,IAAM,EAAG,qBACnEg2G,EAAMx+G,KAAM,IAAGqH,IAAe8B,kBAAkB5B,KAAKiW,MAAMhV,IAAM,GAAK,EAAG,oBAErD,MAAlBjB,KAAKiW,MAAM+c,MACbikF,EAAMx+G,KAAM,IAAGqH,IAAe8B,iBAAiB5B,KAAKiW,MAAM+c,IAAM,EAAG,oBACnEikF,EAAMx+G,KAAM,IAAGqH,IAAe8B,kBAAkB5B,KAAKiW,MAAM+c,IAAM,GAAK,EAAG,mBAErD,MAAlBhzB,KAAKiW,MAAMgd,MACbgkF,EAAMx+G,KAAM,IAAGqH,IAAe8B,iBAAiB5B,KAAKiW,MAAMgd,IAAM,EAAG,sBACnEgkF,EAAMx+G,KAAM,IAAGqH,IAAe8B,kBAAkB5B,KAAKiW,MAAMgd,IAAM,GAAK,EAAG,qBAErD,MAAlBjzB,KAAKiW,MAAMid,MACb+jF,EAAMx+G,KAAM,IAAGqH,IAAe8B,iBAAiB5B,KAAKiW,MAAMid,IAAM,EAAG,oBACnE+jF,EAAMx+G,KAAM,IAAGqH,IAAe8B,kBAAkB5B,KAAKiW,MAAMid,IAAM,GAAK,EAAG,mBAErD,MAAlBlzB,KAAKiW,MAAMkd,MACb8jF,EAAMx+G,KAAM,IAAGqH,IAAe8B,iBAAiB5B,KAAKiW,MAAMkd,IAAM,EAAG,qBACnE8jF,EAAMx+G,KAAM,IAAGqH,IAAe8B,kBAAkB5B,KAAKiW,MAAMkd,IAAM,GAAK,EAAG,oBAEpD,MAAnBnzB,KAAKiW,MAAM8c,OACbkkF,EAAMx+G,KAAM,IAAGqH,IAAe8B,iBAAiB5B,KAAKiW,MAAM8c,KAAO,EAAG,oBACpEkkF,EAAMx+G,KAAM,IAAGqH,IAAe8B,kBAAkB5B,KAAKiW,MAAM8c,KAAO,GAAK,EAAG,mBAErEkkF,EAAMj0G,KAAK,QAIpB4wD,UACE,OAAQ5zD,KAAKi/B,MACX,KAAK0yC,IAAYG,OACf,MAAO,SACT,KAAKH,IAAYI,MACf,MAAO,QACT,KAAKJ,IAAYK,QACf,MAAO,UACT,KAAKL,IAAYM,QACf,MAAO,UACT,KAAKN,IAAYt8D,aACf,MAAO,eACT,QACE,MAAO,O,6BC9Df,6CACO,MAAMmnI,EAET,CACF,CAACpgJ,IAAayhC,YAAa,EAC3B,CAACzhC,IAAauhC,SAAU,EACxB,CAACvhC,IAAamhC,cAAe,EAC7B,CAACnhC,IAAaihC,aAAc,EAC5B,CAACjhC,IAAa6gC,oBAAqB,EACnC,CAAC7gC,IAAamgC,SAAU,EACxB,CAACngC,IAAa+/B,cAAe,I,6BCT/B,kGAiBO,SAASw4G,EAAgB9pI,GAC9B,MAAM09K,EAAuB,SAAUr/H,GACrC,GAAwB,KAApBr+C,EAAO+b,WAAoB/b,EAAOgc,cAAc,IAClD,MAAMqiC,EAAIonF,oBACR,mJAKAk4C,EAAoB,SAAUt/H,EAAuBu/H,GACzD,GAAIA,GAAgB59K,EAAOikB,QAAQ32B,QAAUswL,EAAe,EAAG,CAC7D,MAAM5/H,EAAO,0BAAyB4/H,EAEtC,MADAv/H,EAAI9kC,IAAI,IAAMykC,GACRK,EAAIonF,oBAAoBznF,KAI5B8wC,EAAiB,SAAU8uF,GAC/B,MAAMC,EAAK79K,EAAOikB,QAAQ25J,GAC1B,MAAO,CACLz5J,MAAO,IAAM05J,EAAG15J,MAChBkB,KAAMw4J,EAAGx4J,KACTla,QAAS0yK,EAAG1yK,QACZE,SAAUwyK,EAAGxyK,SACbC,QAASuyK,EAAGvyK,QACZC,UAAWsyK,EAAGtyK,UACdC,QAASqyK,EAAGryK,QACZC,SAAUoyK,EAAGpyK,WAIjB,MAAO,CACL6iF,cAAgBjwC,GAA0B,KACxCq/H,EAAqBr/H,GACdr+C,EAAOikB,QAAQ32B,QAExBihG,mBACGlwC,GACAy/H,IACC,MAAMF,EAAev/H,EAAI+pF,OAAO9vI,OAAO,eAAgBwlL,GAGvD,OAFAJ,EAAqBr/H,GACrBs/H,EAAkBt/H,EAAKu/H,GAChB59K,EAAOikB,QAAQ25J,GAAcv5J,cAAcrkB,IAEtDwuF,iBACGnwC,GACAy/H,IACC,MAAMF,EAAev/H,EAAI+pF,OAAO9vI,OAAO,eAAgBwlL,GAGvD,OAFAJ,EAAqBr/H,GACrBs/H,EAAkBt/H,EAAKu/H,GAChB59K,EAAOikB,QAAQ25J,GAAcx5J,YAAYpkB,IAEpDyuF,iBACGpwC,GACD,CAACy/H,EAAwBC,KACvB,MAAMH,EAAev/H,EAAI+pF,OAAO9vI,OAAO,eAAgBwlL,GACjDE,EAAiB3/H,EAAI+pF,OAAO/7E,OAAO,YAAa0xH,GACtDL,EAAqBr/H,GACrBs/H,EAAkBt/H,EAAKu/H,GACvB,MAAM1qE,EAAQuY,YAAUuyD,GACxB,OAAc,OAAV9qE,GAGGlzG,EAAOikB,QAAQ25J,GAAc7zF,YAAY/pF,EAAQkzG,EAAM/jH,OAElEu/F,sBACGrwC,GACD,CAACy/H,EAAwBG,EAA0BC,KACjD,MAAMN,EAAev/H,EAAI+pF,OAAO9vI,OAAO,eAAgBwlL,GACjDnlE,EAAiBt6D,EAAI+pF,OAAO/7E,OAAO,iBAAkB4xH,GACrD99K,EAAYk+C,EAAI+pF,OAAO/7E,OAAO,YAAa6xH,GAGjD,OAFAR,EAAqBr/H,GACrBs/H,EAAkBt/H,EAAKu/H,GAChB59K,EAAOikB,QAAQ25J,GAAcllE,qBAAqB14G,EAAQ24G,EAAgBx4G,IAErF80B,OACGopB,GACD,CAACy/H,EAAwBK,KACvB,MAAMP,EAAev/H,EAAI+pF,OAAO9vI,OAAO,eAAgBwlL,GACjD/+I,EAAWsf,EAAI+pF,OAAO/7E,OAAO,WAAY8xH,GAG/C,GAFAT,EAAqBr/H,GACrBs/H,EAAkBt/H,EAAKu/H,GACnB9zD,YAAU5qH,IAAU6/B,GACtB,OAAO/+B,EAAOikB,QAAQ25J,GAAc3oJ,OAAOj1B,EAAQ++B,GAEnD,MAAMsf,EAAIonF,oBAAqB,uBAAsB1mG,QAG3D4vD,iBACGtwC,GACD,CAACy/H,EAAwBM,KACvB,MAAMR,EAAev/H,EAAI+pF,OAAO9vI,OAAO,eAAgBwlL,GACjD3yJ,EAAckzB,EAAI+pF,OAAO/7E,OAAO,cAAe+xH,GACrDV,EAAqBr/H,GACrBs/H,EAAkBt/H,EAAKu/H,GAGvB,IAAK,IAAIxwL,EAAI,EAAGA,EAAI4S,EAAOikB,QAAQ32B,SAAUF,EAAG,CAC9C,GAAIA,IAAMwwL,EACR,SAEF,MAAM71E,EAAQ/nG,EAAOikB,QAAQ72B,GAC7B,GAAI26G,EAAMiO,cAAgB70E,IAAe1X,SAAWs+E,EAAMqO,sBAAwBjrF,EAChF,MAAMkzB,EAAIonF,oBACP,UAASm4C,6BAAwCzyJ,oBAA8B/9B,kCAKtF,OAAO4S,EAAOikB,QAAQ25J,GAAcx0F,eAAeppF,EAAQmrB,IAE/DyjE,iBACGvwC,GACD,CAACy/H,EAAwBO,EAAuBC,KAC9C,MAAMV,EAAev/H,EAAI+pF,OAAO9vI,OAAO,eAAgBwlL,GACjDt0K,EAAc60C,EAAI+pF,OAAO/7E,OAAO,cAAegyH,GAC/CtkE,EAAW17D,EAAI+pF,OAAO/7E,OAAO,WAAYiyH,GAC/CZ,EAAqBr/H,GACrBs/H,EAAkBt/H,EAAKu/H,GAGvB,IAAK,IAAIxwL,EAAI,EAAGA,EAAI4S,EAAOikB,QAAQ32B,SAAUF,EAAG,CAC9C,GAAIA,IAAMwwL,EACR,SAEF,MAAM71E,EAAQ/nG,EAAOikB,QAAQ72B,GAC7B,GAAI26G,EAAMiO,cAAgB70E,IAAe73B,SAAWy+F,EAAMqO,sBAAwB5sG,EAChF,MAAM60C,EAAIonF,oBACP,UAASm4C,6BAAwCp0K,oBAA8Bpc,kCAKtF,GAAI4S,EAAOslB,MAAQtlB,EAAOslB,KAAKuP,SAAWrrB,EACxC,MAAM60C,EAAIonF,oBACP,UAASm4C,6BAAwCp0K,gDAItD,OAAOxJ,EAAOikB,QAAQ25J,GAAcn0F,eAAezpF,EAAQwJ,EAAauwG,IAE5ElrB,gBACGxwC,GACD,CAACy/H,EAAwBS,EAAmBC,KAC1C,MAAMZ,EAAev/H,EAAI+pF,OAAO9vI,OAAO,eAAgBwlL,GACjDzjE,EAAUh8D,EAAI+pF,OAAO/7E,OAAO,UAAWkyH,GACvCjkE,EAAOj8D,EAAI+pF,OAAO/7E,OAAO,OAAQmyH,GAIvC,OAHAd,EAAqBr/H,GACrBs/H,EAAkBt/H,EAAKu/H,GAEhB59K,EAAOikB,QAAQ25J,GAAcxjE,aAAap6G,EAAQq6G,EAASC,IAEtExrB,eACGzwC,GACAy/H,IACC,MAAMF,EAAev/H,EAAI+pF,OAAO9vI,OAAO,eAAgBwlL,GAGvD,OAFAJ,EAAqBr/H,GACrBs/H,EAAkBt/H,EAAKu/H,GAChB9uF,EAAe8uF,IAE1B7uF,QACG1wC,GACAy/H,IACC,MAAMF,EAAev/H,EAAI+pF,OAAO9vI,OAAO,eAAgBwlL,GACvDJ,EAAqBr/H,GACrBs/H,EAAkBt/H,EAAKu/H,GAEvB,MAAMC,EAAK79K,EAAOikB,QAAQ25J,GAC1B,MAAO,CACLtuG,KAAMnuC,IAAe08I,EAAG7nE,aACxB9C,MAAO2qE,EAAGl1E,UACVjlF,SAAUm6J,EAAGznE,oBACbqC,YAAaolE,EAAGplE,YAChB93B,gBAAiBlpC,IAAgBomI,EAAGl9F,iBACpCxgF,UAAW09K,EAAG19K,YAGpB6uF,eACG3wC,GACAy/H,IACC,MAAMF,EAAev/H,EAAI+pF,OAAO9vI,OAAO,eAAgBwlL,GACvDJ,EAAqBr/H,GACrBs/H,EAAkBt/H,EAAKu/H,GAEvB,MAAMC,EAAK79K,EAAOikB,QAAQ25J,GAC1B,MAAO,CACLz0C,KAAK,EACL1lH,KAAMo6J,EAAGp6J,KACTsB,GAAI84J,EAAG94J,GACPnB,KAAMr2B,OAAOuT,KAAKd,EAAO4jB,MACzB66J,SAAUlxL,OAAO0gC,OAAOjuB,EAAO4jB,MAC/B86J,MAAOb,EAAG74J,OAEViB,KAAM,CACJza,QAASqyK,EAAGzyK,MAAMI,QAClBmzK,WAAYd,EAAGzyK,MAAMU,YACrBL,SAAUoyK,EAAGzyK,MAAMK,SACnBmzK,YAAaf,EAAGzyK,MAAMW,aACtB8yK,WAAYhB,EAAGzyK,MAAMgB,YACrB0yK,WAAYjB,EAAGzyK,MAAMkB,YACrByyK,aAAclB,EAAGzyK,MAAMmB,cACvBjB,QAASuyK,EAAGzyK,MAAME,QAClB0zK,WAAYnB,EAAGzyK,MAAMQ,YACrBL,UAAWsyK,EAAGzyK,MAAMG,UACpB0zK,aAAcpB,EAAGzyK,MAAMS,cACvBqzK,WAAYrB,EAAGzyK,MAAMiB,YACrBlB,QAAS0yK,EAAGzyK,MAAMD,QAClBg0K,WAAYtB,EAAGzyK,MAAMM,YACrBL,SAAUwyK,EAAGzyK,MAAMC,SACnB+zK,YAAavB,EAAGzyK,MAAMO,aACtB0zK,UAAWxB,EAAGzyK,MAAMoB,YAGtB8yK,WAAYzB,EAAGvnE,gBACfkB,mBAAoB,CAClB+nE,gBAAiB1B,EAAGrmE,mBAAmBtvF,KACvCs3J,eAAgB3B,EAAGrmE,mBAAmBphH,IACtCqpL,eAAgB5B,EAAGrmE,mBAAmBrvF,IACtCu3J,eAAgB7B,EAAGrmE,mBAAmBpvF,IACtCu3J,eAAgB9B,EAAGrmE,mBAAmBnvF,IACtCu3J,eAAgB/B,EAAGrmE,mBAAmBlvF,IACtCu3J,cAAehC,EAAGrmE,mBAAmBrmH,OAEvCmmH,kBAAmB,CACjBioE,gBAAiB1B,EAAGvmE,kBAAkBpvF,KACtCs3J,eAAgB3B,EAAGvmE,kBAAkBlhH,IACrCqpL,eAAgB5B,EAAGvmE,kBAAkBnvF,IACrCu3J,eAAgB7B,EAAGvmE,kBAAkBlvF,IACrCu3J,eAAgB9B,EAAGvmE,kBAAkBjvF,IACrCu3J,eAAgB/B,EAAGvmE,kBAAkBhvF,IACrCu3J,cAAehC,EAAGvmE,kBAAkBnmH,OAEtComH,gBAAiB,CACfgoE,gBAAiB1B,EAAGtmE,gBAAgBrvF,KACpCs3J,eAAgB3B,EAAGtmE,gBAAgBnhH,IACnCqpL,eAAgB5B,EAAGtmE,gBAAgBpvF,IACnCu3J,eAAgB7B,EAAGtmE,gBAAgBnvF,IACnCu3J,eAAgB9B,EAAGtmE,gBAAgBlvF,IACnCu3J,eAAgB/B,EAAGtmE,gBAAgBjvF,IACnCu3J,cAAehC,EAAGtmE,gBAAgBpmH,OAEpC2uL,YAAajC,EAAGhmE,WAAW73G,KAGjCivF,uBACG5wC,GACAy/H,IACC,MAAMF,EAAev/H,EAAI+pF,OAAO9vI,OAAO,eAAgBwlL,GACvDJ,EAAqBr/H,GACrBs/H,EAAkBt/H,EAAKu/H,GAEvB,MAAM7gI,EAAO,GACb,IAAK,IAAI3vD,EAAI,EAAGA,EAAI4S,EAAOikB,QAAQ25J,GAAcjwK,cAAcrgB,OAAQF,IACrE2vD,EAAKnvD,KAAKoS,EAAOikB,QAAQ25J,GAAcjwK,cAAcvgB,GAAG+B,MAE1D,OAAO4tD,GAEXmyC,yBACG7wC,GACAy/H,IACC,MAAMF,EAAev/H,EAAI+pF,OAAO9vI,OAAO,eAAgBwlL,GACvDJ,EAAqBr/H,GACrBs/H,EAAkBt/H,EAAKu/H,GAEvB,MAAMmC,EAAkBpzB,YAA0B3sJ,EAAOikB,QAAQ25J,GAAe59K,GAC1E+8C,EAAO,GACb,IAAK,IAAI3vD,EAAI,EAAGA,EAAI2yL,EAAgBzyL,OAAQF,IAAK,CAC/C,MAAM2mC,EAAMgsJ,EAAgB3yL,GAC5B2vD,EAAKnvD,KAAK,CACRuB,KAAM4kC,EAAI5kC,KACVitB,KAAM2X,EAAI9oB,WAId,OAAO8xC,GAEXoyC,kBACG9wC,GACD,CAACy/H,EAAwBkC,KACvB,MAAMpC,EAAev/H,EAAI+pF,OAAO9vI,OAAO,eAAgBwlL,GACjD33E,EAAU9nD,EAAI+pF,OAAO/7E,OAAO,UAAW2zH,GAI7C,GAHAtC,EAAqBr/H,GACrBs/H,EAAkBt/H,EAAKu/H,GAEnB9uF,EAAe8uF,GAAcz5J,MAAQ,EACvC,MAAMk6B,EAAIonF,oBAAqB,iCAAgCm4C,GAGjE,MAAM7pJ,EAAMjmB,IAAoBq4F,GAChC,IAAKpyE,EACH,MAAMsqB,EAAIonF,oBAAqB,gBAAet/B,GAGhD,OAAOnmG,EAAOikB,QAAQ25J,GAAc7kE,mBAAmB/4G,EAAQ+zB,IAEnEq7D,uBACG/wC,GACD,CAACy/H,EAAwBmC,EAAkBC,KACzC,MAAMtC,EAAev/H,EAAI+pF,OAAO9vI,OAAO,eAAgBwlL,GACjDr+K,EAAS4+C,EAAI+pF,OAAO/7E,OAAO,SAAU4zH,GAC3C,IAAIl7H,EAUJ,GAREA,OADuB,IAAdm7H,EACE,SAEA7hI,EAAI+pF,OAAO/7E,OAAO,WAAY6zH,GAE3CxC,EAAqBr/H,GACrBs/H,EAAkBt/H,EAAKu/H,GAGR,sBAAXn+K,EACF,IAAK,IAAIrS,EAAI,EAAGA,EAAI4S,EAAOikB,QAAQ32B,SAAUF,EAAG,CAC9C,GAAIA,IAAMwwL,EACR,SAEF,MAAM71E,EAAQ/nG,EAAOikB,QAAQ72B,GAC7B,GAAI26G,EAAMiO,cAAgB70E,IAAerJ,aAAeiwE,EAAM5uB,WAAa15E,EACzE,MAAM4+C,EAAI+pF,OAAO3C,oBACd,UAASm4C,6CAAwDxwL,wCAM1E,OAAO4S,EAAOikB,QAAQ25J,GAAc98J,YAAY9gB,EAAQP,EAAQslD,O,6BCrVxE,kEAgBO,SAASwqF,EAAevvI,GAC7B,MAAO,CACLw7F,MAAO,CAELC,MAAO,IAAM,IACJz7F,EAAOolB,OAGlB81E,YAAa,IAAM,KACjBilF,IAAQthL,QAEV02B,QAAS,IAAM,KACbv1B,EAAOs1B,YAAYqpB,IAAQO,2BAE7Bm8C,OACGh9C,GACA+hI,IAGC,MAAMlxL,EAAIkxL,EACVlxL,EAAEmxL,6BAA0BtgL,EAC5B,MAAMugL,EAAgBt6H,SACtBs6H,EAAcD,6BAA0BtgL,EAExCugL,EAAcD,yBAA0B,EACpCnxL,EAAEmxL,yBAAyD,MAA9BhiI,EAAI5F,aAAa0d,UAChDn2D,EAAOs1B,YAAYqpB,IAAQE,QAE7B3vD,EAAEmxL,6BAA0BtgL,EAC5BugL,EAAcD,6BAA0BtgL,GAE5Cu7F,aAAc,IAAM,KAElB,IAAI7nG,GAAI,EACR,MAAM8sL,EAAQ,SAAUzkH,GACR,IAAVA,IACJroE,GAAKA,EACL8sL,EAAMzkH,EAAQ,KAEhBykH,EAAM,GACN/qL,QAAQC,KAAK,2CACH,IAANhC,IACF+B,QAAQC,KAAK,6BACbuK,EAAOs1B,YAAYqpB,IAAQQ,qBAG/Bo8C,QACGl9C,GACAmiI,KAGoBC,cACfpiI,EAAI+pF,OAAO/7E,OAAO,QAASm0H,GAC3B,kEAGAxgL,EAAOs1B,YAAYqpB,IAAQY,gBACpB,M,8BCxEnB,wFAsBO,SAAS+qF,EAAiBtqI,EAAiBy4C,GAEhD,MAAMioI,EAAiB,SAAUriI,EAAuBjxD,GACtD,GAAIA,EAAI,GAAKA,GAAK4S,EAAOmc,aAAa7uB,OACpC,MAAM+wD,EAAIonF,oBAAoB,sDAAwDr4I,GAGxF,GAAI0uB,YAAkB9b,GAAS,CAC7B,MAAM2gL,EAAK3gL,EAAOmc,aAAa/uB,GAC/B,GAAkB,iBAAPuzL,EAAiB,MAAM,IAAI1gL,MAAM,iCAC5C,MAAM+e,EAAU9d,YAAUy/K,GAC1B,KAAM3hK,aAAmBzB,KAAgB,MAAM,IAAItd,MAAM,kDACzD,GAAe,MAAX+e,EACF,MAAMq/B,EAAIonF,oBACP,0CAAyCr4I,wDAI9C,OAAO4xB,EACF,CACL,MAAMtC,EAAO1c,EAAOmc,aAAa/uB,GACjC,KAAMsvB,aAAgBC,KAAc,MAAM,IAAI1c,MAAM,8BACpD,OAAOyc,IAIX,MAAO,CACLm3E,SAAU,IAAM,IACP7zF,EAAOmc,aAAa7uB,OAE7BknG,YAAa,IAAM,IACb14E,YAAkB9b,GACbyU,IAAuBK,WAEzB5e,IAET49F,aAAc,IAAM,IACX73E,YAAgBjc,GAEzB+zF,oBAAqB,IAAM,IACrBj4E,YAAkB9b,GACbqc,YAA2Brc,GAE3Byc,YAAyBzc,GAGpCg0F,aACG31C,GACAuiI,IACC,MAAMxzL,EAAIixD,EAAI+pF,OAAO9vI,OAAO,IAAKsoL,GAC3BlkK,EAAOgkK,EAAeriI,EAAKjxD,GAC3ByzL,EAAc/kK,YAAkB9b,GAChC6F,EAAiB,CACrB1W,KAAMutB,aAAgBa,IAAgBb,EAAKrb,SAAWqb,EAAKvtB,KAC3DggB,MAAOuN,EAAKvN,MACZsO,IAAKf,aAAgBa,IAAgBb,EAAK5Z,OAAS4Z,EAAKe,IACxDG,MAAOlB,EAAKkB,MACZuvH,WAAYzwH,aAAgBa,IAAgBb,EAAKu2B,SAAWv2B,EAAK6kE,uBACjEu/F,WAAYpkK,EAAKs2B,kBACjB+tI,gBAAiBrkK,aAAgBa,IAAgBb,EAAKw2B,qBAAuBx2B,EAAK8kE,qBASpF,OANIq/F,GAAenkK,aAAgBa,MACjC1X,EAAIkY,MAAQrB,EAAKqB,MACjBlY,EAAIma,aAAetD,EAAKsD,aACxBna,EAAI4tC,QAAU/2B,EAAK+2B,SAGd5tC,GAEXuY,aACGigC,GACD,CAACuiI,EAAa3yC,EAAc,KAC1B,MAAM7gJ,EAAIixD,EAAI+pF,OAAO9vI,OAAO,IAAKsoL,GAC3BxwL,EAAIiuD,EAAI+pF,OAAO9vI,OAAO,IAAK21I,GAC3BvxH,EAAOgkK,EAAeriI,EAAKjxD,GACjC,OAAO4wB,YAAqBhe,EAAQ0c,EAAMtsB,IAE9CkuB,WACG+/B,GACD,CAACuiI,EAAa3yC,EAAc,KAC1B,MAAM7gJ,EAAIixD,EAAI+pF,OAAO9vI,OAAO,IAAKsoL,GAC3BxwL,EAAIiuD,EAAI+pF,OAAO9vI,OAAO,IAAK21I,GAC3BvxH,EAAOgkK,EAAeriI,EAAKjxD,GACjC,OAAOixB,YAAmBre,EAAQ0c,EAAMtsB,IAE5CouB,YACG6/B,GACD,CAACuiI,EAAa3yC,EAAc,KAC1B,MAAM7gJ,EAAIixD,EAAI+pF,OAAO9vI,OAAO,IAAKsoL,GAC3BxwL,EAAIiuD,EAAI+pF,OAAO9vI,OAAO,IAAK21I,GAC3BvxH,EAAOgkK,EAAeriI,EAAKjxD,GACjC,OAAOmxB,YAAoBve,EAAQ0c,EAAMtsB,IAE7CsuB,aACG2/B,GACD,CAACuiI,EAAa3yC,EAAc,KAC1B,MAAM7gJ,EAAIixD,EAAI+pF,OAAO9vI,OAAO,IAAKsoL,GAC3BxwL,EAAIiuD,EAAI+pF,OAAO9vI,OAAO,IAAK21I,GACjC,IAAKnyH,YAAkB9b,GACrB,OAAO,EAET,MAAM0c,EAAOgkK,EAAeriI,EAAKjxD,GACjC,KAAMsvB,aAAgBa,KAEpB,OADAk7B,EAAal/B,IAAI,uBAAwB,IAAM,0CACxC,EAET,MAAM1T,EAAM4Y,YAAqBze,EAAQ0c,EAAMtsB,GAI/C,OAHIyV,GACF2W,YAA0Bxc,GAErB6F,GAEXouF,oBACG51C,GACD,CAACuiI,EAAa3yC,EAAc,KAC1B,MAAM7gJ,EAAIixD,EAAI+pF,OAAO9vI,OAAO,IAAKsoL,GAC3BxwL,EAAIiuD,EAAI+pF,OAAO9vI,OAAO,IAAK21I,GAEjC,OADayyC,EAAeriI,EAAKjxD,GACrB8vB,0BAA0B9sB,EAAG4P,EAAOoL,MAAMyB,0BAE1DqnF,kBACG71C,GACD,CAACuiI,EAAa3yC,EAAc,KAC1B,MAAM7gJ,EAAIixD,EAAI+pF,OAAO9vI,OAAO,IAAKsoL,GAC3BxwL,EAAIiuD,EAAI+pF,OAAO9vI,OAAO,IAAK21I,GAEjC,OADayyC,EAAeriI,EAAKjxD,GACrBkwB,wBAAwBltB,EAAG4P,EAAOoL,MAAMuB,wBAExDwnF,mBACG91C,GACD,CAACuiI,EAAa3yC,EAAc,KAC1B,MAAM7gJ,EAAIixD,EAAI+pF,OAAO9vI,OAAO,IAAKsoL,GAC3BxwL,EAAIiuD,EAAI+pF,OAAO9vI,OAAO,IAAK21I,GAEjC,OADayyC,EAAeriI,EAAKjxD,GACrBuwB,yBAAyBvtB,EAAG4P,EAAOoL,MAAMwB,yBAEzDwnF,oBACG/1C,GACD,CAACuiI,EAAa3yC,EAAc,KAC1B,MAAM7gJ,EAAIixD,EAAI+pF,OAAO9vI,OAAO,IAAKsoL,GAC3BxwL,EAAIiuD,EAAI+pF,OAAO9vI,OAAO,IAAK21I,GACjC,IAAKnyH,YAAkB9b,GACrB,OAAO9J,IAET,MAAMwmB,EAAOgkK,EAAeriI,EAAKjxD,GACjC,OAAMsvB,aAAgBa,IAIfb,EAAKoB,0BAA0B1tB,IAHpCqoD,EAAal/B,IAAI,8BAA+B,IAAM,0CAC9C,IAId86E,UAAW,IAAM,IACVv4E,YAAkB9b,GAGhBA,EAAO6e,YAAYE,OAFjB,EAIXiB,aAAc,IAAM,IACblE,YAAkB9b,GAGhBA,EAAO6e,YAAYuxF,SAFjB,EAIX9b,SACGj2C,GACA2iI,IACC,MAAM9gK,EAAUm+B,EAAI+pF,OAAO/7E,OAAO,UAAW20H,GAC7C,OAAKllK,YAAkB9b,GAIhBA,EAAO6e,YAAYwsG,eAAenrG,GAHhChqB,KAKbq+F,YACGl2C,GACD,CAAC2iI,EAAmBC,EAAsB,MACxC,MAAM/gK,EAAUm+B,EAAI+pF,OAAO/7E,OAAO,UAAW20H,GACvC7gK,EAAYk+B,EAAI+pF,OAAO/7E,OAAO,YAAa40H,GACjD,QAAKnlK,YAAkB9b,IAGhBigB,YAAoBjgB,EAAQkgB,EAASC,IAEhDs0E,gBAAiB,IAAM,IAChB34E,YAAkB9b,GAGhBzS,OAAO0gC,OAAO1O,KAActX,IAAKqX,GAAyBA,EAAQnwB,MAFhE,GAIXulG,oBACGr2C,GACA2iI,IACC,MAAM9gK,EAAUm+B,EAAI+pF,OAAO/7E,OAAO,UAAW20H,GACvC7xK,EAAQnP,EAAO6e,YAAYia,SAAS5Y,GAC1C,QAAcngB,IAAVoP,EACF,MAAMkvC,EAAIonF,oBAAqB,yBAAwBvlH,GAEzD,OAAO/Q,GAEXwlF,aAAc,IAAM,IACb74E,YAAkB9b,GAGhBA,EAAO6e,YAAY81E,eAFjB,EAIXC,gBAAiB,IAAM,IAChB94E,YAAkB9b,GAGhBA,EAAO6e,YAAY+1E,kBAFjB,K,6BCrOf,kHAkBO,SAASo1C,EACdhqI,EACAy4C,EACA2vF,GAEA,SAAS84C,EAAqB7wI,GAC5B,IAAKrwC,EAAO+O,gBAAgB1V,IAAkBu4G,cAAc,GAC1D,MAAMw2B,EAAO3C,oBAAoBp1F,EAAM,kCAI3C,MAAO,CACLi/C,UAAW,IACT,WAEE,OADA4xF,EAAqB,aACdnwI,IAAYlP,SAEvB0tD,WAAY,IACV,WAEE,OADA2xF,EAAqB,cACdnwI,IAAY6G,UAEvB43C,eAAiB2xF,GACf,SAAUC,EAAiBC,GAEzB,MAAMhZ,EAAQ8Y,EAAK/4C,OAAO9vI,OAAO,QAAS8oL,GACpC9Y,EAAQ6Y,EAAK/4C,OAAO9vI,OAAO,QAAS+oL,GAC1CH,EAAqB,kBACrB,MAAMr2H,EAAW9Z,IAAY23H,aAAaL,EAAOC,GAEjD,IAAKz9G,EAAU,MAAMs2H,EAAK17C,oBAAqB,0BAAyB4iC,MAAUC,OAClF,GAAIz9G,EAASA,WAAWz2B,MAAQwC,IAAa20B,QAC3C,MAAM41H,EAAK17C,oBACR,2BAA0B4iC,MAAUC,wDAIzC,MAAMrjK,EAAO8rC,IAAY+2H,UAAY,IAAM,IAC3C,OAAOxqH,YAAer4C,EAAMwzC,GAAcyI,MAAK,WAG7C,OAFAnQ,IAAY42H,OAAO3nK,EAAQ6qD,EAAUpS,EAAaa,UAAUiF,SAC5D4iI,EAAK5nK,IAAI,IAAO,yBAAwB4nK,EAAK1oI,aAAaa,UAAUiF,oBAC7Df,QAAQC,cAGrBgyC,oBAAsB0xF,GACpB,WAGE,OAFAD,EAAqB,uBACrBC,EAAK5nK,IAAI,IAAO,YAAWkwC,IAAUn8D,oBAC9Bm8D,IAAUxhD,IAAKoF,GAAMA,EAAEs9C,SAElC+kC,gBAAkByxF,GAChB,WAGE,OAFAD,EAAqB,mBACrBC,EAAK5nK,IAAI,IAAO,YAAWw3B,IAAY8lG,UAAUvpJ,oBAC1CyjD,IAAY8lG,UAAU5uI,IAAK2/J,IACzB,IAAKA,EAAGj9G,UAAWi9G,EAAG/8G,WAAWF,WAG9CglC,UAAYwxF,GACV,WACED,EAAqB,aACrBC,EAAK5nK,IAAI,IAAO,0BAChBw3B,IAAYu3B,SAEhBsnB,iBAAmBuxF,GACjB,SAAUC,EAAiBC,EAAiBC,EAAoBC,GAC9D,MAAMlZ,EAAQ8Y,EAAK/4C,OAAO9vI,OAAO,QAAS8oL,GACpC9Y,EAAQ6Y,EAAK/4C,OAAO9vI,OAAO,QAAS+oL,GACpCv3H,EAAWq3H,EAAK/4C,OAAO9vI,OAAO,WAAYgpL,GAC1CE,EAAaL,EAAK/4C,OAAO9vI,OAAO,aAAcipL,GACpDL,EAAqB,oBACrB,MAAMr2H,EAAWD,YAAa42H,GAC9B,IAAK32H,EAAU,MAAMs2H,EAAK17C,oBAAqB,wBAAuB+7C,GAEtE,OADYzwI,IAAYq3H,SAASC,EAAOC,EAAOx+G,EAAUe,IAG7DglC,cAAgBsxF,GACd,SAAUC,EAAiBC,EAAiBC,EAAoBC,GAC9D,MAAMlZ,EAAQ8Y,EAAK/4C,OAAO9vI,OAAO,QAAS8oL,GACpC9Y,EAAQ6Y,EAAK/4C,OAAO9vI,OAAO,QAAS+oL,GACpCv3H,EAAWq3H,EAAK/4C,OAAO9vI,OAAO,WAAYgpL,GAC1CE,EAAaL,EAAK/4C,OAAO9vI,OAAO,aAAcipL,GACpDL,EAAqB,iBACrB,MAAMr2H,EAAWD,YAAa42H,GAC9B,IAAK32H,EAAU,MAAMs2H,EAAK17C,oBAAqB,wBAAuB+7C,GACtE,OAAOzwI,IAAY03H,MAAMJ,EAAOC,EAAOx+G,EAAUe,IAErDilC,YAAcqxF,GACZ,SAAUC,EAAiBC,GACzB,MAAMhZ,EAAQ8Y,EAAK/4C,OAAO9vI,OAAO,QAAS8oL,GACpC9Y,EAAQ6Y,EAAK/4C,OAAO9vI,OAAO,QAAS+oL,GAC1CH,EAAqB,eACrB,MAAMr2H,EAAW9Z,IAAY23H,aAAaL,EAAOC,GACjD,QAAiBvoK,IAAb8qD,EAAwB,OAAOA,EAASF,QAGhDolC,eAAiBoxF,GACf,SAAUC,EAAiBC,GACzB,MAAMhZ,EAAQ8Y,EAAK/4C,OAAO9vI,OAAO,QAAS8oL,GACpC9Y,EAAQ6Y,EAAK/4C,OAAO9vI,OAAO,QAAS+oL,GAE1C,OADAH,EAAqB,kBACdnwI,IAAYqlB,OAAOiyG,EAAOC,IAErCt4E,WAAamxF,GACX,WAqBE,OAlBEnhL,EAAOq2B,kBACsF,GAA7Fr2B,EAAO2N,cAAckB,OAAQtI,GAAMA,EAAEpX,OAASkK,IAAkB0U,mBAAmBzgB,QACgB,GAAnG0S,EAAOqO,oBAAoBQ,OAAQtI,GAAMA,EAAEpX,OAASkK,IAAkB0U,mBAAmBzgB,SAGzFiuD,YAAY3yC,IAASrX,IAAay1D,wBAG/BhnD,EAAO+O,gBAAgB1V,IAAkBu4G,eACzC5xG,EAAOqO,oBAAoBooC,KAAMlwC,GAAMA,EAAEpX,OAASkK,IAAkBu4G,gBAErEvkF,YAAkB,CAAEl+B,KAAMkK,IAAkBu4G,aAAcziG,MAAO,IACjEgyK,EAAK5nK,IACH,IAAO,IAAGhoB,IAAay1D,sCAAsC3tD,IAAkBu4G,8BAMnFhpG,IAASrX,IAAay1D,uBAAuBr4B,UAC7C3uB,EAAO+O,gBAAgB1V,IAAkBu4G,kB,6BCpJnD,8CAEO,SAASu2D,EAAgBvgE,EAAuBC,EAAmB5lE,EAAegmI,GACvF,OACE,EACCtyK,KAAK4jB,IAAIquF,EAAgB,GAAK,GAC7BjyG,KAAKoN,KAAK8kG,EAAY,GAAK,EAAG,KAC9B5lE,EACAgmI,EACA7nK,IAAmBk4D,6B,6BCLzB,gGAaO,SAAS2xE,EAAsBjqI,GACpC,MAAMyhL,EAAgCl0L,OAAO0gC,OAAOmH,KAAWvmB,OAC5D6U,GAAuBA,EAASwrG,kBAuBnC,MAAO,CACLjhC,qBAAsB,IAAM,IACnBwzF,EAA8Bx5K,IAAKlZ,GAAMA,EAAI,IAEtDm/F,gBACG7vC,GACAqjI,IACC,MAAMh+J,EAAW26B,EAAI+pF,OAAO/7E,OAAO,WAAYq1H,GAC/C,MA5B4B,EAACrjI,EAAuBsjI,KACxD,IAAK73D,YAAU1wH,IAAcuoL,GAAe,MAAM,IAAI1hL,MAAO,aAAY0hL,uBACzE,MAAMj+J,EAAW0R,IAAUusJ,GAC3B,QAAiB5hL,IAAb2jB,EAAwB,MAAM26B,EAAIonF,oBAAqB,aAAY/hH,uBACvE,QAAkC3jB,IAA9B2jB,EAASwrG,iBACX,MAAM7wE,EAAIonF,oBAAqB,aAAY/hH,sCAC7C,MAAMurG,EAAwBvrG,EAASwrG,iBAAiBD,sBAClD96F,EAAaosG,YAAoBvgI,EAAQivH,GACzC/6F,EAASssG,YAAgBxgI,EAAQivH,GACjChyG,EAAWyG,EAASwrG,iBAAiB+9B,kBAC3C,MAAO,CACLvpI,SAAUA,EACVwQ,OAAQ,CACN0tJ,SAAU7yD,YAAmC/uH,EAAQk0B,EAAQjX,EAAUkX,GACvE0tJ,SAAUhzD,YAAmC7uH,EAAQk0B,EAAQjX,EAAUkX,GACvE2tJ,OAAQ9yD,YAA+BhvH,EAAQ4I,IAASrX,IAAaid,kBAAmB2lB,IAE1FA,WAAYA,IAWH4tJ,CAA0B1jI,EAAK36B,O,6BC5C9C,iGASO,SAASwmH,IACd,MAAO,CACLr1C,SAAU,IAAM,KACP,IAAK/gG,IAASV,QAGvB4hG,UAAW,IAAM,KACR,IAAKlhG,IAASR,SAGvBwhG,SACGz2C,GACA2jI,IACC,MAAM3R,EAAM,oDACN4R,EAAe,IAAKnuL,IAASV,OAC7B8uL,EAAmB,GACzB,IAAK,MAAMhyL,KAAO3C,OAAOuT,KAAKkhL,GAAW,OAClCC,EAAa/xL,GAGNmgL,EAAIxsC,KAAJ,UAASm+C,EAAS9xL,UAAlB,QAA0B,IAGpC+xL,EAAa/xL,GAAO8xL,EAAS9xL,GAF7BgyL,EAAOt0L,KAAM,kBAAiBsC,OAAS8xL,EAAS9xL,MAFhDgyL,EAAOt0L,KAAM,gBAAesC,MAQV,IAAlBgyL,EAAO50L,QACTC,OAAOoH,OAAOb,IAASV,MAAO6uL,GAC9BllH,IAAYl+D,OACZw/C,EAAI9kC,IAAI,IAAO,2BAEf8kC,EAAI9kC,IAAI,IAAO,gCAA+B2oK,EAAO/pL,KAAK,QAIhE88F,UACG52C,GACA8jI,IACC,MAAMC,EAAgB,IAAKtuL,IAASR,QAC9B4uL,EAAmB,GACzB,IAAK,MAAMhyL,KAAO3C,OAAOuT,KAAKqhL,GACtBC,EAAsBlyL,GAIzBkyL,EAAsBlyL,GAAQiyL,EAAkBjyL,GAFjDgyL,EAAOt0L,KAAM,gBAAesC,MAMV,IAAlBgyL,EAAO50L,QACTC,OAAOoH,OAAOb,IAASR,OAAQ8uL,GAC/BrlH,IAAYl+D,OACZw/C,EAAI9kC,IAAI,IAAO,4BAEf8kC,EAAI9kC,IAAI,IAAO,iCAAgC2oK,EAAO/pL,KAAK,QAIjE48F,WAAa12C,GAA0B,KACrCvqD,IAASV,MAAQ,IAAKC,KACtB0pE,IAAYl+D,OACZw/C,EAAI9kC,IAAI,IAAO,mCAGjB27E,YAAc72C,GAA0B,KACtCvqD,IAASR,OAAS,IAAKC,KACvBwpE,IAAYl+D,OACZw/C,EAAI9kC,IAAI,IAAO,oCAGjB47E,YAAa,IAAM,KAKA,CACfiQ,QALc9rG,IAAUC,cAMxBgvG,OALatH,cAMbs0C,SALepyF,UAAUC,UAAUj8B,cAAc1uB,QAAQ,eAAiB,EAAI,QAAU,YAW5F28F,cAAgB/2C,GAA0B,KACxCA,EAAI9kC,IAAI,IAAO,qBACfysB,IAASsiC,Y,6BCpGf,gEAOO,SAASshE,EAAqB5pI,EAAiBy4C,GACpD,MAAM4pI,EAAyB,SAAUhkI,EAAuBikI,GAAa,GAC3E,MAAMxhK,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,gCAM1C,KAJsB,IAApBD,EAAO+b,UACP/b,EAAOutB,YAAYkpB,KAAMlwC,GACR,IAARA,EAAEnW,IAEG,CACd,MAAMmyL,EAAa,kHACnB,MAAMlkI,EAAIonF,oBAAoB88C,GAEhC,IAAKD,EAAY,CAEf,KAD0BxhK,aAAuBgX,KACzB,CACtB,MAAM0qJ,EAAqB,oEAC3B,MAAMnkI,EAAIonF,oBAAoB+8C,MAK9BC,EAAuB,SAAUpkI,EAAuB56B,GAC5D,MAAM3C,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,gCAC1C,IAAK6gB,EAAYmZ,OAAOxsC,eAAeg2B,GACrC,MAAM46B,EAAIonF,oBAAqB,iBAAgBhiH,IAI7Ci/J,EAA6B,SAAUrkI,EAAuBjqB,EAAcjlC,GAChF,MAAM2xB,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,gCAC1C,MAAM+xE,EAAWlxD,EAAYkzD,2BAA2B5/C,EAAMjlC,GAC9D,IAAK6iF,EACH,MAAM3zB,EAAIonF,oBAAqB,wBAAuBrxG,aAAgBjlC,MAExE,MAAMsvF,EAAY39D,EAAYmxD,gBAAgBD,GAC9C,IAAKyM,EACH,MAAMpgC,EAAIonF,oBAAqB,wBAAuBrxG,aAAgBjlC,MAGxE,OAAOsvF,GAGT,MAAO,CACLwN,iBAAmB5tC,GAA0B,KAC3CgkI,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,OAAO6gB,EAAYk9D,+BAErBkO,kBAAoB7tC,GAA0B,KAC5CgkI,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,OAAO6gB,EAAYm9D,gCAErBkO,gBAAkB9tC,GAA0B,KAC1CgkI,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,OAAO6gB,EAAYo9D,8BAErBkO,eACG/tC,GACAskI,IACC,MAAMC,EAAcvkI,EAAI+pF,OAAO/7E,OAAO,cAAes2H,GACrDN,EAAuBhkI,GACvB,MAAM5+C,EAASijL,EAA2BrkI,EAAK,WAAYukI,GAC3D,KAAMnjL,aAAkB4V,KAAiB,MAAM,IAAIpV,MAAM,oCACzD,OAAOR,EAAOyyE,UAElBma,sBAAwBhuC,GAA0B,KAChDgkI,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,OAAO6gB,EAAYq9D,oCAErBmO,cAAgBjuC,GAA0B,KACxCgkI,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,OAAO6gB,EAAYs9D,4BAErB7L,YACGl0B,GACD,CAACwkI,EAAgBp1C,KACf,MAAMr5G,EAAOiqB,EAAI+pF,OAAO/7E,OAAO,OAAQw2H,GACjC1zL,EAAOkvD,EAAI+pF,OAAO/7E,OAAO,OAAQohF,GACvC40C,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,IACE,OAAO6gB,EAAYu9D,uBAAuBr+E,EAAQo0B,EAAMjlC,EAAMspD,GAC9D,MAAOh4B,GACP,MAAM49B,EAAIonF,oBAAoB3vE,OAAOr1C,MAG3C8rE,sBAAwBluC,GAA0B,KAChDgkI,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,OAAO6gB,EAAY6xD,eAErB6Z,iBAAmBnuC,GAA0B,KAC3CgkI,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,OAAO6gB,EAAYg9D,2BAA2Bh9D,EAAYrhB,SAE5DmzE,cACGv0B,GACD,CAACwkI,EAAgBp1C,KACf,MAAMr5G,EAAOiqB,EAAI+pF,OAAO/7E,OAAO,OAAQw2H,GACjC1zL,EAAOkvD,EAAI+pF,OAAO/7E,OAAO,OAAQohF,GACvC40C,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,IACE,MAAMgF,EAAO6b,EAAY09D,yBAAyBx+E,EAAQo0B,EAAMjlC,GAChE,GAAoB,iBAAT8V,EAAmB,CAC5B,MAAMq5E,EAAgB,yBAAwBlqD,YAAejlC,KAE7D,OADAkvD,EAAI9kC,IAAI,IAAM+kE,IACN,EAER,OAAOr5E,EAET,MAAOwb,GACP,MAAM49B,EAAIonF,oBAAoB3vE,OAAOr1C,MAG3CgsE,qBAAuBpuC,GAA0B,KAC/CgkI,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,IAIE,OADE,IADAtK,KAAK4M,IAAIue,EAAY2xD,kBAAoB3xD,EAAYo8D,mBAAoBp8D,EAAY4xD,sBAGvF,MAAOjyD,GACP,MAAM49B,EAAIonF,oBAAoB3vE,OAAOr1C,MAGzCisE,gCACGruC,GACD,CAACwkI,EAAgBp1C,KACf,MAAMr5G,EAAOiqB,EAAI+pF,OAAO/7E,OAAO,OAAQw2H,GACjC1zL,EAAOkvD,EAAI+pF,OAAO/7E,OAAO,OAAQohF,GACvC40C,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,IACE,MAAM62C,EAASh2B,EAAY49D,2CAA2C1+E,EAAQo0B,EAAMjlC,GACpF,GAAsB,iBAAX2nD,EAAqB,CAC9B,MAAMwnC,EAAgB,yBAAwBlqD,YAAejlC,KAE7D,OADAkvD,EAAI9kC,IAAI,IAAM+kE,GACP,EAAE,GAAI,GAEb,OAAOxnC,EAET,MAAOr2B,GACP,MAAM49B,EAAIonF,oBAAoB3vE,OAAOr1C,MAG3CksE,iBACGtuC,GACD,CAACwkI,EAAgBp1C,EAAgBq1C,KAC/B,MAAM1uJ,EAAOiqB,EAAI+pF,OAAO/7E,OAAO,OAAQw2H,GACjC1zL,EAAOkvD,EAAI+pF,OAAO/7E,OAAO,OAAQohF,GACjCt+H,EAAQkvC,EAAI+pF,OAAO9vI,OAAO,QAASwqL,GACzCT,EAAuBhkI,GACvB,MAAM5+C,EAASijL,EAA2BrkI,EAAKjqB,EAAMjlC,GACrD,IAAImrF,EAOJ,OALEA,EADW,MAATnrE,GAAiBrW,MAAMqW,GACNxZ,KAAKoN,IAAItD,EAAO86E,UAAW96E,EAAO0P,MAAQ,GAE1CxZ,KAAKoN,IAAItD,EAAO86E,UAAWprE,EAAQ,GAGjD1P,EAAOk7E,SAAWL,EAAmBl6E,IAAmB+3D,iBAEnEy0B,wBACGvuC,GACD,CAACwkI,EAAgBp1C,KACf,MAAMr5G,EAAOiqB,EAAI+pF,OAAO/7E,OAAO,OAAQw2H,GACjC1zL,EAAOkvD,EAAI+pF,OAAO/7E,OAAO,OAAQohF,GACvC40C,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,IACE,OAAO6gB,EAAY+9D,mCAAmCzqD,EAAMjlC,EAAMspD,GAClE,MAAOh4B,GACP,MAAM49B,EAAIonF,oBAAoB3vE,OAAOr1C,MAG3CosE,kBACGxuC,GACD,CAACwkI,EAAgBp1C,KACf,MAAMr5G,EAAOiqB,EAAI+pF,OAAO/7E,OAAO,OAAQw2H,GACjC1zL,EAAOkvD,EAAI+pF,OAAO/7E,OAAO,OAAQohF,GACvC40C,EAAuBhkI,GAEvB,OADeqkI,EAA2BrkI,EAAKjqB,EAAMjlC,GACvC8tB,UAElB6vE,sBACGzuC,GACD,CAACwkI,EAAgBp1C,KACf,MAAMr5G,EAAOiqB,EAAI+pF,OAAO/7E,OAAO,OAAQw2H,GACjC1zL,EAAOkvD,EAAI+pF,OAAO/7E,OAAO,OAAQohF,GACvC40C,EAAuBhkI,GAEvB,OADeqkI,EAA2BrkI,EAAKjqB,EAAMjlC,GACvCggB,OAElB49E,mBACG1uC,GACD,CAACwkI,EAAgBp1C,KACf,MAAMr5G,EAAOiqB,EAAI+pF,OAAO/7E,OAAO,OAAQw2H,GACjC1zL,EAAOkvD,EAAI+pF,OAAO/7E,OAAO,OAAQohF,GACvC40C,EAAuBhkI,GAEvB,OADeqkI,EAA2BrkI,EAAKjqB,EAAMjlC,GACvCssF,WAElBuR,mBACG3uC,GACD,CAACwkI,EAAgBp1C,EAAgBs1C,GAAsB,KACrD,MAAM3uJ,EAAOiqB,EAAI+pF,OAAO/7E,OAAO,OAAQw2H,GACjC1zL,EAAOkvD,EAAI+pF,OAAO/7E,OAAO,OAAQohF,GACjChyD,EAAYp9B,EAAI+pF,OAAOU,QAAQi6C,GACrCV,EAAuBhkI,GACRqkI,EAA2BrkI,EAAKjqB,EAAMjlC,GAC9CssF,UAAYA,GAEvBwR,eACG5uC,GACD,CAACwkI,EAAgBp1C,EAAgBq1C,EAAkB,KACjD,MAAM1uJ,EAAOiqB,EAAI+pF,OAAO/7E,OAAO,OAAQw2H,GACjC1zL,EAAOkvD,EAAI+pF,OAAO/7E,OAAO,OAAQohF,GACjCt+H,EAAQkvC,EAAI+pF,OAAO9vI,OAAO,QAASwqL,GACzCT,EAAuBhkI,GACvB,MAAM5+C,EAASijL,EAA2BrkI,EAAKjqB,EAAMjlC,IACjDggB,EAAQ,GAAKA,EAAQ1P,EAAOwd,WAC9BohC,EAAI+pF,OAAO3C,oBAAqB,+BAA8BhmI,EAAOwd,gBAAgB9N,KAEvF1P,EAAO0P,MAAQA,GAEnB+9E,QAAU7uC,GAA0B,KAClCgkI,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,OAAO6gB,EAAYqxD,MAErBgb,eAAiB9uC,GAA0B,KACzCgkI,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,OAAO6gB,EAAYE,aAErBosE,cACG/uC,GACA2kI,IACC,MAAM9vG,EAAY70B,EAAI+pF,OAAO/7E,OAAO,YAAa22H,GACjDX,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,IACE,OAAO6gB,EAAYg+D,yBAAyB5L,EAAWz6B,GACvD,MAAOh4B,GACP,MAAM49B,EAAIonF,oBAAoB3vE,OAAOr1C,MAG3C4sE,oBACGhvC,GACA2kI,IACC,MAAM9vG,EAAY70B,EAAI+pF,OAAO/7E,OAAO,YAAa22H,GACjDX,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,IACE,OAAO6gB,EAAYi+D,+BAA+B7L,EAAWz6B,GAC7D,MAAOh4B,GACP,MAAM49B,EAAIonF,oBAAoB3vE,OAAOr1C,MAG3CwyD,aACG50B,GACA2kI,IACC,MAAM9vG,EAAY70B,EAAI+pF,OAAO/7E,OAAO,YAAa22H,GACjDX,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,IACE,OAAO6gB,EAAYk+D,wBAAwB9L,EAAWz6B,GACtD,MAAOh4B,GACP,MAAM49B,EAAIonF,oBAAoB3vE,OAAOr1C,MAG3C6sE,YACGjvC,GACD,CAACwkI,EAAgBp1C,KACf,MAAMr5G,EAAOiqB,EAAI+pF,OAAO/7E,OAAO,OAAQw2H,GACjC1zL,EAAOkvD,EAAI+pF,OAAO/7E,OAAO,OAAQohF,GACvC40C,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,IACE,OAAO6gB,EAAYm+D,uBAAuB7qD,EAAMjlC,EAAMspD,GACtD,MAAOh4B,GACP,MAAM49B,EAAIonF,oBAAoB3vE,OAAOr1C,MAG3C8sE,YACGlvC,GACD,CAACwkI,EAAgBp1C,EAAgBw1C,KAC/B,MAAM7uJ,EAAOiqB,EAAI+pF,OAAO/7E,OAAO,OAAQw2H,GACjC1zL,EAAOkvD,EAAI+pF,OAAO/7E,OAAO,OAAQohF,GACjCn1G,EAAO+lB,EAAI+pF,OAAO9vI,OAAO,OAAQ2qL,GACvCZ,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,IACE,OAAO6gB,EAAYo+D,uBAAuB9qD,EAAMjlC,EAAMmpC,EAAMmgB,GAC5D,MAAOh4B,GACP,MAAM49B,EAAIonF,oBAAoB3vE,OAAOr1C,MAG3C+sE,2BACGnvC,GACA8/H,IACC,MAAMp/I,EAAWsf,EAAI+pF,OAAO/7E,OAAO,WAAY8xH,GAC/CkE,EAAuBhkI,GACvBokI,EAAqBpkI,EAAKtf,GAC1B,MAAMje,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,OAAO6gB,EAAYmZ,OAAO8E,GAAUk8F,QAExCxtC,mBACGpvC,GACA8/H,IACC,MAAMp/I,EAAWsf,EAAI+pF,OAAO/7E,OAAO,WAAY8xH,GAC/CkE,EAAuBhkI,GACvBokI,EAAqBpkI,EAAKtf,GAC1B,MAAMje,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,OAAO6gB,EAAYmZ,OAAO8E,GAAU+zC,OAExC4a,aACGrvC,GACA8/H,IACC,MAAMp/I,EAAWsf,EAAI+pF,OAAO/7E,OAAO,WAAY8xH,GAC/CkE,EAAuBhkI,GACvBokI,EAAqBpkI,EAAKtf,GAC1B,MAAMje,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,OAAO6gB,EAAYmZ,OAAO8E,GAAU+3C,OAExC6W,QAAUtvC,GAA0B,KAClCgkI,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,OAAO6gB,EAAY2C,MAErBmqE,WACGvvC,GACA8/H,IACC,MAAMp/I,EAAWsf,EAAI+pF,OAAO/7E,OAAO,WAAY8xH,GAC/CkE,EAAuBhkI,GACvBokI,EAAqBpkI,EAAKtf,GAC1B,MAAMje,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAE1C,OADA6gB,EAAY2C,KAAOsb,GACZ,GAEX8uD,WAAaxvC,GAA0B,KACrCgkI,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,MAAO,CAAC6gB,EAAY6wD,QAAS7wD,EAAY8wD,aAE3Ckc,uBAAyBzvC,GAA0B,KACjDgkI,EAAuBhkI,GAAK,GAC5B,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,OAAO6gB,EAAYs+D,kCAAkC3mC,IAEvDs1C,wBAA0B1vC,GAA0B,KAC1B,IAApBr+C,EAAO+b,UAAkB/b,EAAOgc,cAAc,GAAK,KAC7B,IAApBhc,EAAO+b,WAGP/b,EAAO8gB,uBAAuBgX,MAGhC93B,EAAOqL,UAAY,KACnBrL,EAAOsL,SAAW,KAClBtL,EAAOuL,WAAa,KACpBvL,EAAOwL,SAAW,KAElBxL,EAAO8gB,YAAc,IAAIgX,IAAY93B,GACrCq+C,EAAI9kC,IAAI,IAAM,yDAEP,IAEP8kC,EAAI9kC,IAAI,IAAM,0EACP,MAKbyyE,aAAe3tC,GAA0B,KACvCgkI,EAAuBhkI,GACvB,MAAMv9B,EAAc9gB,EAAO8gB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAI7gB,MAAM,4CAC1C,OAAkD,IAA3CtK,KAAKsjB,MAAM6H,EAAYs3B,aAAe,O,6BCranD,gDAKO,SAASyxF,EAAwB7pI,EAAiBy4C,GACvD,MAAMyqI,EAAoB,SACxB7kI,EACAhO,EACAhvC,EACAgC,GAEA,MACM0hD,EADS1G,EAAI+pF,OAAOp/D,UAAU3nE,GACZ01I,YAAY1zI,GACpC,GAAgB,MAAZ0hD,EACF,MAAM1G,EAAIonF,oBAAqB,yBAAwBpiI,iBAAwBhC,MAGjF,OAAO0jD,GAGT,MAAO,CACLy1B,QACGn8B,GACD,CACE8kI,EACA51C,EACA1E,EAAqBpwF,EAAap3C,UAChC+hL,gBAAuC,CAAEA,cAAc,MAEzD,MAAM//K,EAAWg7C,EAAI+pF,OAAO/7E,OAAO,WAAYkhF,GACzClsI,EAAWg9C,EAAI+pF,OAAO/7E,OAAO,WAAYw8E,GACzC9jF,EAAWm+H,EAAkB7kI,EAAK,EAAWh9C,EAAUgC,GAI7D,IAAIxN,EAAS,GACb,GAAIwtL,YAAUxtL,GAAS,CACrB,MAAMytL,EAAmB,GACzB,IAAK,IAAIl2L,EAAI,EAAGA,EAAIyI,EAAOvI,SAAUF,EACnCk2L,EAAiB11L,KAAK,CAAC,IAAKkoE,OAAOjgE,EAAOzI,IAAK,KAAK+K,KAAK,KAG3DtC,EAASytL,EAAiBnrL,KAAK,UAE/BtC,EAASigE,OAAOjgE,GAGlB,MAAM0tL,EAAUx+H,EAAS7wB,OACzB,GAAgB,OAAZqvJ,EAAkB,MAAM,IAAItjL,MAAM,uDAEtC,MAAM2kG,EAAOvmD,EAAI+pF,OAAOp/D,UAAU3nE,GAClC,GAAI0jD,EAASiE,WAAWnzD,GAAS,CAC/B,MAAMq+B,EAASl0B,EAAOi0B,yBAAyBsvJ,EAASx+H,EAAS8D,iBAGjE,OAFAxK,EAAI9kC,IAAI,IAAO,2CAA0ClW,eAAsB6wB,KAC/E0wE,EAAKqyC,eAAe5zI,IACb+/K,GAAelvJ,EAetB,QAbE6wB,EAAS0yF,MACP1yF,EAAS0yF,OAAS1yF,EAAS+D,kBAC7BzK,EAAI9kC,IAAI,IAAO,4BAA2BlW,+CAC1CuhG,EAAKqyC,eAAe5zI,IAEpBg7C,EAAI9kC,IACF,IACG,4BAA2BlW,cAC1B0hD,EAAS+D,iBAAmB/D,EAAS0yF,+BAKtC2rC,GAAe,IAG5Bh1F,gBACG/vC,GACD,CAACkvF,EAAoB1E,EAAqBpwF,EAAap3C,YACrD,MAAMgC,EAAWg7C,EAAI+pF,OAAO/7E,OAAO,WAAYkhF,GACzClsI,EAAWg9C,EAAI+pF,OAAO/7E,OAAO,WAAYw8E,GAE/C,OADiBq6C,EAAkB7kI,EAAK,EAAmBh9C,EAAUgC,GACrD0lD,WAEpBJ,QACGtK,GACD,CAACkvF,EAAoB1E,EAAqBpwF,EAAap3C,YACrD,MAAMgC,EAAWg7C,EAAI+pF,OAAO/7E,OAAO,WAAYkhF,GACzClsI,EAAWg9C,EAAI+pF,OAAO/7E,OAAO,WAAYw8E,GAEzC/7I,EADWo2L,EAAkB7kI,EAAK,EAAWh9C,EAAUgC,GACvCslD,UACtB,GAAI5rB,MAAMytC,QAAQ19E,GAAO,CAIvB,MAAM69D,EAAO79D,EAAK6D,QAClB,IAAK,IAAIvD,EAAI,EAAGA,EAAIu9D,EAAKr9D,SAAUF,EAC7BN,EAAKM,GAAG8H,cAAgB6nC,QAC1B4tB,EAAKv9D,GAAKN,EAAKM,GAAGuD,SAItB,OAAOg6D,EAEP,OAAO79D,GAGb87D,eACGvK,GACD,CAACkvF,EAAoB1E,EAAqBpwF,EAAap3C,YACrD,MAAMgC,EAAWg7C,EAAI+pF,OAAO/7E,OAAO,WAAYkhF,GACzClsI,EAAWg9C,EAAI+pF,OAAO/7E,OAAO,WAAYw8E,GAE/C,OADiBq6C,EAAkB7kI,EAAK,EAAkBh9C,EAAUgC,GACpDulD,kBAEpBylC,qBACGhwC,GACD,CAACkvF,EAAoB1E,EAAqBpwF,EAAap3C,YACrD,MAAMgC,EAAWg7C,EAAI+pF,OAAO/7E,OAAO,WAAYkhF,GACzClsI,EAAWg9C,EAAI+pF,OAAO/7E,OAAO,WAAYw8E,GACzC9jF,EAAWm+H,EAAkB7kI,EAAK,EAAwBh9C,EAAUgC,GAC1E,OAAO0hD,EAAS+D,iBAAmB/D,EAAS0yF,U,6BCzH7C,SAASjtE,EAAQrmE,GACtB,OAAO44B,MAAMytC,QAAQrmE,GAMhB,SAASk/K,EAAUl/K,GACxB,OAAOqmE,EAAQrmE,IAAQA,EAAIyC,MAAOotK,GAAMxpG,EAAQwpG,IARlD,mC,6BCEA,4IAsEO,SAASjqC,EAAqB/pI,EAAiBy4C,GAmBpD,SAAS23C,EAAiBozF,GACxB,MAAMnjK,EAAcywE,IACdxxE,EAAU/xB,OAAO0gC,OAAOu3E,KAA2Bx2F,KAAMsQ,GAAYA,EAAQnwB,OAASq0L,GAC5F,QAAgBzjL,IAAZuf,EAAuB,MAAM,IAAIrf,MAAO,qBAAoBujL,MAChE,MAAMvpD,EAAO36G,EAAQve,MACrB,OAA4C,IAArCsf,EAAYoY,eAAewhG,GA4GpC,SAASxmC,EAAc/yE,EAAqB6d,GAC1C,YAA6Cx+B,IAAtC2gB,EAASke,WAAWL,IAAuC7d,EAASke,WAAWL,GAwBxF,SAASuyD,IACP,MAAMzwE,EAAcrgB,EAAOqgB,YAC3B,GAAoB,OAAhBA,EAAsB,MAAM,IAAIpgB,MAAM,0CAC1C,OAAOogB,EAGT,SAAS0wE,EAAYjyD,GACnB,MACMpe,EADcowE,IACSnwE,UAAU3R,KAAMw5F,GAAQA,EAAIr5G,OAAS2vC,GAClE,QAAiB/+B,IAAb2gB,EAAwB,MAAM,IAAIzgB,MAAO,sBAAqB6+B,MAClE,OAAOpe,EAGT,SAAS0yE,EAAUt0D,EAAsBC,GACvC,MAAMre,EAAWqwE,EAAYjyD,GAC7B,KAAMC,KAAYre,EAASyX,SAAU,MAAM,IAAIl4B,MAAO,sBAAqB8+B,MAC3E,MAAM3C,EAAS1b,EAASyX,QAAQ4G,GAChC,GAAe,IAAX3C,EAAc,MAAM,IAAIn8B,MAAO,GAAEygB,EAASvxB,6BAA6B4vC,MAC3E,OAAO3C,EAGT,SAAS01D,EAAahzD,EAAsBC,GAC1C,MAAMre,EAAWqwE,EAAYjyD,GAC7B,KAAMC,KAAYre,EAASkc,YAAa,MAAM,IAAI38B,MAAO,sBAAqB8+B,MAC9E,MAAM3E,EAAY1Z,EAASkc,WAAWmC,GACtC,GAAkB,IAAd3E,EAAiB,MAAM,IAAIn6B,MAAO,GAAEygB,EAASvxB,6BAA6B4vC,MAC9E,OAAO3E,EAGT,SAAS43D,EAAYlzD,EAAsBC,EAAkB0kJ,GAC3D,MAAMrpJ,EAAY03D,EAAahzD,EAAcC,GACvCugE,EAAUmkF,EAAarqJ,QAAQ,KAAM,IACrCoB,EAAWJ,EAAUglE,UAAUE,GACrC,QAAiBv/F,IAAby6B,EAAwB,MAAM,IAAIv6B,MAAO,2BAA0BwjL,MACvE,OAAOjpJ,EAGT,SAASu3D,EAAWjzD,EAAsBpB,GACxC,MACM3D,EADWg3D,EAAYjyD,GACJd,SAASN,GAClC,QAAgB39B,IAAZg6B,EAAuB,MAAM,IAAI95B,MAAO,0BAAyBy9B,MACrE,OAAO3D,EAGT,SAASs5D,EAAYv0D,EAAsBC,EAAkB2kJ,GAC3D,MACMznJ,EADSm3D,EAAUt0D,EAAcC,GACftC,UAAUztB,KAAMyR,GAAMA,EAAEtxB,OAASu0L,GACzD,QAAiB3jL,IAAbk8B,EAAwB,MAAM,IAAIh8B,MAAO,2BAA0ByjL,MACvE,OAAOznJ,EAGT,SAAS0nJ,EAAYtlI,EAAuBulI,GAC1C,GAA2B,OAAvB5jL,EAAOqgB,YAAsB,MAAMg+B,EAAIonF,oBAAoB,2BAC/D,GAAKm+C,IAEA5jL,EAAOqgB,YAAYoY,eAAemrJ,GAAM,MAAMvlI,EAAIonF,oBAAoB,uCAG7E,SAASo+C,EAAgBnjK,GACvB,MAAMuZ,EAAmB,GACzB,IAAK,MAAMmC,KAAU7uC,OAAO0gC,OAAOvN,EAASyX,SAC3B,IAAXiE,GACJnC,EAAOrsC,KAAKwuC,EAAO/D,KAGrB,MAAO,CACLlpC,KAAMuxB,EAASvxB,KACfilC,KAAM1T,EAAS0T,KACfw/F,UAAWlzG,EAASkzG,UACpBC,WAAYnzG,EAASmzG,WACrB1gF,SAAUzyB,EAASyyB,SACnBzU,SAAUhe,EAASE,YAAYC,IAC/B4jC,iBAAkB/jC,EAAS+jC,iBAC3BC,kBAAmBhkC,EAASgkC,kBAC5BC,iBAAkBjkC,EAASikC,iBAC3BC,kBAAmBlkC,EAASkkC,kBAC5B9rB,SAAUpY,EAASoY,SAASnoC,QAC5BspC,OAAQA,EACR+D,cAAgCj+B,IAAtB2gB,EAASsd,SAAyB,GAAKzwC,OAAOuT,KAAK4f,EAASsd,UACtEH,cAAend,EAASmd,eA2jB5B,MAAO,IAvjByC,CAC9C+0D,yBAA2Bv0C,GAA0B,KACnDslI,EAAYtlI,EAAK,GACV/sC,IAAqBe,sBAE9BwgF,wBACGx0C,GACD,CAACylI,EAAwB3F,EAAoB4F,EAAgB,KAC3DJ,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvC1kK,EAAM4kC,EAAI+pF,OAAO9vI,OAAO,SAAUyrL,GACxC,GAAItqK,EAAM,EACR,MAAM4kC,EAAIonF,oBAAoB,sCAEhC,MAAMrrG,EAAY03D,EAAahzD,EAAcC,GAC7C,OAAOjC,YAAqB1C,EAAW3gB,IAE3Cq5E,aACGz0C,GACD,CAACylI,EAAwB3F,KACvBwF,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvCz9J,EAAWqwE,EAAYjyD,GAC7B,KAAMC,KAAYre,EAASkc,YAAa,MAAM,IAAI38B,MAAO,sBAAqB8+B,MAE9E,OAAqB,IADHre,EAASkc,WAAWmC,IAG1C+yD,aACGzzC,GACD,CAACylI,EAAwB3F,KACvBwF,EAAYtlI,EAAK,GACjB,MAEMjkB,EAAY03D,EAFGzzC,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACtCzlI,EAAI+pF,OAAO3kH,KAAK,WAAY06J,IAE7C,MAAO,CACLhvK,MAAOirB,EAAUjrB,MACjBkpB,IAAK+B,EAAU/B,IACfC,KAAM8B,EAAU9B,KAChB2C,SAAUb,EAAUa,SACpBX,mBAAoBF,EAAUE,qBAGpC03D,YACG3zC,GACD,CAACylI,EAAwB3F,EAAoB6F,KAC3CL,EAAYtlI,EAAK,GACjB,MAGM7jB,EAAWw3D,EAHI3zC,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACtCzlI,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACxB9/H,EAAI+pF,OAAO/7E,OAAO,eAAgB23H,IAEjD3jK,EAAcywE,IACpB,MAAO,CACL10E,KAAMoe,EAASlB,MACfE,MAAOgB,EAAShB,MAChBrqC,KAAMqrC,EAASrrC,KACf0xB,IAAK2Z,EAAS3Z,IACd2tD,IAAKh0C,EAASg0C,IACdE,IAAKruD,EAAYoY,eAAe,GAAK+B,EAASk0C,SAAM3uE,EACpD6uE,IAAKvuD,EAAYoY,eAAe,GAAK+B,EAASo0C,SAAM7uE,EACpD8sH,KAAMryF,EAASZ,IACf6tD,KAAMjtD,EAASypJ,MAGrBlyF,WACG1zC,GACD,CAACylI,EAAwBI,KACvBP,EAAYtlI,EAAK,GACjB,MAEMtkB,EAAUg4D,EAFK1zC,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACnCzlI,EAAI+pF,OAAO/7E,OAAO,cAAe63H,IAE/C7jK,EAAcywE,IACpB,MAAO,CACL3hG,KAAM4qC,EAAQ5qC,KACdu/E,IAAKruD,EAAYoY,eAAe,GAAKsB,EAAQ20C,SAAM3uE,EACnD6uE,IAAKvuD,EAAYoY,eAAe,GAAKsB,EAAQ60C,SAAM7uE,EACnDi0H,IAAKj6F,EAAQi6F,IACbmqB,WAAY,CACV3vE,IAAKz0C,EAAQy0C,IACbwjD,IAAKj4F,EAAQi4F,IACbE,IAAKn4F,EAAQm4F,IACbE,IAAKr4F,EAAQq4F,IACbE,IAAKv4F,EAAQu4F,IACbE,IAAKz4F,EAAQy4F,KAEf2xD,MAAOpqJ,EAAQoqJ,MACf3qJ,MAAOO,EAAQP,MACf4qJ,SAAUrqJ,EAAQjtC,KAClBu3L,oBAAqBtqJ,EAAQg5F,OAGnCxgC,kBACGl0C,GACD,CAACylI,EAAwB3F,KACvBwF,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvC99J,EAAcywE,IACpBn0D,YAAkBtc,EAAa0wE,EAAYjyD,GAAeC,IAE9DyzD,iBACGn0C,GACD,CAACylI,EAAwB3F,EAAoB4F,EAAgB,KAC3DJ,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvC1kK,EAAM4kC,EAAI+pF,OAAO9vI,OAAO,SAAUyrL,GAClC1jK,EAAcywE,IACpB,GAAIr3E,EAAM,EACR,MAAM4kC,EAAIonF,oBAAoB,sCAEhCtoG,YAAiB9c,EAAa0wE,EAAYjyD,GAAegzD,EAAahzD,EAAcC,GAAWtlB,IAEnG83E,aACGlzC,GACD,CAACylI,EAAwB3F,EAAoB6F,EAAwBD,EAAeO,KAClFX,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvCsF,EAAeplI,EAAI+pF,OAAO/7E,OAAO,eAAgB23H,GACjDvqK,EAAM4kC,EAAI+pF,OAAO/7E,OAAO,MAAO03H,GAC/BvrJ,EAAQ6lB,EAAI+pF,OAAO/7E,OAAO,QAASi4H,GACnC9pJ,EAAWw3D,EAAYlzD,EAAcC,EAAU0kJ,GACrDvqJ,YAAasB,EAAU/gB,EAAK+e,IAEhCg5D,YACGnzC,GACD,CACEylI,EACA3F,EACA+F,EACAH,EACAO,EACAC,KAEAZ,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvCzgJ,EAAc2gB,EAAI+pF,OAAO/7E,OAAO,cAAe63H,GAC/CzqK,EAAM4kC,EAAI+pF,OAAO/7E,OAAO,MAAO03H,GAC/BvrJ,EAAQ6lB,EAAI+pF,OAAO/7E,OAAO,QAASi4H,GACnCtqJ,EAAMqkB,EAAI+pF,OAAOU,QAAQy7C,GACzBxqJ,EAAUg4D,EAAWjzD,EAAcpB,GACzC5D,YAAYC,EAASgF,EAAUtlB,EAAK+e,EAAOwB,IAE/Cy3D,mBACGpzC,GACD,CAACylI,EAAwBI,KACvBP,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjDpmJ,EAAc2gB,EAAI+pF,OAAO/7E,OAAO,cAAe63H,GACrDnzF,EAAYjyD,GAAc2yD,mBAAmBM,EAAWjzD,EAAcpB,KAE1Eg0D,eACGrzC,GACD,CAACylI,EAAwB3F,EAAoBqG,KAC3Cb,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvCsG,EAAUpmI,EAAI+pF,OAAOU,QAAQ07C,GAC7BpqJ,EAAY03D,EAAahzD,EAAcC,GAC7C,IAAKqxD,EAAiB,gBACpB,MAAM/xC,EAAIonF,oBAAqB,oDACjCtrG,YAAeC,EAAWqqJ,IAE9B9yF,2BACGtzC,GACD,CAACylI,EAAwB3F,EAAoB6F,EAAwBQ,KACnEb,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvCsF,EAAeplI,EAAI+pF,OAAO/7E,OAAO,eAAgB23H,GACjDS,EAAUpmI,EAAI+pF,OAAOU,QAAQ07C,GAC7BpqJ,EAAY03D,EAAahzD,EAAcC,GACvCvE,EAAWw3D,EAAYlzD,EAAcC,EAAU0kJ,GACrD,IAAKrzF,EAAiB,gBACpB,MAAM/xC,EAAIonF,oBAAqB,oDACjClrG,YAA2BH,EAAWI,EAAUiqJ,IAEpD7yF,YACGvzC,GACD,CAACylI,EAAwB3F,EAAoB6F,EAAwBD,KACnEJ,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvCsF,EAAeplI,EAAI+pF,OAAO/7E,OAAO,eAAgB23H,GACjDvqK,EAAM4kC,EAAI+pF,OAAO9vI,OAAO,MAAOyrL,GACrC,GAAItqK,EAAM,EAAG,MAAM,IAAIxZ,MAAM,sEAC7B,MAAMu6B,EAAWw3D,EAAYlzD,EAAcC,EAAU0kJ,GACrD9oJ,YAAYH,EAAU/gB,IAE1Bo4E,aACGxzC,GACD,CAACylI,EAAwB3F,EAAoB6F,EAAwBD,KACnEJ,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACvD,IAAKrwF,EAAc1C,EAAYjyD,GAAe,mBAC5C,MAAM,IAAI7+B,MAAO,8CAA6C6+B,GAChE,MAAMze,EAAcywE,IACd/xD,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvCsF,EAAeplI,EAAI+pF,OAAO/7E,OAAO,eAAgB23H,GACjDvqK,EAAM4kC,EAAI+pF,OAAO9vI,OAAO,MAAOyrL,GAC/B3pJ,EAAY03D,EAAahzD,EAAcC,GACvCvE,EAAWw3D,EAAYlzD,EAAcC,EAAU0kJ,GACrD5oJ,YAAaxa,EAAa+Z,EAAWI,EAAU/gB,IAEnDg5E,YACGp0C,GACD,CACEylI,EACA3F,EACA+F,EACAQ,EACAC,KAEAhB,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvCzgJ,EAAc2gB,EAAI+pF,OAAO/7E,OAAO,cAAe63H,GAC/CvmJ,EAAe0gB,EAAI+pF,OAAO9vI,OAAO,eAAgBosL,GACjD9mJ,EAAkBygB,EAAI+pF,OAAO9vI,OAAO,kBAAmBqsL,GACvDtkK,EAAcywE,IACpBrzD,YAAYpd,EAAa0wE,EAAYjyD,GAAeC,EAAUrB,EAAaC,EAAcC,IAE7F+0D,uBACGt0C,GACD,CAACylI,EAAwBI,EAAuB/F,EAAoByG,KAClEjB,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvCzgJ,EAAc2gB,EAAI+pF,OAAO/7E,OAAO,cAAe63H,GAC/CrjK,EAAMw9B,EAAI+pF,OAAO9vI,OAAO,MAAOssL,GACrCvlJ,YAAuB0yD,EAAWjzD,EAAcpB,GAAcqB,EAAUle,IAE5EwxE,eACGh0C,GACD,CACEwmI,EACAC,EACAC,EACAC,EACAhB,EACAD,KAEAJ,EAAYtlI,EAAK,GACjB,MAAM4mI,EAAiB5mI,EAAI+pF,OAAO/7E,OAAO,iBAAkBw4H,GACrDpuG,EAAap4B,EAAI+pF,OAAO/7E,OAAO,aAAcy4H,GAC7CI,EAAiB7mI,EAAI+pF,OAAO/7E,OAAO,iBAAkB04H,GACrDI,EAAa9mI,EAAI+pF,OAAO/7E,OAAO,aAAc24H,GAC7CvB,EAAeplI,EAAI+pF,OAAO/7E,OAAO,eAAgB23H,GACjDvqK,EAAM4kC,EAAI+pF,OAAO/7E,OAAO,MAAO03H,GACrCllJ,YACEqmJ,EACAC,EACAnzF,EAAYizF,EAAgBxuG,EAAYgtG,GACxChqK,EAAM,GACNs3E,EAAYm0F,KAGlB5yF,qBACGj0C,GACD,CACEwmI,EACAC,EACAC,EACAC,EACAhB,EACAD,KAEAJ,EAAYtlI,EAAK,GACjB,MAAM4mI,EAAiB5mI,EAAI+pF,OAAO/7E,OAAO,iBAAkBw4H,GACrDpuG,EAAap4B,EAAI+pF,OAAO/7E,OAAO,aAAcy4H,GAC7CI,EAAiB7mI,EAAI+pF,OAAO/7E,OAAO,iBAAkB04H,GACrDI,EAAa9mI,EAAI+pF,OAAO/7E,OAAO,aAAc24H,GAC7CvB,EAAeplI,EAAI+pF,OAAO/7E,OAAO,eAAgB23H,GACjDvqK,EAAM4kC,EAAI+pF,OAAO/7E,OAAO,MAAO03H,GACrC3kJ,YACE8lJ,EACAC,EACAnzF,EAAYizF,EAAgBxuG,EAAYgtG,GACxChqK,EAAM,KAGZi5E,wBACGr0C,GACD,CAACylI,EAAwB3F,EAAoB6F,EAAwBY,KACnEjB,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvCsF,EAAeplI,EAAI+pF,OAAO/7E,OAAO,eAAgB23H,GACjDnjK,EAAMw9B,EAAI+pF,OAAO9vI,OAAO,MAAOssL,GACrCrlJ,YAAwByyD,EAAYlzD,EAAcC,EAAU0kJ,GAAe5iK,IAE/EoxE,qBACG5zC,GACD,CAACylI,EAAwB3F,EAAoB6F,EAAwBoB,KACnEzB,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvCsF,EAAeplI,EAAI+pF,OAAO/7E,OAAO,eAAgB23H,GACjDvkJ,EAAK4e,EAAI+pF,OAAOU,QAAQs8C,GAC9B,IAAKr0F,EAAYjyD,GAAcf,YAAY,eACzC,MAAMsgB,EAAIonF,oBAAqB,oDAAmD3mG,GACpFU,YAAqBwyD,EAAYlzD,EAAcC,EAAU0kJ,GAAehkJ,IAE5EyyD,qBACG7zC,GACD,CAACylI,EAAwB3F,EAAoB6F,EAAwBoB,KACnEzB,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvCsF,EAAeplI,EAAI+pF,OAAO/7E,OAAO,eAAgB23H,GACjDvkJ,EAAK4e,EAAI+pF,OAAOU,QAAQs8C,GAC9B,IAAKr0F,EAAYjyD,GAAcf,YAAY,gBACzC,MAAMsgB,EAAIonF,oBAAqB,qDAAoD3mG,GACrFa,YAAqBqyD,EAAYlzD,EAAcC,EAAU0kJ,GAAehkJ,IAE5E0yD,oBACG9zC,GACD,CAACylI,EAAwBI,EAAuBkB,KAC9CzB,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjDpmJ,EAAc2gB,EAAI+pF,OAAO/7E,OAAO,cAAe63H,GAC/CzkJ,EAAK4e,EAAI+pF,OAAOU,QAAQs8C,GAC9B,IAAKr0F,EAAYjyD,GAAcf,YAAY,eACzC,MAAMsgB,EAAIonF,oBAAqB,oDAAmD3mG,GACpFe,YAAoBkyD,EAAWjzD,EAAcpB,GAAc+B,IAE/D2yD,oBACG/zC,GACD,CAACylI,EAAwBI,EAAuBkB,KAC9CzB,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjDpmJ,EAAc2gB,EAAI+pF,OAAO/7E,OAAO,cAAe63H,GAC/CzkJ,EAAK4e,EAAI+pF,OAAOU,QAAQs8C,GAC9B,IAAKr0F,EAAYjyD,GAAcf,YAAY,gBACzC,MAAMsgB,EAAIonF,oBAAqB,qDAAoD3mG,GACrFgB,YAAoBiyD,EAAWjzD,EAAcpB,GAAc+B,QAIvB,CACxC6zD,kBACGj1C,GACAylI,IACCH,EAAYtlI,EAAK,GACjB,MACM39B,EAAWqwE,EADI1yC,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,IAEjDxkK,EAAUie,IAAiB,GACjC,OAAOje,EAAQ,GAAK3pB,KAAKoN,IAAIuc,EAAQ,GAAIoB,EAASoY,SAAS,KAE/Dy6D,mBACGl1C,GACAylI,IACCH,EAAYtlI,EAAK,GAGjB,OADiB0yC,EADI1yC,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,IAEvChrJ,SAAS,IAE7B06D,gBACGn1C,GACD,CAACylI,EAAwBuB,KACvB1B,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjDvlJ,EAAe8f,EAAI+pF,OAAO/7E,OAAO,eAAgBg5H,GACvD,OAneN,SAAyB3kK,EAAqB6d,GAC5C,MAAMC,EAAe/iB,IAAsBiF,EAAS0T,MACpD,QAAqBr0B,IAAjBy+B,EAA4B,MAAM,IAAIv+B,MAAO,kCAAiCygB,EAAS0T,SAE3F,IADoBoK,EAAaC,cAChBlwB,SAASgwB,GAAe,MAAM,IAAIt+B,MAAO,sBAAqBs+B,MAE/E,OADiBI,IAAYJ,GACbniB,KA6dLo3E,CAAgBzC,EAAYjyD,GAAeP,IAEtDk1D,cACGp1C,GACD,CAACylI,EAAwBuB,KACvB1B,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjDvlJ,EAAe8f,EAAI+pF,OAAO/7E,OAAO,eAAgBg5H,GACvD,OAAO5xF,EAAc1C,EAAYjyD,GAAeP,IAEpDm1D,qBACGr1C,GACD,CAACylI,EAAwB3F,EAAoBmH,EAAeC,KAC1D5B,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvC1wD,EAASpvE,EAAI+pF,OAAO9vI,OAAO,SAAUitL,GACrCrpJ,EAAMmiB,EAAI+pF,OAAO/7E,OAAO,MAAOi5H,GAC/BlpJ,EAASg3D,EAAUt0D,EAAcC,GACvC,IAAKxxC,OAAO0gC,OAAOrU,KAAmBrL,SAAS2tB,GAAM,MAAM,IAAIj8B,MAAO,IAAGi8B,0BACzE,OAAOohB,YAAe,IAAM7E,GAAcyI,MAAK,WAC7C,OAAO1D,QAAQC,QAAQrhB,EAAOoxF,iBAAiBtxF,EAAKuxF,QAG1D95B,yBACGt1C,GACD,CAACylI,EAAwB3F,EAAoB8E,KAC3CU,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvC7lJ,EAAO+lB,EAAI+pF,OAAO9vI,OAAO,OAAQ2qL,GACvC,GAAI3qJ,EAAO,EAAG,MAAM,IAAIr4B,MAAM,oEAC9B,MAAMm8B,EAASg3D,EAAUt0D,EAAcC,GACjC1C,EAAmB1mC,KAAKsjB,MAAMmjB,EAAO9D,KAAOhnB,IAAqBmB,mBAEvE,IAAIwT,EAAO,EACX,IAAK,IAAI74B,EAAI,EAAGA,EAAIkrC,EAAOhnB,IAAqBmB,oBAAqBrlB,EACnE64B,GAAQtwB,KAAKoN,IAHQ,KAGYs5B,EAAmBjvC,GAEtD,OAAOkkB,IAAqBkB,kBAAoByT,GAEpD8sE,UACG10C,GACD,CAACylI,EAAwB3F,EAAoBqH,EAAwBF,KACnE3B,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvCuF,EAAerlI,EAAI+pF,OAAO/7E,OAAO,eAAgBm5H,GACjDtpJ,EAAMmiB,EAAI+pF,OAAO/7E,OAAO,MAAOi5H,GAC/BrpJ,EAAWo3D,EAAYv0D,EAAcC,EAAU2kJ,GACrD,OAAOpmI,YAAe,CAAC,WAAY,cAAc/uC,SAAS0tB,EAASvS,KAAO,EAAI,IAAM+uB,GAAcyI,MAChG,WACE,OAAO1D,QAAQC,QAAQzhB,YAAUC,EAAUC,QAInD82D,aACG30C,GACD,CAACylI,EAAwB3F,KACvBwF,EAAYtlI,EAAK,GACjB,MAGMpiB,EADSm3D,EAFM/0C,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACtCzlI,EAAI+pF,OAAO3kH,KAAK,WAAY06J,IAErBryD,qBACxB,QAAiB/rH,IAAbk8B,EACJ,MAAO,CACL9sC,KAAM8sC,EAAS9sC,KACfo9H,IAAKtwF,EAASswF,IACdC,IAAKvwF,EAASuwF,IACdC,IAAKxwF,EAASwwF,IACdlkG,IAAK0T,EAAS1T,IACdD,IAAK2T,EAAS3T,IACdtC,IAAKiW,EAASjW,IACdgnG,IAAK/wF,EAAS+wF,IACd/wC,IAAKhgD,EAASggD,IACdgxC,IAAKhxF,EAASgxF,IACd50F,IAAK4D,EAAS5D,IACd3O,IAAKuS,EAASvS,MAGpBupE,kBACG50C,GACD,CAACylI,EAAwB3F,EAAoB8E,KAC3CU,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvC7lJ,EAAO+lB,EAAI+pF,OAAO9vI,OAAO,OAAQ2qL,GACvC,GAAI3qJ,EAAO,EAAG,MAAM,IAAIr4B,MAAM,oEAC9B,MAAMm8B,EAASg3D,EAAUt0D,EAAcC,GACjC1e,EAAcywE,IACpB30D,YAAkB9b,EAAa+b,EAAQ9D,IAE3CoE,WACG2hB,GACDuP,MAAOk2H,EAAwB3F,EAAoBsH,KACjD9B,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvC5hJ,EAAkB8hB,EAAI+pF,OAAO9vI,OAAO,kBAAmBmtL,GAC7D,GAAIlpJ,EAAkB,EACpB,MAAM,IAAIt8B,MAAM,iFAClB,MAAMm8B,EAASg3D,EAAUt0D,EAAcC,GACjC1e,EAAcywE,IACpB,OAAOxzC,YACJ,KAAct9C,EAAOoL,MAAMa,cAAgBiqB,YAA2Bl2B,EAAO4mB,aAAc,IAC5F6xB,GACAyI,MAAK,WACL,OAAO1D,QAAQC,QAAQnhB,YAAWjc,EAAa+b,EAAQG,QAG7D22D,UACG70C,GACDuP,MAAOk2H,EAAwB3F,KAC7BwF,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACvC99J,EAAcywE,IACpB,OAAOxzC,YACJ,KAAct9C,EAAOoL,MAAMa,cAAgBiqB,YAA2Bl2B,EAAO4mB,aAAc,IAC5F6xB,GACAyI,MAAK,WACL,OAAO1D,QAAQC,QAAQngB,YAAUjd,EAAa0wE,EAAYjyD,GAAes0D,EAAUt0D,EAAcC,SAGvGo0D,WACG90C,GACAylI,IACCH,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjDzjK,EAAcywE,IACpBtzD,YAAWnd,EAAa0wE,EAAYjyD,GAAes0D,EAAUt0D,EAAc,eAE/EJ,SACG2f,GACD,CAACylI,EAAwBuB,KACvB1B,EAAYtlI,EAAK,GACjB,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjDvlJ,EAAe8f,EAAI+pF,OAAO/7E,OAAO,eAAgBg5H,GACvD/mJ,YAASyyD,EAAYjyD,GAAeP,IAExC60D,UACG/0C,GACD,CAACylI,EAAwB3F,KACvBwF,EAAYtlI,EAAK,GACjB,MAEMjiB,EAASg3D,EAFM/0C,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACtCzlI,EAAI+pF,OAAO3kH,KAAK,WAAY06J,IAE7C,MAAO,CACL9lJ,IAAK+D,EAAO/D,IACZC,KAAM8D,EAAO9D,KACbotJ,OAAQtpJ,EAAOspJ,OACf15D,OAAQ5vF,EAAO4vF,OACf25D,OAAQvpJ,EAAOupJ,OACf15D,OAAQ7vF,EAAO6vF,OACfC,OAAQ9vF,EAAO8vF,OACfzvF,UAAWL,EAAOK,UAAUx0B,IAAKwY,GAAMA,EAAEtxB,MACzCy9H,aAAc,CACZ/yG,WAAYuiB,EAAOwwF,aAAahzG,IAAkBC,YAClDC,SAAUsiB,EAAOwwF,aAAahzG,IAAkBE,UAChDC,SAAUqiB,EAAOwwF,aAAahzG,IAAkBG,UAChDC,WAAYoiB,EAAOwwF,aAAahzG,IAAkBI,YAClD,yBAA0BoiB,EAAOwwF,aAAahzG,IAAkBK,OAChE3E,SAAU8mB,EAAOwwF,aAAahzG,IAAkBtE,UAChD4E,WAAY,GAEdyyG,aAAc,CACZ9yG,WAAYuiB,EAAOuwF,aAAa/yG,IAAkBC,YAClDC,SAAUsiB,EAAOuwF,aAAa/yG,IAAkBE,UAChDC,SAAUqiB,EAAOuwF,aAAa/yG,IAAkBG,UAChDC,WAAYoiB,EAAOuwF,aAAa/yG,IAAkBI,YAClD,yBAA0BoiB,EAAOuwF,aAAa/yG,IAAkBK,OAChE3E,SAAU8mB,EAAOuwF,aAAa/yG,IAAkBtE,UAChD4E,WAAYkiB,EAAOuwF,aAAa/yG,IAAkBM,eAI1Dm5E,YACGh1C,GACD,CAACylI,EAAwB3F,EAAoBqH,KAC3C7B,EAAYtlI,EAAK,GACjB,MAGMpiB,EAAWo3D,EAHIh1C,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACtCzlI,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GACxB9/H,EAAI+pF,OAAO/7E,OAAO,eAAgBm5H,IAEvD,MAAO,CACLr2L,KAAM8sC,EAAS9sC,KACfo9H,IAAKtwF,EAASswF,IACdC,IAAKvwF,EAASuwF,IACdC,IAAKxwF,EAASwwF,IACdlkG,IAAK0T,EAAS1T,IACdD,IAAK2T,EAAS3T,IACdtC,IAAKiW,EAASjW,IACdgnG,IAAK/wF,EAAS+wF,IACd/wC,IAAKhgD,EAASggD,IACdgxC,IAAKhxF,EAASgxF,IACd50F,IAAK4D,EAAS5D,IACd3O,IAAKuS,EAASvS,OAQpBsnE,eACG3yC,GACD,CAACunI,EAAwB9B,KACvBH,EAAYtlI,GACZ,MAAMwnI,EAAexnI,EAAI+pF,OAAO/7E,OAAO,eAAgBu5H,GACjD9mJ,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjDzjK,EAAcywE,IACpB/4D,YAAY1X,EAAawlK,EAAc/mJ,IAE3CmyD,WACG5yC,GACD,CAACylI,EAAwB3F,KACvBwF,EAAYtlI,GACZ,MAAMvf,EAAeuf,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,GACjD/kJ,EAAWsf,EAAI+pF,OAAO3kH,KAAK,WAAY06J,GAC7C,IAAK7sK,IAAqBQ,OAAOvD,SAASwwB,GAAW,MAAM,IAAI9+B,MAAM,qBACrE,MAAMogB,EAAcywE,IACdpwE,EAAWqwE,EAAYjyD,GAC7B5G,YAAQ7X,EAAaK,EAAUqe,IAEnCmyD,cACG7yC,GACAynI,IACCnC,EAAYtlI,GACZ,MAAMmlI,EAAcnlI,EAAI+pF,OAAO/7E,OAAO,cAAey5H,GAC/CzlK,EAAcywE,IACdxxE,EAAU/xB,OAAO0gC,OAAOu3E,KAA2Bx2F,KAAMsQ,GAAYA,EAAQnwB,OAASq0L,GAC5F,QAAgBzjL,IAAZuf,EAAuB,MAAM,IAAIrf,MAAO,qBAAoBujL,MAChEjrJ,YAAclY,EAAaf,IAE/B6xE,aACG9yC,GACAynI,IACCnC,EAAYtlI,GACZ,MAAMmlI,EAAcnlI,EAAI+pF,OAAO/7E,OAAO,cAAey5H,GAC/CzlK,EAAcywE,IACdxxE,EAAU/xB,OAAO0gC,OAAO2/F,KAAqB5+G,KAAMsQ,GAAYA,EAAQnwB,OAASq0L,GACtF,QAAgBzjL,IAAZuf,EAAuB,MAAM,IAAIrf,MAAO,qBAAoBujL,MAChE7qJ,YAAatY,EAAaf,IAE9B8xE,eACG/yC,GACA0nI,IACCpC,EAAYtlI,GACZ,MAAMrlB,EAAUqlB,EAAI+pF,OAAO9vI,OAAO,UAAWytL,GAC7C,GAAI/sJ,EAAU,GAAKA,EAAU,IAC3B,MAAM,IAAI/4B,MAAM,uFAClB,MAAMogB,EAAcywE,IACpB,IAAKzwE,EAAY+a,OAAQ,MAAMijB,EAAIonF,oBAAqB,qCACxD1sG,YAAe1Y,EAAa2Y,IAKhC+3D,YACG1yC,GACAylI,IACCH,EAAYtlI,GAGZ,OAAOwlI,EADU9yF,EADI1yC,EAAI+pF,OAAO/7E,OAAO,eAAgBy3H,MAI3DhzF,eAAiBzyC,GAA0B,KACzCslI,EAAYtlI,GACZ,MAAMh+B,EAAcywE,IACpB,MAAO,CACL3hG,KAAMkxB,EAAYlxB,KAClBoxB,MAAOF,EAAYE,MACnBgkC,QAASlkC,EAAYkkC,QACrBC,SAAUnkC,EAAYmkC,SACtBppB,OAAQ/a,EAAY+a,OACpBs+B,YAAar5C,EAAYq5C,YACzBv+B,UAAW9a,EAAY8a,UACvBE,kBAAmBhb,EAAYgb,kBAC/BM,aAActb,EAAYsb,aAC1BC,WAAYvb,EAAYub,WACxBgpC,MAAOvkD,EAAYukD,MAAMg0D,WACzBj4G,UAAWN,EAAYM,UAAU1Y,IAAKyY,GAAyBmjK,EAAgBnjK,MAGnFyvE,kBACG9xC,GACD,CAAC2nI,EAA2BC,GAAqB,IA33BrD,SAA2BC,EAAyBC,GAAW,GAC7D,IAAKnmL,EAAOo4I,wBAA0Bp4I,EAAOqpI,iBAAkB,OAAO,EACtE,IAAK68C,EAAiB,OAAO,EAC7B,GAAwB,IAApBlmL,EAAO+b,WAAmBoqK,EAAU,MAAM,IAAIlmL,MAAM,8CACxD,GAAIG,IAAmB83D,mBAAqB,IAC1C,MAAM,IAAIj4D,MAAO,8CAA6CD,EAAO+b,UAEvE,GAAIoqK,EAAU,CACZ,IAAKnmL,EAAOE,UAAU,OAAQ,OAAO,EAErCF,EAAOs4I,iBAAiB4tC,GACxBlmL,EAAOsc,UAAU,MAAO,oBAExBtc,EAAOs4I,iBAAiB4tC,EAAiB,KAE3C,OAAO,EA+2BI/1F,CAFiB9xC,EAAI+pF,OAAO/7E,OAAO,kBAAmB25H,GAC5C3nI,EAAI+pF,OAAOU,QAAQm9C,IAGxC71F,iBACG/xC,GACAynI,IACCnC,EAAYtlI,GAEZ,OAAO+xC,EADa/xC,EAAI+pF,OAAO/7E,OAAO,cAAey5H,KAGzDz1F,qBACGhyC,GACAynI,IACCnC,EAAYtlI,GAEZ,OAl3BN,SAA8BmlI,GAC5B,MAAMlkK,EAAU/xB,OAAO0gC,OAAOu3E,KAA2Bx2F,KAAMsQ,GAAYA,EAAQnwB,OAASq0L,GAC5F,QAAgBzjL,IAAZuf,EAAuB,MAAM,IAAIrf,MAAO,qBAAoBujL,MAChE,OAAOlkK,EAAQkZ,MA+2BJ63D,CADahyC,EAAI+pF,OAAO/7E,OAAO,cAAey5H,KAGzDx1F,gBACGjyC,GACAynI,IACCnC,EAAYtlI,GACZ,MAAMmlI,EAAcnlI,EAAI+pF,OAAO/7E,OAAO,cAAey5H,GACrD,OAn3BN,SAAyBznI,EAAuBynI,GAC9C,MAAMtC,EAAcnlI,EAAI+pF,OAAO/7E,OAAO,cAAey5H,GAC/CzlK,EAAcywE,IACdxxE,EAAU/xB,OAAO0gC,OAAO2/F,KAAqB5+G,KAAMsQ,GAAYA,EAAQnwB,OAASq0L,GACtF,QAAgBzjL,IAAZuf,EAAuB,MAAM,IAAIrf,MAAO,qBAAoBujL,MAChE,MAAMvpD,EAAO36G,EAAQve,MACrB,OAAOsf,EAAYyY,SAASmhG,GA62BjB3pC,CAAgBjyC,EAAKmlI,IAEhCjzF,oBACGlyC,GACAynI,IACCnC,EAAYtlI,GACZ,MAAMmlI,EAAcnlI,EAAI+pF,OAAO/7E,OAAO,cAAey5H,GACrD,OAj3BN,SAA6BznI,EAAuBynI,GAClD,MAAMtC,EAAcnlI,EAAI+pF,OAAO/7E,OAAO,cAAey5H,GAC/CzlK,EAAcywE,IACdxxE,EAAU/xB,OAAO0gC,OAAO2/F,KAAqB5+G,KAAMsQ,GAAYA,EAAQnwB,OAASq0L,GACtF,QAAgBzjL,IAAZuf,EAAuB,MAAM,IAAIrf,MAAO,qBAAoBujL,MAChE,MAAMvpD,EAAO36G,EAAQve,MACfkK,EAAWqU,EAAQsZ,UACnBC,EAAYvZ,EAAQuZ,UACpB1pB,EAAQkR,EAAYyY,SAASmhG,GACnC,OAAOhvH,EAAWtV,KAAKoN,IAAI81B,EAAW1pB,GAw2B3BohF,CAAoBlyC,EAAKmlI,IAEpChzF,sBACGnyC,GACAunI,IACCjC,EAAYtlI,GAEZ,OA52BN,SAA+BwnI,GAC7B,MAAMzpK,EAAOd,IAAsBuqK,GACnC,QAAa9lL,IAATqc,EACF,MAAM,IAAInc,MAAO,sBAAqB4lL,MAExC,OAAOzpK,EAu2BIo0E,CADcnyC,EAAI+pF,OAAO/7E,OAAO,eAAgBu5H,KAG3Dn1F,kBAAoBpyC,GAA0B,KAC5CslI,EAAYtlI,GAt2BP/sC,IAAqBkB,mBAy2B5Bk+E,mBAAqBryC,GAA0B,KAC7CslI,EAAYtlI,GAv2BhB,WACE,MAAMh+B,EAAcywE,IACpB,GACEzwE,EAAY+lK,cAAgB90K,IAAqB8B,mBAAmB9lB,QACpE+yB,EAAY+lK,cAAgB90K,IAAqB+B,uBAAuB/lB,QACxE+yB,EAAY+a,OAEZ,MAAO,CACL7a,MAAO,EACPi4B,OAAQ,EACRv/B,MAAOoH,EAAY+lK,aAAe,GAEtC,MAAMh9H,EAAM/oC,EAAYk5G,qBAClB8sD,EAAa/0K,IAAqB8B,mBAAmBiN,EAAY+lK,cAIvE,MAAO,CACL7lK,MAHc6oC,EAAMi9H,EADE/0K,IAAqB+B,uBAAuBgN,EAAY+lK,cAK9E5tI,OAHmB7iD,KAAKyO,MAAMkN,IAAqBC,cAAgB80K,GAInEptK,MAAOoH,EAAY+lK,aAAe,GAo1B3B11F,IAETC,sBAAwBtyC,GAA0B,KAChDslI,EAAYtlI,GAn1BhB,WACE,MAAMh+B,EAAcywE,IACpB,GACEzwE,EAAY+lK,cAAgB90K,IAAqB8B,mBAAmB9lB,QACpE+yB,EAAY+lK,cAAgB90K,IAAqB+B,uBAAuB/lB,QACxE+yB,EAAY+a,OAEZ,OAAO,EACT,MAAMguB,EAAM/oC,EAAYk5G,qBAClB8sD,EAAa/0K,IAAqB8B,mBAAmBiN,EAAY+lK,cAEjEE,EAAUl9H,EAAMi9H,EADE/0K,IAAqB+B,uBAAuBgN,EAAY+lK,cAE1EG,EAAe5wL,KAAKyO,MAAMkN,IAAqBC,cAAgB80K,GAIrE,OAHAhmK,EAAY+lK,eACZ/lK,EAAYs4G,SAAS2tD,GACrBjmK,EAAY8a,WAAaorJ,GAClB,EAo0BE51F,IAETC,SACGvyC,GACAmoI,IACC7C,EAAYtlI,GAEZ,OAx0BN,SAAkBljB,GAChB,MAAM9a,EAAcywE,IACd21F,EAAoBpmK,EAAYk5G,qBAAuBl5G,EAAYq5C,YACzE,GAAI5gE,MAAMqiC,GAAY,MAAM,IAAIl7B,MAAM,6CACtC,GAAIk7B,EAAY,EAAG,MAAM,IAAIl7B,MAAM,6CACnC,GAAIk7B,EAAY9a,EAAY8a,UAAW,MAAM,IAAIl7B,MAAM,6CAMvD,OALAogB,EAAY+a,QAAS,EACrB/a,EAAYub,WAAa6qJ,EACzBpmK,EAAYsb,aAAeR,EAC3B9a,EAAY8a,WAAaA,EACzB9a,EAAYs4G,SAASx9F,EAAYsrJ,IAC1B,EA6zBI71F,CADWvyC,EAAI+pF,OAAO9vI,OAAO,YAAakuL,KAGrDl1F,WACGjzC,GACAmoI,IACC7C,EAAYtlI,GACZ,MAAMljB,EAAYkjB,EAAI+pF,OAAO9vI,OAAO,YAAakuL,GACjD,OAAOtrJ,YAAW41D,IAAkB9wF,EAAQm7B,IAEhDk2D,cACGhzC,GACAmoI,IACC7C,EAAYtlI,GACZ,MAAMljB,EAAYkjB,EAAI+pF,OAAO9vI,OAAO,YAAakuL,GACjD,OAAO1qJ,YAAcg1D,IAAkB9wF,EAAQm7B,IAEnD01D,MACGxyC,GACD,CAACggI,EAAuBqI,EAAsBC,KAC5ChD,EAAYtlI,GAIZ,OAp0BN,SAAe70C,EAAqBo9K,EAAoBC,GACtD,IAAK7mL,EAAO6K,SAAS0D,SAAS/E,GAAc,MAAM,IAAIvJ,MAAM,wBAC5D,GAAInH,MAAM8tL,IAAeA,EAAa,GAAK9tL,MAAM+tL,IAAiBA,EAAe,EAC/E,MAAM,IAAI5mL,MAAM,mEAElB,MAAMogB,EAAcywE,IACpB,GAAIzwE,EAAYE,MAAQqmK,EAAY,OAAO,EAC3C,GAAIvmK,EAAY8a,UAAY0rJ,EAAc,OAAO,EACjD,MAAM/9K,EAAUF,IAASY,GAEzB,IADaV,EAAQC,UACXozC,aAAc,OAAO,EAC/B,GAAIn8C,EAAO88C,YAAYtzC,GAAc,OAAO,EAE5C,MAAMgrB,GAAWoyJ,EAAaC,EAAexmK,EAAYub,YAActqB,IAAqBsB,gBAK5F,OAJA9J,EAAQokB,kBAAoBsH,EAC5BnU,EAAYE,MAAQF,EAAYE,MAAQqmK,EACxCvmK,EAAY8a,WAAa0rJ,GAElB,EAkzBIh2F,CAHaxyC,EAAI+pF,OAAO/7E,OAAO,cAAegyH,GAClChgI,EAAI+pF,OAAO9vI,OAAO,aAAcouL,GAC9BroI,EAAI+pF,OAAO9vI,OAAO,eAAgBquL,KAG3D36F,aAAe3tC,GAA0B,KACvCslI,EAAYtlI,GAC2C,IAAhD1oD,KAAKsjB,MAAM63E,IAAiB14C,aAAe,O,01CChgCjD,MAAMngB,SA2DX/iC,YAAYuV,EAAkB,IAAI,4BA1D3B,IA0D2B,4BAzD3B8P,6CAAWG,aAyDgB,mCAxDpB,IAAI4zD,yCAAS,CAAEn/E,KAAM,yBAwDD,kCAvDmB,IAuDnB,+BAtDe,IAsDf,gCAnDb,IAmDa,gCAjDiB,IAiDjB,sCAhDlB,GAgDkB,iCA9CtB,GA8CsB,kCA7CrB,GA6CqB,oCA5CnB,GA4CmB,6BArC1B,GAqC0B,8BApCzB,GAoCyB,6BAnC1B,GAmC0B,8BAlCzB,GAkCyB,6BAjC1B,GAiC0B,8BAhCzB,GAgCyB,gCA9BvB,GA8BuB,gCArBb4tC,MAAMxvC,OAAOuT,KAAKy8B,mDAAkBjwC,QAAQwqD,KAAK,IAqBpC,6BAnB1B,SAmB0B,+BAlBzB,GAkByB,+BAZY,CAC5C,CAAC54C,yDAAS6S,OAAQ,EAClB,CAAC7S,yDAAS8S,WAAY,EACtB,CAAC9S,yDAAS+S,UAAW,IAAImmB,4CAAY,CACnCC,IAAKn5B,yDAAS+S,SACdqmB,KAAMhnB,+CAAqBmB,oBAE7B,CAACvT,yDAASgT,UAAW,EACrB,CAAChT,yDAASiT,QAAS,EACnB,CAACjT,yDAASkT,UAAW,IAIrBjd,KAAKhG,KAAOsb,EAAOtb,KAAOsb,EAAOtb,KAAO,GACxCgG,KAAKi/B,KAAO3pB,EAAO2pB,KAAO3pB,EAAO2pB,KAAO7Z,6CAAWG,YAGnDvlB,KAAKsvD,iBAAmB,EACxBtvD,KAAKuvD,kBAAoB,EACzBvvD,KAAKwvD,iBAAmB,EACxBxvD,KAAKyvD,kBAAoB,EAEzBzvD,KAAKynC,WAAa,CAChB,CAAC19B,yDAAS6S,OAAQ,EAClB,CAAC7S,yDAAS8S,WAAY,EACtB,CAAC9S,yDAAS+S,UAAW,IAAI4qB,2CAAU,CACjCrhB,KAAM/Q,EAAO+Q,KACbwc,SAAU7iC,KACVkjC,IAAKn5B,yDAAS+S,SACdqmB,KAAMhnB,+CAAqBgB,uBAE7B,CAACpT,yDAASgT,UAAW,EACrB,CAAChT,yDAASiT,QAAS,EACnB,CAACjT,yDAASkT,UAAW,GAGvBjd,KAAKT,OAGPA,OAEE,MAAMoyL,EAAexrK,6CAAsBnmB,KAAKi/B,MAChD,QAAqBr0B,IAAjB+mL,EAA4B,MAAM,IAAI7mL,MAAO,sBAAqB9K,KAAKi/B,SAE3E,OADAj/B,KAAK2xL,aAAeA,EACZ3xL,KAAKi/B,MACX,KAAK7Z,6CAAWC,OACdrlB,KAAK4xL,MAAQ,IACb5xL,KAAKo+H,OAAS,GACdp+H,KAAK6xL,OAAS,IACd7xL,KAAK8xL,MAAQ,GACb9xL,KAAK+xL,OAAS,IACd/xL,KAAKw9H,QAAU,CACb3sD,SAAU,GACVD,MAAO,IAET5wE,KAAKo/H,SAAW,CAAC,UACjB,MACF,KAAKh6G,6CAAWE,UAChB,IAAK,YACHtlB,KAAK4xL,MAAQ,GACb5xL,KAAKo+H,OAAS,GACdp+H,KAAK6xL,OAAS,GACd7xL,KAAK8xL,MAAQ,GACb9xL,KAAK+xL,OAAS,IACd/xL,KAAKw9H,QAAU,CACb3sD,SAAU,GACVD,MAAO,IAET5wE,KAAKo/H,SAAW,CAAC,SACjB,MACF,KAAKh6G,6CAAWG,YACdvlB,KAAK4xL,MAAQ,IACb5xL,KAAKo+H,OAAS,GACdp+H,KAAKgyL,MAAQ,GACbhyL,KAAK6xL,OAAS,GACd7xL,KAAK8xL,MAAQ,GACb9xL,KAAK+xL,OAAS,IACd/xL,KAAKw9H,QAAU,CACb9sD,MAAO,GACPrrD,OAAQ,IAEVrlB,KAAKo/H,SAAW,CAAC,SAAU,QAC3B,MACF,KAAKh6G,6CAAWI,QACdxlB,KAAK4xL,MAAQ,IACb5xL,KAAKo+H,OAAS,IACdp+H,KAAKgyL,MAAQ,IACbhyL,KAAK6xL,OAAS,GACd7xL,KAAK8xL,MAAQ,GACb9xL,KAAK+xL,OAAS,IACd/xL,KAAKw9H,QAAU,CACbn4G,OAAQ,IAEVrlB,KAAKo/H,SAAW,CAAC,QACjB,MACF,KAAKh6G,6CAAWK,OACdzlB,KAAK4xL,MAAQ,GACb5xL,KAAKo+H,OAAS,IACdp+H,KAAKgyL,MAAQ,GACbhyL,KAAK6xL,OAAS,IACd7xL,KAAK8xL,MAAQ,IACb9xL,KAAK+xL,OAAS,IACd/xL,KAAKw9H,QAAU,CACbn4G,OAAQ,IAEVrlB,KAAKo/H,SAAW,CAAC,SACjB,MACF,KAAKh6G,6CAAWM,KAEd1lB,KAAKo+H,OAAS,IACdp+H,KAAKgyL,MAAQ,IACbhyL,KAAK6xL,OAAS,GACd7xL,KAAK8xL,MAAQ,IACb9xL,KAAK+xL,OAAS,IACd/xL,KAAK4xL,MAAQ,IACb5xL,KAAKw9H,QAAU,CACb93G,KAAM,GACNgrD,MAAO,GACPrrD,OAAQ,IAEVrlB,KAAK0oC,eAAgB,EACrB,MACF,KAAKtjB,6CAAWO,QACd3lB,KAAK4xL,MAAQ,IACb5xL,KAAKo+H,OAAS,IACdp+H,KAAKgyL,MAAQ,IACbhyL,KAAK6xL,OAAS,GACd7xL,KAAK8xL,MAAQ,IACb9xL,KAAK+xL,OAAS,GACd/xL,KAAKw9H,QAAU,CACb7sD,OAAQ,EACRD,MAAO,IAET1wE,KAAK0oC,eAAgB,EACrB,MACF,KAAKtjB,6CAAWQ,SACd5lB,KAAK4xL,MAAQ,IACb5xL,KAAKo+H,OAAS,IACdp+H,KAAKgyL,MAAQ,GACbhyL,KAAK6xL,OAAS,IACd7xL,KAAK8xL,MAAQ,GACb9xL,KAAK+xL,OAAS,IACd/xL,KAAKw9H,QAAU,CACb7sD,OAAQ,EACRtrD,OAAQ,GACRqrD,MAAO,IAET1wE,KAAKo/H,SAAW,CAAC,aACjB,MACF,KAAKh6G,6CAAWS,eACd7lB,KAAK4xL,MAAQ,IACb5xL,KAAKo+H,OAAS,GACdp+H,KAAKgyL,MAAQ,IACbhyL,KAAK6xL,OAAS,IACd7xL,KAAK8xL,MAAQ,GACb9xL,KAAK+xL,OAAS,IACd/xL,KAAKw9H,QAAU,CACb1sD,UAAW,EACXzrD,OAAQ,EACRqrD,MAAO,IAET1wE,KAAKo/H,SAAW,CAAC,SACjBp/H,KAAK0oC,eAAgB,EACrB,MACF,KAAKtjB,6CAAWU,SAChB,IAAK,WACH9lB,KAAK4xL,MAAQ,GACb5xL,KAAKo+H,OAAS,IACdp+H,KAAK6xL,OAAS,IACd7xL,KAAK8xL,MAAQ,IACb9xL,KAAK+xL,OAAS,IACd/xL,KAAKw9H,QAAU,CACb5sD,MAAO,EACPvrD,OAAQ,GAEVrlB,KAAKo/H,SAAW,CAAC,YACjBp/H,KAAK0oC,eAAgB,EACrB,MACF,KAAKtjB,6CAAWW,SACd/lB,KAAK4xL,MAAQ,IACb5xL,KAAKo+H,OAAS,IACdp+H,KAAK8xL,MAAQ,IACb9xL,KAAK+xL,OAAS,IACd/xL,KAAKgyL,MAAQ,IACbhyL,KAAKw9H,QAAU,CACb3sD,SAAU,EACVxrD,OAAQ,GAEVrlB,KAAKo/H,SAAW,CAAC,UACjBp/H,KAAK0oC,eAAgB,EACrB,MACF,KAAKtjB,6CAAWY,SACdhmB,KAAKo+H,OAAS,IACdp+H,KAAK+xL,OAAS,IACd/xL,KAAKgyL,MAAQ,IACbhyL,KAAK4xL,MAAQ,IACb5xL,KAAK8xL,MAAQ,IACb9xL,KAAK6xL,OAAS,IACd7xL,KAAKw9H,QAAU,CACb3sD,SAAU,GACVxrD,OAAQ,IAEVrlB,KAAKo/H,SAAW,CAAC,WACjBp/H,KAAK0oC,eAAgB,EACrB,MACF,KAAKtjB,6CAAWa,WACdjmB,KAAK4xL,MAAQ,GACb5xL,KAAKo+H,OAAS,IACdp+H,KAAK+xL,OAAS,IACd/xL,KAAKgyL,MAAQ,GACbhyL,KAAK6xL,OAAS,GACd7xL,KAAK8xL,MAAQ,GACb9xL,KAAKw9H,QAAU,CACbzsD,OAAQ,GACRC,QAAS,EACT3rD,OAAQ,EACRqrD,MAAO,GAET1wE,KAAK0oC,eAAgB,EACrB,MACF,KAAKtjB,6CAAWc,WACdlmB,KAAK6xL,OAAS,GACd7xL,KAAK8xL,MAAQ,GACb9xL,KAAK+xL,OAAS,IACd/xL,KAAKo+H,OAAS,IACdp+H,KAAKgyL,MAAQ,IACbhyL,KAAKw9H,QAAU,CACb5sD,MAAO,EACPvrD,OAAQ,EACRqrD,MAAO,EACPG,SAAU,GAEZ7wE,KAAKo/H,SAAW,CAAC,cACjBp/H,KAAK0oC,eAAgB,EACrB,MACF,QAEE,YADAroC,QAAQyT,MAAO,sDAAqD9T,KAAKi/B,OAK/EgzJ,4BACE,IAAKjyL,KAAK0oC,cAAe,MAAO,GAChC,OAAQ1oC,KAAKi/B,MACX,KAAK7Z,6CAAWM,KACd,MAAO,gCACT,KAAKN,6CAAWO,QACd,MAAO,8CACT,KAAKP,6CAAWS,eACd,MAAO,mCACT,KAAKT,6CAAWU,SAChB,IAAK,WACH,MAAO,8DACT,KAAKV,6CAAWW,SACd,MAAO,sDACT,KAAKX,6CAAWY,SACd,MAAO,4BACT,KAAKZ,6CAAWa,WACd,MAAO,6BACT,KAAKb,6CAAWc,WACd,MAAO,4CACT,QAEE,OADA7lB,QAAQyT,MAAM,+DACP,IAIbo+K,2BACE,IAAKlyL,KAAK0oC,cAAe,OAAO,EAGhC,IAAIypJ,EAAa,EAIjB,OAHInyL,KAAK4oC,YAAY,0BAA0BupJ,EAC3CnyL,KAAK4oC,YAAY,2BAA2BupJ,EAEzCh2K,+CAAqB4B,gBAAkBo0K,EAGhDC,2BACE,OAAOh6L,OAAOuT,KAAK3L,KAAK6oC,UAAU1wC,QAAU6H,KAAKkyL,2BAKnDG,6BACE,IAAIC,EAAU,EACd,IAAK,IAAIr6L,EAAI,EAAGA,EAAIkkB,+CAAqBQ,OAAOxkB,SAAUF,EAAG,CAC3D,MAAMq2B,EAAOnS,+CAAqBQ,OAAO1kB,GACnCgtC,EAAYjlC,KAAKynC,WAAWnZ,GAClC,KAAM2W,aAAqByC,4CACzB,SAGF,MAAMuiE,EAAYhlE,EAAUglE,UAEtBsoF,EACJ/xL,KAAKoN,IAAI,KAAQq8F,EAAU/jF,WAAWwF,IAAM,EAAG1rB,KAAK4xL,OACpDpxL,KAAKoN,IAAI,KAAQq8F,EAAUp5B,SAASnlD,IAAM,EAAG1rB,KAAKgyL,OAClDxxL,KAAKoN,IAAI,KAAQq8F,EAAUl5B,OAAOrlD,IAAM,EAAG1rB,KAAK6xL,QAChDrxL,KAAKoN,IAAI,KAAQq8F,EAAUj5B,QAAQtlD,IAAM,EAAG1rB,KAAK8xL,OACnDQ,GAAW9xL,KAAKoN,IAAI2kL,EAAU,KAGjBvyL,KAAKg+C,SAApBs0I,EAAU,EAAqB,EAAsBA,EAGvDE,wBAAwBvtJ,GACtBA,EAAUilE,yBAEV,IAAK,MAAMuoF,KAAYr6L,OAAOuT,KAAK3L,KAAK6oC,UACtC,GAAI7oC,KAAK6oC,SAASvwC,eAAem6L,GAAW,CAC1C,MAAM/6D,EAAO13H,KAAK6oC,SAAS4pJ,GAC3B,QAAa7nL,IAAT8sH,EAAoB,SACxBzyF,EAAUa,UAAY4xF,EAAK//H,KAAKstC,EAAU/B,KAAK,GAAKw0F,EAAK6F,KAK/DvzG,QAAQysG,EAAe,EAAGhnD,EAAevkD,GAKvC,GAJAlrB,KAAKyvE,MAAQA,EAIC,UAAVA,EAAmB,EACjB9rE,MAAM3D,KAAKwvD,mBAAqB7rD,MAAM3D,KAAKyvD,sBAC7CpvD,QAAQyT,MAAM,kDACdvK,4DACE,qHAEFvJ,KAAKwvD,iBAAmB,EACxBxvD,KAAKyvD,kBAAoB,GAE3BzvD,KAAKsvD,iBAAmBtvD,KAAKwvD,kBAAoBinE,EAAet6G,+CAAqBO,oBACrF1c,KAAKuvD,kBAAoBvvD,KAAKyvD,mBAAqBgnE,EAAet6G,+CAAqBO,oBACvF1c,KAAKwvD,iBAAmB,EACxBxvD,KAAKyvD,kBAAoB,EAIrBzvD,KAAKsvD,iBAAmB,IAC1BtvD,KAAK0yL,QAAS,GAIhB,IAAIC,EAAiB,EACrB,IAAK,MAAMC,KAAax6L,OAAOuT,KAAK3L,KAAKgjC,SAAU,CACjD,MAAMiE,EAASjnC,KAAKgjC,QAAQ4vJ,GACb,IAAX3rJ,IACAA,aAAkBhE,8CACpB0vJ,GAAkB1rJ,EAAOjd,QAAQysG,EAAcvrG,EAAalrB,QAGhEA,KAAKyvD,kBAAoBzvD,KAAKyvD,kBAAoBkjI,EAGlD3yL,KAAK6yL,wBACL7yL,KAAK8yL,qBAAqBr8D,GAG1Bz2H,KAAK0+H,YAA6B,KAAfjI,EACnBz2H,KAAK0+H,WAAal+H,KAAKoD,IAAI,EAAG5D,KAAK0+H,YAGnC,MAAMq0D,EAAiB7nK,EAAYg6G,oBACjC8tD,EAAiC,EAAjBD,EAClB,GAAIA,EAAiB,EAAG,CACtB,MAAMt0D,EAAYz+H,KAAKy+H,UAAYu0D,EAAgBv8D,EACnDz2H,KAAKy+H,UAAYj+H,KAAK4M,IAAIqxH,EAAWjmD,OAAOy6G,WAE5C,MAAMv0D,EAAa1+H,KAAK0+H,WAAaq0D,EAAiBt8D,EACtDz2H,KAAK0+H,WAAal+H,KAAK4M,IAAIsxH,EAAYlmD,OAAOy6G,WAGhD,OAIF,IAAIviL,EAAM1Q,KAAKkzL,iBAAiBz8D,EAAcvrG,GAC1C0c,MAAMytC,QAAQ3kE,KAChB1Q,KAAKwvD,iBAAmBxvD,KAAKwvD,iBAAmB9+C,EAAI,GACpD1Q,KAAKyvD,kBAAoBzvD,KAAKyvD,kBAAoB/+C,EAAI,IAIxDA,EAAM1Q,KAAKmzL,gBAAgB18D,EAAcvrG,GACrC0c,MAAMytC,QAAQ3kE,KAChB1Q,KAAKwvD,iBAAmBxvD,KAAKwvD,iBAAmB9+C,EAAI,GACpD1Q,KAAKyvD,kBAAoBzvD,KAAKyvD,kBAAoB/+C,EAAI,IAK1DmiL,wBAEE,MAAMr1D,EAAUx9H,KAAKw9H,QACnB4B,EAAWp/H,KAAKo/H,SAGlB,IAAK,IAAInnI,EAAI,EAAGA,EAAIkkB,+CAAqBQ,OAAOxkB,SAAUF,EAGxD,GAAI+H,KAAKynC,WAAWtrB,+CAAqBQ,OAAO1kB,cAAeyvC,2CAAW,CACxE,MAAM0rJ,EAAKpzL,KAAKynC,WAAWtrB,+CAAqBQ,OAAO1kB,IACvD,GAAW,IAAPm7L,EAAU,SACd,IAAK,MAAMp5L,KAAQ5B,OAAOuT,KAAK6xH,GACzBA,EAAQllI,eAAe0B,IACzBo5L,EAAGnpF,UAAUjwG,GAAM2/E,gBAKvB,IAAK,IAAI05G,EAAM,EAAGA,EAAMj0D,EAASjnI,SAAUk7L,EACzCD,EAAGnpF,UAAUm1B,EAASi0D,IAAM15G,gBAI9By5G,EAAGnpF,UAAH,SAAyBtwB,gBACzBy5G,EAAGnpF,UAAH,OAAuBtwB,gBACvBy5G,EAAGnpF,UAAH,QAAwBtwB,gBACxBy5G,EAAGnpF,UAAH,WAA2BtwB,iBAMjCm5G,qBAAqBr8D,EAAe,GAElC,IAAK,MAAMz8H,KAAQ5B,OAAOuT,KAAK3L,KAAK6oC,UAClC,GAAI7oC,KAAK6oC,SAASvwC,eAAe0B,GAAO,CACtC,MAAM4qC,EAAU5kC,KAAK6oC,SAAS7uC,GAC9B,QAAgB4Q,IAAZg6B,EAAuB,SAC3B,IAAIoqB,EAA8B,KAArB7hD,mEAAa,EAAG,GAC7B,GAAe,IAAX6hD,EAAc,SAGhBhvD,KAAKi/B,OAAS7Z,6CAAWS,gBACzB7lB,KAAKi/B,OAAS7Z,6CAAWY,UACzBhmB,KAAKi/B,OAAS7Z,6CAAWW,WAEzBipC,GAAU,GAEZA,GAAUynE,EACV7xF,EAAQ20C,KAAOvqB,EACfpqB,EAAQ60C,KAAOzqB,EACfpqB,EAAQ60C,IAAMj5E,KAAK4M,IAAIw3B,EAAQ60C,IAAK,OACpC70C,EAAQ20C,IAAM/4E,KAAKoD,IAAIghC,EAAQ20C,IAAK,OAM1C25G,iBAAiBz8D,aAAe,EAAGvrG,aACjC,IAAIkkC,QAAU,EACZC,SAAW,EAIb,GAHArvD,KAAKqyL,6BAGc,WAAfryL,KAAKyvE,MACP,IAAK,IAAIx3E,EAAI,EAAGA,EAAIkkB,+CAAqBQ,OAAOxkB,SAAUF,EAAG,CAC3D,MAAMq2B,EAAOnS,+CAAqBQ,OAAO1kB,GACzC,KAAM+H,KAAKynC,WAAWnZ,aAAiBoZ,4CACrC,SAEF,MAAMzC,EAAYjlC,KAAKynC,WAAWnZ,GAClC,GAAkB,IAAd2W,EACJ,IAAK,MAAMklE,KAAW/xG,OAAOuT,KAAKs5B,EAAUglE,WAC1C,GAAIhlE,EAAUglE,UAAU3xG,eAAe6xG,GAAU,CAC/C,MAAMnmE,EAAMiB,EAAUglE,UAAUE,GAChCnmE,EAAIsvJ,IAAM,GAMlB,IAAK,IAAIr7L,EAAI,EAAGA,EAAIkkB,+CAAqBQ,OAAOxkB,SAAUF,EAAG,CAC3D,MAAMq2B,KAAOnS,+CAAqBQ,OAAO1kB,GACnCgvC,OAASjnC,KAAKgjC,QAAQ1U,MAC5B,GAAe,IAAX2Y,OAAJ,CAEA,GAAIjnC,KAAKynC,WAAWnZ,gBAAiBoZ,2CAAW,CAC9C,MAAMzC,UAAYjlC,KAAKynC,WAAWnZ,MAClC,GAAkB,IAAd2W,UAAiB,SAErB,OAAQjlC,KAAKyvE,OACX,IAAK,WAAY,CAEf,IAAK,MAAM06B,KAAW/xG,OAAOuT,KAAKs5B,UAAUglE,WAAY,CACtD,IAAKhlE,UAAUglE,UAAU3xG,eAAe6xG,GAAU,SAClD,MAAMnmE,EAAMiB,UAAUglE,UAAUE,GAChC,IAAIopF,EAAS,EACTC,EAAS,EACTvuJ,UAAUE,oBAAsB/sC,OAAOuT,KAAK3L,KAAKw9H,SAASpkH,SAAS+wF,KAGvEopF,EAASvvJ,EAAIyB,IAAMtpB,+CAAqBO,mBAAqB+5G,aAE7D+8D,EAAShzL,KAAKyO,OAAOg2B,UAAU9B,KAAO8B,UAAUa,UAAYF,+CAAcukE,IAE1EopF,EAAS/yL,KAAK4M,IAAImmL,EAAQC,GACtBD,EAAS,IACXvvJ,EAAItY,KAAO6nK,EACXlkI,UAAYkkI,EAASvvJ,EAAIG,OAE3BnkC,KAAKwyL,wBAAwBvtJ,YAI/B,MAAMwuJ,EAAkD,GACxD,IAAK,MAAMtpF,KAAW/xG,OAAOuT,KAAKs5B,UAAUglE,WAAY,CACtD,IAAKhlE,UAAUglE,UAAU3xG,eAAe6xG,GAAU,SAClD,IAAKllE,UAAUE,qBAAuB/sC,OAAOuT,KAAK3L,KAAKw9H,SAASpkH,SAAS+wF,GAAU,SACnF,MAAMnmE,EAAMiB,UAAUglE,UAAUE,GAG1Bw0B,EAAS3+H,KAAKw9H,QAAQrzB,GAC5B,QAAev/F,IAAX+zH,EAAsB,MAAM,IAAI7zH,MAAO,WAAUq/F,mBACrDnmE,EAAIyB,IAAMk5F,EAAS15F,UAAUyuJ,iBAC7B,IAAIH,EAASvvJ,EAAIyB,IAAMtpB,+CAAqBO,mBAAqB+5G,aACjE,MAAM+8D,EAAShzL,KAAKyO,OAAOg2B,UAAU9B,KAAO8B,UAAUa,UAAYF,+CAAcukE,IAChFopF,EAAS/yL,KAAK4M,IAAImmL,EAAQC,GACtBD,EAAS,IAAGE,EAAStpF,GAAWopF,GAItC,IAAII,EAAW,KACf,IAAK,MAAMxpF,KAAW/xG,OAAOuT,KAAK8nL,GAAW,CAC3C,MAAMF,EAASE,EAAStpF,GACxB,QAAev/F,IAAX2oL,EAAsB,MAAM,IAAIzoL,MAAO,yCAC3C,MAAM6zH,EAAS3+H,KAAKw9H,QAAQrzB,GAC5B,QAAev/F,IAAX+zH,EAAsB,MAAM,IAAI7zH,MAAO,WAAUq/F,mBACrD,MAAM7lF,EAAMivK,EAAS50D,EACjBr6G,EAAMqvK,IAAUA,EAAWrvK,GAIjC,IAAK,MAAM6lF,KAAW/xG,OAAOuT,KAAK8nL,GAAW,CAC3C,MAAM90D,EAAS3+H,KAAKw9H,QAAQrzB,GAC5B,QAAev/F,IAAX+zH,EAAsB,MAAM,IAAI7zH,MAAO,WAAUq/F,mBACrDspF,EAAStpF,GAAWwpF,EAAWh1D,EAIjC,IAAIi1D,EAAY,EAChB,IAAK,MAAMzpF,KAAW/xG,OAAOuT,KAAK8nL,GAAW,CAC3C,MAAMF,EAASE,EAAStpF,GACxB,QAAev/F,IAAX2oL,EAAsB,MAAM,IAAIzoL,MAAO,yCAC3C8oL,GAAaL,EAAS3tJ,+CAAcukE,GAItC,MAAM0pF,EAAY5uJ,UAAU9B,KAAO8B,UAAUa,SAC7C,GAAI8tJ,EAAYC,EACd,IAAK,MAAM1pF,KAAW/xG,OAAOuT,KAAK8nL,GAAW,CAC3C,MAAMF,EAASE,EAAStpF,GACxB,QAAev/F,IAAX2oL,EAAsB,MAAM,IAAIzoL,MAAO,yCAC3C2oL,EAAStpF,GAAW3pG,KAAKyO,MAAOskL,EAASM,EAAaD,GAK1D,IAAK,MAAMzpF,KAAW/xG,OAAOuT,KAAK8nL,GAAW,CAC3C,IAAKxuJ,UAAUM,wBAAwB4kE,GAAU,SACjD,MAAMnmE,EAAMiB,UAAUglE,UAAUE,GAC1BopF,EAASE,EAAStpF,GACxB,QAAev/F,IAAX2oL,EAAsB,MAAM,IAAIzoL,MAAO,yCAC3C2oL,EAAStpF,GAAW3pG,KAAKoD,IAAI,EAAG2vL,EAASvvJ,EAAItY,KAI/C,IAAK,MAAMy+E,KAAW/xG,OAAOuT,KAAK8nL,GAAW,CAC3C,MAAMzvJ,EAAMiB,UAAUglE,UAAUE,GAC1BopF,EAASE,EAAStpF,GACxB,QAAev/F,IAAX2oL,EAAsB,MAAM,IAAIzoL,MAAO,yCAC3Ck5B,EAAItY,KAAO6nK,EACXlkI,UAAYkkI,EAASvvJ,EAAIG,MAE3B,MAEF,IAAK,aAIH,GAHAc,UAAUyuJ,iBAAmB,EAGzB1zL,KAAKo/H,SAASjnI,OAAS,EAAG,CAC5B,MAAM6rC,EAAMiB,UAAUglE,UAAUjqG,KAAKo/H,SAAS,IAGxC00D,EACJ9zL,KAAK+zL,sBAAsB9sJ,QAC3BjnC,KAAKg+C,SACL9yB,YAAY+5G,0BACZjlI,KAAKilI,0BACP,IAAIvN,EAIFA,EAFE1zF,EAAImG,OAAO,GAEN3pC,KAAK4M,IAAI0mL,EAAS9vJ,EAAImG,OAAO,IAE7B2pJ,EAETp8D,GAAQv7G,+CAAqBO,mBAAqB+5G,aAGlD,IAAIu9D,EAAe,EACnB,IAAK,IAAI3P,EAAM,EAAGA,EAAMrkL,KAAKo/H,SAASjnI,SAAUksL,EAC9C2P,GAAgBpuJ,+CAAc5lC,KAAKo/H,SAASilD,IAE9C,IAAK,MAAM4P,KAAc77L,OAAOuT,KAAK3L,KAAKw9H,SAAU,CAClD,MAAM02D,EAAUl0L,KAAKw9H,QAAQy2D,QACbrpL,IAAZspL,IACJF,GAAgBpuJ,+CAAcquJ,GAAcC,GAG9C,GAAIF,EAAe,EAAG,CACpB,MAAMR,EAAShzL,KAAKyO,OAAOg2B,UAAU9B,KAAO8B,UAAUa,UAAYkuJ,GAClEt8D,EAAOl3H,KAAK4M,IAAIomL,EAAQ97D,GAGtBA,EAAO,IACTA,EAAO,GAITzyF,UAAUyuJ,kBAAoBh8D,GAAQv7G,+CAAqBO,mBAAqB+5G,cAGhF,IAAI09D,EAAiB,EACrB,IAAK,MAAMF,KAAc77L,OAAOuT,KAAK3L,KAAKw9H,SACxC,GAAIx9H,KAAKw9H,QAAQllI,eAAe27L,GAAa,CAC3C,MAAMt1D,EAAS3+H,KAAKw9H,QAAQy2D,GAC5B,QAAerpL,IAAX+zH,EAAsB,SAC1B,MAAM73E,EAAM63E,EAASjH,EACjBzyF,UAAUglE,UAAUgqF,GAAYvoK,IAAMo7B,IACxCqtI,EAAiB3zL,KAAK4M,IAAI+mL,EAAgBlvJ,UAAUglE,UAAUgqF,GAAYvoK,IAAMo7B,IAUtF,GANIqtI,GAAkB,IACpBA,EAAiB,EACjBz8D,EAAO,GAILy8D,EAAiB,GAAKz8D,EAAO,EAAG,CAClC,IAAK,MAAMu8D,KAAc77L,OAAOuT,KAAK3L,KAAKw9H,SAAU,CAClD,MAAMmB,EAAS3+H,KAAKw9H,QAAQy2D,GAC5B,QAAerpL,IAAX+zH,EAAsB,SAC1B,MAAMy1D,EAAkBz1D,EAASjH,EAAOy8D,EACxClvJ,UAAUglE,UAAUgqF,GAAYvoK,KAAO0oK,EACvCnvJ,UAAUglE,UAAUgqF,GAAYxvJ,IAAM,EACtCQ,UAAUglE,UAAUgqF,GAAYxvJ,KAC9B2vJ,GAAmBj4K,+CAAqBO,mBAAqB+5G,cAEjE,IAAK,IAAIt9H,EAAI,EAAGA,EAAI6G,KAAKo/H,SAASjnI,SAAUgB,EAC1C8rC,UAAUglE,UAAUjqG,KAAKo/H,SAASjmI,IAAIuyB,KAAOgsG,EAAOy8D,EACpDlvJ,UAAUglE,UAAUjqG,KAAKo/H,SAASjmI,IAAIkgF,IACpCpyC,OAAOwwF,aAAahzG,kDAAkBE,UAAY,GAClDnkB,KAAKoN,IAAI5N,KAAKyrB,YAAYC,IAAK1rB,KAAKo+H,QACpC59H,KAAKoN,IAAIq3B,UAAUglE,UAAV,QAA+Bv+E,IAAK1rB,KAAK8xL,OAAS,SAG/D,IAAK,MAAMmC,KAAc77L,OAAOuT,KAAK3L,KAAKw9H,SACpCx9H,KAAKw9H,QAAQllI,eAAe27L,KAC9BhvJ,UAAUglE,UAAUgqF,GAAYxvJ,IAAM,GAM5C,MAAM4vJ,EAAW38D,EAAOy8D,GAAmBh4K,+CAAqBO,mBAAqB+5G,cACrF,IAAK,IAAI69D,EAAO,EAAGA,EAAOt0L,KAAKo/H,SAASjnI,SAAUm8L,EAChDrvJ,UAAUglE,UAAUjqG,KAAKo/H,SAASk1D,IAAO7vJ,IAAM4vJ,OAMjD,IAAK,MAAMJ,KAAc77L,OAAOuT,KAAK3L,KAAKw9H,SACxCv4F,UAAUglE,UAAUgqF,GAAYxvJ,IAAM,EAG1C,MAEF,IAAK,OAEH,IAAK,MAAM0lE,WAAW/xG,OAAOuT,KAAKs5B,UAAUglE,WAC1C,GAAIhlE,UAAUglE,UAAU3xG,eAAe6xG,SAAU,CAC/C,MAAMnmE,IAAMiB,UAAUglE,UAAUE,SAChC,GAAInmE,IAAIK,MAAQ,IAAuB,IAAlBL,IAAIU,OAAO,GAAc,CAC5CV,IAAI8qJ,IAAM,EACV,SAIF,MAAMyF,eAAiBv0L,KAAKw0L,kBAAkBvtJ,QACxCwtJ,kBAAoBz0L,KAAK00L,wBAAwB,GACjDC,aAAe30L,KAAK40L,gBAAgB5wJ,KAGpC6wJ,YAAc7wJ,IAAIo1C,iBACxB,IAAI/0C,MACJ,GAAIL,IAAIyG,UAAW,CACjB,MAAMitF,EAAO1zF,IAAIS,IAMXqwJ,EAAYD,YACZE,EAAgBr9D,EAChBs9D,GACHhxJ,IAAIq1C,IAAM,MACXs7G,aACAJ,eACArpK,YAAYs6G,qBACZivD,kBACAz0L,KAAKwlI,qBACDyvD,EAAcz0L,KAAK00L,KAAKH,EAAgBC,GAC9C,IAAIG,EACoB,IAApBH,GAAyC,IAAhBC,EACL,IAAlBF,EACFI,EAAe,GAEfA,EAAenxJ,IAAIG,MAAQ0wJ,YAC3Bx0L,QAAQC,KAAM,kFAGhB60L,EAAeL,EAAYG,EAAcjxJ,IAAIG,MAK/CH,IAAIoxJ,eAAiBD,EAErB9wJ,MAAQ8wJ,OACCnxJ,IAAIuG,UACblG,MAAQL,IAAIG,MAAQ0wJ,YACXnjL,gEAASsyB,IAAIK,QACtBA,MAASL,IAAIK,MAAiBJ,QAAQ,MAAOD,IAAIG,MAAQ,IACzDE,MAAQD,KAAKC,QAEbA,MAAQL,IAAIK,MAId,IAAI+yB,OAAS,EAuBTi+H,QACJ,GAvBIhxJ,MAAQL,IAAIG,MAEVE,MAAQL,IAAIG,MAAQ0wJ,cACtBz9H,OAAS52D,KAAKoN,IAAIinL,aAAexwJ,MAAQL,IAAIG,OAAQ,IAE9CE,MAAQL,IAAIG,QAEnBizB,OADE/yB,OAAS,EACF,KAGAL,IAAIG,MAAQE,OAIzBL,IAAIQ,QACDR,IAAIq1C,IAAM,MACXs7G,aACAv9H,OACAm9H,eACArpK,YAAYs6G,qBACZivD,kBACAz0L,KAAKwlI,qBAEH9zH,gEAASsyB,IAAIU,OAAO,IAAK,CAE3B,IAAI2/I,IAAOrgJ,IAAIU,OAAO,GAAcT,QAAQ,QAASD,IAAIQ,OAAS,IAAIjzB,eACtE8yK,IAAMA,IAAIpgJ,QAAQ,QAASD,IAAIS,IAAM,IACrC,IACE4wJ,QAAUjxJ,KAAKigJ,KACf,MAAO/4J,GACP/hB,4DACE,kDACEy6B,IAAIhqC,KACJ,OACAgG,KAAKhG,KACL,MACAs0B,KALF,iDASF+mK,QAAU,EAEZA,QAAU70L,KAAK4M,IAAI42B,IAAIQ,OAAQ6wJ,cAG/BA,SAF4B,IAAnBrxJ,IAAIU,OAAO,GAEVV,IAAIQ,OAGJhkC,KAAK4M,IAAI42B,IAAIQ,OAAQR,IAAIU,OAAO,IAK5C,GAFA2wJ,QAAUA,QAAUl5K,+CAAqBO,mBAAqB+5G,aAC9D4+D,QAAU70L,KAAK4M,IAAI42B,IAAItY,IAAK2pK,SACxBA,QAAU,EAAG,CACfh1L,QAAQC,KAAM,yCAAwC6pG,cAAc77E,QACpE0V,IAAI8qJ,IAAM,EACV,SAEEuG,SAAWhxJ,OAAS,GACtBL,IAAItY,KAAO2pK,QACXjmI,SAAWimI,QAAUhxJ,MACrBL,IAAI8qJ,IAAMuG,SAAWl5K,+CAAqBO,mBAAqB+5G,eAE/DzyF,IAAI8qJ,IAAM,EAIhB,MAEF,IAAK,SACH,IAAK,MAAM3kF,WAAW/xG,OAAOuT,KAAKs5B,UAAUglE,WAC1C,GAAIhlE,UAAUglE,UAAU3xG,eAAe6xG,SAAU,CAC/C,MAAMnmE,IAAMiB,UAAUglE,UAAUE,SAChCnmE,IAAIsxJ,SAAW,EACf,IAAK,IAAIC,KAAO,EAAGA,KAAOvxJ,IAAInT,IAAI14B,SAAUo9L,KAAM,CAChD,MAAM1kK,IAAMmT,IAAInT,IAAI0kK,MACdC,OAAS3kK,IAAIvM,IAAI2f,QACrB,QACCD,IAAItY,KAAOvP,+CAAqBO,mBAAqB+5G,cAAgB,IAAIllH,eAE5E,IAAI+S,IAAM,EACV,IACEA,IAAM8f,KAAKoxJ,QACX,MAAOlqK,GACP/hB,4DACE,0BACEy6B,IAAIhqC,KACJ,OACAgG,KAAKhG,KACL,MACAs0B,KALF,gCAQEhD,GAEJ,SAEF,GAAI3nB,MAAM2gB,KACR/a,4DACE,uCACEy6B,IAAIhqC,KACJ,OACAgG,KAAKhG,KACL,MACAs0B,KACA,kBARN,CAiBA,GALAhK,IAAMA,IAAMnI,+CAAqBO,mBAAqB+5G,aAElDzyF,IAAItY,IAAMpH,MACZA,IAAM0f,IAAItY,KAEA,IAARpH,IACF,MAEF,IAAK,IAAI+uK,EAAM,EAAGA,EAAMnoK,YAAYM,UAAUrzB,SAAUk7L,EACtD,GAAInoK,YAAYM,UAAU6nK,GAAKr5L,OAAS62B,IAAImZ,IAAK,CAC/C,MAAMyrJ,EAAcvqK,YAAYM,UAAU6nK,GACpCqC,EAAeD,EAAYhuJ,WAAW5W,IAAIvC,MAChD,KAAMonK,aAAwBhuJ,4CAAY,CACxCrnC,QAAQyT,MAAO,mBAAkB2hL,EAAYz7L,QAAQ62B,IAAIvC,QACzD,MAIF,GAAIonK,EAAa5vJ,UAAY4vJ,EAAavyJ,KAGxC,MAAO,CAAC,EAAG,GACN,CACL,MAAMqwJ,EAAShzL,KAAKyO,OAAOymL,EAAavyJ,KAAOuyJ,EAAa5vJ,UAAYF,+CAAcukE,UACtF7lF,IAAM9jB,KAAK4M,IAAIomL,EAAQlvK,KAEzBoxK,EAAazrF,UAAUE,SAASmpF,KAC9BhvK,KAAOnI,+CAAqBO,mBAAqB+5G,cACnDi/D,EAAazrF,UAAUE,SAASz+E,KAAOpH,IACvCoxK,EAAazrF,UAAUE,SAAS9wB,IAAMr1C,IAAIq1C,IAC1Cr1C,IAAItY,KAAOpH,IACX0f,IAAIsxJ,UAAYhxK,IAChBmxK,EAAYjD,wBAAwBkD,GACpC,QAKN1xJ,IAAIsxJ,UAAYn5K,+CAAqBO,mBAAqB+5G,aAI9D,MAEF,IAAK,QACH,MACF,QACEp2H,QAAQyT,MAAO,kBAAiB9T,KAAKyvE,OAGzCzvE,KAAKwyL,wBAAwBvtJ,WAK3BgC,kBAAkBhE,8CACpBjjC,KAAKyrB,YAAYC,KACf,KACAlrB,KAAKoN,IAAIq5B,OAAOwwF,aAAahzG,kDAAkBK,OAAQ,IACvDoG,YAAYu6G,kCACZzlI,KAAKylI,oCAGX,MAAO,CAACr2E,QAASC,UAInB8jI,gBAAgB18D,EAAe,EAAGvrG,GAChC,IAAIkkC,EAAU,EAId,GAAmB,eAAfpvD,KAAKyvE,MACP,IAAK,MAAMgjH,KAAYr6L,OAAOuT,KAAK3L,KAAK6oC,UAAW,CACjD,MAAM6uF,EAAO13H,KAAK6oC,SAAS4pJ,GAC3B,QAAa7nL,IAAT8sH,IACCA,EAAKiG,IAAK,CACb,MAAMrvG,EAAOopG,EAAK1uF,WACZ/B,EAASjnC,KAAKgjC,QAAQ1U,GAC5B,GAAe,IAAX2Y,EAAc,SAGlB,MAAM0uJ,EAAW1uJ,EAAOwwF,aAAahzG,kDAAkBE,UACjDixK,EAAW3uJ,EAAOwwF,aAAahzG,kDAAkBI,YACjDgxK,EAAS5uJ,EAAOwwF,aAAahzG,kDAAkBC,YAC/C6F,EAAQorK,EAAWC,EAAWC,EACpC,GAAItrK,GAAS,EACX,MAIF,MAAMurK,EAAa,EAAIF,GAAY,IAAMrrK,GAEnCgnD,GAAY/wE,KAAKoN,IAAI+nL,EAAU,KAAQn1L,KAAKoN,IAAIioL,EAAQ,KAAQC,EAEtEp+D,EAAK+F,cAAchH,EAAcllD,GAC7BmmD,EAAKkG,MAAQ,KACflG,EAAKmG,cAAc52F,EAAOwwF,aAAcz3H,MAE1C,OAMN,IAAK,MAAMyyL,KAAYr6L,OAAOuT,KAAK3L,KAAK6oC,UACtC,GAAI7oC,KAAK6oC,SAASvwC,eAAem6L,GAAW,CAC1C,MAAM/6D,EAAO13H,KAAK6oC,SAAS4pJ,GACvB/6D,aAAgB5uF,yCAAW4uF,EAAKiG,MAClCvuE,GAAWpvD,KAAK+1L,eAAet/D,EAAciB,EAAMxsG,IAIzD,MAAO,CAACkkC,EA5CS,GAgDnB2mI,eAAet/D,aAAe,EAAG7xF,QAAkB1Z,aACjD,IAAI8qK,YAAc,EAClB,IAAK,IAAI/9L,EAAI,EAAGA,EAAIkkB,+CAAqBQ,OAAOxkB,SAAUF,EAAG,CAC3D,MAAMq2B,KAAOnS,+CAAqBQ,OAAO1kB,GACnCgvC,OAASjnC,KAAKgjC,QAAQ1U,MAC5B,GAAe,IAAX2Y,OAAc,SAClB,MAAMhC,UAAYjlC,KAAKynC,WAAWnZ,MAClC,GAAI2W,qBAAqByC,2CACvB,OAAQ1nC,KAAKyvE,OACX,IAAK,aAAc,CAGjB,MAAMqkH,EACJ9zL,KAAK+zL,sBAAsB9sJ,OAAQ,CAAEgvJ,YAAY,IACjD/qK,YAAY+5G,0BACZjlI,KAAKg+C,SACLh+C,KAAKilI,0BACLjlI,KAAK+tK,iCACP,IAAIr2C,EAIFA,EADE9yF,QAAQuF,OAAO7b,MAAM,GAChB9tB,KAAK4M,IAAI0mL,EAASlvJ,QAAQuF,OAAO7b,MAAM,IAEvCwlK,EAETp8D,GAAQv7G,+CAAqBO,mBAAqB+5G,aAGlD,IAAIy/D,EAAiBtxJ,QAAQ24F,IAC7B,IAAK,MAAM02D,KAAc77L,OAAOuT,KAAKi5B,QAAQ44F,SAC3C,GAAI54F,QAAQ44F,QAAQllI,eAAe27L,GAAa,CAC9C,MAAMC,EAAUtvJ,QAAQ44F,QAAQy2D,GAChCiC,GAAkBtwJ,+CAAcquJ,GAAcC,EAKlD,GAAIgC,EAAiB,EAAG,CACtB,MAAM1C,EAAShzL,KAAKyO,OAAOg2B,UAAU9B,KAAO8B,UAAUa,UAAYowJ,GAClEx+D,EAAOl3H,KAAK4M,IAAIomL,EAAQ97D,GAG1BzyF,UAAUyuJ,kBAAoBh8D,GAAQv7G,+CAAqBO,mBAAqB+5G,cAGhF,IAAI09D,EAAiB,EACrB,IAAK,MAAMF,KAAc77L,OAAOuT,KAAKi5B,QAAQ44F,SAC3C,GAAI54F,QAAQ44F,QAAQllI,eAAe27L,GAAa,CAC9C,MAAMntI,EAAMliB,QAAQ44F,QAAQy2D,GAAcv8D,EACtCzyF,UAAUglE,UAAUgqF,GAAYvoK,IAAMo7B,IACxCqtI,EAAiB3zL,KAAK4M,IAAI+mL,EAAgBlvJ,UAAUglE,UAAUgqF,GAAYvoK,IAAMo7B,IAMtF,GAAIqtI,EAAiB,GAAKz8D,EAAO,EAAG,CAClC,IAAK,MAAMu8D,KAAc77L,OAAOuT,KAAKi5B,QAAQ44F,SAC3C,GAAI54F,QAAQ44F,QAAQllI,eAAe27L,GAAa,CAC9C,MAAMG,EAAkBxvJ,QAAQ44F,QAAQy2D,GAAcv8D,EAAOy8D,EAC7DlvJ,UAAUglE,UAAUgqF,GAAYvoK,KAAO0oK,EACvCnvJ,UAAUglE,UAAUgqF,GAAYxvJ,KAC9B2vJ,GAAmBj4K,+CAAqBO,mBAAqB+5G,cAInE7xF,QAAQjtC,KAAK22B,MAAM,IAAMopG,EAAOy8D,EAIlCvvJ,QAAQjtC,KAAK22B,MAAM,GAAMopG,EAAOy8D,GAAmBh4K,+CAAqBO,mBAAqB+5G,cAC7F,MAEF,IAAK,OAAQ,CAEX7xF,QAAQoqJ,MAAQ,EAChB,IAAK,MAAMiF,KAAc77L,OAAOuT,KAAKi5B,QAAQ44F,SACvC54F,QAAQ44F,QAAQllI,eAAe27L,KACjCrvJ,QAAQoqJ,OAASpqJ,QAAQ44F,QAAQy2D,GAAchvJ,UAAUglE,UAAUgqF,GAAY9vJ,OAKnFS,QAAQoqJ,OAAS7yK,+CAAqBuB,2BAGtC,MAAM62K,eAAiBv0L,KAAKw0L,kBAAkBvtJ,QACxCwtJ,kBAAoBz0L,KAAK00L,wBAAwB,GACjDC,aAAe30L,KAAK40L,gBAAgBhwJ,SAGpCiwJ,YAAcjwJ,QAAQi6F,IAAMj6F,QAAQ00C,IAC1C,IAAIj1C,MACJ,GAAIO,QAAQ6F,UAAW,CACrB,MAAMitF,EAAO9yF,QAAQjtC,KAAK22B,MAAM,GAM1BwmK,EAAYD,YACZE,EAAgBr9D,EAChBs9D,EACJ,GACAx0L,KAAKoN,IAAIg3B,QAAQi6F,IAAK,KACtB81D,aACAzpK,YAAYs6G,qBACZ+uD,eACAE,kBACAz0L,KAAKwlI,qBACDyvD,EAAcz0L,KAAK00L,KAAKH,EAAgBC,GAC9C,IAAIG,EACoB,IAApBH,GAAyC,IAAhBC,EACL,IAAlBF,EACFI,EAAe,GAEfA,EAAevwJ,QAAQoqJ,MAAQ6F,YAC/Bx0L,QAAQC,KAAM,kFAGhB60L,EAAeL,EAAYG,EAAcrwJ,QAAQoqJ,MAInDpqJ,QAAQwwJ,eAAe9mK,MAAQ6mK,EAC/B9wJ,MAAQ8wJ,OACH,GAAIvwJ,QAAQ2F,UACjBlG,MAAQO,QAAQoqJ,MAAQ6F,iBACnB,GAAInjL,gEAASkzB,QAAQP,OAAQ,CAClC,MAAM8xJ,YAAcvxJ,QAAQP,MACR,IAAhBO,QAAQ00C,MACVj5E,QAAQyT,MAAO,iDACf8wB,QAAQ00C,IAAM,GAEhBj1C,MAAQ8xJ,YAAYlyJ,QAAQ,MAAOW,QAAQoqJ,MAAQpqJ,QAAQi6F,IAAMj6F,QAAQ00C,IAAM,IAC/Ej1C,MAAQD,KAAKC,YAEbA,MAAQO,QAAQP,MAGlB,IAAI+yB,OAAS,EAgBTi+H,QACJ,GAhBIhxJ,MAAQO,QAAQoqJ,OACd3qJ,MAAQO,QAAQoqJ,MAAQ6F,cAC1Bz9H,OAASy9H,aAAexwJ,MAAQO,QAAQoqJ,QAI5CpqJ,QAAQJ,OACN,GACAhkC,KAAKoN,IAAIg3B,QAAQi6F,IAAK,KACtB81D,aACAzpK,YAAYs6G,qBACZhlI,KAAKoN,IAAIwpD,OAAQ,GACjBm9H,eACAE,kBACAz0L,KAAKwlI,qBAEH5gG,QAAQF,OAAOpW,MAAM,IAAM5c,gEAASkzB,QAAQF,OAAOpW,MAAM,IAAK,CAEhE,IAAI+1J,IAAMz/I,QAAQF,OAAOpW,MAAM,GAAG2V,QAAQ,QAASW,QAAQJ,OAAS,IAAIjzB,eACxE8yK,IAAMA,IAAIpgJ,QAAQ,QAASW,QAAQjtC,KAAK22B,MAAM,IAC9C,IACE+1J,IAAMjgJ,KAAKigJ,KACX,MAAO/4J,GACP/hB,4DACE,mDACEq7B,QAAQ5qC,KACR,OACAgG,KAAKhG,KACL,MACAs0B,KACA,2CAEJ+1J,IAAMz/I,QAAQJ,OAEhB6wJ,QAAU70L,KAAK4M,IAAIw3B,QAAQJ,OAAQ6/I,UAGnCgR,QAFSzwJ,QAAQF,OAAOpW,MAAM,IAAMsW,QAAQF,OAAOpW,MAAM,GAAK,EAEpD9tB,KAAK4M,IAAIw3B,QAAQJ,OAAQI,QAAQF,OAAOpW,MAAM,KACnB,IAA5BsW,QAAQF,OAAOpW,MAAM,GACpB,EAEAsW,QAAQJ,OAEhB6wJ,QAAU,IACZA,QAAU,GAEZA,QAAUA,QAAUl5K,+CAAqBO,mBAAqB+5G,aAC9D4+D,QAAU70L,KAAK4M,IAAIw3B,QAAQjtC,KAAK22B,MAAM,GAAI+mK,SACtCA,SAAWhxJ,OACbO,QAAQjtC,KAAK22B,MAAM,IAAM+mK,QACzBW,aAAeX,QAAUhxJ,MACzBO,QAAQjtC,KAAK22B,MAAM,GAAK+mK,SAAWl5K,+CAAqBO,mBAAqB+5G,eAE7E7xF,QAAQjtC,KAAK22B,MAAM,GAAK,EAE1B,MAEF,IAAK,QACL,IAAK,WACL,IAAK,SACH,MACF,QACEjuB,QAAQyT,MAAO,kBAAiB9T,KAAKyvE,QAK7C,OAAOumH,YAGT15F,mBAAmB13D,GACjB,IAAK,MAAM2D,KAAenwC,OAAOuT,KAAK3L,KAAK6oC,UACrC7oC,KAAK6oC,SAASvwC,eAAeiwC,IAC3B3D,IAAY5kC,KAAK6oC,SAASN,WACrBvoC,KAAK6oC,SAASN,GAM7Bpe,QAAQA,EAA0B07F,GAChC,MAAM36F,EAAc26F,EAAK36F,YACnB+b,EAAS4+E,EAAK5+E,OACd69F,EAAO36G,EAAQ,GACrB,KAAOnqB,KAAK2jC,SAASxrC,QAAU2sI,GAC7B9kI,KAAK2jC,SAASlrC,KAAK,GAIrB,SAFEuH,KAAK2jC,SAASmhG,GAERA,GACN,KAAK,EAEH,IAAK,IAAI7sI,EAAI,EAAGA,EAAIgvC,EAAOK,UAAUnvC,SAAUF,EAC7CgvC,EAAOK,UAAUrvC,GAAGq/H,IAAM92H,KAAK4M,IAA8B,KAA1B65B,EAAOK,UAAUrvC,GAAGq/H,IAAYrwF,EAAO4vF,QAE5E,MAEF,KAAK,EAAG,CAEN,MAAMyH,EAAUpzG,EAAYi6G,2BAA6BnlI,KAAKmlI,2BACxD1G,GAAaz+H,KAAKy+H,UAAY,EAAIH,IAAY,KAAOA,GAC3Dt+H,KAAKy+H,UAAYj+H,KAAK4M,IAAIqxH,EAAWjmD,OAAOy6G,WAE5C,MAAMv0D,GAAc1+H,KAAK0+H,WAAa,EAAIJ,KAAa,EAAInxH,mEAAa,EAAG,GAAK,KAAOmxH,GACvFt+H,KAAK0+H,WAAal+H,KAAK4M,IAAIsxH,EAAYlmD,OAAOy6G,WAC9C,MAEF,QACE5yL,QAAQyT,MAAO,kCAAiCgxH,IAOtDivD,sBAAsB9sJ,EAAqB3xB,EAAmC,IAC5E,MAAMugL,EAAS5uJ,EAAOwwF,aAAahzG,kDAAkBC,YAC/CixK,EAAW1uJ,EAAOwwF,aAAahzG,kDAAkBE,UACjDixK,EAAW3uJ,EAAOwwF,aAAahzG,kDAAkBI,YACjD0F,EAAQsrK,EAASF,EAAWC,EAElC,GAAIrrK,GAAS,EAAG,OAAO,EAGvB,MAAMurK,EAAa,EAAIF,GAAY,IAAMrrK,GAInCmtG,GAAQl3H,KAAKoN,IAAIioL,EAAQ,IAAOr1L,KAAKoN,IAAI+nL,EAAU,KAAQG,EAKjE,OAAIxgL,GAAUA,EAAO2gL,WAEZ,KAAsBv+D,EAJT,IAMGA,EAK3B88D,kBAAkBvtJ,GAChB,MAAMmvJ,EAAe,EAAInvJ,EAAOwwF,aAAahzG,kDAAkBG,UAE/D,OAAOyxK,yEAA2BD,EAAc,IAAM,KAMxD1B,wBACE,MAAM4B,EAAe91L,KAAKoN,IAAI5N,KAAKy+H,UAAY,EAAGz+H,KAAK+xL,QACjDwE,EAAgB/1L,KAAKoN,IAAI5N,KAAK0+H,WAAa,EAAG1+H,KAAK+xL,QACnDyE,EAA8B,IAAnBx2L,KAAKy+H,UAAkB,IAAOj+H,KAAKoD,KAAK5D,KAAK0+H,WAAa,MAAS1+H,KAAKy+H,UAAW,KAEpG,MAAO,CADUj+H,KAAKoN,IAAI0oL,EAAeC,EAAgBC,EAAU,KACjDF,EAAcC,EAAeC,GAIjD5B,gBAAgB5wJ,GACd,OAAOxjC,KAAKoD,IAAI,GAAMogC,EAAIu1C,KAAO,IAAMv1C,EAAIy1C,KAAQ,KAIrD7wC,YAAY5uC,GACV,OAAiC,IAA1BgG,KAAKypC,WAAWzvC,GAGzBy8L,qBACE,MAAMptJ,EAAe/iB,6CAAsBtmB,KAAKi/B,MAChD,QAAqBr0B,IAAjBy+B,EAA4B,MAAM,IAAIv+B,MAAO,qBAAoB9K,KAAKi/B,SAI1E,GAAI7mC,OAAOuT,KAAK09B,EAAaI,YAAYtxC,SAAWC,OAAOuT,KAAK3L,KAAKypC,YAAYtxC,OAC/E,IAAK,MAAMoxC,KAAYnxC,OAAOuT,KAAK3L,KAAKypC,YACtCJ,EAAaE,SAASA,GAM5B47F,2BACE,MAAM97F,EAAe/iB,6CAAsBtmB,KAAKi/B,MAChD,QAAqBr0B,IAAjBy+B,EAA4B,MAAM,IAAIv+B,MAAO,sBAAqB9K,KAAKi/B,SAE3E,OADAj/B,KAAKy2L,qBACEptJ,EAAa87F,2BAGtBE,2BACE,MAAMh8F,EAAe/iB,6CAAsBtmB,KAAKi/B,MAChD,QAAqBr0B,IAAjBy+B,EAA4B,MAAM,IAAIv+B,MAAO,sBAAqB9K,KAAKi/B,SAE3E,OADAj/B,KAAKy2L,qBACEptJ,EAAag8F,2BAGtBD,2BACE,MAAM/7F,EAAe/iB,6CAAsBtmB,KAAKi/B,MAChD,QAAqBr0B,IAAjBy+B,EAA4B,MAAM,IAAIv+B,MAAO,sBAAqB9K,KAAKi/B,SAE3E,OADAj/B,KAAKy2L,qBACEptJ,EAAa+7F,2BAGtBG,2BACE,MAAMl8F,EAAe/iB,6CAAsBtmB,KAAKi/B,MAChD,QAAqBr0B,IAAjBy+B,EAA4B,MAAM,IAAIv+B,MAAO,sBAAqB9K,KAAKi/B,SAE3E,OADAj/B,KAAKy2L,qBACEptJ,EAAak8F,2BAGtBD,2BACE,MAAMj8F,EAAe/iB,6CAAsBtmB,KAAKi/B,MAChD,QAAqBr0B,IAAjBy+B,EAA4B,MAAM,IAAIv+B,MAAO,sBAAqB9K,KAAKi/B,SAE3E,OADAj/B,KAAKy2L,qBACEptJ,EAAai8F,2BAGtBL,0BACE,MAAM57F,EAAe/iB,6CAAsBtmB,KAAKi/B,MAChD,QAAqBr0B,IAAjBy+B,EAA4B,MAAM,IAAIv+B,MAAO,sBAAqB9K,KAAKi/B,SAE3E,OADAj/B,KAAKy2L,qBACEptJ,EAAa47F,0BAGtB8oC,iCACE,MAAM1kI,EAAe/iB,6CAAsBtmB,KAAKi/B,MAChD,QAAqBr0B,IAAjBy+B,EAA4B,MAAM,IAAIv+B,MAAO,sBAAqB9K,KAAKi/B,SAE3E,OADAj/B,KAAKy2L,qBACEptJ,EAAa0kI,iCAGtBvoC,qBACE,MAAMn8F,EAAe/iB,6CAAsBtmB,KAAKi/B,MAChD,QAAqBr0B,IAAjBy+B,EAA4B,MAAM,IAAIv+B,MAAO,sBAAqB9K,KAAKi/B,SAE3E,OADAj/B,KAAKy2L,qBACEptJ,EAAam8F,qBAGtBC,kCACE,MAAMp8F,EAAe/iB,6CAAsBtmB,KAAKi/B,MAChD,QAAqBr0B,IAAjBy+B,EAA4B,MAAM,IAAIv+B,MAAO,sBAAqB9K,KAAKi/B,SAE3E,OADAj/B,KAAKy2L,qBACEptJ,EAAao8F,kCAGtBr7B,uBACE,MAAM/gE,EAAe/iB,6CAAsBtmB,KAAKi/B,MAChD,QAAqBr0B,IAAjBy+B,EAA4B,MAAM,IAAIv+B,MAAO,sBAAqB9K,KAAKi/B,SAE3E,OADAj/B,KAAKy2L,qBACEptJ,EAAa+gE,uBAMtB/vF,SACE,OAAO5O,0DAAe,WAAYzL,MAMrB,gBAACvF,GACd,OAAOoR,0DAAiBi3B,SAAUroC,EAAM9C,OAI5CoE,kDAAQqP,aAAa03B,SAAWA,U,6BC95CzB,SAASuzJ,EAA2Bp7L,EAAWy7L,EAAgBC,GAQpE,OAPID,GAAU,GAAKA,GAAU,IAC3Br2L,QAAQC,KAAM,yBAAwBo2L,2CAEpCC,EAAY,GACdt2L,QAAQC,KAAM,oBAAmBq2L,2CAG5Bn2L,KAAKoN,IAAI3S,EAAGy7L,GAAUz7L,EAAI07L,EAtBnC,mC,mGCsBO,MAAM5+D,EAeXh4H,YAAYuV,EAAkB,I,YAAI,K,EAAA,mB,EAJf6G,IAAqB0B,uB,6FAKtC7d,KAAKhG,KAAOsb,EAAOtb,KAAOsb,EAAOtb,KAAO,QAGxCgG,KAAKo3H,IAAM9hH,EAAOshL,OAASthL,EAAOshL,OAASzpL,YAAa,GAAI,KAC5DnN,KAAKq3H,IAAM/hH,EAAOuhL,UAAYvhL,EAAOuhL,UAAY1pL,YAAa,GAAI,KAClEnN,KAAKs3H,IAAMhiH,EAAOwhL,OAASxhL,EAAOwhL,OAAS3pL,YAAa,GAAI,KAE5DnN,KAAKozB,IAAM9d,EAAOmc,aAAenc,EAAOmc,aAAetkB,YAAa,GAAI,IACxEnN,KAAKmzB,IAAM7d,EAAOgB,SAAWhB,EAAOgB,SAAWnJ,YAAa,GAAI,IAChEnN,KAAK6wB,IAAMvb,EAAOo8D,WAAap8D,EAAOo8D,WAAavkE,YAAa,GAAI,IACpEnN,KAAK63H,IAAMviH,EAAO0iH,WAAa1iH,EAAO0iH,WAAa7qH,YAAa,GAAI,IACpEnN,KAAK8mF,IAAMxxE,EAAO2iH,WAAa3iH,EAAO2iH,WAAa9qH,YAAa,GAAI,IACpEnN,KAAK83H,IAAMxiH,EAAO4iH,OAAS5iH,EAAO4iH,OAAS/qH,YAAa,GAAK,GAE7DnN,KAAKkjC,IAAM5tB,EAAO4tB,IAAM5tB,EAAO4tB,IAAM,GACrCljC,KAAKu0B,IAAM9P,IAAkBM,WAI/BiF,QAAQysG,EAAe,EAAGxvF,GACxB,MAAMw+C,EAAO,KAAQgxC,EACnBsgE,EAAMtxG,EAAOjlF,KAAK0O,SACpBlP,KAAK6wB,KAAO40D,EAGZ,MAAMuxG,EAAcvxG,EAAOjlF,KAAK0O,SAC5BlP,KAAKu0B,MAAQ9P,IAAkBtE,WAEjCngB,KAAKmzB,KAAO6jK,EACZh3L,KAAK6wB,KAAOmmK,EACZh3L,KAAK8mF,KAAOkwG,GAGdh3L,KAAKs3H,KAAOy/D,EACZ/2L,KAAKq3H,KAAO0/D,EAER/2L,KAAKs3H,IAAMrwF,EAAOspJ,SACpBvwL,KAAKs3H,IAAMrwF,EAAOspJ,QAEhBvwL,KAAKq3H,IAAMpwF,EAAOupJ,SACpBxwL,KAAKq3H,IAAMpwF,EAAOupJ,QAGpB,OADexwL,KAAK83H,IAAMrB,EAAet6G,IAAqBO,mBAIhEi7G,sBAAsBzsG,EAA2B2X,GAC/C,MAAMo0J,EAASj3L,KAAK63H,IAAM3sG,EAAYk6G,2BAA6BviG,EAASuiG,2BAC1E9iD,EAAStiF,KAAKmzB,IAAMjI,EAAYm6G,2BAA6BxiG,EAASwiG,2BACtE9hD,EAASvjF,KAAKozB,IAAMlI,EAAYo6G,2BAA6BziG,EAASyiG,2BACtE4xD,EAASl3L,KAAK8mF,IAAM57D,EAAYq6G,2BAA6B1iG,EAAS0iG,2BAClE4xD,EAAWn3L,KAAKo3H,IAAMp3H,KAAKq3H,IAAMr3H,KAAKs3H,IAAM,KAClD,IAAIt5E,EAAW,EACf,OAAQh+C,KAAKu0B,KAGX,KAAK9P,IAAkBC,WACrBs5B,EAAW,GAAMulC,EAAS,GAAMjB,EAAStiF,KAAK6wB,IAAM,GAAMomK,EAASC,EACnE,MACF,KAAKzyK,IAAkBE,SACrBq5B,EAAWulC,EAAS,GAAMjB,EAAS,IAAMtiF,KAAK6wB,IAAMqmK,EACpD,MACF,KAAKzyK,IAAkBG,SACrBo5B,EAAW,GAAMulC,EAASjB,EAAS,GAAMtiF,KAAK6wB,IAC9C,MACF,KAAKpM,IAAkBI,WACrBm5B,EAAW,EAAIskC,EAAStiF,KAAK6wB,IAAM,GAAMomK,EAAS,GAAMC,EACxD,MACF,KAAKzyK,IAAkBK,MACrBk5B,EAAW,IAAMulC,EAAS,GAAMvjF,KAAK6wB,IAAMomK,EAAS,GAAMC,EAC1D,MACF,KAAKzyK,IAAkBM,WACvB,KAAKN,IAAkBtE,SACrB69B,EAAW,EACX,MACF,QACE39C,QAAQyT,MAAO,8BAA6B9T,KAAKu0B,KAGrD,OAAO4iK,EAAWn5I,EAIpBzW,WAAWvrC,GACT,MAAM80B,EAAO,EAAI90B,EAAQ,IAKzB,OAJAgE,KAAKo3H,KAAOtmG,EACZ9wB,KAAKo3H,IAAM52H,KAAK4M,IAAI,IAAKpN,KAAKo3H,KAC9Bp3H,KAAKq3H,KAAOvmG,EACZ9wB,KAAKq3H,IAAM72H,KAAK4M,IAAI,IAAKpN,KAAKq3H,KACvBvmG,EAGTzW,SACE,OAAO5O,YAAe,WAAYzL,MAGrB,gBAACvF,GACd,OAAOoR,YAAiBksH,EAAUt9H,EAAM9C,OAI5CoE,IAAQqP,aAAa2sH,SAAWA,G,6BC3IhC,8CAYO,MAAM6G,EAAkC,CAC7C,CAACx5G,IAAWM,MAAO,CACjBo5G,QAAS,GACTE,WAAY,GACZE,WAAY,IAEd,CAAC95G,IAAWO,SAAU,CACpBm5G,QAAS,GACTE,WAAY,GACZC,YAAa,GACbC,WAAY,IAEd,CAAC95G,IAAWS,gBAAiB,CAC3Bi5G,QAAS,GACTC,YAAa,GACbC,WAAY,GACZC,YAAa,GACbE,SAAU,IAEZ,CAAC/5G,IAAWU,UAAW,CACrBg5G,QAAS,IACTC,YAAa,IACbC,WAAY,IACZC,YAAa,GACbC,WAAY,IACZC,SAAU,IAEZr5G,SAAU,CAERg5G,QAAS,IACTC,YAAa,IACbC,WAAY,IACZC,YAAa,GACbC,WAAY,IACZC,SAAU,IAEZ,CAAC/5G,IAAWW,UAAW,CACrB+4G,QAAS,GACTC,YAAa,GACbC,WAAY,GACZC,YAAa,GACbC,WAAY,GACZC,SAAU,IAEZ,CAAC/5G,IAAWY,UAAW,CACrB84G,QAAS,GACTC,YAAa,GACbE,YAAa,GACbD,WAAY,GACZG,SAAU,IAEZ,CAAC/5G,IAAWa,YAAa,CACvB64G,QAAS,GACTC,YAAa,GACbC,WAAY,GACZC,YAAa,GACbE,SAAU,IAEZ,CAAC/5G,IAAWc,YAAa,CACvB44G,QAAS,GACTE,WAAY,IACZC,YAAa,GACbC,WAAY,IACZC,SAAU,M,6BCzEd,8HA4CO,SAAS6V,EAAkBnqI,EAAiBooI,GACjD,MAAMmkD,EAAsB,SAAUluI,GACpC,IAAKr+C,EAAOgnB,WAAW3D,IAASqgF,SAASv0G,MACvC,MAAMi5I,EAAO3C,oBAAqB,YAAWpnF,EAAII,SAAa,kCAGlE,MAAO,CACLuW,WAAY,CACV2mC,oBACGt9C,GACAmuI,IACC,MAAM/iL,EAAQ40C,EAAI+pF,OAAO9vI,OAAO,QAASk0L,GAEzC,OADAD,EAAoBluI,GACbs9C,YAAoBlyF,IAE/BmyF,oBACGv9C,GACAouI,IACC,MAAMx3H,EAAM5W,EAAI+pF,OAAO9vI,OAAO,MAAOm0L,GAErC,OADAF,EAAoBluI,GACbu9C,YAAoB3mC,IAE/B4mC,gBACGx9C,GACD,CAACknI,EAAkBmH,KACjB,MAAMj/D,EAASpvE,EAAI+pF,OAAO9vI,OAAO,SAAUitL,GACrCvlL,EAASq+C,EAAI+pF,OAAOpoI,OAAO0sL,GAEjC,OADAH,EAAoBluI,GACbw9C,YAAgB4xB,EAAQztH,KAGrCmzE,OAAQ,CACNptD,eACGs4B,GACD,CAACsuI,EAAeC,EAAiB,KAC/B,MAAM5mK,EAAMq4B,EAAI+pF,OAAO9vI,OAAO,MAAOq0L,GAC/B1mK,EAAOo4B,EAAI+pF,OAAO9vI,OAAO,OAAQs0L,GAEvC,OADAL,EAAoBluI,GACbt4B,YAAeC,EAAKC,IAE/BmgD,aACG/nB,GACD,CAACwuI,EAAiBD,EAAiB,KACjC,MAAMvmH,EAAQhoB,EAAI+pF,OAAO9vI,OAAO,QAASu0L,GACnC5mK,EAAOo4B,EAAI+pF,OAAO9vI,OAAO,OAAQs0L,GAEvC,OADAL,EAAoBluI,GACb+nB,YAAaC,EAAOpgD,KAGjC9a,QAAS,CACP2wF,WACGz9C,GACD,CAACyuI,EAAkBJ,KACjB,MAAMvrL,EAASk9C,EAAI+pF,OAAOjnI,OAAO2rL,GAC3B9sL,EAASq+C,EAAI+pF,OAAOpoI,OAAO0sL,GAEjC,OADAH,EAAoBluI,GACb1H,YAAuBx1C,EAAQnB,IAE1C8mC,QACGuX,GACD,CAACyuI,EAAkBJ,KACjB,MAAMvrL,EAASk9C,EAAI+pF,OAAOjnI,OAAO2rL,GAC3B9sL,EAASq+C,EAAI+pF,OAAOpoI,OAAO0sL,GAEjC,OADAH,EAAoBluI,GACbtH,YAAwB51C,EAAQnB,IAE3C+7F,YACG19C,GACD,CAACyuI,EAAkBJ,KACjB,MAAMvrL,EAASk9C,EAAI+pF,OAAOjnI,OAAO2rL,GAC3B9sL,EAASq+C,EAAI+pF,OAAOpoI,OAAO0sL,GAEjC,OADAH,EAAoBluI,GACbnH,YAA4B/1C,EAAQnB,IAE/Cg8F,YACG39C,GACD,CAACyuI,EAAkBriD,EAAmBiiD,EAAkB1hD,EAAkB,KACxE,MAAM7pI,EAASk9C,EAAI+pF,OAAOjnI,OAAO2rL,GAC3B9sL,EAASq+C,EAAI+pF,OAAOpoI,OAAO0sL,GAC3BnuI,EAAUF,EAAI+pF,OAAO9vI,OAAO,UAAWmyI,GACvC7sH,EAAQygC,EAAI+pF,OAAO9vI,OAAO,QAAS0yI,GAEzC,OADAuhD,EAAoBluI,GACbiV,YAAsBnyD,EAAQo9C,EAASv+C,EAAQ4d,IAE1Dq+E,SACG59C,GACD,CAACyuI,EAAkBJ,KACjB,MAAMvrL,EAASk9C,EAAI+pF,OAAOjnI,OAAO2rL,GAC3B9sL,EAASq+C,EAAI+pF,OAAOpoI,OAAO0sL,GAEjC,OADAH,EAAoBluI,GAC0B,IAAvChH,YAAqBl2C,EAAQnB,IAExCk8F,SACG79C,GACD,CAACyuI,EAAkBJ,KACjB,MAAMvrL,EAASk9C,EAAI+pF,OAAOjnI,OAAO2rL,GAC3B9sL,EAASq+C,EAAI+pF,OAAOpoI,OAAO0sL,GAEjC,OADAH,EAAoBluI,GACuB,IAApC9G,YAAkBp2C,EAAQnB,IAErCm8F,WACG99C,GACD,CAACyuI,EAAkBJ,KACjB,MAAMvrL,EAASk9C,EAAI+pF,OAAOjnI,OAAO2rL,GAC3B9sL,EAASq+C,EAAI+pF,OAAOpoI,OAAO0sL,GAEjC,OADAH,EAAoBluI,GACyB,IAAtC7G,YAAoBr2C,EAAQnB,KAGzCmc,aAAc,CACZigF,cACG/9C,GACD,CAACykI,EAAiBt1C,EAAexC,EAAiB4hD,EAAiB,KACjE,MAAMz9K,EAAQkvC,EAAI+pF,OAAO9vI,OAAO,QAASwqL,GACnCrlK,EAAM4gC,EAAI+pF,OAAO9vI,OAAO,MAAOk1I,GAC/B5vH,EAAQygC,EAAI+pF,OAAO9vI,OAAO,QAAS0yI,GACnC/kH,EAAOo4B,EAAI+pF,OAAO9vI,OAAO,OAAQs0L,GAEvC,OADAL,EAAoBluI,GACbghC,YAAuBlwE,EAAOsO,EAAKG,EAAOqI,IAErDo2E,iBACGh+C,GACD,CAAC0uI,EAAyBC,EAAwB,EAAGC,EAAqB,KACxE,MAAM3yH,EAAgBjc,EAAI+pF,OAAO9vI,OAAO,gBAAiBy0L,GACnDxyH,EAAclc,EAAI+pF,OAAO9vI,OAAO,cAAe00L,GAC/Cl6I,EAAWuL,EAAI+pF,OAAO9vI,OAAO,WAAY20L,GAE/C,OADAV,EAAoBluI,GACbnhC,YAA0Bo9C,EAAeC,EAAaznB,IAEjEwpD,eACGj+C,GACD,CAAC6uI,EAAuBF,EAAwB,EAAGC,EAAqB,KACtE,MAAMxyH,EAAcpc,EAAI+pF,OAAO9vI,OAAO,cAAe40L,GAC/C3yH,EAAclc,EAAI+pF,OAAO9vI,OAAO,cAAe00L,GAC/Cl6I,EAAWuL,EAAI+pF,OAAO9vI,OAAO,WAAY20L,GAE/C,OADAV,EAAoBluI,GACb/gC,YAAwBm9C,EAAaF,EAAaznB,IAE7DypD,gBACGl+C,GACD,CAAC8uI,EAAwBC,EAAuB,EAAGH,EAAqB,KACtE,MAAM3tG,EAAejhC,EAAI+pF,OAAO9vI,OAAO,eAAgB60L,GACjDE,EAAahvI,EAAI+pF,OAAO9vI,OAAO,aAAc80L,GAC7Ct6I,EAAWuL,EAAI+pF,OAAO9vI,OAAO,WAAY20L,GAE/C,OADAV,EAAoBluI,GACb1gC,YAAyB2hE,EAAc+tG,EAAYv6I,IAE9D0pD,gBACGn+C,GACD,CAAC4vF,EAAa2+C,KACZ,MAAMx8L,EAAIiuD,EAAI+pF,OAAO9vI,OAAO,IAAK21I,GAC3BhoH,EAAOo4B,EAAI+pF,OAAO9vI,OAAO,OAAQs0L,GAEvC,OADAL,EAAoBluI,GACbxhC,YAAkBzsB,EAAG61B,IAEhCw2E,UAAYp+C,GAA0B,KACpCkuI,EAAoBluI,GACb9wD,OAAOoH,OAAO,GAAI4e,OAG7BmpF,eAAgB,CACdC,aACGt+C,GACD,CAACykI,EAAiBwK,EAAmBC,EAAkBviD,EAAiB4hD,EAAiB,KACvF,MAAMz9K,EAAQkvC,EAAI+pF,OAAO9vI,OAAO,QAASwqL,GACnCrvI,EAAU4K,EAAI+pF,OAAO9vI,OAAO,UAAWg1L,GACvCxqL,EAASu7C,EAAI+pF,OAAO9vI,OAAO,SAAUi1L,GACrC3vK,EAAQygC,EAAI+pF,OAAO9vI,OAAO,QAAS0yI,GACnC/kH,EAAOo4B,EAAI+pF,OAAO9vI,OAAO,OAAQs0L,GAEvC,OADAL,EAAoBluI,GACbmvI,YAAwBr+K,EAAOskC,EAAS3wC,EAAQ8a,EAAOqI,IAElEo2E,iBACGh+C,GACD,CAAC0uI,EAAyBC,EAAwB,EAAGC,EAAqB,KACxE,MAAM3yH,EAAgBjc,EAAI+pF,OAAO9vI,OAAO,gBAAiBy0L,GACnDxyH,EAAclc,EAAI+pF,OAAO9vI,OAAO,cAAe00L,GAC/Cl6I,EAAWuL,EAAI+pF,OAAO9vI,OAAO,WAAY20L,GAE/C,OADAV,EAAoBluI,GACbovI,YAA4BnzH,EAAeC,EAAaznB,IAEnEwpD,eACGj+C,GACD,CAAC6uI,EAAuBF,EAAwB,EAAGC,EAAqB,KACtE,MAAMxyH,EAAcpc,EAAI+pF,OAAO9vI,OAAO,cAAe40L,GAC/C3yH,EAAclc,EAAI+pF,OAAO9vI,OAAO,cAAe00L,GAC/Cl6I,EAAWuL,EAAI+pF,OAAO9vI,OAAO,WAAY20L,GAE/C,OADAV,EAAoBluI,GACbqvI,YAA0BjzH,EAAaF,EAAaznB,IAE/DypD,gBACGl+C,GACD,CAAC8uI,EAAwBC,EAAuB,EAAGH,EAAqB,KACtE,MAAM3tG,EAAejhC,EAAI+pF,OAAO9vI,OAAO,eAAgB60L,GACjDE,EAAahvI,EAAI+pF,OAAO9vI,OAAO,aAAc80L,GAC7Ct6I,EAAWuL,EAAI+pF,OAAO9vI,OAAO,WAAY20L,GAE/C,OADAV,EAAoBluI,GACbsvI,YAA2BruG,EAAc+tG,EAAYv6I,IAEhE8pD,iBACGv+C,GACD,CAACuvI,EAAyBC,EAAuB,KAC/C,MAAM/yH,EAAgBzc,EAAI+pF,OAAO9vI,OAAO,gBAAiBs1L,GACnDE,EAAazvI,EAAI+pF,OAAO9vI,OAAO,aAAcu1L,GAEnD,OADAtB,EAAoBluI,GACb0vI,YAA4BjzH,EAAegzH,IAEtDjxF,gBACGx+C,GACD,CAAC2iI,EAAmB8B,KAClB,MAAM5iK,EAAUkoH,EAAO/7E,OAAO,kBAAmB,UAAW20H,GACtD7xK,EAAQkvC,EAAI+pF,OAAO9vI,OAAO,QAASwqL,GACzCyJ,EAAoBluI,GACpB,MAAMj+B,EAAMpgB,EAAO6e,YAAYusG,WAAWlrG,GAC1C,IAAKE,EACH,MAAMgoH,EAAO3C,oBACX,mDACC,yBAAwBvlH,GAG7B,OAAOE,EAAIxS,QAAQuB,IAEvB2tF,kBACGz+C,GACD,CAAC4vF,EAAa2+C,EAAiB,KAC7B,MAAMx8L,EAAIiuD,EAAI+pF,OAAO9vI,OAAO,IAAK21I,GAC3BhoH,EAAOo4B,EAAI+pF,OAAO9vI,OAAO,OAAQs0L,GAEvC,OADAL,EAAoBluI,GACb2vI,YAAsB59L,EAAG61B,IAEpCw2E,UAAYp+C,GAA0B,KACpCkuI,EAAoBluI,GACb9wD,OAAOoH,OAAO,GAAI8f,OAG7B6Q,KAAM,CACJy3E,cACG1+C,GACA4vI,IACC,MAAM3oK,EAAO+4B,EAAI+pF,OAAO9iH,KAAK2oK,GAE7B,OADA1B,EAAoBluI,GACb6wB,YAAuB5pD,IAElC03E,YACG3+C,GACD,CAAC4vI,EAAgBC,EAAkBC,KACjC,MAAM7oK,EAAO+4B,EAAI+pF,OAAO9iH,KAAK2oK,GACvB1pL,EAAS85C,EAAI+pF,OAAOmB,WAAW2kD,GAC/B5+G,EAAOjxB,EAAI+pF,OAAOqB,SAAS0kD,GAEjC,OADA5B,EAAoBluI,GACbgxB,YAAqB/pD,EAAM/gB,EAAQ+qE,IAE9C2tB,gBACG5+C,GACD,CAAC4vI,EAAgBC,EAAkBC,KACjC,MAAM7oK,EAAO+4B,EAAI+pF,OAAO9iH,KAAK2oK,GACvB1pL,EAAS85C,EAAI+pF,OAAOmB,WAAW2kD,GAC/B5+G,EAAOjxB,EAAI+pF,OAAOqB,SAAS0kD,GAEjC,OADA5B,EAAoBluI,GACb6xB,YAAyB5qD,EAAM/gB,EAAQ+qE,IAElDv6C,UACGspB,GACD,CAAC4vI,EAAgBC,EAAkBC,KACjC,MAAM7oK,EAAO+4B,EAAI+pF,OAAO9iH,KAAK2oK,GACvB1pL,EAAS85C,EAAI+pF,OAAOmB,WAAW2kD,GAC/B5+G,EAAOjxB,EAAI+pF,OAAOqB,SAAS0kD,GAEjC,OADA5B,EAAoBluI,GACbiyB,YAAmBhrD,EAAM/gB,EAAQ+qE,IAE5C4tB,oBACG7+C,GACAsuI,IACC,MAAM3mK,EAAMq4B,EAAI+pF,OAAO9vI,OAAO,MAAOq0L,GAErC,OADAJ,EAAoBluI,GACbmyB,YAA6BxqD,IAExCm3E,oBACG9+C,GACA+vI,IACC,MAAM19G,EAASryB,EAAI+pF,OAAO9vI,OAAO,SAAU81L,GAE3C,OADA7B,EAAoBluI,GACboyB,YAAuBC,Q,6BCtUxC,mGAgBO,SAAS05D,EAAqBpqI,EAAiBy4C,GAIpD,MAAM41I,EAAoB,SAAUhwI,GAClC,IAAKr+C,EAAOwlB,cACV,MAAM64B,EAAIonF,oBAAqB,yCAAwCpnF,EAAII,cAE7E,IAAKz+C,EAAOylB,gBACV,MAAM44B,EAAIonF,oBAAqB,6CAA4CpnF,EAAII,eAI7E6vI,EAAqB,SAAUjwI,EAAuBxF,GAC1D,MAAMN,EAAQD,IAAiBO,GAC/B,GAAa,MAATN,EACF,MAAM8F,EAAIonF,oBAAqB,0BAAyB5sF,MAG1D,OAAON,GAGT,MAAO,CACL4uC,WAAa9oC,GAA0B,KACrCgwI,EAAkBhwI,GACX9wD,OAAO0gC,OAAOgnB,MAEvBmyC,SACG/oC,GACAkwI,IACC,MAAM11I,EAASwF,EAAI+pF,OAAO/7E,OAAO,SAAUkiI,GAC3CF,EAAkBhwI,GAGlB,OAFciwI,EAAmBjwI,EAAKxF,GAEzBrgB,OAEjB0hC,YACG7b,GACAkwI,IACC,MAAM11I,EAASwF,EAAI+pF,OAAO/7E,OAAO,SAAUkiI,GAC3CF,EAAkBhwI,GAGlB,OAFciwI,EAAmBjwI,EAAKxF,GAEzBqhB,eAEjBC,YACG9b,GACAkwI,IACC,MAAM11I,EAASwF,EAAI+pF,OAAO/7E,OAAO,SAAUkiI,GAC3CF,EAAkBhwI,GAGlB,OAFciwI,EAAmBjwI,EAAKxF,GAEzBshB,eAEjBktB,YACGhpC,GACAkwI,IACC,MAAM11I,EAASwF,EAAI+pF,OAAO/7E,OAAO,SAAUkiI,GAC3CF,EAAkBhwI,GAClB,MAAM9F,EAAQD,IAAiBO,GAC/B,GAAa,MAATN,EACF,MAAM8F,EAAIonF,oBAAqB,yBAAwB5sF,GAEzD,MAAO,CAACN,EAAM4gB,aAAc5gB,EAAM6gB,YAAa7gB,EAAM8gB,kBAAmB9gB,EAAM+gB,mBAElFguB,aACGjpC,GACAkwI,IACC,MAAM11I,EAASwF,EAAI+pF,OAAO/7E,OAAO,SAAUkiI,GAC3CF,EAAkBhwI,GAGlB,OAFciwI,EAAmBjwI,EAAKxF,GAEzB8gB,WAEjB4tB,gBACGlpC,GACD,CAACkwI,EAAkBC,EAAkBC,KACnC,MAAM51I,EAASwF,EAAI+pF,OAAO/7E,OAAO,SAAUkiI,GAC3C,IAAI/1I,EAAS6F,EAAI+pF,OAAO9vI,OAAO,SAAUk2L,GACzC,MAAM/wF,EAAUp/C,EAAI+pF,OAAO/7E,OAAO,UAAWoiI,GAC7CJ,EAAkBhwI,GAClB,MAAM9F,EAAQ+1I,EAAmBjwI,EAAKxF,GAGtC,IAAInvB,EAFJ8uB,EAAS7iD,KAAKsjB,MAAMu/B,GAGpB,MAAMk2I,EAAmBjxF,EAAQt2E,cACjC,GAAIunK,EAAiBngL,SAAS,KAC5Bmb,EAAM0X,IAAcuZ,SACf,KAAI+zI,EAAiBngL,SAAS,KAGnC,OAAOrY,IAFPwzB,EAAM0X,IAAcqZ,MAKtB,MAAM50C,EAAM23F,YAAsBjlD,EAAOC,EAAQ9uB,GACjD,OAAW,MAAP7jB,EACK3P,IAGF2P,GAEX2hF,YACGnpC,GACD,CAACkwI,EAAkBC,EAAkBC,KACnC,MAAM51I,EAASwF,EAAI+pF,OAAO/7E,OAAO,SAAUkiI,GAC3C,IAAI/1I,EAAS6F,EAAI+pF,OAAO9vI,OAAO,SAAUk2L,GACzC,MAAM/wF,EAAUp/C,EAAI+pF,OAAO/7E,OAAO,UAAWoiI,GAC7CJ,EAAkBhwI,GAClB,MAAM9F,EAAQ+1I,EAAmBjwI,EAAKxF,GAGtC,IAAInvB,EAFJ8uB,EAAS7iD,KAAKsjB,MAAMu/B,GAGpB,MAAMk2I,EAAmBjxF,EAAQt2E,cACjC,GAAIunK,EAAiBngL,SAAS,KAC5Bmb,EAAM0X,IAAcuZ,SACf,KAAI+zI,EAAiBngL,SAAS,KAGnC,OAAO,EAFPmb,EAAM0X,IAAcqZ,MAKtB,MAAM50C,EAAM63F,YAAuBnlD,EAAOC,EAAQ9uB,GAClD,OAAW,MAAP7jB,EACK,EAGFA,GAEX+0B,IACGyjB,GACD,CAACkwI,EAAkBC,KACjB,MAAM31I,EAASwF,EAAI+pF,OAAO/7E,OAAO,SAAUkiI,GACrC/1I,EAAS6F,EAAI+pF,OAAO9vI,OAAO,SAAUk2L,GAC3CH,EAAkBhwI,GAClB,MAAM9F,EAAQ+1I,EAAmBjwI,EAAKxF,GAEtC,OADYzH,YAASmH,EAAOC,EAAQC,EAAc,IACrCF,EAAM2hB,cAAgB,GAEvCutB,KACGppC,GACD,CAACkwI,EAAkBC,KACjB,MAAM31I,EAASwF,EAAI+pF,OAAO/7E,OAAO,SAAUkiI,GACrC/1I,EAAS6F,EAAI+pF,OAAO9vI,OAAO,SAAUk2L,GAC3CH,EAAkBhwI,GAClB,MAAM9F,EAAQ+1I,EAAmBjwI,EAAKxF,GAGtC,OAFY/G,YAAUyG,EAAOC,EAAQC,EAAc,IAEtCF,EAAM4hB,cAAgB,GAEvCutB,MACGrpC,GACD,CAACkwI,EAAkBC,KACjB,MAAM31I,EAASwF,EAAI+pF,OAAO/7E,OAAO,SAAUkiI,GACrC/1I,EAAS6F,EAAI+pF,OAAO9vI,OAAO,SAAUk2L,GAE3C,GADAH,EAAkBhwI,GACM,IAApBr+C,EAAO+b,UACL/b,EAAOgc,cAAc,IAAM,EAC7B,MAAMqiC,EAAIonF,oBAAoB,2EAGlC,MAAMltF,EAAQ+1I,EAAmBjwI,EAAKxF,GAGtC,OAFYvH,YAAWiH,EAAOC,EAAQC,EAAc,IAEvCF,EAAM4hB,cAAgB,GAEvCnoB,UACGqM,GACD,CAACkwI,EAAkBC,KACjB,MAAM31I,EAASwF,EAAI+pF,OAAO/7E,OAAO,SAAUkiI,GACrC/1I,EAAS6F,EAAI+pF,OAAO9vI,OAAO,SAAUk2L,GAE3C,GADAH,EAAkBhwI,GACM,IAApBr+C,EAAO+b,UACL/b,EAAOgc,cAAc,IAAM,EAC7B,MAAMqiC,EAAIonF,oBAAoB,2EAGlC,MAAMltF,EAAQ+1I,EAAmBjwI,EAAKxF,GAGtC,OAFY7G,YAAUuG,EAAOC,EAAQC,EAAc,IAEtCF,EAAM2hB,cAAgB,GAEvCtoB,WACGyM,GACD,CAACkwI,EAAkBC,EAAkBlK,EAAiBzB,EAAgB8L,KACpE,MAAM91I,EAASwF,EAAI+pF,OAAO/7E,OAAO,SAAUkiI,GACrC/1I,EAAS6F,EAAI+pF,OAAO9vI,OAAO,SAAUk2L,GACrCh2J,EAAQ6lB,EAAI+pF,OAAO9vI,OAAO,QAASgsL,GACnClwJ,EAAOiqB,EAAI+pF,OAAO/7E,OAAO,OAAQw2H,GACjCn5J,EAAM20B,EAAI+pF,OAAO/7E,OAAO,MAAOsiI,GAErC,GADAN,EAAkBhwI,GACM,IAApBr+C,EAAO+b,UACL/b,EAAOgc,cAAc,IAAM,EAC7B,MAAMqiC,EAAIonF,oBAAoB,2EAGlC,MAAMltF,EAAQ+1I,EAAmBjwI,EAAKxF,GAEtC,IAAIkiE,EACA6zE,EACJ,MAAMC,EAAQz6J,EAAKjN,cACnB,GAAI0nK,EAAMtgL,SAAS,UAAYsgL,EAAMtgL,SAAS,OAC5CwsG,EAAYxgE,IAAWC,cAClB,GAAIq0I,EAAMtgL,SAAS,UAAYsgL,EAAMtgL,SAAS,QACnDwsG,EAAYxgE,IAAWG,eAClB,GAAIm0I,EAAMtgL,SAAS,SAAWsgL,EAAMtgL,SAAS,OAClDwsG,EAAYxgE,IAAWK,YAClB,KAAIi0I,EAAMtgL,SAAS,UAAWsgL,EAAMtgL,SAAS,QAGlD,MAAM8vC,EAAIonF,oBAAqB,uBAAsBrxG,GAFrD2mF,EAAYxgE,IAAWM,SAKzB,MAAMi0I,EAAOplK,EAAIvC,cACjB,GAAI2nK,EAAKvgL,SAAS,KAChBqgL,EAAWxtJ,IAAcuZ,SACpB,KAAIm0I,EAAKvgL,SAAS,KAGvB,MAAM8vC,EAAIonF,oBAAqB,0BAAyB/7G,GAFxDklK,EAAWxtJ,IAAcqZ,MAK3B,OAAO7I,YAAW2G,EAAOC,EAAQhgB,EAAOuiF,EAAW6zE,EAAUn2I,IAEjElH,YACG8M,GACD,CAACkwI,EAAkBC,EAAkBlK,EAAiBzB,EAAgB8L,KACpE,MAAM91I,EAASwF,EAAI+pF,OAAO/7E,OAAO,SAAUkiI,GACrC/1I,EAAS6F,EAAI+pF,OAAO9vI,OAAO,SAAUk2L,GACrCh2J,EAAQ6lB,EAAI+pF,OAAO9vI,OAAO,QAASgsL,GACnClwJ,EAAOiqB,EAAI+pF,OAAO/7E,OAAO,OAAQw2H,GACjCn5J,EAAM20B,EAAI+pF,OAAO/7E,OAAO,MAAOsiI,GAErC,GADAN,EAAkBhwI,GACM,IAApBr+C,EAAO+b,UACL/b,EAAOgc,cAAc,IAAM,EAC7B,MAAMqiC,EAAIonF,oBAAoB,2EAGlC,MAAMltF,EAAQ+1I,EAAmBjwI,EAAKxF,GACtC,GAAI//C,MAAM0/C,IAAW1/C,MAAM0/B,GACzB,MAAM6lB,EAAIonF,oBAAqB,oDAAmDjtF,YAAiBhgB,KAErG,IAAIuiF,EACA6zE,EACJ,MAAMC,EAAQz6J,EAAKjN,cACnB,GAAI0nK,EAAMtgL,SAAS,UAAYsgL,EAAMtgL,SAAS,OAC5CwsG,EAAYxgE,IAAWC,cAClB,GAAIq0I,EAAMtgL,SAAS,UAAYsgL,EAAMtgL,SAAS,QACnDwsG,EAAYxgE,IAAWG,eAClB,GAAIm0I,EAAMtgL,SAAS,SAAWsgL,EAAMtgL,SAAS,OAClDwsG,EAAYxgE,IAAWK,YAClB,KAAIi0I,EAAMtgL,SAAS,UAAWsgL,EAAMtgL,SAAS,QAGlD,MAAM8vC,EAAIonF,oBAAqB,uBAAsBrxG,GAFrD2mF,EAAYxgE,IAAWM,SAKzB,MAAMi0I,EAAOplK,EAAIvC,cACjB,GAAI2nK,EAAKvgL,SAAS,KAChBqgL,EAAWxtJ,IAAcuZ,SACpB,KAAIm0I,EAAKvgL,SAAS,KAGvB,MAAM8vC,EAAIonF,oBAAqB,0BAAyB/7G,GAFxDklK,EAAWxtJ,IAAcqZ,MAI3B,MAAMhwC,EAAS,CACb8tC,MAAOA,EACPC,OAAQA,EACRhgB,MAAOA,EACPpE,KAAM2mF,EACNrxF,IAAKklK,GAEP,OAAOr9I,YAAY9mC,EAAQguC,IAE/BkvC,UAAYtpC,GAA0B,KAEpC,GADAgwI,EAAkBhwI,GACM,IAApBr+C,EAAO+b,UACL/b,EAAOgc,cAAc,IAAM,EAC7B,MAAMqiC,EAAIonF,oBAAoB,kEAIlC,MAAM3sF,EAAqB,GAErBi2I,EAAoBz/I,IAAW,OACrC,IAAK,MAAMuJ,KAAUtrD,OAAOuT,KAAKiuL,GAAoB,CACnD,MAAM9zE,EAAY8zE,EAAkBl2I,GACpC,GAAIoiE,EAAU/lH,cAAgB6nC,OAASk+E,EAAU3tH,OAAS,EAAG,CAC3DwrD,EAAOD,GAAU,GACjB,IAAK,IAAIzrD,EAAI,EAAGA,EAAI6tH,EAAU3tH,SAAUF,EACtC0rD,EAAOD,GAAQjrD,KAAK,CAClB4qD,OAAQyiE,EAAU7tH,GAAGorD,OACrBhgB,MAAOyiF,EAAU7tH,GAAGorC,MACpBpE,KAAM6mF,EAAU7tH,GAAGgnC,KACnBnI,SAAUgvF,EAAU7tH,GAAGs8B,OAM/B,OAAOovB,GAET8uC,cACGvpC,GACAkwI,IACC,MAAM11I,EAASwF,EAAI+pF,OAAO/7E,OAAO,SAAUkiI,GAC3C,IAAKvuL,EAAO2lB,gBACV,MAAM04B,EAAIonF,oBAAoB,iDAIhC,OAFc6oD,EAAmBjwI,EAAKxF,GAEzBqB,GAAK,KAEtB2tC,YACGxpC,GACAkwI,IACC,MAAM11I,EAASwF,EAAI+pF,OAAO/7E,OAAO,SAAUkiI,GAC3C,IAAKvuL,EAAO2lB,gBACV,MAAM04B,EAAIonF,oBAAoB,iDAEhC,MAAMltF,EAAQ+1I,EAAmBjwI,EAAKxF,GAEtC,IAAIm2I,EAAW,GAEf,OADAz2I,EAAM9xC,EAAKuoL,GAAYz2I,EAAM6B,QAAY40I,GAAYz2I,EAAM6B,QACpD40I,EAAW,KAEtBlnG,qBAAuBzpC,GAA0B,IAC3Cr+C,EAAO0lB,WACT24B,EAAI9kC,IAAI,IAAM,sCACP,GAGLvZ,EAAO7O,MAAQotG,eACjBlgD,EAAI9kC,IAAI,IAAM,iDACP,IAGTvZ,EAAO0lB,WAAY,EACnB1lB,EAAOsc,UAAUiiF,cAA4B,SAC7ClgD,EAAI9kC,IAAI,IAAM,6BACP,GAETwuE,2BAA6B1pC,GAA0B,KACrDgwI,EAAkBhwI,GAEdr+C,EAAO2lB,iBACT04B,EAAI9kC,IAAI,IAAM,6CACP,GAGLvZ,EAAO7O,MAAQqtG,eACjBngD,EAAI9kC,IAAI,IAAM,wDACP,IAGTvZ,EAAO2lB,iBAAkB,EACzB3lB,EAAOsc,UAAUkiF,cAA8B,SAC/CngD,EAAI9kC,IAAI,IAAM,qCACP,IAETyuE,mBAAqB3pC,GAA0B,IACzCr+C,EAAOwlB,eACT64B,EAAI9kC,IAAI,IAAM,kCACP,GAGLvZ,EAAO7O,MAAQstG,eACjBpgD,EAAI9kC,IAAI,IAAM,oDACP,IAGTvZ,EAAOwlB,eAAgB,EACvBmsB,cACA3xC,EAAOsc,UAAUmiF,cAAyB,SAC1CpgD,EAAI9kC,IAAI,IAAM,iCACP,GAET0uE,eAAiB5pC,GAA0B,IACrCr+C,EAAOylB,iBACT44B,EAAI9kC,IAAI,IAAM,8BACP,GAGLvZ,EAAO7O,MAAQutG,eACjBrgD,EAAI9kC,IAAI,IAAM,gDACP,IAGTvZ,EAAOylB,iBAAkB,EACzBzlB,EAAOsc,UAAUoiF,cAA4B,SAC7CrgD,EAAI9kC,IAAI,IAAM,sBACP,M,6BCvZb,kGAUO,SAAS8wH,EAAkBrqI,GAChC,MAAMivL,EAA0B5wI,IAC9B,IAAKr+C,EAAOq1B,oBACV,MAAMgpB,EAAIonF,oBACR,qJAKN,MAAO,CACLnwC,0BACGj3C,GACA2hI,IACC,MAAM75E,EAAU9nD,EAAI+pF,OAAO/7E,OAAO,UAAW2zH,GAE7C,GADAiP,EAAuB5wI,IAClB6nD,YAAyBlmG,GAAQuO,SAAS43F,KAAar4F,IAAoBrgB,eAAe04G,GAC7F,MAAM9nD,EAAIonF,oBAAqB,gBAAet/B,GAGhD,OADqB,IAAI0kB,IAAsB/8G,IAAoBq4F,IAC/C/pF,MAGxBm5E,yBACGl3C,GACA2hI,IACC,MAAM75E,EAAU9nD,EAAI+pF,OAAO/7E,OAAO,UAAW2zH,GAE7C,GADAiP,EAAuB5wI,IAClB6nD,YAAyBlmG,GAAQuO,SAAS43F,KAAar4F,IAAoBrgB,eAAe04G,GAC7F,MAAM9nD,EAAIonF,oBAAqB,gBAAet/B,GAEhD,MAAMspD,EAAe,IAAI5kC,IAAsB/8G,IAAoBq4F,IACnE,OAAOE,YAA+BrmG,EAAQyvJ,IAGlDj6D,0BAA4Bn3C,GAA0B,KACpD4wI,EAAuB5wI,GAEvB,OADsB6nD,YAAyBlmG,IAIjDy1F,kBACGp3C,GACD,CAAC2hI,EAAkBkP,GAAkB,KACnC,MAAM/oF,EAAU9nD,EAAI+pF,OAAO/7E,OAAO,UAAW2zH,GACvCr3J,EAAQ01B,EAAI+pF,OAAOU,QAAQomD,GAEjC,GADAD,EAAuB5wI,GACnBr+C,EAAOyjB,OAASvkB,IAASgT,SAC3B,MAAMmsC,EAAIonF,oBAAoB,+DAEhC,IAAKv/B,YAAyBlmG,GAAQuO,SAAS43F,KAAar4F,IAAoBrgB,eAAe04G,GAE7F,OADA9nD,EAAI9kC,IAAI,IAAO,gBAAe4sF,IACvB,EAGT,MAAMgpF,EAAcnvL,EAAO2oB,MAErBymK,EAAe,IAAIvkE,IAAsB/8G,IAAoBq4F,IACnE,OAAInmG,EAAO7O,MAAQi+L,EAAahzK,MAC9BiiC,EAAI9kC,IAAI,IAAO,wCAAuC4sF,IAC/C,GAGJvqD,YAAuBwzI,EAAazgL,eAKzC3O,EAAOyoG,UACL,IAAIkiB,IAAa,CACfxiF,aAAa,EACbx5B,aAAcw3F,EACdnmG,OAAQA,KAIR2oB,GACF3oB,EAAO0oB,gBACPjgB,IAAOyiC,UACEikJ,IACTnvL,EAAO4oB,eACPngB,IAAOsiC,cAGTsT,EAAI9kC,IAAI,IAAO,+BAA8B4sF,OACtC,IArBL9nD,EAAI9kC,IAAI,IAAO,yCAAwC4sF,IAChD,O,qCC3EjB,6SAqCA,MAAMhnG,EAAYC,YAAYhM,GAC5BiM,YAAa,CACXgwL,UAAW,CACT1tJ,aAAc,aAAevuC,EAAMoM,QAAQ0Q,QAAQC,MAErD+zC,KAAM,CACJyB,WAAY,MACZ71C,gBAAiB1c,EAAMoM,QAAQuQ,WAAWF,U,IAK3Cy/K,EAME,SAASC,IACd,MAAOC,EAAiBC,GAAsB1jJ,oBAAS,IAChDmpG,EAAUw6C,GAAe3jJ,mBAASujJ,EAAS7jI,MAC5C3rD,EAAUX,IAEVwwL,EAA0B,CAC9B,CAACL,EAAS7jI,MAAO,UACjB,CAAC6jI,EAASM,KAAM,UAChB,CAACN,EAAS9hF,KAAM,OAChB0nC,GACI26C,EAAsB,UAASF,EAE/BG,EAAuD,CAC3D,CAACp6K,IAAeG,OAAkB,CAChCwsB,QACE,oCACE,kBAAC,IAAD,yIAGE,6BACA,6BAJF,6FAME,6BACA,6BAPF,wEAYJ0tJ,SAAS,GAEX,CAACr6K,IAAeM,aAAwB,CACtCqsB,QACE,oCACE,kBAAC,IAAD,8DACA,kBAAC,IAAD,0CACA,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,2FAEF,kBAAC,IAAD,KACE,kBAAC,IAAD,sIAMJ,kBAAC,IAAD,kGAGA,kBAAC,IAAD,CACE2S,QAAS,KACP06I,EAAYJ,EAASM,KACrB73K,gBAHJ,WAQA,kBAAC,IAAD,CACEi9B,QAAS,KACP06I,EAAYJ,EAAS9hF,KACrBz1F,gBAHJ,WAQA,kBAAC,IAAD,CAAQi9B,QAAS,IAAMy6I,GAAmB,IAA1C,aACA,8BAGJM,SAAS,GAEX,CAACr6K,IAAeO,mBAA8B,CAC5CosB,QACE,oCACE,kBAAC,IAAD,wDACA,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAe9iC,MAAO,UACtB,kBAAC,IAAD,CAAYA,MAAO,SAAnB,UAGF,kBAAC,IAAD,oEAGJwwL,SAAS,GAEX,CAACr6K,IAAeQ,eAA0B,CACxCmsB,QACE,oCACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAe9iC,MAAO,YACtB,kBAAC,IAAD,CAAYA,MAAO,WAAnB,UAEF,kBAAC,IAAD,4GAKJwwL,SAAS,GAEX,CAACr6K,IAAeS,2BAAsC,CACpDksB,QACE,oCACE,kBAAC,IAAD,2DACA,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAc9iC,MAAO,UACrB,kBAAC,IAAD,CAAYA,MAAO,SAAnB,aAEF,kBAAC,IAAD,sCAGJwwL,SAAS,GAEX,CAACr6K,IAAeU,eAA0B,CACxCisB,QACE,oCACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAc9iC,MAAO,YACrB,kBAAC,IAAD,CAAYA,MAAO,WAAnB,aAEF,kBAAC,IAAD,6GAKJwwL,SAAS,GAEX,CAACr6K,IAAeW,cAAyB,CACvCgsB,QACE,oCACE,kBAAC,IAAD,4CACA,kBAAC,IAAD,CAAYviC,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,mBACnD,kBAAC,IAAD,gEAGJU,SAAS,GAEX,CAACr6K,IAAeY,YAAuB,CACrC+rB,QACE,oCACE,kBAAC,IAAD,CAAYviC,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,mBACnD,kBAAC,IAAD,+GAC0G,IACxG,6BACA,6BAHF,oCAOA,kBAAC,IAAD,CAAYvvL,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,kBAGvDU,SAAS,GAEX,CAACr6K,IAAea,cAAyB,CACvC8rB,QACE,oCACE,kBAAC,IAAD,CAAYviC,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,iBACnD,kBAAC,IAAD,KACG,IADH,0GAE0G,IAF1G,iEAGgE,6BAC9D,6BAJF,oIAQA,kBAAC,IAAD,CAAYvvL,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,oBAGvDU,SAAS,GAEX,CAACr6K,IAAec,sBAAiC,CAC/C6rB,QACE,oCACE,kBAAC,IAAD,CAAYviC,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,mBACnD,kBAAC,IAAD,+LAEkF,6BAChF,6BAHF,iFAIiF,KAGjF,kBAAC,IAAD,CAAYvvL,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,2BACnD,kBAAC,IAAD,wFAGJU,SAAS,GAEX,CAACr6K,IAAee,sBAAiC,CAC/C4rB,QACE,oCACE,kBAAC,IAAD,CAAYviC,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,2BACnD,kBAAC,IAAD,kIAEkB,6BAChB,6BAHF,qHAIqB,KAGrB,kBAAC,IAAD,CAAYvvL,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,8BAGvDU,SAAS,GAEX,CAACr6K,IAAegB,iBAA4B,CAC1C2rB,QACE,oCACE,kBAAC,IAAD,sPAKA,kBAAC,IAAD,CAAYviC,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,+BAEnD,kBAAC,IAAD,6BACA,kBAAC,IAAD,CAAYvvL,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,6BAEnD,kBAAC,IAAD,KACG,IADH,4FAKA,kBAAC,IAAD,CAAYvvL,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,+BAGvDU,SAAS,GAEX,CAACr6K,IAAeiB,iBAA4B,CAC1C0rB,QACE,oCACE,kBAAC,IAAD,uFAEE,6BACA,6BAHF,gOAKc,6BACZ,6BANF,oEAOoE,KAEpE,kBAAC,IAAD,CAAYviC,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,0BAGvDU,SAAS,GAEX,CAACr6K,IAAekB,cAAyB,CACvCyrB,QACE,oCACE,kBAAC,IAAD,cACA,kBAAC,IAAD,CAAYviC,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,yBAEnD,kBAAC,IAAD,mFAC6E,6BAC3E,6BAFF,6TAOA,kBAAC,IAAD,CAAYvvL,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,yBAEnD,kBAAC,IAAD,KACG,IADH,oIAG0B,KAE1B,kBAAC,IAAD,CAAYvvL,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,8BAEnD,kBAAC,IAAD,OAGJU,SAAS,GAEX,CAACr6K,IAAemB,oBAA+B,CAC7CwrB,QACE,oCACE,kBAAC,IAAD,iEACA,kBAAC,IAAD,CAAYviC,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,sBAEnD,kBAAC,IAAD,8BAGJU,SAAS,GAEX,CAACr6K,IAAeoB,0BAAqC,CACnDurB,QACE,kBAAC,IAAD,sQAIE,6BACA,6BALF,wMAQE,6BACA,6BATF,iMAWoF,IAClF,kBAAC,IAAD,CAAYviC,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,sBAZrD,iEAaiE,IAC/D,kBAAC,IAAD,CAAYvvL,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,wBAdrD,+CAkBFU,SAAS,GAEX,CAACr6K,IAAeqB,gBAA2B,CACzCsrB,QACE,oCACE,kBAAC,IAAD,oDACA,kBAAC,IAAD,CAAYviC,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,sBAEnD,kBAAC,IAAD,2DAGJU,SAAS,GAEX,CAACr6K,IAAesB,sBAAiC,CAC/CqrB,QACE,oCACE,kBAAC,IAAD,oMAGE,6BACA,6BAJF,8DAK8D,KAE9D,kBAAC,IAAD,CAAYviC,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,mBAEnD,kBAAC,IAAD,kCAC6BM,EAD7B,kDACqG,KAErG,kBAAC,IAAD,CAAY7vL,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAe,mBAAkBQ,GAEtE,kBAAC,IAAD,kHAKJE,SAAS,GAEX,CAACr6K,IAAeuB,oBAA+B,CAC7CorB,QACE,oCACE,kBAAC,IAAD,0EACqE,IAClE6yG,IAAao6C,EAAS9hF,KAAO,kGAFhC,8DAGmD,8BAGnD,kBAAC,IAAD,CAAY1tG,QAAS,CAAE4hC,KAAM5hC,EAAQokD,OAClCgxF,IAAao6C,EAAS9hF,KACrB,kBAAC,IAAD,CACE59G,MAAQ,yCAKXslJ,IAAao6C,EAAS9hF,KACrB,kBAAC,IAAD,CACE59G,MAAQ,8FAQd,kBAAC,IAAD,iJAGE,6BACA,6BAJF,+GASJmgM,SAAS,GAEX,CAACr6K,IAAewB,cAAyB,CACvCmrB,QACE,oCACE,kBAAC,IAAD,oPAIE,6BACA,6BALF,6DAQA,kBAAC,IAAD,CAAYviC,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAc,oBAGvDU,SAAS,GAEX,CAACr6K,IAAeyB,mBAA8B,CAC5CkrB,QACE,oCACE,kBAAC,IAAD,+GAGA,kBAAC,IAAD,CAAYviC,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAe,kBAAiBQ,IAGzEE,SAAS,GAEX,CAACr6K,IAAe0B,+BAA0C,CACxDirB,QACE,oCACE,kBAAC,IAAD,2IAE4BwtJ,EAF5B,2DAEuG,6BACrG,6BAHF,mLAKwE,6BACtE,6BANF,sEAOsE,KAEtE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAatwL,MAAO,UACpB,kBAAC,IAAD,CAAYA,MAAO,SAAnB,oBAINwwL,SAAS,GAEX,CAACr6K,IAAe2B,mBAA8B,CAC5CgrB,QACE,oCACE,kBAAC,IAAD,mLAIA,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAc9iC,MAAO,UACrB,kBAAC,IAAD,CAAYA,MAAO,SAAnB,cAINwwL,SAAS,GAEX,CAACr6K,IAAe4B,yBAAoC,CAClD+qB,QACE,oCACE,kBAAC,IAAD,oMAEsF,KAEtF,kBAAC,IAAD,CAAYviC,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,YAAe,mBAAkBQ,IAG1EE,SAAS,GAEX,CAACr6K,IAAe6B,oBAA+B,CAC7C8qB,QACE,oCACE,kBAAC,IAAD,kKAEmD,6BACjD,6BAHF,kFAMA,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAU9iC,MAAO,YACjB,kBAAC,IAAD,CAAYA,MAAO,WAAnB,aAEF,kBAAC,IAAD,iEAEE,6BACA,6BAHF,8CAQJwwL,SAAS,GAEX,CAACr6K,IAAe8B,sBAAiC,CAC/C6qB,QACE,oCACE,kBAAC,IAAD,mJAIA,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAiB9iC,MAAO,UACxB,kBAAC,IAAD,CAAYA,MAAO,SAAnB,YAEF,kBAAC,IAAD,+CAGJwwL,SAAS,GAEX,CAACr6K,IAAe+B,0BAAqC,CACnD4qB,QACE,kBAAC,IAAD,8GAIF0tJ,SAAS,GAEX,CAACr6K,IAAegC,2BAAsC,CACpD2qB,QACE,oCACE,kBAAC,IAAD,kNAGE,6BACA,6BAJF,eAOA,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAkB9iC,MAAO,UACzB,kBAAC,IAAD,CAAYA,MAAO,SAAnB,UAINwwL,SAAS,GAEX,CAACr6K,IAAeiC,kBAA6B,CAC3C0qB,QACE,oCACE,kBAAC,IAAD,+MAGE,6BACA,6BAJF,oBAOA,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAU9iC,MAAO,UACjB,kBAAC,IAAD,CAAYA,MAAO,SAAnB,cAINwwL,SAAS,GAEX,CAACr6K,IAAekC,kBAA6B,CAC3CyqB,QACE,kBAAC,IAAD,yQAMF0tJ,SAAS,GAEX,CAACr6K,IAAemC,KAAgB,CAC9BwqB,QAAS,kBAAC,IAAD,MACT0tJ,SAAS,IAIP3jJ,EAAcL,oBAAS,GAAO,GACpC,SAAS+B,IACP1B,EAAa2B,IAASA,GAGxBQ,oBAAU,IACDt2B,IAAgBu2B,UAAUV,GAChC,IACH,MAAMu9B,EAAO11D,IAAUC,SACjBysB,EAAUytJ,EAASzkH,GACzB,QAAgBtrE,IAAZsiC,EAAuB,MAAM,IAAIpiC,MAAM,yBAC3C,OACE,oCACE,kBAAC,IAAD,CAAa+Q,KAAMw+K,EAAiBv+K,QAAS,IAAMw+K,GAAmB,KACtE,kBAAC,IAAD,CAAOO,QAAM,EAACjxL,GAAI,CAAEwR,SAAU,OAAQhgB,EAAG,IACtC8xC,EAAQA,QACRgpC,IAAS31D,IAAekC,kBACvB,oCACGyzD,IAAS31D,IAAeG,OACvB,kBAAC,IAAD,CAAYm/B,QAAS98B,IAAmBm8F,aAAW,YACjD,kBAAC,IAAD,OAGHhyE,EAAQ0tJ,SACP,kBAAC,IAAD,CAAY/6I,QAASj9B,IAAmBs8F,aAAW,QACjD,kBAAC,IAAD,QAKR,6BACA,6BACA,kBAAC,IAAD,CAAQr/D,QAASh9B,KACdqzD,IAAS31D,IAAekC,iBAAmB,gBAAkB,sB,SA3kBnE03K,O,eAAAA,I,aAAAA,I,cAAAA,M,mCCjDL,gGAyBO,SAASt5K,EAAYnW,GAC1B,MAAOjQ,EAAO2+D,GAAYhmD,IAAMwjC,SAAS,GAUzC,OACE,kBAAC,IAAD,CAAO/6B,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,QAASlS,GAAI,CAAE40C,OAAQ,SAC7D,kBAAC,IAAD,CAAMgB,QAAQ,YAAY/kD,MAAOA,EAAOg/D,SAV5C,SAAsBzoB,EAA6B8pJ,GACjD1hI,EAAS0hI,KAUL,kBAAC,IAAD,CAAKzhI,MAAM,QACX,kBAAC,IAAD,CAAKA,MAAM,SAGF,IAAV5+D,GACC,oCACE,kBAAC,IAAD,yIAIA,kBAAC,IAAD,kCACA,kBAAC,IAAD,CACEorK,QAAS,qCACTC,gBAAgB,aAChBC,aAtCQ,yCAuCRtjH,OAAS,QACTxkD,MAAO,UACP0nK,QAxBV,SAAiB/sG,GACfA,EAAOmiI,cAAc,CAAEC,UAAU,KAwBzBhhJ,QAAS,CAAEkxB,SAAU,OAIhB,IAAVzwE,GACC,oCACE,kBAAC,IAAD,mRAKA,kBAAC,IAAD,kCACA,kBAAC,IAAD,CACEorK,QAAS,qCACTC,gBAAgB,aAChBC,aAtDQ,kHAuDRtjH,OAAS,QACTxkD,MAAO,UACP+7C,QAAS,CAAEkxB,SAAU,U,8CC3EjC,mOAeA,MAAMlhE,EAAYC,YAAW,CAC3BgxL,kBAAmB,CACjBnkK,SAAU,QACVy4C,IAAK,EACLJ,MAAO,EACP3wB,OAAQ,KACRjkC,QAAS,OACTE,eAAgB,WAChB8iC,cAAe,UAGjB8/D,OAAQ,CACN/sC,OAAQ,OACRguC,UAAW,SACX/jG,QAAS,OACTgjC,cAAe,MACf/iC,WAAY,UAGd0gL,iBAAkB,CAChB//K,QAAS,MACTk1D,SAAU,UACV11D,gBAAiB,cACjBG,OAAQ,OACR,UAAW,CACTH,gBAAiB,6BAIrBwgL,SAAU,CACRn8E,UAAY,aAAYrgH,IAASV,MAAMwtE,UACvC33B,OAAQ,UAGVy2B,KAAM,CACJW,SAAU,UAeP,SAASkwH,GAAS,SAAEn/K,EAAF,KAAYthB,IACnC,MAAMizE,EAAeC,iBAAuB,OACrChyD,EAAM0rD,GAAW3wB,mBAASj4C,IAASN,SAASG,SAC5CF,EAAG+8L,GAAQzkJ,mBAASj4C,IAASN,SAASC,IACtCC,EAAG+8L,GAAQ1kJ,mBAASj4C,IAASN,SAASE,GACvCoM,EAAUX,IACVyxC,EAASloC,IAAID,SAEbioL,EAAc1/K,EAAO2/K,IAAsBC,IAC3CC,EAAoB,aAAT/gM,EAAsBghM,IAAaC,IAC9Cv+E,EAAkB,aAAT1iH,EAAsB,WAAa,WAMlDy+C,oBAAU,KACRz6C,IAASN,SAAW,CAAEC,IAAGC,IAAGC,OAAQqd,IACnC,CAACA,EAAMvd,EAAGC,IAGb66C,oBAAU,IAAMyiJ,IAAY,IAG5BziJ,oBAAU,KACR99C,OAAOqzE,iBAAiB,SAAUktH,GAC3B,KACLvgM,OAAOuzE,oBAAoB,SAAUgtH,KAEtC,IAEH,MAAMA,EAAW/sH,mBAAS,KACxB,MAAMvnD,EAAOqmD,aAAH,EAAGA,EAAchgB,QACtBrmC,IAILu0K,EAAkBv0K,EAAM,aACxBu0K,EAAkBv0K,EAAM,aACxBu0K,EAAkBjrI,SAAU,aAC5BirI,EAAkBv0K,EAAM,WACxBu0K,EAAkBv0K,EAAM,WACvB,KAEGu0K,EAAoB,CAACv0K,EAAiCw0K,KAC1D,MAAMC,EAAanrI,SAASorI,YAAY,eACxCD,EAAWE,UAAUH,GAAW,GAAM,GACtCx0K,EAAK40K,cAAcH,IAGrB,OAAIvgJ,EAAOpH,SAAWnhC,IAAKsnC,UAAYiB,EAAOpH,SAAWnhC,IAAKkpL,SAAW3gJ,EAAOpH,SAAWnhC,IAAK6jC,SACvF,qCAEP,kBAAC,IAAD,CAAW64B,OAAO,QAAQX,OAAO,OAAOotH,OA1CA,CAAC/wK,EAAG3zB,KAC5C0jM,EAAK1jM,EAAK2G,GACVg9L,EAAK3jM,EAAK4G,IAwCkD+9L,gBAAiB,CAAEh+L,IAAGC,MAChF,kBAAC,IAAD,CAAOyM,UAAWL,EAAQswL,kBAAmBJ,QAAM,GACjD,kBAAC,IAAD,CAAK7vL,UAAU,OAAOuxL,cAAe,IAAMh1H,EAAS3uB,IAASA,GAAMs3B,IAAKtC,GACtE,kBAAC,IAAD,CAAK5iE,UAAWL,EAAQ0yG,QACtB,kBAACq+E,EAAD,CAAUtxL,MAAM,YAAYY,UAAWL,EAAQ4/D,KAAM3gE,GAAI,CAAEuR,QAAS,SACpE,kBAAC,IAAD,CAAY64B,SAAU,EAAG5pC,MAAM,aAC5BizG,GAEH,kBAAC,IAAD,CACE6B,aAAW,wCACX1/D,QAAQ,OACRrc,KAAK,QACLn4B,UAAWL,EAAQuwL,kBAGjB,kBAACK,EAAD,CACEvwL,UAAWL,EAAQ4/D,KACnBngE,MAAM,YACNy1C,QAAS,IAAM0nB,EAAS3uB,IAASA,GACjC63B,WAAY,IAAMlJ,EAAS3uB,IAASA,QAM9C,kBAAC,IAAD,CAAU58B,GAAIH,EAAM7Q,UAAWL,EAAQwwL,UACpCl/K,O,gCChJX,s1BA4DA,MAAMugL,GAAev+L,IAAD,CAClByuC,MAAOzuC,EAAM81C,QAAQ,IACrBstF,WAAYpjI,EAAMw+L,YAAY3hM,OAAO,QAAS,CAC5C4hM,OAAQz+L,EAAMw+L,YAAYC,OAAOC,MACjCl9I,SAAUxhD,EAAMw+L,YAAYh9I,SAASm9I,iBAEvCnvH,UAAW,WAGPovH,GAAe5+L,IAAD,CAClBojI,WAAYpjI,EAAMw+L,YAAY3hM,OAAO,QAAS,CAC5C4hM,OAAQz+L,EAAMw+L,YAAYC,OAAOC,MACjCl9I,SAAUxhD,EAAMw+L,YAAYh9I,SAASq9I,gBAEvCrvH,UAAW,SACX/gC,MAAQ,QAAOzuC,EAAM81C,QAAQ,YAC7B,CAAC91C,EAAM6iI,YAAYi8D,GAAG,OAAQ,CAC5BrwJ,MAAQ,QAAOzuC,EAAM81C,QAAQ,eAI3BipJ,GAASC,YAAO3xH,IAAW,CAAE4xH,kBAAoB7lH,GAAkB,SAATA,GAAjD4lH,CAAoE,EAAGh/L,QAAO4d,WAAV,CACjF6wB,MAAOzuC,EAAM81C,QAAQ,IACrByc,WAAY,SACZtc,UAAW,gBACPr4B,GAAQ,IACP2gL,GAAYv+L,GACf,qBAAsBu+L,GAAYv+L,QAE/B4d,GAAQ,IACRghL,GAAY5+L,GACf,qBAAsB4+L,GAAY5+L,OAIhC+L,GAAYC,YAAYhM,GAC5BiM,YAAa,CACXizL,OAAQ,CACNC,WAAY,aAAen/L,EAAMoM,QAAQ0Q,QAAQC,MAEnDqiL,SAAU,MAYP,SAASC,GAAY5yL,GAC1B,MAAMusC,EAAcL,oBAAS,GAAO,GACpC,SAAS+B,IACP1B,EAAa2B,IAASA,GAGxBQ,oBAAU,KACR,MAAMsG,EAAKwO,YAAYvV,EAAU,KACjC,MAAO,IAAM+1B,cAAchvB,IAC1B,IAEH,MAAO69I,EAAaC,GAAkB5mJ,oBAAS,IACxC6mJ,EAAeC,GAAoB9mJ,oBAAS,IAC5C+mJ,EAAWC,GAAgBhnJ,oBAAS,IACpCinJ,EAAUC,GAAelnJ,oBAAS,GAEnCmnJ,EACJv9K,KAAUC,WAAaF,KAAeS,2BACtCR,KAAUC,WAAaF,KAAe2B,kBAElC87K,EAAax9K,KAAUC,WAAaF,KAAeO,kBAEnDm9K,EAAqBz9K,KAAUC,WAAaF,KAAe0B,8BAE3Di8K,EAAe19K,KAAUC,WAAaF,KAAe8B,qBAErD87K,EAAY39K,KAAUC,WAAaF,KAAegC,0BAElD67K,EAAgB59K,KAAUC,WAAaF,KAAeiC,iBAEtD67K,EAAoB3zL,EAAMG,OAAOqO,oBAAoB/gB,OACrDmmM,EAAmB5zL,EAAMG,OAAO8jB,mBAAmBjV,OAAQxB,IAAO6nH,KAAgB3mH,SAASlB,IAAI/f,OAC/FomM,EAAeC,aAA2B9zL,EAAMG,QAAQ1S,OAASknI,KAAalnI,OAE9EsmM,EACJ/zL,EAAMG,OAAO8jB,mBAAmBx2B,OAAS,GACzCuS,EAAMG,OAAO6K,SAASvd,OAAS,GAC/BuS,EAAMG,OAAO2N,cAAcrgB,OAAS,GACpCuS,EAAMG,OAAOqO,oBAAoB/gB,OAAS,GAC1CuS,EAAMG,OAAOutB,YAAYjgC,OAAS,EAE9BumM,EACJh0L,EAAMG,OAAO2N,cAAcrgB,OAAS,GACpCuS,EAAMG,OAAOqO,oBAAoB/gB,OAAS,GAC1CuS,EAAMG,OAAOutB,YAAYjgC,OAAS,EAE9BwmM,EAAiBj0L,EAAMG,OAAOikB,QAAQ32B,OAAS,EAE/CymM,IAAmBl0L,EAAMG,OAAOqgB,YAChC2zK,KAAYn0L,EAAMG,OAAOslB,KACzB2uK,GAAS1mM,OAAO0gC,OAAOpuB,EAAMG,OAAO4jB,MAAMt2B,OAAS,EACnD4mM,GAAiBr0L,EAAMG,OAAOwlB,cAC9B2uK,KAAmBt0L,EAAMG,OAAO8gB,YAChCszK,GAAiBv0L,EAAMG,OAAO2N,cAAc8oC,KAAM1iB,GAAQA,EAAI5kC,OAASkK,KAAkBu4G,cAE/F,SAASyiF,KACPx0L,EAAM+wC,OAAO7F,aACTmoJ,GAAen7K,eAGrB,SAASu8K,KACPz0L,EAAM+wC,OAAOhG,iBAGf,SAAS2pJ,KACP10L,EAAM+wC,OAAO9G,UACTqpJ,GAAYp7K,eAGlB,SAASy8K,KACP30L,EAAM+wC,OAAOlH,kBACT0pJ,GAAoBr7K,eAG1B,SAAS08K,KACP50L,EAAM+wC,OAAO3G,kBAOf,SAASyqJ,KACP70L,EAAM+wC,OAAOxG,aAGf,SAASuqJ,KACP90L,EAAM+wC,OAAOjH,kBAOf,SAASirJ,KACP/0L,EAAM+wC,OAAOrG,iBACT8oJ,GAAct7K,eAGpB,SAAS88K,KACPh1L,EAAM+wC,OAAO7G,SACTupJ,GAAWv7K,eAGjB,SAAS+8K,KACPj1L,EAAM+wC,OAAO5F,WAGf,SAAS+pJ,KACPl1L,EAAM+wC,OAAOnG,MAAMrV,KAAU7nC,OAAOuT,KAAKjB,EAAMG,OAAO4jB,MAAM,KAO9D,SAASoxK,KACPn1L,EAAM+wC,OAAO/G,gBAOf,SAASorJ,KACPp1L,EAAM+wC,OAAOtG,SAGf,SAAS4qJ,KACPr1L,EAAM+wC,OAAO3F,aACTsoJ,GAAex7K,eAMrB,SAASo9K,KACPt1L,EAAM+wC,OAAOvG,gBAWfkE,oBAAU,KAiBR,SAAS6mJ,EAAgCjvJ,GACvC,IAAIryC,KAAShC,kBACR+N,EAAMG,OAAOkrB,aAAerrB,EAAMG,OAAO2oB,OAAU9oB,EAAM+wC,OAAOpH,SAAWnhC,KAAKsnC,UACrF,GAAIxJ,EAAM+d,OAAS97C,IAAQ+iD,GAAKhlB,EAAMkvJ,OACpClvJ,EAAMsrF,iBACN4iE,UACK,GAAIluJ,EAAM+d,OAAS97C,IAAQ0sK,GAAK3uI,EAAMkvJ,OAC3ClvJ,EAAMsrF,iBACN8iE,UACK,GAAIpuJ,EAAM+d,OAAS97C,IAAQktL,GAAKnvJ,EAAMkvJ,OAC3ClvJ,EAAMsrF,iBACN6iE,UACK,GAAInuJ,EAAM+d,OAAS97C,IAAQ6iD,GAAK9kB,EAAMkvJ,OAC3ClvJ,EAAMsrF,iBACN+iE,UACK,GAAIruJ,EAAM+d,OAAS97C,IAAQmtL,GAAKpvJ,EAAMkvJ,OAC3ClvJ,EAAMsrF,iBACNmjE,UACK,GAAIzuJ,EAAM+d,OAAS97C,IAAQonD,GAAKrpB,EAAMkvJ,OAC3ClvJ,EAAMsrF,iBACNojE,UACK,GAAI1uJ,EAAM+d,OAAS97C,IAAQijD,GAAKllB,EAAMkvJ,SAAWlvJ,EAAMuuH,UAAYvuH,EAAMwuH,SAAWs/B,GAEzF9tJ,EAAMsrF,iBACNsjE,UACK,GAAI5uJ,EAAM+d,OAAS97C,IAAQotL,GAAKrvJ,EAAMkvJ,OAC3ClvJ,EAAMsrF,iBACNqjE,UACK,GAAI3uJ,EAAM+d,OAAS97C,IAAQqtL,GAAKtvJ,EAAMkvJ,OAC3ClvJ,EAAMsrF,iBACNgjE,UACK,GAAItuJ,EAAM+d,OAAS97C,IAAQstL,GAAKvvJ,EAAMkvJ,OAAQ,CACnD,GAAIx1L,EAAM2pC,MAAQnhC,KAAK29B,UAAYlyC,KAAS7B,kBAC1C,OAEFk0C,EAAMsrF,iBACNijE,UACSvuJ,EAAM+d,OAAS97C,IAAQnC,GAAKkgC,EAAMkvJ,QAC3ClvJ,EAAMsrF,iBACNkjE,MACSxuJ,EAAM+d,OAAS97C,IAAQutL,GAAKxvJ,EAAMkvJ,QAC3ClvJ,EAAMsrF,iBACNyjE,MACS/uJ,EAAM+d,OAAS97C,IAAQkjD,GAAKnlB,EAAMkvJ,QAC3ClvJ,EAAMsrF,iBACN0jE,MACShvJ,EAAM+d,OAAS97C,IAAQysK,GAAK1uI,EAAMkvJ,QAAUx1L,EAAMG,OAAO8gB,aAClEqlB,EAAMsrF,iBACNujE,MACS7uJ,EAAM+d,OAAS97C,IAAQwtL,GAAKzvJ,EAAMkvJ,QAAUx1L,EAAMG,OAAOslB,OAClE6gB,EAAMsrF,iBACNwjE,MAKJ,OADAjvI,SAAS8d,iBAAiB,UAAWsxH,GAC9B,IAAMpvI,SAASge,oBAAoB,UAAWoxH,IACpD,IAEH,MAAMt1L,GAAUX,MACT6R,GAAM0rD,IAAW3wB,mBAASlsC,EAAMlM,QAOvC,OAJA46C,oBAAU,KACR1uC,EAAM8yC,UAAU3hC,KACf,CAACA,KAGF,kBAACmhL,GAAD,CAAQnhL,KAAMA,GAAM6kL,OAAO,OAAOlhJ,QAAQ,aACxC,kBAAC,IAAD,CAAU70C,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UAAYn1H,QAAM,EAACroB,QARrC,IAAY0nB,GAAS3uB,IAASA,IAS7C,kBAAC,IAAD,KACI/8B,GAA8C,kBAAC,IAAD,CAAiBzR,MAAM,YAA9D,kBAAC,IAAD,CAAkBA,MAAM,aAEnC,kBAAC,IAAD,CACE2Q,QACE,kBAAC,IAAD,CAAS6+C,MAAOkyC,gBACd,kBAAC,IAAD,mBAAwB3nG,KAAUC,mBAK1C,kBAAC,IAAD,MACA,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAUuG,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UAAYn1H,QAAM,EAACroB,QAAS,IAAM29I,EAAgB5kJ,IAASA,IAC5F,kBAAC,IAAD,KACE,kBAAC,IAAD,CAASghB,MAAQ/9C,GAAmB,GAAZ,WACtB,kBAAC,IAAD,CAAczR,MAAM,cAGxB,kBAAC,IAAD,CAAc2Q,QAAS,kBAAC,IAAD,kBACtBwiL,EAAc,kBAAC,KAAD,CAAgBnzL,MAAM,YAAe,kBAAC,KAAD,CAAgBA,MAAM,aAE5E,kBAAC,IAAD,CAAU4R,GAAIuhL,EAAaoD,QAAQ,OAAOC,eAAa,GACrD,kBAAC,IAAD,KACE,kBAAC,IAAD,CACEj2L,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UACzBn1H,QAAM,EACNntE,IAAK,WACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAK29B,WAExCgP,QAASq/I,IAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAStlI,MAAQ/9C,GAAoB,GAAb,YACtB,kBAAC,IAAD,CACEzR,MAAO2zL,EAAgB,QAAUrzL,EAAM2pC,OAASnhC,KAAK29B,SAAW,YAAc,cAIpF,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYzmC,MAAO2zL,EAAgB,QAAUrzL,EAAM2pC,OAASnhC,KAAK29B,SAAW,YAAc,WAA1F,cAKJ,kBAAC,IAAD,CACElmC,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UACzBn1H,QAAM,EACNntE,IAAK,gBACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAK+mC,eAExC4F,QAASs/I,IAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAASvlI,MAAQ/9C,GAAyB,GAAlB,iBACtB,kBAAC,IAAD,CAAYzR,MAAOM,EAAM2pC,OAASnhC,KAAK+mC,aAAe,YAAc,cAGxE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY7vC,MAAOM,EAAM2pC,OAASnhC,KAAK+mC,aAAe,YAAc,WAApE,mBAKJ,kBAAC,IAAD,CACEtvC,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UACzBn1H,QAAM,EACNntE,IAAK,iBACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAKomC,gBAExCuG,QAASw/I,IAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAASzlI,MAAQ/9C,GAA0B,GAAnB,kBACtB,kBAAC,IAAD,CACEzR,MAAO6zL,EAAqB,QAAUvzL,EAAM2pC,OAASnhC,KAAKomC,cAAgB,YAAc,cAI9F,kBAAC,IAAD,KACE,kBAAC,IAAD,CACElvC,MAAO6zL,EAAqB,QAAUvzL,EAAM2pC,OAASnhC,KAAKomC,cAAgB,YAAc,WAD1F,oBAOJ,kBAAC,IAAD,CACE4uB,QAAM,EACNntE,IAAK,iBACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAKumC,gBAExCoG,QAASy/I,IAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAOwB,aAAcvC,EAAe,EAAIA,OAAe3zL,EAAWR,MAAM,SACtE,kBAAC,IAAD,CAASwvD,MAAQ/9C,GAA0B,GAAnB,kBACtB,kBAAC,IAAD,CAAezR,MAAOM,EAAM2pC,OAASnhC,KAAKumC,cAAgB,YAAc,eAI9E,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYrvC,MAAOM,EAAM2pC,OAASnhC,KAAKumC,cAAgB,YAAc,WAArE,oBAKHwlJ,IACC,kBAAC,IAAD,CACE/2H,QAAM,EACNntE,IAAK,eACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAKwnC,cAExCmF,QAnRd,WACEn1C,EAAM+wC,OAAOvF,kBAoRD,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAS0jB,MAAQ/9C,GAAyB,GAAlB,iBACtB,kBAAC,KAAD,CAAoBzR,MAAOM,EAAM2pC,OAASnhC,KAAKwnC,YAAc,YAAc,cAG/E,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYtwC,MAAOM,EAAM2pC,OAASnhC,KAAKwnC,YAAc,YAAc,WAAnE,qBASV,kBAAC,IAAD,MACA,kBAAC,IAAD,CAAU/vC,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UAAYn1H,QAAM,EAACroB,QAAS,IAAM69I,EAAkB9kJ,IAASA,IAC9F,kBAAC,IAAD,KACE,kBAAC,IAAD,CAASghB,MAAQ/9C,GAAqB,GAAd,aACtB,kBAAC,KAAD,CAAgBzR,MAAM,cAG1B,kBAAC,IAAD,CAAc2Q,QAAS,kBAAC,IAAD,oBACtB0iL,EAAgB,kBAAC,KAAD,CAAgBrzL,MAAM,YAAe,kBAAC,KAAD,CAAgBA,MAAM,aAE9E,kBAAC,IAAD,CAAU4R,GAAIyhL,EAAekD,QAAQ,OAAOC,eAAa,GACvD,kBAAC,IAAD,CACE14H,QAAM,EACNntE,IAAK,QACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAKsmC,QAExCqG,QAASu/I,IAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAASxlI,MAAQ/9C,GAAiB,GAAV,SACtB,kBAAC,IAAD,CAAezR,MAAO4zL,EAAa,QAAUtzL,EAAM2pC,OAASnhC,KAAKsmC,MAAQ,YAAc,cAG3F,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYpvC,MAAO4zL,EAAa,QAAUtzL,EAAM2pC,OAASnhC,KAAKsmC,MAAQ,YAAc,WAApF,WAKHilJ,GACC,kBAAC,IAAD,CACE9zL,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UACzBn1H,QAAM,EACNntE,IAAK,WACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAAS,CAACjqL,KAAKO,SAAUP,KAAKiB,SAASiF,SAAS1O,EAAM2pC,QAEjEwL,QAAS0/I,IAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAOuB,aAAmC,IAArBxC,EAAyBA,OAAmB1zL,EAAWR,MAAM,SAChF,kBAAC,IAAD,CAASwvD,MAAQ/9C,GAAoB,GAAb,YACtB,kBAAC,IAAD,CACEzR,MAAQ,CAAC8I,KAAKO,SAAUP,KAAKiB,SAASiF,SAAS1O,EAAM2pC,MAAsB,UAAd,iBAKrE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYjqC,MAAQ,CAAC8I,KAAKO,SAAUP,KAAKiB,SAASiF,SAAS1O,EAAM2pC,MAAsB,UAAd,aAAzE,cAMLqqJ,GACC,kBAAC,IAAD,CACE/zL,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UACzBn1H,QAAM,EACNntE,IAAK,gBACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAKqmC,gBAExCsG,QAAS2/I,IAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAOsB,aAAoC,IAAtBzC,EAA0BA,OAAoBzzL,EAAWR,MAAM,SAClF,kBAAC,IAAD,CAASwvD,MAAQ/9C,GAAyB,GAAlB,iBACtB,kBAAC,IAAD,CACEuxB,MAAO,CAAEysB,UAAW,kBACpBzvD,MAAOM,EAAM2pC,OAASnhC,KAAKqmC,cAAgB,YAAc,eAKjE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYnvC,MAAOM,EAAM2pC,OAASnhC,KAAKqmC,cAAgB,YAAc,WAArE,mBAMN,kBAAC,IAAD,CACE2uB,QAAM,EACNntE,IAAK,UACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAK2mC,UAExCgG,QAAS4/I,IAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAS7lI,MAAQ/9C,GAAmB,GAAZ,WACtB,kBAAC,IAAD,CACEzR,MAAO8zL,EAAe,QAAUxzL,EAAM2pC,OAASnhC,KAAK2mC,QAAU,YAAc,cAIlF,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYzvC,MAAO8zL,EAAe,QAAUxzL,EAAM2pC,OAASnhC,KAAK2mC,QAAU,YAAc,WAAxF,aAKH8kJ,GACC,kBAAC,IAAD,CACEh0L,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UACzBn1H,QAAM,EACNntE,IAAK,UACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAKgnC,UAExC2F,QAxYZ,WACEn1C,EAAM+wC,OAAO/F,cAyYH,kBAAC,IAAD,KACE,kBAAC,IAAD,CAASkkB,MAAQ/9C,GAAmB,GAAZ,WACtB,kBAAC,IAAD,CAAezR,MAAOM,EAAM2pC,OAASnhC,KAAKgnC,QAAU,YAAc,cAGtE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY9vC,MAAOM,EAAM2pC,OAASnhC,KAAKgnC,QAAU,YAAc,WAA/D,cAMR,kBAAC,IAAD,MACA,kBAAC,IAAD,CAAUvvC,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UAAYn1H,QAAM,EAACroB,QAAS,IAAM+9I,EAAchlJ,IAASA,IAC1F,kBAAC,IAAD,KACE,kBAAC,IAAD,CAASghB,MAAQ/9C,GAAiB,GAAV,SACtB,kBAAC,KAAD,CAAYzR,MAAM,cAGtB,kBAAC,IAAD,CAAc2Q,QAAS,kBAAC,IAAD,gBACtB4iL,EAAY,kBAAC,KAAD,CAAgBvzL,MAAM,YAAe,kBAAC,KAAD,CAAgBA,MAAM,aAE1E,kBAAC,IAAD,CAAU4R,GAAI2hL,EAAWgD,QAAQ,OAAOC,eAAa,GACnD,kBAAC,IAAD,CACE14H,QAAM,EACNntE,IAAK,OACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QACPzyL,EAAM2pC,OAASnhC,KAAKmnC,MAAQ3vC,EAAM2pC,OAASnhC,KAAK6mC,UAAYrvC,EAAM2pC,OAASnhC,KAAK0kC,WAEpFiI,QAAS6/I,IAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAS9lI,MAAQ/9C,GAAgB,GAAT,QACtB,kBAAC,IAAD,CAAkBzR,MAAO+zL,EAAY,QAAUzzL,EAAM2pC,OAASnhC,KAAKmnC,KAAO,YAAc,cAG5F,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYjwC,MAAO+zL,EAAY,QAAUzzL,EAAM2pC,OAASnhC,KAAKmnC,KAAO,YAAc,WAAlF,UAKJ,kBAAC,IAAD,CACE6tB,QAAM,EACNntE,IAAK,SACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAKonC,SAExCuF,QAAS8/I,IAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAS/lI,MAAQ/9C,GAAkB,GAAX,UACtB,kBAAC,IAAD,CAAwBzR,MAAOM,EAAM2pC,OAASnhC,KAAKonC,OAAS,YAAc,cAG9E,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYlwC,MAAOM,EAAM2pC,OAASnhC,KAAKonC,OAAS,YAAc,WAA9D,YAGHwkJ,IACC,kBAAC,IAAD,CACEn0L,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UACzBn1H,QAAM,EACNntE,IAAK,MACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAK2kC,MAExCgI,QAAS+/I,IAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAShmI,MAAQ/9C,GAAe,GAAR,OACtB,kBAAC,IAAD,CAAUzR,MAAOM,EAAM2pC,OAASnhC,KAAK2kC,IAAM,YAAc,cAG7D,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYztC,MAAOM,EAAM2pC,OAASnhC,KAAK2kC,IAAM,YAAc,WAA3D,SAILknJ,IACC,kBAAC,IAAD,CACEp0L,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UACzBn1H,QAAM,EACNntE,IAAK,eACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAKinC,cAExC0F,QA5cZ,WACEn1C,EAAM+wC,OAAO9F,kBA6cH,kBAAC,IAAD,KACE,kBAAC,IAAD,CAASikB,MAAQ/9C,GAAwB,GAAjB,gBACtB,kBAAC,IAAD,CAAgBzR,MAAOM,EAAM2pC,OAASnhC,KAAKinC,YAAc,YAAc,cAG3E,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY/vC,MAAOM,EAAM2pC,OAASnhC,KAAKinC,YAAc,YAAc,WAAnE,kBAIL6kJ,IACC,kBAAC,IAAD,CACEr0L,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UACzBn1H,QAAM,EACNntE,IAAK,cACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAKyvB,cAExCkd,QAASggJ,IAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAASjmI,MAAQ/9C,GAAuB,GAAhB,eACtB,kBAAC,IAAD,CAAgBzR,MAAOM,EAAM2pC,OAASnhC,KAAKyvB,YAAc,YAAc,cAG3E,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYv4B,MAAOM,EAAM2pC,OAASnhC,KAAKyvB,YAAc,YAAc,WAAnE,iBAILi8J,GACC,kBAAC,IAAD,CACEj0L,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UACzBn1H,QAAM,EACNntE,IAAK,OACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAK8R,cAExC66B,QA5eZ,WACEn1C,EAAM+wC,OAAO5G,kBA6eH,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAS+kB,MAAQ/9C,GAAgB,GAAT,QACtB,kBAAC,KAAD,CAAczR,MAAOM,EAAM2pC,OAASnhC,KAAK8R,YAAc,YAAc,cAGzE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY5a,MAAOM,EAAM2pC,OAASnhC,KAAK8R,YAAc,YAAc,WAAnE,UAIL65K,IACC,kBAAC,IAAD,CACEl0L,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UACzBn1H,QAAM,EACNntE,IAAK,OACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAK0mC,OAExCiG,QAASigJ,IAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAASlmI,MAAQ/9C,GAAgB,GAAT,QACtB,kBAAC,KAAD,CAAezR,MAAOM,EAAM2pC,OAASnhC,KAAK0mC,KAAO,YAAc,cAGnE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYxvC,MAAOM,EAAM2pC,OAASnhC,KAAK0mC,KAAO,YAAc,WAA5D,WAMR,kBAAC,IAAD,MACA,kBAAC,IAAD,CAAUjvC,QAAS,CAAE4hC,KAAM5hC,GAAQ0yL,UAAYn1H,QAAM,EAACroB,QAAS,IAAMi+I,EAAallJ,IAASA,IACzF,kBAAC,IAAD,KACE,kBAAC,IAAD,CAASghB,MAAQ/9C,GAAgB,GAAT,QACtB,kBAAC,KAAD,CAAczR,MAAM,cAGxB,kBAAC,IAAD,CAAc2Q,QAAS,kBAAC,IAAD,eACtB8iL,EAAW,kBAAC,KAAD,CAAgBzzL,MAAM,YAAe,kBAAC,KAAD,CAAgBA,MAAM,aAEzE,kBAAC,IAAD,CAAU4R,GAAI6hL,EAAU8C,QAAQ,OAAOC,eAAa,GAClD,kBAAC,IAAD,CACE14H,QAAM,EACNntE,IAAK,aACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAK4mC,aAExC+F,QAlhBV,WACEn1C,EAAM+wC,OAAOlG,iBAmhBL,kBAAC,IAAD,KACE,kBAAC,IAAD,CAASqkB,MAAQ/9C,GAAsB,GAAf,cACtB,kBAAC,KAAD,CAAWzR,MAAOM,EAAM2pC,OAASnhC,KAAK4mC,WAAa,YAAc,cAGrE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY1vC,MAAOM,EAAM2pC,OAASnhC,KAAK4mC,WAAa,YAAc,WAAlE,gBAGJ,kBAAC,IAAD,CACEouB,QAAM,EACNntE,IAAK,WACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAKknC,WAExCyF,QAASkgJ,IAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAASnmI,MAAQ/9C,GAAoB,GAAb,YACtB,kBAAC,KAAD,CAAUzR,MAAOg0L,EAAgB,QAAU1zL,EAAM2pC,OAASnhC,KAAKknC,SAAW,YAAc,cAG5F,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYhwC,MAAOg0L,EAAgB,QAAU1zL,EAAM2pC,OAASnhC,KAAKknC,SAAW,YAAc,WAA1F,cAKJ,kBAAC,IAAD,CACE8tB,QAAM,EACNntE,IAAK,eACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAKynC,eAExCkF,QA3iBV,WACEn1C,EAAM+wC,OAAOtF,mBA4iBL,kBAAC,IAAD,KACE,kBAAC,IAAD,CAASyjB,MAAQ/9C,GAAwB,GAAjB,gBACtB,kBAAC,KAAD,CAAiBzR,MAAOM,EAAM2pC,OAASnhC,KAAKynC,aAAe,YAAc,cAG7E,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYvwC,MAAOM,EAAM2pC,OAASnhC,KAAKynC,aAAe,YAAc,WAApE,kBAGJ,kBAAC,IAAD,CACEutB,QAAM,EACNntE,IAAK,UACLiQ,UAAW61L,kBAAK,CACd,CAACl2L,GAAQwyL,QAASzyL,EAAM2pC,OAASnhC,KAAKymC,UAExCkG,QAASmgJ,IAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAASpmI,MAAQ/9C,GAAmB,GAAZ,WACtB,kBAAC,KAAD,CAAczR,MAAOM,EAAM2pC,OAASnhC,KAAKymC,QAAU,YAAc,cAGrE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYvvC,MAAOM,EAAM2pC,OAASnhC,KAAKymC,QAAU,YAAc,WAA/D,cAGH3vB,O,6BCv0BX,8CAMO,SAASw0K,EAA2B3zL,GACzC,MAAMmN,EAAsB,GAC5B,IAAK,MAAMjd,KAAO3C,OAAOuT,KAAKuiB,KAAW,CAEvC,MAAMpzB,EAASozB,IAASnzB,GAAKD,OACf,MAAVA,IAGA+P,EAAOgnB,WAAW3D,IAASnzB,GAAKf,OAG/Bc,EAAOgsD,IAAIj8C,IAEhBmN,EAASvf,KAAKy1B,IAASnzB,KAGzB,OAAOid,I,iDCtBT,uNAiCA,MAAM+oL,EAAmB,EAAGl2L,aAAkD,QAC5E,MAAMmP,EAAK,oBAAGnP,EAAO2N,cAAcqB,KAAMyR,GAAMA,EAAEtxB,OAASkK,IAAkB0U,0BAAjE,aAAG,EAAkFoB,aAArF,QAA8F,EAEzG,OAAOA,EAAQ,EACb,kBAAC,IAAD,CAAOpQ,GAAI,CAAExO,EAAG,IACd,kBAAC,IAAD,CAAYokD,QAAQ,KAAKp1C,MAAOzL,IAASV,MAAMsX,MAA/C,8BAC8ByE,GAE9B,kBAAC,IAAD,CAAY5P,MAAOzL,IAASV,MAAMsX,MAC/BoD,IAAoBzU,IAAkB0U,mBAAmBb,QAI9D,sCAQEipL,EAAiB,EAAGn2L,YACjBA,EAAOmlB,QAAU,EACtB,kBAAC,IAAD,CAAOpmB,GAAI,CAAExO,EAAG,IACd,kBAAC,IAAD,CAAYokD,QAAQ,KAAKp1C,MAAOzL,IAASV,MAAM6V,OAA/C,yBACyBjJ,EAAOmlB,SAEhC,kBAAC,IAAD,CAAY5lB,MAAOzL,IAASV,MAAM6V,OAChC,4DADF,IACwCnC,YAA+D,KAAjD,EAAIxN,IAAU+E,eAAiB2B,EAAOmlB,SAAgB,GAD5G,uBAMF,qCASG,SAASixK,EAAkBv2L,GAAmC,QACnE,MAAOw2L,EAAaC,GAAkBvqJ,oBAAS,GACzC/rC,EAAS0I,IAAI9X,SACbw7C,EAAcL,oBAAS,GAAO,GACpC,SAAS+B,IACP1B,EAAa/8C,IAAOA,GAyBtB,OAvBAk/C,oBAAU,KACR,MAAMsG,EAAKwO,YAAYvV,EAAU,KACjC,MAAO,IAAM+1B,cAAchvB,IAC1B,IAqBD,kBAAC,IAAD,CAAW8/E,gBAAc,EAACpkH,SAAS,KAAKxR,GAAI,CAAEirD,GAAI,IAChD,kBAAC,IAAD,CAAYrV,QAAQ,MAApB,iBACA,kBAAC,IAAD,CAAK51C,GAAI,CAAEoyE,GAAI,IACb,kBAAC,IAAD,CAAOpyE,GAAI,CAAExO,EAAG,IACd,kBAAC,IAAD,CAAYokD,QAAQ,KAAKp1C,MAAM,UAAUR,GAAI,CAAE2Q,QAAS,OAAQC,WAAY,SAAUqlH,SAAU,SAAhG,0BAEE,kBAAC,IAAD,CACEjmE,MACE,oCACE,kBAAC,IAAD,+HAIA,kBAAC,IAAD,wFAGA,6BACA,kBAAC,IAAD,4CACA,kBAAC,IAAD,gBACA,kBAAC,IAAD,2DACA,kBAAC,IAAD,4BACA,kBAAC,IAAD,wBACA,kBAAC,IAAD,qCACA,kBAAC,IAAD,iBACA,6BACA,kBAAC,IAAD,8QAQJ,kBAAC,IAAD,CAAMhwD,GAAI,CAAE42H,GAAI,EAAGxkD,GAAI,IAAO5xE,MAAM,WAGxC,kBAAC,IAAD,CACEyR,KAAMqlL,EACNplL,QAAS,IAAMqlL,GAAe,GAC9B31F,UAAW9gG,EAAM0yC,uBACjBmuD,iBACE,4DAEE,6BACA,6BAHF,UAIE,6BAJF,uBAKE,6BALF,6BAME,6BANF,4BAOE,6BACA,6BARF,iBAUE,6BACA,6BAXF,wBAYE,6BAZF,uBAaE,6BACA,6BAdF,0HAoBJ,kBAAC,IAAD,CAAK3hG,GAAI,CAAE2Q,QAAS,OAAQmyB,MAAO,OAAQ+yF,oBAAqB,YAC9D,kBAAC,IAAD,CAAS7lE,MAAO,kBAAC,IAAD,kCACd,8BACE,kBAAC,IAAD,CAAQhwD,GAAI,CAAE8iC,MAAO,QAAUniC,SAAgD,IAAtCM,EAAOqO,oBAAoB/gB,OAAc0nD,QAzEhG,WACOlhD,IAASrB,oCAGZoN,EAAM0yC,yBAFN+jJ,GAAe,KAuEL,2BAKJ,kBAAC,IAAD,CAASvnI,MAAO,kBAAC,IAAD,6DACd,kBAAC,IAAD,CAAQhwD,GAAI,CAAE8iC,MAAO,OAAQtiC,MAAOzL,IAASV,MAAMkqE,cAAgBtoB,QAzF/E,WACEn1C,EAAMyyC,eACNxE,MAuFU,eAnFN8xE,cAAsB,6BACnB,OAwFF5/G,EAAOqO,oBAAoB/gB,OAAS,EACnC,kBAAC,IAAD,CAAKyR,GAAI,CAAE2Q,QAAS,OAAQklH,oBAAqB,YAC/C,kBAAC,IAAD,MACA,kBAAC,IAAD,OAGF,kBAAC,IAAD,CAAO71H,GAAI,CAAExO,EAAG,IACd,kBAAC,IAAD,mDAKN,kBAAC,IAAD,CACEwO,GAAI,CACFkrD,GAAI,EACJv6C,QAAS,OACTklH,oBAAsB,eAChB,oBAAC50H,EAAO2N,cAAcqB,KAAMyR,GAAMA,EAAEtxB,OAASkK,IAAkB0U,0BAA/D,aAAC,EAAkFoB,aAAnF,QAA4F,GAAK,QACjGnP,EAAOmlB,QAAU,WAEvBowG,IAAK,IAGP,kBAAC2gE,EAAD,CAAkBl2L,OAAQA,IAC1B,kBAACm2L,EAAD,CAAgBn2L,OAAQA,KAG1B,kBAAC,IAAD,KACE,kBAAC,IAAD,OAEF,kBAAC,IAAD,S,6BCpNN,sJAkBO,SAASu2L,IACd,MAAMnqJ,EAAcL,oBAAS,GAAM,GAE7ByqJ,EADS9tL,IAAI9X,SACO+c,cAAchd,QAAQke,OAAQklB,GAAQA,EAAI5kC,OAASkK,IAAkB0U,oBAExF2hJ,EAAaC,GAAkB5jH,mBAASyqJ,EAAW,IAQ1D,SAAS1oJ,IACP1B,EAAa2B,IAASA,GAaxB,OApBIj6C,IAASC,0BAA4BC,IAA+ByiM,gBACtED,EAAWrwL,KAAK,CAACuwL,EAAMC,IACdD,EAAKvnM,KAAKgxJ,cAAcw2C,EAAKxnM,OAmBtC,kBAAC,IAAD,CAAK4P,GAAI,CAAE8iC,MAAO,SAChB,kBAAC,IAAD,CAAO9iC,GAAI,CAAExO,EAAG,IACd,kBAAC,IAAD,CAAYokD,QAAQ,MAApB,2BACA,kBAAC,IAAD,CAAK51C,GAAI,CAAE2Q,QAAS,OAAQklH,oBAAqB,YAC/C,kBAAC,IAAD,CAAS7lE,MAAO,2DACd,kBAAC,IAAD,CAAQhwD,GAAI,CAAE8iC,MAAO,QAAUmT,QAXzC,WACElhD,IAASC,wBAA0BC,IAA+ByiM,eAClE3oJ,MASQ,kBAIF,kBAAC,IAAD,CAASihB,MAAO,6EACd,kBAAC,IAAD,CAAQhwD,GAAI,CAAE8iC,MAAO,QAAUmT,QArBzC,WACElhD,IAASC,wBAA0BC,IAA+BC,gBAClE65C,MAmBQ,kCAML0oJ,EAAWlpM,OAAS,EACnB,kBAAC,IAAD,CAAOyR,GAAI,CAAE2Q,QAAS,OAAQklH,oBAAqB,YACjD,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAM71H,GAAI,CAAE64C,OAAQ,IAAK+qB,UAAW,SAAUhC,YAAc,aAAY7sE,IAASV,MAAMwtE,YACpF41H,EAAWvuL,IAAI,CAAC8sC,EAAG3nD,IAClB,kBAAC,IAAD,CAAgB8C,IAAK9C,EAAI,EAAG4nD,QAAS,IAAM26G,EAAe56G,GAAI+X,SAAU4iG,IAAgB36G,GACtF,kBAAC,IAAD,KAAaA,EAAE5lD,UAKvB,kBAAC,IAAD,CAAK4P,GAAI,CAAE/P,EAAG,IACZ,kBAAC,IAAD,CAAY2lD,QAAQ,KAAK51C,GAAI,CAAE2Q,QAAS,OAAQC,WAAY,SAAUqlH,SAAU,SAC7E06B,EAAYvgK,MAEf,kBAAC,IAAD,CAAY4P,GAAI,CAAEyR,UAAW,IAAKmyD,UAAW,WAC1C,MACC,MAAM5uC,EAAMjmB,IAAoB4hJ,EAAYvgK,MAEtCub,EAA2B,iBAAbqpB,EAAIrpB,KAAoB,8BAAOqpB,EAAIrpB,MAAeqpB,EAAIrpB,KAS1E,OAPE,oCACGA,EACD,6BACA,6BACCqpB,EAAI7mB,QATV,MAkBP,kBAAC,IAAD,CAAOnO,GAAI,CAAExO,EAAG,IACd,kBAAC,IAAD,qD,6BCjGV,8IA4BA,SAASqmM,EAAqB/2L,GAE5B,OAAmB,IAAfA,EAAMomB,MAA0C,IAA5Br1B,IAAOorB,cAAc,GACpC,gBAAC,IAAD,CAAYzc,MAAOM,EAAMN,OAAQtK,IAAe8B,iBAAiB8I,EAAM+rD,OAG9E,gBAAC,IAAD,CAAYrsD,MAAOM,EAAMN,OACvB,wBAAMgjC,MAAO,CAAEm/B,QAAS,KAAQzsE,IAAe8B,iBAAiB8I,EAAM+rD,OAAc,IACnF32D,IAAe8B,iBAAiB8I,EAAM+rD,KAAO/rD,EAAMomB,OAiB1D,SAAS4wK,EAAeh3L,GACtB,MAAMi3L,EAAYj3L,EAAMmuE,KACrB/lE,IAAKnb,IACJ,MAAM,KAAEm5B,EAAF,QAAQ88B,EAAR,UAAiBg0I,EAAjB,OAA4BC,EAAS,EAArC,MAAwCz3L,EAAQzL,IAASV,MAAM8c,SAAYpjB,EAEjF,IAAKgM,MAAMi+L,GACT,OACE,gBAAC,IAAD,CAAU7mM,IAAK+1B,EAAM0uG,gBAAc,EAAC51H,GAAI,CAAEk4L,GAAI,IAC5C,gBAAC,IAAD,CACEl4L,GAAI,CAAEkrD,GAAI,IACV/5C,QACE,gBAAC,IAAD,CAAY3Q,MAAOA,GACjB,yBAAI0mB,IAGR63C,UACE,wBAAMv7B,MAAO,CAAE7yB,QAAS,OAAQC,WAAY,SAAUqlH,SAAU,SAC9D,gBAAC4hE,EAAD,CAAsBhrI,KAAM7I,EAAS98B,KAAM+wK,EAAQz3L,MAAOA,IAC1D,gBAAC,IAAD,CAAa8gE,SAAS,QAAQ9gE,MAAM,UAAUR,GAAI,CAAEoyE,GAAI,GAAKnnB,GAAI,KACjE,gBAAC4sI,EAAD,CAAsBhrI,KAAMmrI,EAAW9wK,KAAM+wK,EAAQz3L,MAAOzL,IAASV,MAAMmqE,WAG/E25H,mBAAiB,OAO1BroL,OAAQzhB,QAAY2S,IAAN3S,GAEjB,OAAO0pM,EAAUxpM,OAAS,EAAI,gBAAC,IAAD,CAAM8oJ,gBAAc,GAAE0gD,GAAoB,iCAGnE,SAASK,IACd,MAAM/rL,EA3ER,WACE,IAAIgsL,EAAoB/2L,cACxB,IAAK,MAAM0zB,KAAOnjC,IAAOyd,oBAAqB,CAC5C,MAAMgpL,EAASvpL,IAAoBimB,EAAI5kC,MACvCioM,EAAO7vI,YAAiB6vI,EAAMC,EAAOjsL,OAEvC,OAAOgsL,EAqEOE,GAERC,EAAwC,IACzC,CACD,CACEtxK,KAAM,iBACN88B,QAASnyD,IAAOwa,MAAMY,eACtB+qL,UAAWnmM,IAAOwa,MAAMY,eAAiBZ,EAAMY,gBAEjD,CACEia,KAAM,gBACN88B,QAASnyD,IAAOwa,MAAMa,cACtB8qL,UAAWnmM,IAAOwa,MAAMa,cAAgBb,EAAMa,eAEhD,CACEga,KAAM,gBACN88B,QAASnyD,IAAOwa,MAAMc,cACtB6qL,UAAWnmM,IAAOwa,MAAMc,cAAgBd,EAAMc,cAC9C8qL,OAAQ52L,IAAmBg3C,iBAE7B,CACEnxB,KAAM,iBACN88B,QAASnyD,IAAOwa,MAAMe,aACtB4qL,UAAWnmM,IAAOwa,MAAMe,aAAef,EAAMe,cAE/C,CACE8Z,KAAM,gBACN88B,QAASnyD,IAAOwa,MAAMD,QACtB4rL,UAAWnmM,IAAOwa,MAAMD,QAAUC,EAAMD,QACxC6rL,OAAQ52L,IAAmBkmB,wBAE7B,CACEL,KAAM,qBACN88B,QAASnyD,IAAOwa,MAAMM,YACtBqrL,UAAWnmM,IAAOwa,MAAMM,YAAcN,EAAMM,YAC5CsrL,OAAQ52L,IAAmB62C,cAE7BhvC,IAAKnb,GACLS,OAAO+B,eAAexC,EAAM,QAAS,CACnC8C,MAAOkE,IAASV,MAAM80B,WAGvB,CACD,CACEjC,KAAM,iBACN88B,QAASnyD,IAAOwa,MAAMC,SACtB0rL,UAAWnmM,IAAOwa,MAAMC,SAAWD,EAAMC,SACzC2rL,OAAQ52L,IAAmBmmB,yBAE7B,CACEN,KAAM,sBACN88B,QAASnyD,IAAOwa,MAAMO,aACtBorL,UAAWnmM,IAAOwa,MAAMO,aAAeP,EAAMO,cAE/C,CACEsa,KAAM,gBACN88B,QAASnyD,IAAOwa,MAAME,QACtByrL,UAAWnmM,IAAOwa,MAAME,QAAUF,EAAME,QACxC0rL,OAAQ52L,IAAmBomB,wBAE7B,CACEP,KAAM,qBACN88B,QAASnyD,IAAOwa,MAAMQ,YACtBmrL,UAAWnmM,IAAOwa,MAAMQ,YAAcR,EAAMQ,aAE9C,CACEqa,KAAM,kBACN88B,QAASnyD,IAAOwa,MAAMG,UACtBwrL,UAAWnmM,IAAOwa,MAAMG,UAAYH,EAAMG,UAC1CyrL,OAAQ52L,IAAmBqmB,0BAE7B,CACER,KAAM,uBACN88B,QAASnyD,IAAOwa,MAAMS,cACtBkrL,UAAWnmM,IAAOwa,MAAMS,cAAgBT,EAAMS,eAEhD,CACEoa,KAAM,gBACN88B,QAASnyD,IAAOwa,MAAMI,QACtBurL,UAAWnmM,IAAOwa,MAAMI,QAAUJ,EAAMI,QACxCwrL,OAAQ52L,IAAmBsmB,wBAE7B,CACET,KAAM,qBACN88B,QAASnyD,IAAOwa,MAAMU,YACtBirL,UAAWnmM,IAAOwa,MAAMU,YAAcV,EAAMU,cAE9C7D,IAAKnb,GACLS,OAAO+B,eAAexC,EAAM,QAAS,CACnC8C,MAAOkE,IAASV,MAAM8pE,UAG1B,CACEj3C,KAAM,iBACN88B,QAASnyD,IAAOwa,MAAMK,SACtBsrL,UAAWnmM,IAAOwa,MAAMK,SAAWL,EAAMK,SACzCurL,OAAQ52L,IAAmBumB,wBAC3BpnB,MAAOzL,IAASV,MAAMk1B,KAExB,CACErC,KAAM,sBACN88B,QAASnyD,IAAOwa,MAAMW,aACtBgrL,UAAWnmM,IAAOwa,MAAMW,aAAeX,EAAMW,aAC7CxM,MAAOzL,IAASV,MAAMk1B,MAGpBkvK,EAAyC,CAC7C,CACEvxK,KAAM,0BACN88B,QAASnyD,IAAOwa,MAAMqB,mBACtBsqL,UAAWnmM,IAAOwa,MAAMqB,mBAAqBrB,EAAMqB,mBACnDuqL,OAAQ52L,IAAmBg3D,kBAE7B,CACEnxC,KAAM,6BACN88B,QAASnyD,IAAOwa,MAAMsB,2BACtBqqL,UAAWnmM,IAAOwa,MAAMsB,2BAA6BtB,EAAMsB,4BAE7D,CACEuZ,KAAM,gCACN88B,QAASnyD,IAAOwa,MAAMuB,sBACtBoqL,UAAWnmM,IAAOwa,MAAMuB,sBAAwBvB,EAAMuB,uBAExD,CACEsZ,KAAM,kCACN88B,QAASnyD,IAAOwa,MAAMwB,uBACtBmqL,UAAWnmM,IAAOwa,MAAMwB,uBAAyBxB,EAAMwB,wBAEzD,CACEqZ,KAAM,kCACN88B,QAASnyD,IAAOwa,MAAMyB,wBACtBkqL,UAAWnmM,IAAOwa,MAAMyB,wBAA0BzB,EAAMyB,yBAE1D,CACEoZ,KAAM,0BACN88B,QAASnyD,IAAOwa,MAAMgB,YACtB2qL,UAAWnmM,IAAOwa,MAAMgB,YAAchB,EAAMgB,aAE9C,CACE6Z,KAAM,0BACN88B,QAASnyD,IAAOwa,MAAMiB,YACtB0qL,UAAWnmM,IAAOwa,MAAMiB,YAAcjB,EAAMiB,YAC5C2qL,OAAQ52L,IAAmBu3D,oBAE7B,CACE1xC,KAAM,SACN88B,QAASnyD,IAAOwa,MAAMoB,WACtBuqL,UAAWnmM,IAAOwa,MAAMoB,WAAapB,EAAMoB,WAC3CwqL,OAAQ52L,IAAmB82D,iBAC3B33D,MAAOzL,IAASV,MAAMjC,OAExB,CACE80B,KAAM,uBACN88B,QAASnyD,IAAOwa,MAAMmB,cACtBwqL,UAAWnmM,IAAOwa,MAAMmB,cAAgBnB,EAAMmB,cAC9ChN,MAAOzL,IAASV,MAAM8pE,QAExB,CACEj3C,KAAM,cACN88B,QAASnyD,IAAOwa,MAAMkB,YACtByqL,UAAWnmM,IAAOwa,MAAMkB,YAAclB,EAAMkB,YAC5C0qL,OAAQ52L,IAAmB+2D,WAC3B53D,MAAOzL,IAASV,MAAMjC,QA6B1B,OAzBIP,IAAOqnJ,wBACTu/C,EAAa5pM,KACX,CACEq4B,KAAM,6BACN88B,QAASnyD,IAAOwa,MAAM6B,2BACtB8pL,UAAWnmM,IAAOwa,MAAM6B,2BAA6B7B,EAAM6B,4BAE7D,CACEgZ,KAAM,0BACN88B,QAASnyD,IAAOwa,MAAM0B,wBACtBiqL,UAAWnmM,IAAOwa,MAAM0B,wBAA0B1B,EAAM0B,yBAE1D,CACEmZ,KAAM,2BACN88B,QAASnyD,IAAOwa,MAAM2B,yBACtBgqL,UAAWnmM,IAAOwa,MAAM2B,yBAA2B3B,EAAM2B,0BAE3D,CACEkZ,KAAM,6BACN88B,QAASnyD,IAAOwa,MAAM4B,qBACtB+pL,UAAWnmM,IAAOwa,MAAM4B,qBAAuB5B,EAAM4B,uBAMzD,gBAAC,IAAD,CACEjO,GAAI,CACFxO,EAAG,EACHigB,UAAW,IACXmyD,UAAW,SACXjzD,QAAS,OACTgjC,cAAe,SACfsiF,SAAU,OACVO,IAAK,IAGP,gBAACshE,EAAD,CAAgB7oH,KAAMupH,IACtB,gBAACV,EAAD,CAAgB7oH,KAAMwpH,O,6BCpS5B,6GAUO,SAASC,IACd,MAAM16I,EAA6B,GAEnC,IAAI+K,GAAY,EAChB,IAAK,IAAI16D,EAAIwD,IAAOyd,oBAAoB/gB,OAAS,EAAGF,GAAK,EAAGA,IAC1D,GAAIwD,IAAOyd,oBAAoBjhB,GAAG+B,OAASkK,IAAkB0U,kBAAmB,CAC9E+5C,EAAW16D,EACX,MAGJ,IAAK,IAAIA,EAAI,EAAGA,EAAIwD,IAAOyd,oBAAoB/gB,OAAQF,IAAK,CAC1D,MAAMu6D,EAAW/2D,IAAOyd,oBAAoBjhB,GAC5C,IAAIsqM,EAAc/vI,EAASx4D,KAE3B,GAAIw4D,EAASx4D,OAASkK,IAAkB0U,mBAAqB3gB,IAAM06D,EAAU,SAC7E,MAAM/zB,EAAMjmB,IAAoB65C,EAASx4D,MAEzC,IAAIggB,EAAQ,KACRw4C,EAASx4D,OAASkK,IAAkB0U,oBACtCoB,EAAQw4C,EAASx4C,MACjBuoL,GAAgB,YAAWvoL,GAG7B4tC,EAAKnvD,KACH,gBAAC,IAAD,CACEmhE,MACE,gBAAC,IAAD,KACG,MACC,MAAMrkD,EAA2B,iBAAbqpB,EAAIrpB,KAAoB,4BAAOqpB,EAAIrpB,MAAeqpB,EAAIrpB,KAS1E,OAPE,gCACGA,EACD,2BACA,2BACCqpB,EAAI7mB,QAPV,IAcLyqL,eAAgB,IAChBznM,IAAKwnM,GAEL,gBAAC,IAAD,CAAc34L,GAAI,CAAE64H,GAAI,EAAGq/D,GAAI,GAAK/mL,QAASwnL,MAKnD,OACE,gBAAC,IAAD,CAAO34L,GAAI,CAAEk4L,GAAI,EAAGzmL,UAAW,IAAKmyD,UAAW,WAC7C,gBAAC,IAAD,CAAM5jE,GAAI,CAAE64C,OAAQ,IAAK+qB,UAAW,UAAYyzE,gBAAc,GAC3Dr5F,M,6BC9DT,iJAmBA,MAAM66I,EAAaC,IACjB,IAAe,IAAXA,EAAc,CAyBhB,MAxB2B,CACzBntL,KACE,mJAEE,6BACA,6BAHF,uDAKE,6BACA,6BANF,yCAQE,6BACA,6BACC9Z,IAAOS,SAAS4W,IAAKhZ,GACpB,kBAAC,IAAMy6D,SAAP,CAAgBx5D,IAAKjB,GAArB,KACKuwD,YAAYvwD,GACf,gCAKRsnC,IAAK3lC,IAAOS,SAAS/D,OACrB8C,GAAI,EACJjB,KAAM,4CAKV,MAAMq+B,EAAa,aAAeqqK,EAC5BC,EAAQrqK,IAAYD,GAC1B,OAAa,MAATsqK,GACFtiM,QAAQyT,MAAO,+BAA8B4uL,GACtC,MAEFC,GAGHC,EAAeD,IACnB,IAAI76K,EACJ,OAAQ66K,EAAM1nM,GACZ,KAAK,GACH6sB,EAAW,IACX,MACF,KAAM,EACJA,EAAW1vB,OAAOuT,KAAK69C,KAASrxD,OAChC,MACF,QACE2vB,EAAW,IAEf,OAAOA,GAGF,SAAS+6K,IAAyC,MACvD,MAAMC,EAAYrnM,IAAO28B,YAAY58B,QAC/BU,EAAWT,IAAOS,SAexB,GAbIA,EAAS/D,OAAS,GACpB2qM,EAAUj6D,QAAQ,CAChB5tI,GAAI,EACJmmC,IAAKllC,EAAS/D,SAIdwG,IAASC,0BAA4BC,IAA+ByiM,gBACtEwB,EAAU9xL,KAAK,CAAC+xL,EAAKC,IACZD,EAAI9nM,EAAI+nM,EAAI/nM,GAIE,IAArB6nM,EAAU3qM,OACZ,OAAO,qCAGT,MAAO8qM,EAAYC,GAAiBtsJ,mBAASksJ,EAAU,IAEvD,OACE,kBAAC,IAAD,CAAKl5L,GAAI,CAAE8iC,MAAO,OAAQixE,GAAI,IAC5B,kBAAC,IAAD,CAAO/zG,GAAI,CAAExO,EAAG,IACd,kBAAC,IAAD,CAAYokD,QAAQ,MAApB,iBAEF,kBAAC,IAAD,CAAO51C,GAAI,CAAE2Q,QAAS,OAAQklH,oBAAqB,YACjD,kBAAC,IAAD,KACE,kBAAC,IAAD,CACE71H,GAAI,CAAE64C,OAAQ,IAAK+qB,UAAW,SAAUhC,YAAc,aAAY7sE,IAASV,MAAMwtE,WACjFw1E,gBAAc,GAEb6hD,EAAUhwL,IAAI,CAACwY,EAAGrzB,KACjB,MAAM0qM,EAAQF,EAAUn3K,EAAErwB,GAC1B,IAAK0nM,EAAO,OAEZ,MAAM76K,EAAW86K,EAAYD,GAE7B,OACE,kBAAC,IAAD,CACE5nM,IAAK9C,EAAI,EACT4nD,QAAS,IAAMqjJ,EAAc53K,GAC7BqsC,SAAUsrI,EAAWhoM,IAAMqwB,EAAErwB,EAC7B2O,GAAI,CAAEk4L,GAAI,IAEV,kBAAC,IAAD,CACEC,mBAAiB,EACjBhnL,QAAS,kBAAC,IAAD,KAAa4nL,EAAM3oM,MAC5B2uE,UACE,kBAAC,IAAD,cACSr9C,EAAE8V,IADX,MACmBtZ,UASjC,kBAAC,IAAD,CAAKle,GAAI,CAAE/P,EAAG,IACZ,kBAAC,IAAD,CAAY2lD,QAAQ,KAAK51C,GAAI,CAAE2Q,QAAS,OAAQC,WAAY,SAAUqlH,SAAU,SAAhF,UACG4iE,EAAUQ,EAAWhoM,UADxB,aACG,EAAyBjB,MAE5B,kBAAC,IAAD,CAAY4P,GAAI,CAAEyR,UAAW,IAAKmyD,UAAW,WAC1C,MACC,MAAMm1H,EAAQF,EAAUQ,EAAWhoM,GACnC,IAAK0nM,EAAO,OAEZ,MAAM76K,EAAW86K,EAAYD,GAE7B,OACE,6CACSM,EAAW7hK,IADpB,MAC4BtZ,EAC1B,6BACA,6BACC66K,EAAMptL,OAXZ,S,6BCzIb,qRAmCO,SAAS4tL,EAAYz4L,GAI1B,OAHA0uC,oBAAU,KACR1uC,EAAMG,OAAOs1B,YAAYqpB,IAAQU,4BAChC,IAED,oCACE,kBAAC,IAAD,uEACA,kBAAC,IAAD,CAASr/C,OAAQH,EAAMG,OAAQ4wC,OAAQ/wC,EAAM+wC,SAC7C,kBAAC,IAAD,CAAO5wC,OAAQH,EAAMG,SACrB,kBAAC,IAAD,CAAUA,OAAQH,EAAMG,SACxB,kBAAC,IAAD,CAAeA,OAAQH,EAAMG,SAC7B,kBAAC,IAAD,CAAaA,OAAQH,EAAMG,SAC3B,kBAAC,IAAD,CAAUA,OAAQH,EAAMG,SACxB,kBAAC,IAAD,MACA,kBAAC,IAAD,MAECH,EAAMG,OAAO8gB,uBAAuBgX,KAAe,kBAAC,IAAD,CAAiB93B,OAAQH,EAAMG,SAElFH,EAAMG,OAAO0gD,UAAY,kBAAC,IAAD,CAAM1gD,OAAQH,EAAMG,SAE7CH,EAAMG,OAAOqpI,kBAAoB,kBAAC,IAAD,CAAarpI,OAAQH,EAAMG,SAE7D,kBAAC,IAAD,MAECH,EAAMG,OAAOwlB,eAAiB,kBAAC,IAAD,MAE9B3lB,EAAMG,OAAOikB,QAAQ32B,OAAS,GAAK,kBAAC,IAAD,CAAS0S,OAAQH,EAAMG,SAC1DH,EAAMG,OAAO2N,cAAc8oC,KAAM1iB,GAAQA,EAAI5kC,OAASkK,IAAkBu4G,eAAiB,kBAAC,IAAD,MAE1F,kBAAC,IAAD,CAAU5xG,OAAQH,EAAMG,OAAQ0rC,OAAQ7rC,EAAM6rC,SAC9C,kBAAC,IAAD,CAAc1rC,OAAQH,EAAMG,OAAQ0rC,OAAQ7rC,EAAM6rC,SAClD,kBAAC,IAAD,CAAS1rC,OAAQH,EAAMG,OAAQ0rC,OAAQ7rC,EAAM6rC,SAC7C,kBAAC,IAAD,S,6BCpEN,mLAuBO,SAAS6sJ,EAAQ14L,GACtB,MAAOoJ,EAAOuvL,GAAYzsJ,oBAAS,IAC5Bm6I,EAAiBuS,GAAsB1sJ,mBAAS,KAChD2sJ,EAAaC,GAAkB5sJ,mBAAS,IAE/C,SAAS6sJ,EAASxoM,GAChB,OAAO,WACLyP,EAAMG,OAAOwf,UAAUpvB,EAAG,UAiD9B,OAJAm+C,oBAAU,KACR,GAAItlC,EAAO,MAAM,IAAIu6I,eAAe,0BACnC,CAACv6I,IAGF,kBAAC,IAAD,CAAW4vL,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,iBAEF,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAQ9jJ,QAAS4jJ,EAAS,MACxB,kCACI,kBAAC,IAAD,CAAOznM,MAAO,QAGpB,kBAAC,IAAD,CAAQ6jD,QAAS4jJ,EAAS,MACxB,kCACI,kBAAC,IAAD,CAAOznM,MAAO,QAGpB,kBAAC,IAAD,CAAQ6jD,QAAS4jJ,EAAS,OACxB,kCACI,kBAAC,IAAD,CAAOznM,MAAO,SAGpB,kBAAC,IAAD,CAAQ6jD,QAAS4jJ,EAAS,OACxB,kCACI,kBAAC,IAAD,CAAOznM,MAAO,SAGpB,kBAAC,IAAD,CAAQ6jD,QAAS4jJ,EAAS1iM,MACxB,kCACI,kBAAC,IAAD,CAAO/E,MAAO+E,QAGpB,kBAAC,IAAD,CAAQ8+C,QA5Ed,WACEn1C,EAAMG,OAAOmY,kBAAkBrV,QAAU,IA2ErC,SACA,6BACA,kBAAC,IAAD,0BACA,kBAAC,IAAD,CAAWlT,MAAOs2L,EAAiBt3H,SAAWn7D,GAAMglM,EAAmBhlM,EAAE+sB,OAAO5wB,SAChF,kBAAC,IAAD,CAAQolD,QA5Dd,WACEn1C,EAAMG,OAAOs4I,iBAAiB4tC,KA2D1B,sBACA,6BACA,kBAAC,IAAD,sBACA,kBAAC,IAAD,CAAQt2L,MAAO8oM,EAAa9pI,SAlDlC,SAAgCzoB,GAC9BwyJ,EAAexyJ,EAAM3lB,OAAO5wB,SAkDrB83E,IAAcK,MAAM9/D,IAAKuB,GACxB,kBAAC,IAAD,CAAUtZ,IAAKsZ,EAAa5Z,MAAO4Z,GAChCA,KAIP,kBAAC,IAAD,CAAQwrC,QA9Dd,WACE,MAAMkqD,EAAYw5F,IAAgBnnM,IAAamgC,SAAWgnK,IAAgBnnM,IAAa+/B,aACvFzxB,EAAMG,OAAO0wH,UAAUgoE,EAAax5F,KA4DhC,cACA,6BACA,kBAAC,IAAD,CAAQlqD,QApEd,WACEn1C,EAAMG,OAAO8gB,YAAc,IAAIgX,IAAYj4B,EAAMG,UAmE7C,oBACA,6BAEA,kBAAC,IAAD,CAAQg1C,QA3Fd,WACEn1C,EAAM+wC,OAAOhH,YAAW,GAAM,KA0F1B,uBACA,kBAAC,IAAD,CAAQoL,QAxFd,WACEn1C,EAAM+wC,OAAOhH,YAAW,GAAM,KAuF1B,qBACA,kBAAC,IAAD,CAAQoL,QArFd,WACEn1C,EAAM+wC,OAAOhH,YAAW,GAAO,KAoF3B,sBACA,kBAAC,IAAD,CAAQoL,QAlFd,WACEn1C,EAAM+wC,OAAOhH,YAAW,GAAO,KAiF3B,qBACA,kBAAC,IAAD,CAAQoL,QAAS,IAAMwjJ,GAAS,IAAhC,eACA,kBAAC,IAAD,CAAQxjJ,QA/Dd,WACEioE,gBA8DI,sB,8BCtIR,yHAYA,MAAM87E,EAAY,KAMX,SAASpqJ,EAAM9uC,GACpB,SAASm5L,EAAU1+E,EAAc2+E,GAC/B,OAAO,SAAUjzK,GACf,OAAQs0F,GACN,IAAK,UACCt0F,GACFnmB,EAAMG,OAAOynB,eAAezB,EAAMizK,GAEpC,MACF,IAAK,WACCjzK,GACFnmB,EAAMG,OAAO0nB,gBAAgB1B,EAAMizK,GAErC,MACF,IAAK,UACCjzK,GACFnmB,EAAMG,OAAO2nB,eAAe3B,EAAMizK,GAEpC,MACF,IAAK,YACCjzK,GACFnmB,EAAMG,OAAO4nB,iBAAiB5B,EAAMizK,GAEtC,MACF,IAAK,UACCjzK,GACFnmB,EAAMG,OAAO6nB,eAAe7B,EAAMizK,GAEpC,MACF,IAAK,WACCjzK,GACFnmB,EAAMG,OAAO8nB,gBAAgB9B,EAAMizK,GAErC,MACF,IAAK,eACCjzK,GACFnmB,EAAMG,OAAO+nB,oBAAoB/B,EAAMizK,GAI7Cp5L,EAAMG,OAAOqmB,qBAIjB,SAAS6yK,EAAYD,GACnB,OAAO,SAAUx/K,GACf5Z,EAAMG,OAAOolB,OAAS3L,EAAMw/K,GA0BhC,SAASE,EAAgB7+E,GACvB,OAAO,WACL,OAAQA,GACN,IAAK,UACHz6G,EAAMG,OAAO0L,YAAc,EAC3B,MACF,IAAK,WACH7L,EAAMG,OAAO2L,aAAe,EAC5B,MACF,IAAK,UACH9L,EAAMG,OAAO4L,YAAc,EAC3B,MACF,IAAK,YACH/L,EAAMG,OAAO6L,cAAgB,EAC7B,MACF,IAAK,UACHhM,EAAMG,OAAO8L,YAAc,EAC3B,MACF,IAAK,WACHjM,EAAMG,OAAO+L,aAAe,EAC5B,MACF,IAAK,eACHlM,EAAMG,OAAO6mB,iBAAmB,EAGpChnB,EAAMG,OAAOqmB,qBAuBjB,OACE,kBAAC,IAAD,CAAWwyK,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,4BAEF,kBAAC,IAAD,KACE,+BACE,+BACE,4BACE,4BACE,kBAAC,IAAD,cAEF,4BACE,kBAAC,IAAD,CAAQ9jJ,QAnFtB,WACEn1C,EAAMG,OAAOynB,eAAesxK,GAC5Bl5L,EAAMG,OAAO0nB,gBAAgBqxK,GAC7Bl5L,EAAMG,OAAO2nB,eAAeoxK,GAC5Bl5L,EAAMG,OAAO4nB,iBAAiBmxK,GAC9Bl5L,EAAMG,OAAO6nB,eAAekxK,GAC5Bl5L,EAAMG,OAAO8nB,gBAAgBixK,GAC7Bl5L,EAAMG,OAAO+nB,oBAAoBgxK,GACjCl5L,EAAMG,OAAOqmB,sBA2ED,eACA,kBAAC,IAAD,CAAQ2uB,QAzEtB,WACEn1C,EAAMG,OAAO0L,YAAc,EAC3B7L,EAAMG,OAAO2L,aAAe,EAC5B9L,EAAMG,OAAO4L,YAAc,EAC3B/L,EAAMG,OAAO6L,cAAgB,EAC7BhM,EAAMG,OAAO8L,YAAc,EAC3BjM,EAAMG,OAAO+L,aAAe,EAC5BlM,EAAMG,OAAO6mB,iBAAmB,EAChChnB,EAAMG,OAAOqmB,sBAiED,WAGJ,4BACE,4BACE,kBAAC,IAAD,kBAEF,4BACE,kBAAC,IAAD,CACEmoC,MAAM,UACNC,YAAY,MACZE,KAAM,IAAMqqI,EAAU,UAAW,EAArBA,CAAwBD,GACpCzuI,IAAK0uI,EAAU,UAAW,GAC1BtqI,SAAUsqI,EAAU,WAAY,GAChCp0K,MAAOu0K,EAAgB,eAI7B,4BACE,4BACE,kBAAC,IAAD,mBAEF,4BACE,kBAAC,IAAD,CACE3qI,MAAM,WACNC,YAAY,MACZE,KAAM,IAAMqqI,EAAU,WAAY,EAAtBA,CAAyBD,GACrCzuI,IAAK0uI,EAAU,WAAY,GAC3BtqI,SAAUsqI,EAAU,YAAa,GACjCp0K,MAAOu0K,EAAgB,gBAI7B,4BACE,4BACE,kBAAC,IAAD,kBAEF,4BACE,kBAAC,IAAD,CACE3qI,MAAM,UACNC,YAAY,MACZE,KAAM,IAAMqqI,EAAU,UAAW,EAArBA,CAAwBD,GACpCzuI,IAAK0uI,EAAU,UAAW,GAC1BtqI,SAAUsqI,EAAU,WAAY,GAChCp0K,MAAOu0K,EAAgB,eAI7B,4BACE,4BACE,kBAAC,IAAD,oBAEF,4BACE,kBAAC,IAAD,CACE3qI,MAAM,YACNC,YAAY,MACZE,KAAM,IAAMqqI,EAAU,YAAa,EAAvBA,CAA0BD,GACtCzuI,IAAK0uI,EAAU,YAAa,GAC5BtqI,SAAUsqI,EAAU,aAAc,GAClCp0K,MAAOu0K,EAAgB,iBAI7B,4BACE,4BACE,kBAAC,IAAD,kBAEF,4BACE,kBAAC,IAAD,CACE3qI,MAAM,UACNC,YAAY,MACZE,KAAM,IAAMqqI,EAAU,UAAW,EAArBA,CAAwBD,GACpCzuI,IAAK0uI,EAAU,UAAW,GAC1BtqI,SAAUsqI,EAAU,WAAY,GAChCp0K,MAAOu0K,EAAgB,eAI7B,4BACE,4BACE,kBAAC,IAAD,mBAEF,4BACE,kBAAC,IAAD,CACE3qI,MAAM,WACNC,YAAY,MACZE,KAAM,IAAMqqI,EAAU,WAAY,EAAtBA,CAAyBD,GACrCzuI,IAAK0uI,EAAU,WAAY,GAC3BtqI,SAAUsqI,EAAU,YAAa,GACjCp0K,MAAOu0K,EAAgB,gBAI7B,4BACE,4BACE,kBAAC,IAAD,uBAEF,4BACE,kBAAC,IAAD,CACE3qI,MAAM,eACNC,YAAY,MACZE,KAAM,IAAMqqI,EAAU,eAAgB,EAA1BA,CAA6BD,GACzCzuI,IAAK0uI,EAAU,eAAgB,GAC/BtqI,SAAUsqI,EAAU,gBAAiB,GACrCp0K,MAAOu0K,EAAgB,mBAG3B,4BACE,kBAAC,IAAD,CAAQnkJ,QAvItB,WACoC,IAA9Bn1C,EAAMG,OAAO4mB,eACf/mB,EAAMG,OAAO4mB,aAAe,EAC5B/mB,EAAMG,OAAOqmB,uBAoIH,WAEF,4BACE,kBAAC,IAAD,CAAQ2uB,QAnItB,WACEn1C,EAAMG,OAAO6mB,iBAAmB,EAChChnB,EAAMG,OAAO4mB,aAAe,EAC5B/mB,EAAMG,OAAOqmB,sBAgID,aAGJ,4BACE,4BACE,kBAAC,IAAD,gBAEF,4BACE,kBAAC,IAAD,CACEmoC,MAAM,QACNC,YAAY,MACZE,KAAM,IAAMqqI,EAAU,eAAgB,EAA1BA,CAA6B,KACzC1uI,IAAK4uI,EAAY,GACjBxqI,SAAUwqI,GAAa,GACvBt0K,MA7JP,WACL/kB,EAAMG,OAAOolB,MAAQ,a,+BCzH3B,2NA2BO,SAASxc,EAAS/I,GACvB,MAAOiJ,EAASyjC,GAAcR,mBAASx6C,IAAak9B,YAcpD,SAAS2qK,EAAiBH,GACxB,OAAO,SAAUjkI,GACf,MAAM3lD,EAAMgqL,IAAWvwL,GACZ,MAAPuG,GAAgBvW,MAAMk8D,KACxB3lD,EAAI6d,kBAAoB8nC,EAAaikI,IAY3C,SAASK,EAAmBL,GAC1B,OAAO,SAAUxvL,GACf,MAAM4F,EAAMgqL,IAAWvwL,GACZ,MAAPuG,GAAgBvW,MAAM2Q,KACxB4F,EAAI5F,OAASA,EAAQwvL,IAoC3B,OACE,kBAAC,IAAD,CAAWJ,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,kBAEF,kBAAC,IAAD,KACE,+BACE,+BACE,4BACE,4BACE,kBAAC,IAAD,kBAEF,4BACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYjkJ,GAAG,mBAAf,WACA,kBAAC,IAAD,CACE0kJ,QAAQ,kBACR1kJ,GAAG,oBACH+Z,SAtFlB,SAA4BzoB,GAC1BoG,EAAWpG,EAAM3lB,OAAO5wB,QAsFRA,MAAOkZ,EACPgmD,eACE,oCACE,kBAAC,IAAD,CAAY9Z,QAlFlC,WACEznD,OAAO0gC,OAAO18B,KAAciwC,QAAS14B,GAAYjJ,EAAMG,OAAO8lB,cAAchd,KAiFhBwvB,KAAK,QAAQkhK,cAAY,0BAC/D,kBAAC,IAAD,OAEF,kBAAC,IAAD,CAAYxkJ,QAzFlC,WACEn1C,EAAMG,OAAO8lB,cAAchd,IAwF6BwvB,KAAK,QAAQkhK,cAAY,0BAC3D,kBAAC,IAAD,SAKLjsM,OAAO0gC,OAAOorK,KAAYpxL,IAAKa,GAC9B,kBAAC,IAAD,CAAU5Y,IAAK4Y,EAAQ3Z,KAAMS,MAAOkZ,EAAQ3Z,MACzC2Z,EAAQ3Z,WAOrB,4BACE,4BACE,kBAAC,IAAD,qBAEF,4BACE,kBAAC,IAAD,CACEq/D,MAAM,aACNC,YAAY,MACZE,KAAM,IAAMyqI,EAAiB,EAAjBA,CA7HZ,MA8HA9uI,IAAK8uI,EAAiB,GACtB1qI,SAAU0qI,GAAkB,GAC5Bx0K,MAlGhB,WACE,MAAMvV,EAAMgqL,IAAWvwL,GACZ,MAAPuG,IACFA,EAAI6d,iBAAmB,QAmGjB,4BACE,4BACE,kBAAC,IAAD,gBAEF,4BACE,kBAAC,IAAD,CACEshC,MAAM,QACNC,YAAY,MACZE,KAAM,IAAM2qI,EAAmB,EAAnBA,CAAsB,KAClChvI,IAAKgvI,EAAmB,GACxB5qI,SAAU4qI,GAAoB,GAC9B10K,MAjGhB,WACE,MAAMvV,EAAMgqL,IAAWvwL,GACZ,MAAPuG,IACFA,EAAI5F,MAAQ,QAkGN,4BACE,4BACE,kBAAC,IAAD,yBAEF,4BACE,kBAAC,IAAD,CAAQurC,QAnGtB,WACE,IAAK,MAAM5nD,KAAKG,OAAOuT,KAAKu4L,KAC1BA,IAAWjsM,GAAG8/B,iBAvDF,OAwJF,QACA,kBAAC,IAAD,CAAQ8nB,QA9FtB,WACE,IAAK,MAAM5nD,KAAKG,OAAOuT,KAAKu4L,KAC1BA,IAAWjsM,GAAG8/B,iBAAmB,IA4FvB,WAGJ,4BACE,4BACE,kBAAC,IAAD,oBAEF,4BACE,kBAAC,IAAD,CAAQ8nB,QAhGtB,WACE,IAAK,MAAM5nD,KAAKG,OAAOuT,KAAKu4L,KAC1BA,IAAWjsM,GAAGqc,MAnEF,OAiKF,QACA,kBAAC,IAAD,CAAQurC,QA3FtB,WACE,IAAK,MAAM5nD,KAAKG,OAAOuT,KAAKu4L,KAC1BA,IAAWjsM,GAAGqc,MAAQ,IAyFZ,iB,8BCvLhB,yKAoBO,SAASilC,EAAc7uC,GAC5B,MAAO8O,EAAc8qL,GAAmB1tJ,mBAAS,yBAuBjD,OACE,kBAAC,IAAD,CAAW8sJ,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,uBAEF,kBAAC,IAAD,KACE,kBAAC,IAAD,CACElqI,SA5BR,SAAiCzoB,GAC/BszJ,EAAgBtzJ,EAAM3lB,OAAO5wB,QA4BvBA,MAAO+e,EACPmgD,eACE,oCACE,kBAAC,IAAD,CAAY9Z,QAzBxB,WACE,IAAK,MAAMmxD,KAAW54G,OAAO0gC,OAAO50B,KAClCwG,EAAMG,OAAO8zB,kBAAkBqyE,IAuBY7tE,KAAK,SACtC,kBAAC,IAAD,OAEF,kBAAC,IAAD,CAAY0c,QAhCxB,WACEn1C,EAAMG,OAAO8zB,kBAAkBnlB,IA+BU2pB,KAAK,SAClC,kBAAC,IAAD,QAIN22B,aACE,oCACE,kBAAC,IAAD,CAAYja,QA7BxB,WACEn1C,EAAMG,OAAO2N,cAAgB,IA4Ba2qB,KAAK,SACnC,kBAAC,IAAD,SAKL/qC,OAAO0gC,OAAO50B,KAAmB4O,IAAK8rB,GACrC,kBAAC,IAAD,CAAU7jC,IAAK6jC,EAAKnkC,MAAOmkC,GACxBA,KAIP,kBAAC,IAAD,CAAQh1B,GAAI,CAAE2Q,QAAS,SAAWslC,QArCxC,WACEn1C,EAAMG,OAAOqO,oBAAsB,KAoC/B,kC,6BC7ER,kIAcA,MAAMqrL,EAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,IAMlD,SAASjsK,EAAY5tB,GAC1B,SAAS85L,EAAMC,EAAaC,GAC1B,OAAO,WAIL,GAHY,IAARD,IACF/5L,EAAMG,OAAOmc,aAAe,IAEhB,IAAV09K,EAKJ,GAAKh6L,EAAMG,OAAOutB,YAAYkpB,KAAMngB,GAAOA,EAAGlmC,IAAMwpM,GAKpD,IAAK,IAAIxsM,EAAI,EAAGA,EAAIyS,EAAMG,OAAOutB,YAAYjgC,OAAQF,IAC/CyS,EAAMG,OAAOutB,YAAYngC,GAAGgD,IAAMwpM,IACpC/5L,EAAMG,OAAOutB,YAAYngC,GAAGmpC,IAAMsjK,QANpCh6L,EAAMG,OAAOutB,YAAY3/B,KAAK,IAAIspI,IAAsB0iE,EAAKC,SAL7Dh6L,EAAMG,OAAOutB,YAAc1tB,EAAMG,OAAOutB,YAAY1e,OAAQynB,GAAOA,EAAGlmC,IAAMwpM,IAiBlF,SAASE,EAASD,GAChB,MAAO,KACL,IAAK,IAAIzsM,EAAI,EAAGA,EAAIssM,EAASpsM,OAAQF,IACnCusM,EAAMD,EAAStsM,GAAIysM,EAAnBF,IASN,OACE,kBAAC,IAAD,CAAWd,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,sBAEF,kBAAC,IAAD,KACE,+BACE,+BACE,4BACE,4BACE,kBAAC,IAAD,mBAEF,4BACE,kBAAC,IAAD,CAAQ9jJ,QAjBtB,WACEn1C,EAAMG,OAAO3O,SAAW,KAgBZ,WAGJ,wBAAInB,IAAK,UACP,4BACE,kBAAC,IAAD,cAEF,4BACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAQmkH,aAAW,WAAWr/D,QAAS8kJ,EAAS,IAAhD,KAGA,kBAAC,IAAD,CAAQzlF,aAAW,WAAWr/D,QAAS8kJ,EAAS,IAAhD,KAGA,kBAAC,IAAD,CAAQzlF,aAAW,WAAWr/D,QAAS8kJ,EAAS,IAAhD,KAGA,kBAAC,IAAD,CAAQzlF,aAAW,WAAWr/D,QAAS8kJ,EAAS,IAAhD,QAMLJ,EAASzxL,IAAK7a,GACb,wBAAI8C,IAAK,MAAQ9C,GACf,4BACE,kBAAC,IAAD,WAAgBA,EAAhB,MAEF,4BACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAQ4nD,QAAS2kJ,EAAMvsM,EAAG,IAA1B,KACA,kBAAC,IAAD,CAAQ4nD,QAAS2kJ,EAAMvsM,EAAG,IAA1B,KACA,kBAAC,IAAD,CAAQ4nD,QAAS2kJ,EAAMvsM,EAAG,IAA1B,KACA,kBAAC,IAAD,CAAQ4nD,QAAS2kJ,EAAMvsM,EAAG,IAA1B,e,6BCvGpB,yIAkBO,SAASi2B,EAASxjB,GACvB,MAAO00G,EAASwlF,GAAchuJ,mBAAS,YAkBvC,OACE,kBAAC,IAAD,CAAW8sJ,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,kBAEF,kBAAC,IAAD,KACE,+BACE,+BACE,4BACE,4BACE,kBAAC,IAAD,kBAEF,4BACE,kBAAC,IAAD,CAAQlqI,SA9BtB,SAA4BzoB,GAC1B4zJ,EAAW5zJ,EAAM3lB,OAAO5wB,QA6B0BA,MAAO2kH,GAC1ChnH,OAAO0gC,OAAO+rK,KAAa/xL,IAAKssG,GAC/B,kBAAC,IAAD,CAAUrkH,IAAKqkH,EAAQplH,KAAMS,MAAO2kH,EAAQplH,MACzColH,EAAQplH,UAMnB,4BACE,4BACE,kBAAC,IAAD,cAEF,4BACE,kBAAC,IAAD,CAAQ6lD,QAzCtB,WACOn1C,EAAMG,OAAOgnB,WAAWutF,IAC3B10G,EAAMG,OAAOmY,kBAAkBhL,SAASvf,KAAK2mH,KAuCnC,OACA,kBAAC,IAAD,CAAQv/D,QApCtB,WACE,IAAK,MAAM5nD,KAAKG,OAAOuT,KAAKk5L,KACrBn6L,EAAMG,OAAOgnB,WAAWgzK,IAAY5sM,GAAG+B,OAC1C0Q,EAAMG,OAAOmY,kBAAkBhL,SAASvf,KAAKosM,IAAY5sM,GAAG+B,QAiCpD,e,6BCjEhB,iJAcO,SAAS8qM,IACd,MAAO94L,EAAQ+4L,GAAanuJ,mBAAS,QAwErC,OACE,kBAAC,IAAD,CAAW8sJ,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,iBAEF,kBAAC,IAAD,KACE,+BACE,+BACE,4BACE,4BACE,kBAAC,IAAD,iBAEF,wBAAIzmF,QAAS,GACX,kBAAC,IAAD,CAAQx9D,GAAG,uBAAuB+Z,SApFhD,SAA2BzoB,GACzB+zJ,EAAU/zJ,EAAM3lB,OAAO5wB,QAmFoDA,MAAOuR,GACnEO,cAAgBuG,IAAK9G,GACpB,kBAAC,IAAD,CAAUjR,IAAKiR,EAAOE,SAAUzR,MAAOuR,EAAOE,UAC3CF,EAAOE,cAMlB,4BACE,4BACE,kBAAC,IAAD,eAEF,4BACE,kBAAC,IAAD,CAAQ2zC,QA/FtB,WACE,MAAMtmD,EAAIwS,YAAUC,GACV,OAANzS,GACEA,aAAa0U,MACnB1U,EAAEm/E,gBAAiB,EACnBn/E,EAAE68I,aAAc,EAChB78I,EAAE88I,aAAc,EAChB98I,EAAE+8I,cAAe,EACjB/8I,EAAEg9I,cAAe,EACjBh9I,EAAEi9I,aAAc,EAChBj9I,EAAE48I,cAAgB,KAqFN,aAEF,4BACE,kBAAC,IAAD,CAAQt2F,QArFtB,WACE,IAAK,MAAMtmD,KAAKgT,cAAiB,CAC/B,KAAMhT,aAAa0U,KAAS,OAC5B1U,EAAEm/E,gBAAiB,EACnBn/E,EAAE68I,aAAc,EAChB78I,EAAE88I,aAAc,EAChB98I,EAAE+8I,cAAe,EACjB/8I,EAAEg9I,cAAe,EACjBh9I,EAAEi9I,aAAc,EAChBj9I,EAAE48I,cAAgB,KA4ER,cAGJ,4BACE,4BACE,kBAAC,IAAD,mBAEF,4BACE,kBAAC,IAAD,CAAQt2F,QAhFtB,WACE,MAAMtmD,EAAIwS,YAAUC,GACV,OAANzS,GACEA,aAAa0U,MACnB1U,EAAEsU,eAAiBtU,EAAEsqB,iBA4ET,YAEF,4BACE,kBAAC,IAAD,CAAQg8B,QA5EtB,WACE,IAAK,MAAMtmD,KAAKgT,cAAiB,CAC/B,KAAMhT,aAAa0U,KAAS,OAC5B1U,EAAEsU,eAAiBtU,EAAEsqB,iBAyEX,aAGJ,4BACE,4BACE,kBAAC,IAAD,gBAEF,4BACE,kBAAC,IAAD,CAAQg8B,QA/DtB,WACE,MAAMtmD,EAAIwS,YAAUC,GACV,OAANzS,GACEA,aAAa0U,MACnB1U,EAAEuU,eAAiB,KA2DP,YAEF,4BACE,kBAAC,IAAD,CAAQ+xC,QA3DtB,WACE,IAAK,MAAMtmD,KAAKgT,cAAiB,CAC/B,KAAMhT,aAAa0U,KAAS,OAC5B1U,EAAEuU,eAAiB,KAwDT,YAEF,4BACE,kBAAC,IAAD,CAAQ+xC,QAnFtB,WACE,MAAMtmD,EAAIwS,YAAUC,GACV,OAANzS,GACEA,aAAa0U,MACnB1U,EAAEuU,eAAiBvU,EAAEkqB,YA+ET,YAEF,4BACE,kBAAC,IAAD,CAAQo8B,QA/EtB,WACE,IAAK,MAAMtmD,KAAKgT,cAAiB,CAC/B,KAAMhT,aAAa0U,KAAS,OAC5B1U,EAAEuU,eAAiBvU,EAAEkqB,YA4EX,mB,6BCjJhB,yJAiBO,SAAS4Q,IACd,MAAOD,EAAS4wK,GAAcpuJ,mBAASx6C,IAAa49B,OAQpD,SAASirK,EAAiBnB,GACxB,OAAO,SAAUjkI,GACf,MAAM/lE,EAAIorM,IAAa9wK,GACd,MAALt6B,GAAc6J,MAAMk8D,KACtB/lE,EAAEi+B,kBAAoB8nC,EAAaikI,IAKzC,SAASqB,EAAmBrB,GAC1B,OAAO,SAAUxvL,GACf,MAAMxa,EAAIorM,IAAa9wK,GACd,MAALt6B,GAAc6J,MAAM2Q,KACtBxa,EAAEwa,OAASA,EAAQwvL,IAiCzB,OACE,kBAAC,IAAD,CAAWJ,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,mBAEF,kBAAC,IAAD,KACE,+BACE,+BACE,4BACE,4BACE,kBAAC,IAAD,kBAEF,wBAAIzmF,QAAS,GACX,kBAAC,IAAD,CAAQx9D,GAAG,yBAAyB+Z,SAlElD,SAA4BzoB,GAC1Bg0J,EAAWh0J,EAAM3lB,OAAO5wB,QAiEsDA,MAAO25B,GACtEh8B,OAAO0gC,OAAOosK,KAAcpyL,IAAKshB,GAChC,kBAAC,IAAD,CAAUr5B,IAAKq5B,EAAQp6B,KAAMS,MAAO25B,EAAQp6B,MACzCo6B,EAAQp6B,UAMnB,4BACE,4BACE,kBAAC,IAAD,qBAEF,4BACE,kBAAC,IAAD,CACEq/D,MAAM,aACNC,YAAY,MACZE,KAAM,IAAMyrI,EAAiB,EAAjBA,CAvFZ,MAwFA9vI,IAAK8vI,EAAiB,GACtB1rI,SAAU0rI,GAAkB,GAC5Bx1K,MAnFhB,WACEy1K,IAAa9wK,GAAS2D,iBAAmB,OAsFjC,4BACE,4BACE,kBAAC,IAAD,gBAEF,4BACE,kBAAC,IAAD,CACEshC,MAAM,QACNC,YAAY,MACZE,KAAM,IAAM2rI,EAAmB,EAAnBA,CAAsB,KAClChwI,IAAKgwI,EAAmB,GACxB5rI,SAAU4rI,GAAoB,GAC9B11K,MA5EhB,WACEy1K,IAAa9wK,GAAS9f,MAAQ,OA+EtB,4BACE,4BACE,kBAAC,IAAD,yBAEF,4BACE,kBAAC,IAAD,CAAQurC,QAjFtB,WACE,IAAK,MAAM/lD,KAAK1B,OAAOuT,KAAKu5L,KAC1BA,IAAaprM,GAAGi+B,iBAnCJ,OAkHF,QACA,kBAAC,IAAD,CAAQ8nB,QA5EtB,WACE,IAAK,MAAM/lD,KAAK1B,OAAOuT,KAAKu5L,KAC1BA,IAAaprM,GAAGi+B,iBAAmB,IA0EzB,WAGJ,4BACE,4BACE,kBAAC,IAAD,oBAEF,4BACE,kBAAC,IAAD,CAAQ8nB,QA9EtB,WACE,IAAK,MAAM/lD,KAAK1B,OAAOuT,KAAKu5L,KAC1BA,IAAaprM,GAAGwa,MA/CJ,OA2HF,QACA,kBAAC,IAAD,CAAQurC,QAzEtB,WACE,IAAK,MAAM/lD,KAAK1B,OAAOuT,KAAKu5L,KAC1BA,IAAaprM,GAAGwa,MAAQ,IAuEd,iB,6BC3IhB,kHAiBO,SAASquB,EAAYj4B,GAC1B,MAAMihB,EAAcjhB,EAAMG,OAAO8gB,YACjC,GAAoB,OAAhBA,EAAsB,OAAO,qCACjC,SAASy5K,EAAsBC,GAC7B,OAAO,SAAUroH,GACVrxD,GACLA,EAAYC,WAAWlhB,EAAMG,OAAQmyE,EAAOqoH,IAgBhD,SAASC,EAAwBD,GAC/B,OAAO,SAAU9xJ,GACV5nB,IACLA,EAAYs3B,cAAgB1P,EAAS8xJ,IAczC,OACE,kBAAC,IAAD,CAAW3B,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,qBAEF,kBAAC,IAAD,KACE,+BACE,+BACE,4BACE,4BACE,kBAAC,IAAD,eAEF,4BACE,kBAAC,IAAD,CACEtqI,MAAM,OACNC,YAAY,MACZE,KAvChB,WACO7tC,GAELA,EAAYC,WAAWlhB,EAAMG,OAzBf,OA8DAsqD,IAAKiwI,EAAsB,GAC3B7rI,SAAU6rI,GAAuB,GACjC31K,MAhDhB,WACO9D,IACLA,EAAYqxD,KAAO,EACnBrxD,EAAY67D,QAAU,QAiDd,4BACE,4BACE,kBAAC,IAAD,iBAEF,4BACE,kBAAC,IAAD,CACEnuB,MAAM,SACNC,YAAY,MACZE,KApChB,WACO7tC,IACLA,EAAYs3B,cA1CE,OA6EAkS,IAAKmwI,EAAwB,GAC7B/rI,SAAU+rI,GAAyB,GACnC71K,MA5ChB,WACO9D,IACLA,EAAYs3B,aAAe,c,6BChD/B,kHAiBO,SAASrJ,EAAKlvC,GAOnB,SAAS66L,EAAiBF,GACxB,OAAO,SAAU9xJ,GACX7oC,EAAMG,OAAOslB,OACfzlB,EAAMG,OAAOslB,KAAK8yB,cAAgB1P,EAAS8xJ,IAWjD,OACE,kBAAC,IAAD,CAAW3B,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,cAEF,kBAAC,IAAD,KACE,+BACE,+BACE,4BACE,4BACE,kBAAC,IAAD,iBAEF,4BACE,kBAAC,IAAD,CACEtqI,MAAM,SACNC,YAAY,MACZE,KApChB,WACM9uD,EAAMG,OAAOslB,OACfzlB,EAAMG,OAAOslB,KAAK8yB,aATN,OA4CAkS,IAAKowI,EAAiB,GACtBhsI,SAAUgsI,GAAkB,GAC5B91K,MAzBhB,WACM/kB,EAAMG,OAAOslB,OACfzlB,EAAMG,OAAOslB,KAAK8yB,aAAe,c,6BClCvC,yHAkBO,SAASj+B,EAAYta,GAO1B,SAAS86L,EAAuBH,GAC9B,OAAO,SAAUj6K,GACX1gB,EAAMG,OAAOqgB,cACfxgB,EAAMG,OAAOqgB,YAAYE,OAASA,EAAQi6K,IAiBhD,SAASI,EAAwBJ,GAC/B,OAAO,SAAU9xJ,GACX7oC,EAAMG,OAAOqgB,cACfxgB,EAAMG,OAAOqgB,YAAY+3B,cAAgB1P,EAAS8xJ,IA6BxD,OACE,kBAAC,IAAD,CAAW3B,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,qBAEF,kBAAC,IAAD,KACE,+BACE,+BACE,4BACE,4BACE,kBAAC,IAAD,gBAEF,4BACE,kBAAC,IAAD,CACEtqI,MAAM,YACNC,YAAY,MACZE,KA1EhB,WACM9uD,EAAMG,OAAOqgB,cACfxgB,EAAMG,OAAOqgB,YAAYE,MAAQ1gB,EAAMG,OAAOqgB,YAAYE,MAT9C,OAkFA+pC,IAAKqwI,EAAuB,GAC5BjsI,SAAUisI,GAAwB,GAClC/1K,MA/DhB,WACM/kB,EAAMG,OAAOqgB,cACfxgB,EAAMG,OAAOqgB,YAAYE,MAAQ1gB,EAAMG,OAAOqgB,YAAYE,MAAQ1gB,EAAMG,OAAOqgB,YAAYE,YAiErF,4BACE,4BACE,kBAAC,IAAD,iBAEF,4BACE,kBAAC,IAAD,CACEiuC,MAAM,SACNC,YAAY,MACZE,KArEhB,WACM9uD,EAAMG,OAAOqgB,cACfxgB,EAAMG,OAAOqgB,YAAY+3B,aA7Bb,OAiGAkS,IAAKswI,EAAwB,GAC7BlsI,SAAUksI,GAAyB,GACnCh2K,MA1DhB,WACM/kB,EAAMG,OAAOqgB,cACfxgB,EAAMG,OAAOqgB,YAAY+3B,aAAe,QA4DlC,4BACE,4BACE,kBAAC,IAAD,CAAQpD,QA1DtB,WACOn1C,EAAMG,OAAOqgB,aAClBxgB,EAAMG,OAAOqgB,YAAYM,UAAU6gB,QAASgnE,IAC1Cj7G,OAAOuT,KAAK0nG,EAAIxqE,UAAUwD,QAASqrF,IACjC,MAAM9yF,EAAUyuE,EAAIxqE,SAAS6uF,GAC7B,QAAgB9sH,IAAZg6B,EAAuB,MAAM,IAAI95B,MAAM,gCAC3C85B,EAAQg5F,KAAO,WAoDP,qBAGJ,4BACE,4BACE,kBAAC,IAAD,CAAQ/9E,QApDtB,WACOn1C,EAAMG,OAAOqgB,aAClBxgB,EAAMG,OAAOqgB,YAAYM,UAAU6gB,QAASgnE,IAC1CA,EAAI5nF,YAAYC,KAAO,SAiDb,4B,6BC1HhB,mJAcO,SAASg6K,IACd,MAAO1sG,EAAgB2sG,GAAqB/uJ,mBAAS,6BAYrD,OACE,kBAAC,IAAD,CAAW8sJ,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,0BAEF,kBAAC,IAAD,KACE,+BACE,+BACE,4BACE,4BACE,kBAAC,IAAD,CAAQ9jJ,QAAS/zB,KAAjB,4BACA,kBAAC,IAAD,CAAQ+zB,QAASkqE,KAAjB,2CAGJ,4BACE,4BACE,kBAAC,IAAD,CAAQtwD,SA3BtB,SAAmCzoB,GACjC20J,EAAkB30J,EAAM3lB,OAAO5wB,QA0B0BA,MAAOu+F,GACjD5gG,OAAO0gC,OAAOq6B,KAAqBrgD,IAAK8yL,GACvC,kBAAC,IAAD,CAAU7qM,IAAK6qM,EAAG5rM,KAAMS,MAAOmrM,EAAG5rM,MAC/B4rM,EAAG5rM,QAIV,kBAAC,IAAD,CAAQ6lD,QA9BtB,WACEmqE,YAAiB,CACfT,YAAavwB,EACbhtF,OAAQ,WA2BE,yD,6BClDhB,0JAeO,SAASmuC,IACd,MAAO0rJ,EAAYC,GAAiBlvJ,mBAAS,IACtCqN,EAAa8hJ,GAAkBnvJ,mBAAS,IAU/C,SAASovJ,EAAc9sI,GACrB,MAAM+sI,EAAehiJ,EAAYhgB,QAAQ,MAAO,IAEhD,IAAIhhC,EAAqC,KAChC,EAGY,KAAjBgjM,GAAwC,QAAjBA,IACzBhjM,EAAQ,SAAUygD,GAChB,OAAOuiJ,EAAapzL,MAAM,KAAKuG,SAASsqC,KAI5C,IAAK,MAAM1pD,KAAQ5B,OAAOuT,KAAKu6L,KAC7B,GAAIA,IAAG5tM,eAAe0B,GAAO,CAC3B,MAAMopD,EAAQ8iJ,IAAGlsM,GACbopD,aAAiBG,KAAStgD,EAAMmgD,EAAMM,SACxCwV,EAAI9V,IAsCZ,OACE,kBAAC,IAAD,CAAWsgJ,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,sBAEF,kBAAC,IAAD,KACE,+BACE,+BACE,4BACE,4BACE,kBAAC,IAAD,iBAEF,4BACE,kBAAC,IAAD,CAAWrqI,YAAY,eAAeG,SAxEpD,SAA6BzoB,GAC3B+0J,EAAe/0J,EAAM3lB,OAAO5wB,YA0EpB,4BACE,4BACE,kBAAC,IAAD,gBAEF,4BACE,kBAAC,IAAD,CAAW6+D,YAAY,MAAMG,SApF3C,SAA4BzoB,GAC1B80J,EAAc7pM,WAAW+0C,EAAM3lB,OAAO5wB,WAoF1B,kBAAC,IAAD,CAAQolD,QAtDtB,WACOl8C,MAAMkiM,IACTG,EAAe5iJ,IACbA,EAAM/f,MAAQwiK,MAmDN,SAGJ,4BACE,4BACE,kBAAC,IAAD,eAEF,4BACE,kBAAC,IAAD,CAAQhmJ,QAtDtB,WACE,MAAMsmJ,EAAwB,GAC9BH,EAAe5iJ,IACb+iJ,EAAO1tM,KACL,wBAAIsC,IAAKqoD,EAAMM,QACb,4BAAKN,EAAMM,QACX,wBAAItW,MAAO,CAAEkxE,UAAW,UACtB,kBAAC,IAAD,CAAOtiH,MAAOonD,EAAM8B,WAK5B37C,YACE,+BACE,+BACE,4BACE,qCACA,0CAED48L,OAmCK,2B,6BChHhB,yHAgBO,SAASjsJ,EAAQxvC,GAyBtB,SAAS07L,EAAsB7yJ,GAC7B,IAAK,IAAIt7C,EAAI,EAAGA,EAAIyS,EAAMG,OAAOikB,QAAQ32B,SAAUF,EACjDyS,EAAMG,OAAOikB,QAAQ72B,GAAGgrD,aAAe1P,EAI3C,OACE,kBAAC,IAAD,CAAWmwJ,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,iBAEF,kBAAC,IAAD,KACE,+BACE,+BACE,4BACE,4BACE,kBAAC,IAAD,gBAEF,4BACE,kBAAC,IAAD,CAAQ9jJ,QA3CtB,WACE,IAAK,IAAI5nD,EAAI,EAAGA,EAAIyS,EAAMG,OAAOikB,QAAQ32B,SAAUF,EACjDyS,EAAMG,OAAOikB,QAAQ72B,GAAG+2B,MAAQ,IAyCtB,YAEF,4BACE,kBAAC,IAAD,CAAQ6wB,QAxCtB,WACE,IAAK,IAAI5nD,EAAI,EAAGA,EAAIyS,EAAMG,OAAOikB,QAAQ32B,SAAUF,EACjDyS,EAAMG,OAAOikB,QAAQ72B,GAAG+2B,MAAQ,MAsCtB,eAGJ,4BACE,4BACE,kBAAC,IAAD,eAEF,4BACE,kBAAC,IAAD,CAAQ6wB,QA1CtB,WACE,IAAK,IAAI5nD,EAAI,EAAGA,EAAIyS,EAAMG,OAAOikB,QAAQ32B,SAAUF,EACjDyS,EAAMG,OAAOikB,QAAQ72B,GAAGi4B,KAAO,MAwCrB,YAEF,4BACE,kBAAC,IAAD,CAAQ2vB,QAvCtB,WACE,IAAK,IAAI5nD,EAAI,EAAGA,EAAIyS,EAAMG,OAAOikB,QAAQ32B,SAAUF,EACjDyS,EAAMG,OAAOikB,QAAQ72B,GAAGi4B,KAAO,IAqCrB,eAGJ,4BACE,wBAAIgtF,QAAS,GACX,kBAAC,IAAD,CACE7jD,MAAM,gBACNC,YAAY,SACZE,KAAM,IAAM4sI,EAAsB,KAClCjxI,IAAKixI,EACL7sI,SAAU6sI,EACV32K,MAAO,IAAM22K,EAAsB,a,6BCrFrD,2HAYO,SAASC,IAKd,SAASC,EAAUjB,GACjB,OAAO,SAAU9xJ,GACfqI,IAAYqH,cAAgB1P,EAAS8xJ,GAezC,SAASkB,EAAUlB,GACjB,OAAO,SAAU9xJ,GACfqI,IAAY8lG,UAAUr1G,QAASn0B,GAAOA,EAAEu6F,eAAiBl/D,EAAS8xJ,IAWtE,OACE,kBAAC,IAAD,CAAW3B,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,uBAEF,kBAAC,IAAD,KACE,+BACE,+BACE,4BACE,4BACE,kBAAC,IAAD,CACEtqI,MAAM,SACNC,YAAY,MACZE,KA/ChB,WACE5d,IAAYqH,aAAe,KA+CbkS,IAAKmxI,EAAU,GACf/sI,SAAU+sI,GAAW,GACrB72K,MAxChB,WACEmsB,IAAYqH,aAAe,OA2CnB,4BACE,4BACE,kBAAC,IAAD,CACEoW,MAAM,aACNC,YAAY,MACZE,KA7ChB,WACE5d,IAAY8lG,UAAUr1G,QAASn0B,IAC7BA,EAAEu6F,cAAgB,KAClBv6F,EAAEw6F,UAAY,QA2CFv9C,IAAKoxI,EAAU,GACfhtI,SAAUgtI,GAAW,GACrB92K,MAnChB,WACEmsB,IAAY8lG,UAAUr1G,QAASn0B,IAC7BA,EAAEu6F,cAAgB,EAClBv6F,EAAEw6F,UAAY,e,6BC3CpB,yHAoBO,SAAS8zF,EAAS97L,GACvB,SAAS+7L,EAAS32L,GAChB,MAAO,KACLpF,EAAMG,OAAOskB,YAAcrf,EAC3BpF,EAAM6rC,OAAOo5H,aAAe7/J,EAC5BgpC,IAAWC,WACXC,WAAW,IAAMzqB,SAAS0qB,SAAU,MAIxC,OACE,kBAAC,IAAD,CAAWyqJ,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,mBAEF,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAQ9jJ,QAAS4mJ,EAAS,MAA1B,YACA,kBAAC,IAAD,CAAQ5mJ,QAAS4mJ,EAAS,OAA1B,UACA,kBAAC,IAAD,CAAQ5mJ,QAAS4mJ,EAAS,QAA1B,a,6BCtCR,oJAcO,SAASC,IACd,MAAMC,EAAc94H,iBAAyB,OACtC0mC,EAAUqyF,GAAehwJ,mBAAS,KAClCiwJ,EAAgBC,GAAqBlwJ,oBAAS,IAC9CmwJ,EAAaC,GAAkBpwJ,oBAAS,IACxCqwJ,EAAYC,GAAiBtwJ,oBAAS,GAyB7C,OACE,kBAAC,IAAD,CAAW8sJ,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,mBAEF,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAQ9jJ,QAnBd,WACE,KAAKvkD,OAAO6rM,MAAS7rM,OAAO2xD,YAAe3xD,OAAO8rM,UAAa9rM,OAAOq1D,MAAM,OAC5E,MAAM02I,EAAKV,EAAY/4I,QACvB,GAAW,OAAPy5I,EAAa,MAAM,IAAIv8L,MAAM,mCACjCu8L,EAAGl2I,SAe+BoxE,UAAW,kBAAC,IAAD,MAAY34H,GAAI,CAAEsyJ,SAAU,WAArE,mBAEE,2BAAOhsF,IAAKy2H,EAAa1nK,KAAK,OAAOi4I,QAAM,EAACz9G,SA/BpDhB,eAAwBznB,GACtB,IACE,MAAM6b,QAAmB/T,IAAWgU,wBAAwB9b,EAAM3lB,OAAOorB,OACnE/2C,EAAO6tD,KAAKV,GAClB+5I,EAAYlnM,GACZ,MAAO4rB,GACPwI,IAAepqB,KAAKi3D,OAAOr1C,GAAIyI,IAAamhF,MAAO,UA2BjD,6BACc,KAAbX,GACC,oCACE,kBAAC,IAAD,CACEhzC,QAASslI,EACTptI,SAAWt7B,GAAM2oK,EAAkB3oK,GACnC88B,KAAK,kBACLuG,QAAS,sFAEX,6BACA,kBAAC,IAAD,CACED,QAASwlI,EACTttI,SAAWt7B,GAAM6oK,EAAe7oK,GAChC88B,KAAK,wBACLuG,QAAS,wFAEX,6BACA,kBAAC,IAAD,CACED,QAAS0lI,EACTxtI,SAAWt7B,GAAM+oK,EAAc/oK,GAC/B88B,KAAK,uBACLuG,QAAS,sFAEX,6BACA,kBAAC,IAAD,CAAQ3hB,QAxClB,WACE,MAAMngD,EAAO7D,KAAKC,MAAMy4G,GAExBl0G,QAAQyT,MAAMpU,KAqCN,gB,+BC9EZ,gLAsBO,SAASi7C,EAAajwC,GAC3B,MAAO48L,EAAmBC,GAAyB3wJ,mBAASlsC,EAAMG,OAAO41B,aAAa3tB,IAAKjZ,GAAMA,EAAE6mC,KA8BnG,OACE,kBAAC,IAAD,CAAWgjK,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,sBAEF,kBAAC,IAAD,KACE,+BACE,+BACE,4BACE,6BACA,4BACE,kBAAC,IAAD,uBAEF,4BACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAQ9jJ,QAtCxB,WACEznD,OAAO0gC,OAAO2H,KAAc4L,QAASj7B,GAAM1G,EAAMG,OAAOy1B,gBAAgBlvB,EAAEsvB,KAC1E6mK,EAAsB78L,EAAMG,OAAO41B,aAAa3tB,IAAKjZ,GAAMA,EAAE6mC,OAoC/C,aACA,kBAAC,IAAD,CAAQmf,QA7BxB,WACEn1C,EAAMG,OAAO41B,aAAe,GAC5B8mK,EAAsB78L,EAAMG,OAAO41B,aAAa3tB,IAAKjZ,GAAMA,EAAE6mC,OA2B/C,SACA,kBAAC,IAAD,CAAQmf,QAzBxB,WACEn1C,EAAM6rC,OAAOy5H,SAASW,oBAAsBn4F,OAAOy6G,YAwBrC,kBACA,kBAAC,IAAD,CAAQpzI,QAtBxB,WACEn1C,EAAM6rC,OAAOy5H,SAASW,oBAAsB,IAqB9B,oBAILv4K,OAAO0gC,OAAO2H,KAAc3tB,IAAK7a,IAChC,MAAMuvM,EAAWF,EAAkBluL,SAASnhB,EAAEyoC,IAC9C,OACE,wBAAI3lC,IAAK,OAAS9C,EAAEyoC,IAClB,4BACG8mK,EACC,kBAAC,IAAD,CAAS5tI,MAAM,YACb,kBAAC,IAAD,CAAcxvD,MAAM,aAGtB,kBAAC,IAAD,CAASwvD,MAAM,UACb,kBAAC,IAAD,CAAUxvD,MAAM,gBAItB,4BACE,kBAAC,IAAD,CACEwvD,MACE,oCACG3hE,EAAEyoC,GACH,6BACCzoC,EAAEoiH,cAIP,kBAAC,IAAD,CAAYjwG,MAAOo9L,EAAW,UAAY,aAAcvvM,EAAE2oC,KAA1D,OAGJ,4BACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAQif,QAAS,KAAM4nJ,OAhFjB/nJ,EAgFkCznD,EAAEyoC,GA/E5Dh2B,EAAMG,OAAOy1B,gBAAgBof,QAC7B6nJ,EAAsB78L,EAAMG,OAAO41B,aAAa3tB,IAAKjZ,GAAMA,EAAE6mC,KAF/D,IAA0Bgf,IAgFN,SACA,kBAAC,IAAD,CAAQG,QAAS,KAAM6nJ,OAvEhBhoJ,EAuEkCznD,EAAEyoC,GAtE7Dh2B,EAAMG,OAAO41B,aAAe/1B,EAAMG,OAAO41B,aAAa/mB,OAAQtI,GAAMA,EAAEsvB,KAAOgf,QAC7E6nJ,EAAsB78L,EAAMG,OAAO41B,aAAa3tB,IAAKjZ,GAAMA,EAAE6mC,KAF/D,IAA2Bgf,IAuEP,oB,u0UC1GtB,kHAmBO,SAASioJ,EAAQj9L,GACtB,OACE,kBAAC,IAAD,CAAWg5L,gBAAiB,CAAE9C,eAAe,IAC3C,kBAAC,IAAD,CAAkB+C,WAAY,kBAAC,IAAD,OAC5B,kBAAC,IAAD,iBAEF,kBAAC,IAAD,KACE,kBAAC,IAAD,CACEtqI,MAAM,cACNC,YAAY,UACZnE,IAAMvjD,IACJlH,EAAMG,OAAOmlB,SAAWpe,EACxBlH,EAAMG,OAAOwnD,aAAa3nD,EAAMG,OAAOmlB,UAEzCupC,SAAW3nD,IACTlH,EAAMG,OAAOmlB,SAAWpe,EACxBlH,EAAMG,OAAOwnD,aAAa3nD,EAAMG,OAAOmlB,UAEzCwpC,KAAM,KACJ9uD,EAAMG,OAAOmlB,SAAW,KACxBtlB,EAAMG,OAAOwnD,aAAa3nD,EAAMG,OAAOmlB,UAEzCP,MAAO,KACL/kB,EAAMG,OAAOmlB,QAAU,EACvBtlB,EAAMG,OAAOwnD,aAAa3nD,EAAMG,OAAOmlB,gB,6BC3CnD,oGAQO,SAAS43K,IACd,MAAM/8L,EAAS0I,IAAI9X,SACbggD,EAASloC,IAAID,SACb2jC,EAAcL,oBAAS,GAAO,GACpC,SAAS+B,IACP1B,EAAa2B,IAASA,GAGxBQ,oBAAU,KACR,MAAMsG,EAAKwO,YAAYvV,EAAU,KACjC,MAAO,IAAM+1B,cAAchvB,IAC1B,IAEH,MAAM/zB,EAAc9gB,EAAO8gB,YAC3B,OAAoB,OAAhBA,EAA6B,qCAE/B,kBAAC,IAAD,CAAKpR,QAAQ,OAAOgjC,cAAc,UAChC,kBAAC,IAAD,CAAK3zC,GAAI,CAAE2Q,QAAS,OAAQklH,oBAAqB,UAAWrkI,EAAG,IAC7D,kBAAC,IAAD,CAAOuwB,YAAaA,EAAa9gB,OAAQA,EAAQ4wC,OAAQA,IACzD,kBAAC,IAAD,CAAS9vB,YAAaA,EAAa9gB,OAAQA,KAG7C,kBAAC,IAAD,CAAU8gB,YAAaA,EAAa9gB,OAAQA,O,6BC9BlD,6JAyBO,SAAS2uC,EAAM9uC,GACpB,MAAOm9L,EAAYC,GAAiBlxJ,oBAAS,GACvCK,EAAcL,oBAAS,GAAO,GAE9BmxJ,EAAYr9L,EAAMihB,YAAYqxD,MAAQjxD,IAAqBqB,qBAgBjE,OAfAgsB,oBAAU,KACR,MAAMsG,EAAKwO,YAAY,IAAMjX,EAAa2B,IAASA,GAAM,KACzD,MAAO,IAAM81B,cAAchvB,IAC1B,IAaD,kBAAC,IAAD,CAAO91C,GAAI,CAAExO,EAAG,EAAGoyE,UAAW,OAAQC,UAAW,SAAUu6H,UAAW,cACpE,kBAAC,IAAD,CAAKp+L,GAAI,CAAE2Q,QAAS,OAAQgjC,cAAe,SAAU6iF,IAAK,EAAG/kH,UAAW,SACtE,kBAAC,IAAD,CAAKzR,GAAI,CAAE80C,UAAW,aAAchS,MAAO,SACzC,kBAAC,IAAD,CAAQmT,QAAS,IAAMioJ,GAAc,GAAOl+L,GAAI,CAAE8iC,MAAO,QAAzD,UAGA,kBAAC,IAAD,CAASktB,MAAQmuI,EAAyD,GAA7C,kBAAC,IAAD,2BAC3B,8BACE,kBAAC,IAAD,CAAQx9L,UAAWw9L,EAAWloJ,QAnB1C,WACE,IAAKkoJ,EAAW,OAChB,MAAMp0L,EAAUF,IAASrX,IAAaojC,cACjC7rB,EAAQ6lB,UACX4sB,YAAYzyC,GAGdjJ,EAAM+wC,OAAOzG,UAAUrhC,IAYuC/J,GAAI,CAAE8iC,MAAO,QAAjE,aAKJ,kBAAC,IAAD,CAAa7wB,KAAMgsL,EAAY/rL,QAAS,IAAMgsL,GAAc,GAAQn8K,YAAajhB,EAAMihB,eAEzF,kBAAC,IAAD,CAAKpR,QAAQ,QACX,kBAAC,IAAD,CAASq/C,MAAO,kBAAC,IAAD,oDACd,kBAAC,IAAD,cAAmBjoD,YAAajH,EAAMihB,YAAYqxD,KAAM,MAG5D,6BACA,kBAAC,IAAD,CAAKziE,QAAQ,QACX,kBAAC,IAAD,CACEq/C,MACE,kBAAC,IAAD,oDAEE,6BACA,6BAHF,iEAKE,6BACA,6BANF,kIASE,6BACA,6BAVF,gRAcE,6BACA,6BAfF,2HAqBF,kBAAC,IAAD,iBACYjoD,YAAajH,EAAMihB,YAAY6wD,QAAS,GADpD,MAC2D7qE,YAAajH,EAAMihB,YAAY8wD,WAAY,MAI1G,6BACA,kBAAC,IAAD,yBACoB9qE,YAAiE,KAAnD,EAAIjH,EAAMihB,YAAYgxD,2BAAkC,GAD1F,KAGA,6BACA,kBAAC,IAAD,mBAAwBhrE,YAAajH,EAAMihB,YAAYw2D,SAAU,IACjE,kBAAC,IAAD,2BAAgCxwE,YAAajH,EAAMihB,YAAYs4D,SAAU,IACzE,6BACA,kBAAC,IAAD,gCAAqCv5E,EAAMihB,YAAYw6D,SACvD,kBAAC,IAAD,0CACoC,kBAAC,IAAD,CAAOnqF,MAAO0O,EAAMihB,YAAYy6D,aAEpE,6BACA,kBAAC,IAAD,sBAA2B17E,EAAMihB,YAAY2C,MAC7C,kBAAC,IAAD,CAAK/T,QAAQ,QACX,kBAAC,IAAD,CACEq/C,MACE,kBAAC,IAAD,uKAMF,kBAAC,IAAD,kCAC6B95D,IAAeuC,iBAAiBqI,EAAMihB,YAAY+wD,iBAAiBopD,WAIpG,6BACA,kBAAC,IAAD,CAAKvrH,QAAQ,QACX,kBAAC,IAAD,CACEq/C,MACE,kBAAC,IAAD,kHAKF,kBAAC,IAAD,8BAAmCjoD,YAAajH,EAAMihB,YAAY+wD,iBAAiBiB,MAAO,MAG9F,6BACA,kBAAC,IAAD,CAAKpjE,QAAQ,QACX,kBAAC,IAAD,CACEq/C,MACE,kBAAC,IAAD,uKAMF,kBAAC,IAAD,oBAAyBjoD,YAAajH,EAAMihB,YAAY+wD,iBAAiBiF,UAG7E,6BACEj3E,EAAMihB,YAAYs3B,aAAel3B,IAAqBE,gBAAmB,IAAO,MAChF,oCACE,kBAAC,IAAD,CAAK1R,QAAQ,QACX,kBAAC,IAAD,CACEq/C,MACE,kBAAC,IAAD,2MAMF,kBAAC,IAAD,mBACc,IACX/pD,YACEnF,EAAMihB,YAAYs3B,aAAel3B,IAAqBE,gBAAmB,QAKlF,8BAGJ,kBAAC,IAAD,sBAA2Bta,YAAajH,EAAMihB,YAAYE,YAAa,IACvE,6BACA,kBAAC,IAAD,kCAC6Bla,YAA6D,IAAhDjH,EAAMG,OAAOoL,MAAM6B,2BAAkC,GAD/F,IAEE,6BAFF,0BAG0BnG,YAA0D,IAA7CjH,EAAMG,OAAOoL,MAAM0B,wBAA+B,GAHzF,IAIE,6BAJF,2BAK2BhG,YAA2D,IAA9CjH,EAAMG,OAAOoL,MAAM2B,yBAAgC,GAL3F,IAME,6BANF,6BAO6BjG,YAAuD,IAA1CjH,EAAMG,OAAOoL,MAAM4B,qBAA4B,GAPzF,S,6BC9KR,oGAeO,SAASowL,EAAYv9L,GAC1B,SAASo1B,EAAOxR,GACd5jB,EAAMihB,YAAY2C,KAAOA,EACzB5jB,EAAMoR,UAGR,OACE,kBAAC,IAAD,CAAOD,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,oCACE,kBAAC,IAAD,uMAICnd,IAASjC,gBACRtE,OAAO0gC,OAAO/uB,KAAU+I,IAAKwb,GAC3B,kBAAC,IAAD,CAAQvzB,IAAKuzB,EAAMuxB,QAAS,IAAM/f,EAAOxR,IACtCA,IAIL,kBAAC,IAAD,CAAUu7G,YAAan/H,EAAMihB,YAAY2C,KAAkBw7G,SAAWx7G,GAAmBwR,EAAOxR,S,6BCnC1G,gIAmBA,MAAMtkB,EAAYC,YAAYhM,GAC5BiM,YAAa,CACXgwL,UAAW,CACTpmJ,OAAQ71C,EAAM81C,QAAQ,GACtBrH,MAAO,QAETk9B,MAAO,CACLjvD,gBAAiB1c,EAAMuM,OAAOy9D,qBAEhCigI,UAAW,CACT/sL,QAASld,EAAM81C,QAAQ,IAEzBo0J,aAAc,CACZ33I,WAAY,WACZ1c,OAAQ71C,EAAM81C,QAAQ,IAExB62B,KAAM,CACJzvD,QAASld,EAAM81C,QAAQ,GACvB0O,OAAQ,WAKd,SAAS2lJ,EAAK19L,GACZ,OACE,kBAAC,IAAD,CAAUd,GAAI,CAAExO,EAAG,IACjB,kBAAC,IAAD,KAAasP,EAAMwiC,UAUlB,SAASm7J,EAAQ39L,GACtB,MAAMC,EAAUX,KACT62E,EAASynH,GAAc1xJ,mBAAS,IACjCK,EAAcL,oBAAS,GAAO,GAC9B2xJ,EAAe16H,iBAAyB,MAM9C,MAAO26H,EAAqBC,GAA0B7xJ,mBAASlsC,EAAMihB,YAAYwyD,eAAehmF,QAEhG,SAASwgD,IACP1B,EAAa2B,IAASA,GAwExB,OArEAQ,oBAAU,KACR,MAAMsG,EAAKwO,YAAYvV,EAAU,KACjC,MAAO,KACL+1B,cAAchvB,KAEf,IAiED,kBAAC,IAAD,CAAO91C,GAAI,CAAExO,EAAG,IACd,kBAAC,IAAD,CACEwO,GAAI,CACF64C,OAAQ,OACR04E,cAAe,MACf5gH,QAAS,OACTC,WAAY,UACZg2C,WAAY,YAEd3Q,QAfN,WACO0oJ,EAAa36I,SAClB26I,EAAa36I,QAAQp6B,UAejB,kBAAC,IAAD,KACE,kBAACk1K,EAAD,CAAM3wI,QAAS,IAAIrtD,EAAMihB,YAAY6yD,iBAGzC,kBAAC,IAAD,CACE7zE,QAAS,CAAE4hC,KAAM5hC,EAAQuvL,WACzBh+D,WAAS,EACTysE,SAAU,EACV1pK,KAAK,OACL2pK,SAAUL,EACV9tM,MAAOomF,EACPpnB,SAtGN,SAA6BzoB,GAC3Bs3J,EAAWt3J,EAAM3lB,OAAO5wB,QAsGpB4wF,UAtFN,SAAuBr6C,GACjBA,EAAMj2C,MAAQiY,IAAIqpH,QACpBrrF,EAAMsrF,iBACFz7C,EAAQ1oF,OAAS,IACnBuS,EAAMihB,YAAY2yD,cAAc,KAAOuC,GACvCn2E,EAAMihB,YAAYsyD,uBAAuBvzE,EAAMG,OAAQg2E,GACvD4nH,EAAuB/9L,EAAMihB,YAAYwyD,eAAehmF,QACxDmwM,EAAW,MAIf,MAAMnqH,EAAiBzzE,EAAMihB,YAAYwyD,eAEzC,GAAIntC,EAAMj2C,MAAQiY,IAAIonD,SAAU,CAE9B,IAAIniE,EAAIuwM,EACR,MAAM/tE,EAAMt8C,EAAehmF,OAC3B,GAAY,IAARsiI,EACF,QAEExiI,EAAI,GAAKA,EAAIwiI,IACfguE,EAAuBhuE,GAGf,IAANxiI,IACFA,GAAQ,GAEVwwM,EAAuBxwM,GACvB,MAAM4wM,EAAc1qH,EAAelmF,GACnC+4C,EAAM83J,cAAcruM,MAAQouM,EAC5BP,EAAWO,GAGb,GAAI73J,EAAMj2C,MAAQiY,IAAIunD,WAAY,CAChC,MAAMtiE,EAAIuwM,EACJ/tE,EAAMt8C,EAAehmF,OAE3B,GAAW,GAAPsiI,EACF,OAOF,IALIxiI,EAAI,GAAKA,EAAIwiI,IACfguE,EAAuBhuE,GAIrBxiI,GAAKwiI,GAAOxiI,GAAKwiI,EAAM,EACzBguE,EAAuBhuE,GACvBzpF,EAAM83J,cAAcruM,MAAQ,OACvB,CACLguM,EAAuBD,EAAsB,GAC7C,MAAMK,EAAc1qH,EAAeqqH,EAAsB,GACzDx3J,EAAM83J,cAAcruM,MAAQouM,EAC5BP,EAAWO,MAmCXnvI,WAAY,CAEV1uD,UAAWL,EAAQi/D,MACnBjQ,eACE,oCACE,kBAAC,IAAD,YAGJupG,YAAY,MAWtB,SAASwlC,GAAK,QAAE3wI,IACd,MAAMgxI,EAAal7H,iBAAyB,MAY5C,OAJAz0B,oBAAU,KAJH2vJ,EAAWn7I,UAChBm7I,EAAWn7I,QAAQo7I,UAAYD,EAAWn7I,QAAQq7I,eAKjD,CAAClxI,EAAQ5/D,SAGV,kBAAC,IAAD,CAAMyR,GAAI,CAAE64C,OAAQ,OAAQnnC,SAAU,OAAQlgB,EAAG,GAAK80E,IAAK64H,GACxDhxI,GAAWA,EAAQjlD,IAAI,CAACsR,EAAansB,IAAc,kBAACmwM,EAAD,CAAMrtM,IAAK9C,EAAGi1C,QAAS9oB,Q,6BCvMjF,kIAkBO,SAAS8kL,EAASx+L,GACvB,MAAOjQ,EAAO2+D,GAAYhmD,IAAMwjC,SAAS,GAMzC,OACE,oCACE,kBAAC,IAAD,CAAM4I,QAAQ,YAAY/kD,MAAOA,EAAOg/D,SAN5C,SAAsBzoB,EAA6B8pJ,GACjD1hI,EAAS0hI,KAML,kBAAC,IAAD,CAAKzhI,MAAM,YACX,kBAAC,IAAD,CAAKA,MAAM,cACX,kBAAC,IAAD,CAAKA,MAAM,eACX,kBAAC,IAAD,CAAKA,MAAM,aACX,kBAAC,IAAD,CAAKA,MAAM,YAEb,kBAAC,IAAD,CAAKzvD,GAAI,CAAExO,EAAG,IACD,IAAVX,GAAe,kBAAC,IAAD,CAAmBkxB,YAAajhB,EAAMihB,YAAa9gB,OAAQH,EAAMG,SACtE,IAAVpQ,GAAe,kBAAC,IAAD,CAAckxB,YAAajhB,EAAMihB,YAAa9gB,OAAQH,EAAMG,SACjE,IAAVpQ,GAAe,kBAAC,IAAD,CAAekxB,YAAajhB,EAAMihB,YAAa9gB,OAAQH,EAAMG,SAClE,IAAVpQ,GAAe,kBAAC,IAAD,CAAakxB,YAAajhB,EAAMihB,YAAa9gB,OAAQH,EAAMG,SAChE,IAAVpQ,GAAe,kBAAC,IAAD,CAAWkxB,YAAajhB,EAAMihB,kB,6BCvCtD,8DAWO,SAASw9K,EAAkBz+L,GAChC,OACE,gCACE,gBAAC,IAAD,mFACA,gBAAC,IAAD,CAAmBihB,YAAajhB,EAAMihB,YAAa9gB,OAAQH,EAAMG,Y,6BCfvE,yEAYO,SAASu+L,EAAkB1+L,GAChC,MAAM2+L,EAAoB,GAC1B,IAAK,MAAMrvM,KAAQ5B,OAAOuT,KAAKuzE,KACzBA,IAAe5mF,eAAe0B,IAChCqvM,EAAQ5wM,KAAKymF,IAAellF,IAGhC,OACE,oCACGqvM,EAAQv2L,IAAKxI,GACZ,kBAAC,IAAD,CAAmBvP,IAAKuP,EAAOtQ,KAAM2xB,YAAajhB,EAAMihB,YAAarhB,OAAQA,EAAQO,OAAQH,EAAMG,a,6BCtB3G,kIAsBO,SAASy+L,EAAkB5+L,GAChC,MAAMusC,EAAcL,oBAAS,GAAO,GAIpC,MAAMijH,EAAWnvJ,EAAMJ,OAAOtQ,OAAS0Q,EAAMihB,YAAYrhB,OAAOtQ,KAC1DuvM,EAA4B/oM,KAAK4M,IACrC1C,EAAMihB,YAAY2xD,kBAAoB5yE,EAAMihB,YAAYo8D,mBACxDr9E,EAAMihB,YAAY4xD,sBAEd0F,EAAc,WAClB,OAAQv4E,EAAMJ,OAAOtQ,MACnB,IAAK,WACL,IAAK,iBACH,OAAO,GACT,IAAK,YACL,IAAK,kCACL,IAAK,kBACH,OAAO,GACT,IAAK,cACH,OAAO0Q,EAAMihB,YAAYkyD,mBAAmBnzE,EAAMG,QAEtD,OAAQ,EAZU,GAcdo8E,EACkB,gBAAtBv8E,EAAMJ,OAAOtQ,KACTwG,KAAKoD,IAAI,EAAGpD,KAAK4M,IAAI1C,EAAMihB,YAAYu2D,4BAA4Bx3E,EAAMG,QAAS,KACjF,EAED2+L,EAAatqH,IAAex0E,EAAMJ,OAAOtQ,MAC/C,QAAmB4Q,IAAf4+L,EACF,MAAM,IAAI1+L,MAAO,wBAAuBJ,EAAMJ,OAAOtQ,MAGvD,OACE,kBAAC,IAAD,CAAO4P,GAAI,CAAEkrD,GAAI,EAAG15D,EAAG,IACpBy+J,EACC,oCACE,kBAAC,IAAD,CAAcp/J,MAAOiQ,EAAMJ,OAAOtQ,OAClC,kBAAC,IAAD,uBACkB2X,YAAa43L,EAA2B,GAD1D,KACgE,IAC7D53L,YAAajH,EAAMihB,YAAY4xD,qBAAsB,GAFxD,KAIA,kBAAC,IAAD,KACGmuB,YAAsB,CACrBn6B,SAAUg4H,EAA4B7+L,EAAMihB,YAAY4xD,yBAK9D,kBAAC,IAAD,CAAKhjE,QAAQ,OAAOgjC,cAAc,MAAM/iC,WAAW,UACjD,kBAAC,IAAD,CAAc/f,MAAOiQ,EAAMJ,OAAOtQ,OAClC,kBAAC,IAAD,CACE2xB,YAAajhB,EAAMihB,YACnBsT,KAAMpf,IAAYnV,EAAMJ,OAAOtQ,MAC/BA,KAAM0Q,EAAMJ,OAAOtQ,KACnB2+C,SAtDV,WACE1B,EAAa2B,IAASA,OAyDpB,6BACA,6BACA,kBAAC,IAAD,KAAa4wJ,EAAWpxL,MACxB,6BACA,6BACA,kBAAC,IAAD,uBACkBvI,YAA8C,IAAbozE,IAC7B,IAAnBgE,GACC,oCACE,6BADF,6BAE6Bt1E,YAA6B,IAAhBs1E,EAAqB,GAF/D,S,6BC1FV,sDAMO,MAAM/H,EAET,CACF/+D,SAAU,CACR/H,KACE,4MAOJ,iBAAkB,CAChBA,KACE,kRAIE,6BACA,6BALF,8BAWJgI,YAAa,CACXhI,KACE,2IAEE,6BACA,6BAHF,8BASJkI,UAAW,CACTlI,KACE,0KAGE,6BACA,6BAJF,8BAUJ,kCAAmC,CACjCA,KACE,kMAGE,6BACA,+BAIN,kBAAmB,CACjBA,KACE,yN,6BClEN,8DAWO,SAASqxL,EAAa/+L,GAC3B,OACE,gCACE,gBAAC,IAAD,sKAGE,2BACA,2BAJF,iKAQA,gBAAC,IAAD,CAAcihB,YAAajhB,EAAMihB,YAAa9gB,OAAQH,EAAMG,Y,6BCtBlE,gEAUO,SAAS6+L,EAAah/L,GAC3B,MAAM++C,EAAQrxD,OAAOuT,KAAKjB,EAAMihB,YAAYkkC,WACtCA,EAAYnlD,EAAMihB,YAAYkkC,UACpC,OACE,oCACGpG,EAAM32C,IAAK9Y,GACV,kBAAC,IAAD,CAAce,IAAKf,EAAM2xB,YAAajhB,EAAMihB,YAAarhB,OAAQulD,EAAU71D,GAAO6Q,OAAQH,EAAMG,a,6BChBxG,qJAuBO,SAAS8+L,EAAaj/L,GAC3B,MAAMusC,EAAcL,oBAAS,GAAO,GACpC,SAAS+B,IACP1B,EAAa2B,IAASA,GAExB,MAAMihH,EACJnvJ,EAAMihB,YAAYrhB,OAAO20B,OAASpf,IAAW,UAAgBnV,EAAMJ,OAAOtQ,OAAS0Q,EAAMihB,YAAYrhB,OAAOtQ,KACxGuvM,EAA4B/oM,KAAK4M,IACrC1C,EAAMihB,YAAY2xD,kBAAoB5yE,EAAMihB,YAAYo8D,mBACxDr9E,EAAMihB,YAAY4xD,sBAEd0F,EAAav4E,EAAMJ,OAAOmzE,cAAc/yE,EAAMihB,YAAajhB,EAAMG,QAEjE2+L,EAAaI,IAAUl/L,EAAMJ,OAAOtQ,MAC1C,QAAmB4Q,IAAf4+L,EACF,MAAM,IAAI1+L,MAAO,wBAAuBJ,EAAMJ,OAAOtQ,MAGvD,OACE,kBAAC,IAAD,CAAO4P,GAAI,CAAEkrD,GAAI,EAAG15D,EAAG,IACpBy+J,EACC,oCACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAcp/J,MAAOiQ,EAAMJ,OAAOtQ,OADpC,mBAC6D2X,YAAa43L,EAA2B,GADrG,KAC2G,IACxG53L,YAAajH,EAAMihB,YAAY4xD,qBAAsB,GAFxD,KAIA,kBAAC,IAAD,KACGmuB,YAAsB,CACrBn6B,SAAUg4H,EAA4B7+L,EAAMihB,YAAY4xD,yBAK9D,oCACE,kBAAC,IAAD,CAAc9iF,MAAOiQ,EAAMJ,OAAOtQ,OAClC,kBAAC,IAAD,CACE2xB,YAAajhB,EAAMihB,YACnBsT,KAAMpf,IAAYE,SAClB/lB,KAAM0Q,EAAMJ,OAAOtQ,KACnB2+C,SAAUA,KAIhB,6BACA,6BACA,kBAAC,IAAD,CAAaruC,OAAQI,EAAMJ,OAAQqhB,YAAajhB,EAAMihB,YAAakuI,SAAUA,EAAUlhH,SAAUA,IACjG,6BACA,6BACA,kBAAC,IAAD,KACG6wJ,EAAWpxL,KACZ,6BACA,6BACA,kBAAC,IAAD,CAAe9N,OAAQI,EAAMJ,OAAQqhB,YAAajhB,EAAMihB,cACxD,6BALF,kBAMkB9b,YAA8C,IAAbozE,GACjD,6BAPF,wBAQwBziF,KAAKyO,MAAMvE,EAAMJ,OAAOqwD,OAC9C,6BATF,cAUcjwD,EAAMJ,OAAOg7E,UACzB,6BAXF,aAYa56E,EAAMJ,OAAOs7E,UAE1B,6BACA,kBAAC,IAAD,CAAWjtC,SAAUA,EAAUruC,OAAQI,EAAMJ,Y,6BCtFnD,sDAMO,MAAMs/L,EAET,CACFjpD,SAAU,CACRvoI,KACE,+LAGE,6BACA,6BAJF,+IAUJ,gBAAiB,CACfA,KACE,kHAEE,6BACA,6BAHF,6IASJwoI,WAAY,CACVxoI,KACE,mFAEE,6BACA,6BAHF,4I,6BClCN,8EAMO,SAASyxL,IACd,OAAO,kBAAC,IAAD,CAASjwI,MAAO,kBAAC,IAAD,sCAAwD4/F,O,6BCPjF,8EAMO,SAASswC,IACd,OAAO,kBAAC,IAAD,CAASlwI,MAAO,kBAAC,IAAD,yCAA2D+/F,O,6BCPpF,8DAWO,SAASowC,EAAcr/L,GAC5B,OACE,gCACE,gBAAC,IAAD,0RAIE,2BACA,2BALF,2IAQE,2BACA,2BATF,sIAYE,2BACA,2BAbF,2JAiBA,gBAAC,IAAD,CAAeihB,YAAajhB,EAAMihB,YAAa9gB,OAAQH,EAAMG,Y,6BC/BnE,gEAUO,SAASm/L,EAAct/L,GAC5B,MAAM++C,EAAQrxD,OAAOuT,KAAKjB,EAAMihB,YAAYqzD,YACtCA,EAAat0E,EAAMihB,YAAYqzD,WACrC,OACE,oCACGv1B,EAAM32C,IAAK9Y,GACV,kBAAC,IAAD,CAAee,IAAKf,EAAM2xB,YAAajhB,EAAMihB,YAAarhB,OAAQ00E,EAAWhlF,GAAO6Q,OAAQH,EAAMG,a,6BChB1G,8JAwBO,SAASo/L,EAAcv/L,GAC5B,MAAMusC,EAAcL,oBAAS,GAAO,GACpC,SAAS+B,IACP1B,EAAa2B,IAASA,GAExB,MAAMihH,EACJnvJ,EAAMihB,YAAYrhB,OAAO20B,OAASpf,IAAW,WAAiBnV,EAAMJ,OAAOtQ,OAAS0Q,EAAMihB,YAAYrhB,OAAOtQ,KACzGuvM,EAA4B/oM,KAAK4M,IACrC1C,EAAMihB,YAAY2xD,kBAAoB5yE,EAAMihB,YAAYo8D,mBACxDr9E,EAAMihB,YAAY4xD,sBAEd0F,EAAav4E,EAAMJ,OAAOmzE,cAAc/yE,EAAMihB,YAAajhB,EAAMG,QAEjE2+L,EAAa9kL,IAAWha,EAAMJ,OAAOtQ,MAC3C,QAAmB4Q,IAAf4+L,EACF,MAAM,IAAI1+L,MAAO,wBAAuBJ,EAAMJ,OAAOtQ,MAGvD,OACE,kBAAC,IAAD,CAAO4P,GAAI,CAAEkrD,GAAI,EAAG15D,EAAG,IACpBy+J,EACC,oCACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAcp/J,MAAOiQ,EAAMJ,OAAOtQ,OADpC,mBAC6D2X,YAAa43L,EAA2B,GADrG,KAC2G,IACxG53L,YAAajH,EAAMihB,YAAY4xD,qBAAsB,GAFxD,KAIA,kBAAC,IAAD,KACGmuB,YAAsB,CACrBn6B,SAAUg4H,EAA4B7+L,EAAMihB,YAAY4xD,yBAK9D,oCACE,kBAAC,IAAD,CAAc9iF,MAAOiQ,EAAMJ,OAAOtQ,OAClC,kBAAC,IAAD,CACE2xB,YAAajhB,EAAMihB,YACnBsT,KAAMpf,IAAYG,UAClBhmB,KAAM0Q,EAAMJ,OAAOtQ,KACnB2+C,SAAUA,IAEZ,kBAAC,IAAD,CAAgBruC,OAAQI,EAAMJ,OAAQqhB,YAAajhB,EAAMihB,eAG7D,6BACA,6BAEA,kBAAC,IAAD,CAAarhB,OAAQI,EAAMJ,OAAQqhB,YAAajhB,EAAMihB,YAAakuI,SAAUA,EAAUlhH,SAAUA,IACjG,6BACA,6BACA,kBAAC,IAAD,KACG6wJ,EAAWpxL,KACZ,6BACA,6BACA,kBAAC,IAAD,CAAe9N,OAAQI,EAAMJ,OAAQqhB,YAAajhB,EAAMihB,cACxD,6BALF,kBAMkB9b,YAA8C,IAAbozE,GACjD,6BAPF,yBAQyBziF,KAAKyO,MAAMvE,EAAMJ,OAAOqwD,OAC/C,6BATF,cAUcjwD,EAAMJ,OAAOg7E,UACzB,6BAXF,aAYa56E,EAAMJ,OAAOs7E,UAE1B,6BACA,kBAAC,IAAD,CAAWjtC,SAAUA,EAAUruC,OAAQI,EAAMJ,Y,6BCzFnD,4FAgBO,SAAS4/L,EAAcx/L,GAC5B,MAAOy3E,EAAUiW,GAAexhD,qBAmBhC,OACE,kBAAC,IAAD,CAAO/6B,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,kOAIA,kBAAC,IAAD,CAAWogH,WAAS,EAACj9F,KAAK,SAASq6B,YAAY,YAAY7+D,MAAO0nF,EAAU1oB,SAZhF,SAAoBzoB,GAClB,MAAM1yC,EAAIrC,WAAW+0C,EAAM3lB,OAAO5wB,OAC9B6D,EAAIoM,EAAMihB,YAAYw2D,SAAUiW,EAAY1tF,EAAMihB,YAAYw2D,UAC7DiW,EAAY95F,MAUf,kBAAC,IAAD,CAAQsL,GAAI,CAAEirD,GAAI,GAAKhV,QAxB3B,WACE,QAAiBj1C,IAAbu3E,EAAwB,OAC5B,MAAMvwE,EAAMpR,KAAKsjB,MAAMq+D,GACnBx+E,MAAMiO,IAAQA,EAAM,EACtBrI,YAAgB,gFAEhBmB,EAAMJ,OAAOu5E,UAAYjyE,EAE3BlH,EAAMoR,YAgBJ,c,6BC3CN,sDAMO,MAAM4I,EAET,CACFm8H,cAAe,CACbzoI,KACE,kIAEE,6BACA,6BAHF,iFAKE,6BACA,6BANF,wDAWJ,uBAAwB,CACtBA,KACE,+IAEE,6BACA,6BAHF,gFAQJ,kBAAmB,CACjBA,KAAM,iIAER0oI,KAAM,CACJ1oI,KACE,iNAMJ,+BAAgC,CAC9BA,KACE,0LAMJs2B,cAAe,CACbt2B,KACE,+K,6BCrDN,qGAgBO,SAAS+xL,EAAYz/L,GAC1B,MAAM+wC,EAASloC,IAAID,SACnB,OACE,gCACE,gBAAC,IAAD,0JAGE,2BACA,2BACA,6EACoDlX,IAAaojC,aADjE,yCAIA,2BACA,2BAVF,qHAcC90B,EAAMihB,YAAYywD,SAASzuD,IAAoB4kF,mBAC9C,gBAAC,IAAD,CAAQ3oG,GAAI,CAAEkrD,GAAI,EAAG15D,EAAG,GAAKykD,QAAS,IAAMpE,EAAOhH,YAAW,GAAO,IACnE,gBAAC,IAAD,CAAiBvH,QAAQ,0BAG3B,gBAAC,IAAD,CAAavhB,YAAajhB,EAAMihB,YAAa9gB,OAAQH,EAAMG,Y,6BCvCnE,yEAYO,SAASu/L,EAAY1/L,GAC1B,IAAI0xE,EAA6B,GACjC,IAAK,MAAMiuH,KAAejyM,OAAOuT,KAAKuxE,KAChCA,IAAgB5kF,eAAe+xM,IACjCjuH,EAAS3jF,KAAKykF,IAAgBmtH,IAkBlC,OAfAjuH,EAASprE,MAAK,SAAUI,EAAGE,GACzB,OAAOF,EAAE2rE,SAAWzrE,EAAEyrE,YAGxBX,EAAWA,EAAS1iE,OAClB,CAAC4wL,EAAyBryM,MAE0B,MAAhDyS,EAAMihB,YAAYywD,SAASA,EAASnkF,GAAG+B,OACjC,IAAN/B,GACoD,MAApDyS,EAAMihB,YAAYywD,SAASA,EAASnkF,EAAI,GAAG+B,QAIjDoiF,EAAWA,EAAS0tE,UAGlB,oCACG1tE,EAAStpE,IAAKw3L,GACb,kBAAC,IAAD,CAAavvM,IAAKuvM,EAAQtwM,KAAM2xB,YAAajhB,EAAMihB,YAAarhB,OAAQggM,EAASz/L,OAAQH,EAAMG,a,6BCrCvG,4IAsBO,SAAS0/L,EAAY7/L,GAC1B,MAAMusC,EAAcL,oBAAS,GAAO,GAKpC,GADqE,MAAjDlsC,EAAMihB,YAAYywD,SAAS1xE,EAAMJ,OAAOtQ,MAE1D,OACE,kBAAC,IAAD,CAAO4P,GAAI,CAAEkrD,GAAI,EAAG15D,EAAG,IACrB,kBAAC,IAAD,KAAasP,EAAMJ,OAAOtQ,KAA1B,iBAKN,MAAM6/J,EACJnvJ,EAAMihB,YAAYrhB,OAAO20B,OAASpf,IAAW,gBAC7CnV,EAAMJ,OAAOtQ,OAAS0Q,EAAMihB,YAAYrhB,OAAOtQ,KAC3CipF,EAAav4E,EAAMJ,OAAOmzE,cAAc/yE,EAAMihB,YAAajhB,EAAMG,QACjE2/L,EAAc9/L,EAAMihB,YAAYqxD,MAAQtyE,EAAMJ,OAAOyyE,SACrDwsH,EAA4B/oM,KAAK4M,IACrC1C,EAAMihB,YAAY2xD,kBAAoB5yE,EAAMihB,YAAYo8D,mBACxDr9E,EAAMihB,YAAY4xD,sBAGdisH,EAAatsH,IAAgBxyE,EAAMJ,OAAOtQ,MAChD,QAAmB4Q,IAAf4+L,EACF,MAAM,IAAI1+L,MAAO,wBAAuBJ,EAAMJ,OAAOtQ,MAGvD,OACE,kBAAC,IAAD,CAAO4P,GAAI,CAAEkrD,GAAI,EAAG15D,EAAG,IACpBy+J,EACC,oCACE,oCACE,kBAAC,IAAD,CAAcp/J,MAAOiQ,EAAMJ,OAAOtQ,OAClC,kBAAC,IAAD,uBACkB2X,YAAa43L,EAA2B,GAD1D,KACgE,IAC7D53L,YAAajH,EAAMihB,YAAY4xD,qBAAsB,GAFxD,KAIA,kBAAC,IAAD,KACGmuB,YAAsB,CACrBn6B,SAAUg4H,EAA4B7+L,EAAMihB,YAAY4xD,0BAMhE,oCACE,kBAAC,IAAD,CAAc9iF,MAAOiQ,EAAMJ,OAAOtQ,OAElC,kBAAC,IAAD,CACE2xB,YAAajhB,EAAMihB,YACnBsT,KAAMpf,IAAYK,eAClBlmB,KAAM0Q,EAAMJ,OAAOtQ,KACnB2+C,SApDV,WACE1B,EAAa2B,IAASA,MAqDhB,kBAAC,IAAD,CAAgBtuC,OAAQI,EAAMJ,OAAQqhB,YAAajhB,EAAMihB,eAI7D,6BACA,6BACA,kBAAC,IAAD,KAAa69K,EAAWpxL,MACxB,6BACA,6BACA,kBAAC,IAAD,CAAYhO,MAAOogM,EAAc,UAAY,SAA7C,kBACkB74L,YAAajH,EAAMJ,OAAOyyE,SAAU,IAEtD,6BACA,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAezyE,OAAQI,EAAMJ,OAAQqhB,YAAajhB,EAAMihB,cACxD,6BAFF,kBAGkB9b,YAA8C,IAAbozE,O,6BC9FzD,6EASO,MAAM/F,EAET,CACF,CAACvvD,IAAoBwjF,kBAAmB,CACtC/4F,KACE,8MAGE,6BACA,6BAJF,eAKeuV,IAAoBwjF,iBALnC,iKAWJ,CAACxjF,IAAoByjF,eAAgB,CACnCh5F,KACE,mMAGE,6BACA,6BAJF,eAKeuV,IAAoByjF,cALnC,iUAYJ,CAACzjF,IAAoB0jF,YAAa,CAChCj5F,KACE,uYAKE,6BACA,6BANF,+IAQkCrO,IAASiT,OAR3C,iJAaJ,CAAC2Q,IAAoB2jF,gBAAiB,CACpCl5F,KACE,qXAKE,6BACA,6BANF,iFAOiFrO,IAAS6S,MAP1F,6KAaJ,CAAC+Q,IAAoB4jF,eAAgB,CACnCn5F,KACE,kVAIE,6BACA,6BALF,4DAUJ,CAACuV,IAAoB6jF,oBAAqB,CACxCp5F,KACE,sRAIE,6BACA,6BALF,8LAWJ,CAACuV,IAAoB8jF,qBAAsB,CACzCr5F,KACE,qPAEiG,IAC9FrO,IAAS+S,SAHZ,4OAME,6BACA,6BAPF,+DAYJ,CAAC6Q,IAAoB+jF,oBAAqB,CACxCt5F,KACE,2CACOhc,IAAauhC,QADpB,kPAIE,6BACA,6BALF,8CAM8CvhC,IAAauhC,QAN3D,iIAWJ,CAAChQ,IAAoBgkF,YAAa,CAChCv5F,KACE,6eAME,6BACA,6BAPF,yOAcJ,CAACuV,IAAoBikF,kBAAmB,CACtCx5F,KACE,2HACuF,IACpFuV,IAAoBgkF,WAFvB,mQAKE,6BACA,6BANF,eAOehkF,IAAoBikF,iBAPnC,6GAYJ,CAACjkF,IAAoBkkF,iBAAkB,CACrCz5F,KACE,kDACchc,IAAaq+B,gBAD3B,8CACuF1wB,IAAS6S,MAAO,IADvG,wDAEwDxgB,IAAaihC,YAFrE,8JAKE,6BACA,6BANF,gIAQmBjhC,IAAaihC,YARhC,iCAYJ,CAAC1P,IAAoBmkF,kBAAmB,CACtC15F,KACE,0EACsCuV,IAAoBkkF,gBAD1D,0BACkG,IAC/Fz1G,IAAaihC,YAFhB,8FAGQjhC,IAAaihC,YAHrB,iEAGgG,IAC7FjhC,IAAamhC,aAJhB,wGAKwBxzB,IAAS6S,MALjC,uIAOE,6BACA,6BARF,sFASsF,IACnF+Q,IAAoBmkF,iBAVvB,kBAUwD11G,IAAaihC,YAVrE,6BAU4G,IACzGtzB,IAAS6S,MAXZ,sCAeJ,CAAC+Q,IAAoBokF,0BAA2B,CAC9C35F,KACE,8NAGE,6BACA,6BAJF,2UAWJ,CAACuV,IAAoBqkF,gBAAiB,CACpC55F,KACE,sEACkChc,IAAau/B,0BAD/C,+WAKE,6BACA,6BANF,8FAQE,6BACA,6BATF,8DAU8Dv/B,IAAau/B,0BAV3E,yBAWiB5xB,IAAS6S,MAX1B,8HAgBJ,CAAC+Q,IAAoBskF,mBAAoB,CACvC75F,KACE,8RAG4BrO,IAAS8S,UAHrC,4JAKE,6BACA,6BANF,6GAWJ,CAAC8Q,IAAoBukF,mBAAoB,CACvC95F,KACE,qIACiG,IAC9FrO,IAAS+S,SAFZ,sLAIE,6BACA,6BALF,2FAM2F/S,IAAS+S,SAAU,IAN9G,WAWJ,CAAC6Q,IAAoBwkF,oBAAqB,CACxC/5F,KACE,+IAC2G,IACxGrO,IAAS6S,MAFZ,oHAGwBxgB,IAAa09B,YAHrC,yFAQJ,CAACnM,IAAoBykF,iBAAkB,CACrCh6F,KACE,oCACGhc,IAAa8+B,oBADhB,sUAKE,6BACA,6BACC9+B,IAAa8+B,oBAPhB,4KAQiG,IAC9FnxB,IAASkT,SATZ,4CAUE,6BACA,6BAXF,yNAcE,6BACA,6BAfF,6CAoBJ,CAAC0Q,IAAoB0kF,oBAAqB,CACxCj6F,KACE,oCACG,6DACD,6BACA,6BAHF,6OAOE,6BACA,6BARF,8DAUE,6BACA,6BACC,+DAIP,CAACuV,IAAoB2kF,oBAAqB,CACxCl6F,KACE,oCACG,6DACD,6BACA,6BAHF,sHAME,6BACA,6BACC,+DAIP,CAACuV,IAAoB4kF,mBAAoB,CACvCn6F,KAAM,kI,6BChTV,uFAUO,SAASqyL,EAAU//L,GACxB,MAAMusC,EAAcL,oBAAS,GAAO,GAC9B3gC,EAAQvL,EAAMihB,YAAY4zD,iBAEhC,SAASmrH,EAAM55K,GACb,YAAgBlmB,IAATkmB,GAA+B,IAATA,EAG/B,OACE,oCACE,kBAAC,IAAD,KACE,iDAAuBnf,YAAajH,EAAMihB,YAAYE,YAAa,KAErE,kBAAC,IAAD,4CACuCE,IAAqBwB,mBAD5D,UAEE,6BAFF,yJAMCm9K,EAAMz0L,EAAK,mBACV,kBAAC,IAAD,+BAAoCtE,YAAasE,EAAK,iBAAsB,IAE7Ey0L,EAAMz0L,EAAK,uBACV,kBAAC,IAAD,iCAAsCtE,YAAasE,EAAK,qBAA0B,IAEnFy0L,EAAMz0L,EAAK,oBACV,kBAAC,IAAD,oCAAyCtE,YAAasE,EAAK,kBAAuB,IAEnFy0L,EAAMz0L,EAAK,wBACV,kBAAC,IAAD,kCAAuCtE,YAAasE,EAAK,sBAA2B,IAErFy0L,EAAMz0L,EAAK,yBACV,kBAAC,IAAD,mCAAwCtE,YAAasE,EAAK,uBAA4B,IAEvFy0L,EAAMz0L,EAAK,wBACV,kBAAC,IAAD,iCAAsCtE,YAAasE,EAAK,sBAA2B,IAEpFy0L,EAAMz0L,EAAK,aAAmB,kBAAC,IAAD,sBAA2BtE,YAAasE,EAAK,WAAgB,IAC3Fy0L,EAAMz0L,EAAK,UAAgB,kBAAC,IAAD,wBAA6BtE,YAAasE,EAAK,QAAa,IACvFy0L,EAAMz0L,EAAK,SAAe,kBAAC,IAAD,mBAAwBtE,YAAasE,EAAK,OAAY,IAChFy0L,EAAMz0L,EAAK,SAAe,kBAAC,IAAD,kBAAuBtE,YAAasE,EAAK,OAAY,IAC/Ey0L,EAAMz0L,EAAK,SAAe,kBAAC,IAAD,oBAAyBtE,YAAasE,EAAK,OAAY,IACjFy0L,EAAMz0L,EAAK,SAAe,kBAAC,IAAD,kBAAuBtE,YAAasE,EAAK,OAAY,IAC/Ey0L,EAAMz0L,EAAK,SAAe,kBAAC,IAAD,mBAAwBtE,YAAasE,EAAK,OAAY,IAChFy0L,EAAMz0L,EAAK,SAAe,kBAAC,IAAD,uBAA4BtE,YAAasE,EAAK,OAAY,IACpFy0L,EAAMz0L,EAAK,UAAgB,kBAAC,IAAD,kBAAuBtE,YAAasE,EAAK,QAAa,IACjFy0L,EAAMz0L,EAAK,QAAc,kBAAC,IAAD,yBAA8BtE,YAAasE,EAAK,MAAW,IACpFy0L,EAAMz0L,EAAK,UAAgB,kBAAC,IAAD,mBAAwBtE,YAAasE,EAAK,QAAa,IACnF,kBAAC,IAAD,CAAW0V,YAAajhB,EAAMihB,YAAag/K,UAAW,IAAM1zJ,EAAa2B,IAASA,Q,6BC1DxF,gEAUO,SAASgyJ,EAAUlgM,GACxB,OACE,gCACGtS,OAAOuT,KAAK0zE,KAAQvsE,IAAKo+D,GACxB,gBAAC,IAAD,CAAWn2E,IAAKm2E,EAAOvlD,YAAajhB,EAAMihB,YAAaulD,MAAOmO,IAAOnO,GAAQy5H,UAAWjgM,EAAMigM,gB,6BCdtG,2IAmBO,SAASE,EAAUngM,GACxB,MAAMqzE,EAAYrzE,EAAMwmE,MAAMl3E,KAC9B,IAAIylF,EAAe,EACf/0E,EAAMihB,YAAYqyD,OAAOD,KAAep6E,MAAM+G,EAAMihB,YAAYqyD,OAAOD,MACzE0B,EAAe/0E,EAAMihB,YAAYqyD,OAAOD,IAE1C,MAAM2B,EAAYh1E,EAAMwmE,MAAMyO,cAAcF,GAEtCqrH,EAAWpgM,EAAMihB,YAAYE,aAAe6zD,EAC5CE,IAASl1E,EAAMwmE,MAAM0O,QAASH,GAAgB/0E,EAAMwmE,MAAM0O,OAShE,OACE,kBAAC,IAAD,CAAOh2E,GAAI,CAAEkrD,GAAI,EAAG15D,EAAG,IACrB,kBAAC,IAAD,CAAKmf,QAAQ,OAAOgjC,cAAc,MAAM/iC,WAAW,UACjD,kBAAC,IAAD,CAAcglC,QAAQ,KAAKp1C,MAAM,UAAU3P,MAAOiQ,EAAMwmE,MAAMl3E,QAC5D8wM,GAAYlrH,EACZ,kBAAC,IAAD,CAAYr1E,UAAQ,GAClB,kBAAC,IAAD,OAGF,kBAAC,IAAD,CAAYs1C,QAhBpB,WACMn1C,EAAMihB,YAAYE,YAAc6zD,IACpCh1E,EAAMihB,YAAYE,aAAe6zD,EACjCh1E,EAAMihB,YAAYmyD,aAAapzE,EAAMwmE,OACrCxmE,EAAMigM,eAaE,kBAAC,IAAD,QAIN,kBAAC,IAAD,eAAoBlrH,GACnBG,EACC,kBAAC,IAAD,kBAEA,kBAAC,IAAD,+BAAoCjuE,YAAa+tE,EAAW,IAE9D,kBAAC,IAAD,KAAah1E,EAAMwmE,MAAM94D,S,6BCzD/B,uHAaO,SAAS2yL,IACd,MAAMlgM,EAAS0I,IAAI9X,SACb00B,EAAQ,WACZ,GAAoB,OAAhBtlB,EAAOslB,KAAe,MAAM,IAAIrlB,MAAM,2BAC1C,OAAOD,EAAOslB,KAFF,IAIP11B,EAAO2+D,GAAYhmD,IAAMwjC,SAAS,GAMzC,MAAMK,EAAcL,oBAAS,GAAO,GAOpC,OALAwC,oBAAU,KACR,MAAMsG,EAAKwO,YAAY,IAAMjX,EAAa2B,IAASA,GAAM,KACzD,MAAO,IAAM81B,cAAchvB,IAC1B,IAGD,kBAAC,IAAQ9F,KAAKyD,SAAd,CAAuB5iD,MAAO01B,GAC5B,kBAAC,IAAD,CAAMqvB,QAAQ,YAAY/kD,MAAOA,EAAOg/D,SAb5C,SAAsBzoB,EAA6B8pJ,GACjD1hI,EAAS0hI,IAYyDlxL,GAAI,CAAEymE,SAAU,cAAej1D,SAAU,QACvG,kBAAC,IAAD,CAAKi+C,MAAM,eACX,kBAAC,IAAD,CAAKA,MAAM,cACX,kBAAC,IAAD,CAAKA,MAAM,eAEF,IAAV5+D,GAAe,kBAAC,IAAD,MACL,IAAVA,GAAe,kBAAC,IAAD,MACL,IAAVA,GAAe,kBAAC,IAAD,S,6BCzCtB,0FASO,SAASuwM,IACd,MAAM76K,EAAO6vC,cACb,OACE,oCACE,kBAAC,IAAD,+FAEE,6BACA,6BAHF,gaAQG7vC,EAAK6qH,cAAgB,kBAAoB,oBAR5C,qCASE,6BACA,6BAVF,wMAaE,6BACA,6BAdF,uFAiBA,6BACA,kBAAC,IAAD,MACA,6BACA,kBAAC,IAAD,S,6BCjCN,iJAkBO,SAASiwD,IACd,MAAM96K,EAAO6vC,cACP4a,EAAmD,IAAnC/tC,IAAS1c,EAAKuP,SAASqN,UAC7C,IAAIm+J,EASJ,OAPEA,EADEtwH,GAAiB,EACJjpE,YAAa,EAAG,GACtBipE,GAAiB,IACXjpE,YAAa,IAAK,GAElBA,YAAaipE,EAAe,GAI3C,oCACE,kBAAC,IAAD,CAAKrgE,QAAQ,QACX,kBAAC,IAAD,CACEq/C,MACE,kBAAC,IAAD,2QAOF,kBAAC,IAAD,iBACY95D,IAAeiC,cAAcouB,EAAK6pD,SAD9C,KAEGl6E,IAAeiC,cAAc,EAAIouB,EAAK8qH,iBAFzC,aAOJ,kBAAC,IAAD,CAAK1gI,QAAQ,QACX,kBAAC,IAAD,CACEq/C,MACE,kBAAC,IAAD,8NAMF,kBAAC,IAAD,sBACiB95D,IAAekC,aAAamuB,EAAK8qD,QADlD,KAEGn7E,IAAekC,aAAa,EAAImuB,EAAK+qH,gBAFxC,aAOJ,kBAAC,IAAD,CAAK3gI,QAAQ,QACX,kBAAC,IAAD,CAASq/C,MAAO,kBAAC,IAAD,sEACd,kBAAC,IAAD,+BAAoCjoD,YAA6C,KAA/B,EAAIwe,EAAKwtH,oBAA2B,GAAtF,OAIJ,kBAAC,IAAD,yBACmB,kBAAC,IAAD,CAAW3hJ,MAAO,EAAIm0B,EAAK82E,iBAG9C,kBAAC,IAAD,CAAK1sF,QAAQ,QACX,kBAAC,IAAD,CAASq/C,MAAO,kBAAC,IAAD,8DACd,kBAAC,IAAD,mBAAwBsxI,EAAxB,OAGJ,kBAAC,IAAD,4BACsB,kBAAC,IAAD,CAAYrrI,WAAYpsD,IAAS0c,EAAKuP,SAAS3H,oBAGrE,kBAAC,IAAD,CAAW5H,KAAMA,O,6BCpFvB,oFAeO,SAASg7K,EAAUzgM,GACxB,MAAM0gM,EAAkB,IAAOjnM,IAAUG,WACzC,GAAKoG,EAAMylB,KAAK8yB,aAAemoJ,EAAmB,KAAQ,IAAM,OAAO,iCACvE,MAAMC,EAAe3gM,EAAMylB,KAAK8yB,aAAemoJ,EAAmB,IAClE,OACE,gBAAC,IAAD,CAAK7wL,QAAQ,QACX,gBAAC,IAAD,CACEq/C,MACE,gBAAC,IAAD,wMAMF,gBAAC,IAAD,oBAAyB/pD,YAAiCw7L,Q,6BC7BlE,8HAcO,SAASC,IACd,MAAMn7K,EAAO6vC,cACP/oB,EAAcL,oBAAS,GAAO,IAC7Bl9B,EAAQskJ,GAAapnH,mBAAS,KAC9B20J,EAAYC,GAAiB50J,oBAAS,GAMvCijE,EAAU1pF,EAAK0pF,QAClBngG,OAAQtK,GAAWA,GAAUA,EAAOpV,KAAKg4B,cAAc5Y,SAASM,IAChEA,OAAQtK,IACHm8L,GAAmBn8L,EAAO2nJ,aAIlC,OACE,oCACE,kBAAC,IAAD,CAAe00C,UAAW,IAAMx0J,EAAa2B,IAASA,KACtD,kBAAC,IAAD,CACEn+C,MAAOif,EACP+/C,SAhBsBzoB,IAC1BgtH,EAAUhtH,EAAM3lB,OAAO5wB,MAAMu3B,gBAgBzBkqG,WAAS,EACTxiE,WAAY,CACVC,eAAgB,kBAAC,IAAD,MAChBupG,YAAY,GAEd5pG,YAAY,wBACZ1vD,GAAI,CAAE/P,EAAG,EAAG6yC,MAAO,SAErB,kBAAC,IAAD,CACE60B,QAASgqI,EACT9xI,SAAW0sE,GAAaqlE,EAAcrlE,GACtClrE,KAAK,uBACLuG,QAAS,+GAEX,kBAAC,IAAD,CAAKjnD,QAAQ,OAAO3Q,GAAI,CAAE61H,oBAAqB,mBAC5C5lB,EAAQ/mG,IAAK1D,GACZ,kBAAC,IAAD,CAAgBrU,IAAKqU,EAAOpV,KAAMoV,OAAQA,S,6BCrDpD,yFAgBO,SAASs8L,EAAehhM,GAC7B,OACE,kBAAC,IAAD,CAAKf,UAAWi2H,IAAOh2H,GAAI,CAAE8iC,MAAO,SAClC,kBAAC,IAAD,CAAK9iC,GAAI,CAAE/P,EAAG,IACZ,kBAAC,IAAD,CAAckhB,QAAS,2BAAIrQ,EAAM0E,OAAOpV,QACxC,kBAAC,IAAD,CAAuBoV,OAAQ1E,EAAM0E,a,6BCrB7C,uIAoBO,SAASu8L,EAAsBjhM,GACpC,MAAMusC,EAAcL,oBAAS,GAAO,IAC7BinJ,EAAUC,GAAelnJ,oBAAS,IAClCg1J,EAAYC,GAAiBj1J,oBAAS,GAE7C,OACE,oCACGlsC,EAAM0E,OAAO2nJ,aACZ,kBAAC,IAAD,CAAKntJ,GAAI,CAAE2Q,QAAS,OAAQE,eAAgB,gBAAiBq6C,GAAI,IAC/D,kBAAC,IAAD,CAAQjV,QAAS,IAAMgsJ,GAAc,GAAOz+J,MAAO,CAAE4G,SAAU,EAAG83J,iBAAkB,IAApF,UAGA,kBAAC,IAAD,CACEjwL,KAAM+vL,EACN9vL,QAAS,IAAM+vL,GAAc,GAC7Bz8L,OAAQ1E,EAAM0E,OACd28L,SAAU,IAAM90J,EAAa2B,IAASA,KAExC,kBAAC,IAAD,CAAQiH,QAAS,IAAMi+I,GAAY,GAAO1wJ,MAAO,CAAEV,MAAO,cAAes/J,gBAAiB,IACxF,kBAAC,IAAD,OAEF,kBAAC,IAAD,CAAanwL,KAAMgiL,EAAU/hL,QAAS,IAAMgiL,GAAY,IACtD,kBAAC,IAAD,mIAGE,6BACA,6BAJF,oHAOE,6BACA,6BARF,iKAeN,kBAAC,IAAD,CAAKvjL,QAAQ,OAAO3Q,GAAI,CAAE61H,oBAAqB,UAAW/yF,MAAO,OAAQ0zF,IAAK,IAC5E,kBAAC,IAAD,CAAiBhxH,OAAQ1E,EAAM0E,SAC/B,kBAAC,IAAD,CAAc68L,aAAc,IAAMh1J,EAAa2B,IAASA,GAAMxpC,OAAQ1E,EAAM0E,a,6BC3DpF,wJAsBO,SAAS88L,EAAgBxhM,GAC9B,MAAMC,EAAUX,cAEVmiM,EAAM,CACVp5K,KAAMroB,EAAM0E,OAAOksE,uBAAuB5wE,EAAM0E,OAAO83H,iBACvDjmI,IAAKyJ,EAAM0E,OAAOksE,uBAAuB5wE,EAAM0E,OAAO+3H,gBACtDn0G,IAAKtoB,EAAM0E,OAAOksE,uBAAuB5wE,EAAM0E,OAAOg4H,gBACtDn0G,IAAKvoB,EAAM0E,OAAOksE,uBAAuB5wE,EAAM0E,OAAOi4H,gBACtDn0G,IAAKxoB,EAAM0E,OAAOksE,uBAAuB5wE,EAAM0E,OAAOk4H,gBACtDn0G,IAAKzoB,EAAM0E,OAAOksE,uBAAuB5wE,EAAM0E,OAAOm4H,iBAGlDp3G,EAAO6vC,cACProE,EAAO,CACX,CAAE,SAAS,kBAAC,IAAD,CAAWqE,MAAO,EAAI0O,EAAM0E,OAAO+rE,mBAAmBhrD,MACjE,CAAE,WAAcrwB,IAAeiC,cAAc,EAAI2I,EAAM0E,OAAO8qE,qBAAqB/pD,IAArE,UACd,CAAE,gBAAmBrwB,IAAekC,aAAa,EAAI0I,EAAM0E,OAAO2rE,yBAAyB5qD,IAAxE,UACnB,CAAE,iBAAkB,GAAErwB,IAAeiC,cAAc2I,EAAM0E,OAAO2uI,iBAGlE,OACE,oCACE,kBAAC,IAAD,CACEnkF,MACE,kBAAC,IAAD,aACQ95D,IAAemC,iBAAiByI,EAAM0E,OAAO4mJ,UAAYm2C,EAAIp5K,MADrE,KAEGjzB,IAAemC,iBAAiByI,EAAM0E,OAAO4mJ,WAFhD,SAEkEl2J,IAAemC,iBAAiBkqM,EAAIp5K,MAAO,IAF7G,OAIE,6BAJF,QAKQjzB,IAAemC,iBAAiByI,EAAM0E,OAAO8mJ,SAAWi2C,EAAIlrM,KALpE,KAMKnB,IAAemC,iBAAiByI,EAAM0E,OAAO8mJ,UANlD,SAMmEp2J,IAAemC,iBAAiBkqM,EAAIlrM,KAAM,IAN7G,OAQE,6BARF,QASQnB,IAAemC,iBAAiByI,EAAM0E,OAAOgnJ,SAAW+1C,EAAIn5K,KATpE,KAUKlzB,IAAemC,iBAAiByI,EAAM0E,OAAOgnJ,UAVlD,SAUmEt2J,IAAemC,iBAAiBkqM,EAAIn5K,KAAM,IAV7G,OAYE,6BAZF,QAaQlzB,IAAemC,iBAAiByI,EAAM0E,OAAOknJ,SAAW61C,EAAIl5K,KAbpE,KAcKnzB,IAAemC,iBAAiByI,EAAM0E,OAAOknJ,UAdlD,SAcmEx2J,IAAemC,iBAAiBkqM,EAAIl5K,KAAM,IAd7G,OAgBE,6BAhBF,QAiBQnzB,IAAemC,iBAAiByI,EAAM0E,OAAOonJ,SAAW21C,EAAIj5K,KAjBpE,KAkBKpzB,IAAemC,iBAAiByI,EAAM0E,OAAOonJ,UAlBlD,SAkBmE12J,IAAemC,iBAAiBkqM,EAAIj5K,KAAM,IAlB7G,OAoBE,6BApBF,QAqBQpzB,IAAemC,iBAAiByI,EAAM0E,OAAOsnJ,SAAWy1C,EAAIh5K,KArBpE,KAsBKrzB,IAAemC,iBAAiByI,EAAM0E,OAAOsnJ,UAtBlD,SAsBmE52J,IAAemC,iBAAiBkqM,EAAIh5K,KAAM,IAtB7G,SA2BF,kBAAC,IAAD,CAAOvpB,GAAI,CAAE2Q,QAAS,QAASyhE,GAAI,EAAGtvC,MAAO,SAC3C,kBAAC,IAAD,KACE,kBAAC,IAAD,CACE1yC,KAAK,UACLoQ,MAAOzL,IAASV,MAAM80B,KACtBp7B,KAAM,CAAEqiB,MAAOtP,EAAM0E,OAAO2jB,KAAMlC,IAAKnmB,EAAM0E,OAAO2mJ,YAEtD,kBAAC,IAAD,CACE/7J,KAAK,WACLoQ,MAAOzL,IAASV,MAAM8pE,OACtBpwE,KAAM,CAAEqiB,MAAOtP,EAAM0E,OAAOnO,IAAK4vB,IAAKnmB,EAAM0E,OAAO6mJ,WAErD,kBAAC,IAAD,CACEj8J,KAAK,UACLoQ,MAAOzL,IAASV,MAAM8pE,OACtBpwE,KAAM,CAAEqiB,MAAOtP,EAAM0E,OAAO4jB,IAAKnC,IAAKnmB,EAAM0E,OAAO+mJ,WAErD,kBAAC,IAAD,CACEn8J,KAAK,YACLoQ,MAAOzL,IAASV,MAAM8pE,OACtBpwE,KAAM,CAAEqiB,MAAOtP,EAAM0E,OAAO6jB,IAAKpC,IAAKnmB,EAAM0E,OAAOinJ,WAErD,kBAAC,IAAD,CACEr8J,KAAK,UACLoQ,MAAOzL,IAASV,MAAM8pE,OACtBpwE,KAAM,CAAEqiB,MAAOtP,EAAM0E,OAAO8jB,IAAKrC,IAAKnmB,EAAM0E,OAAOmnJ,WAErD,kBAAC,IAAD,CACEv8J,KAAK,WACLoQ,MAAOzL,IAASV,MAAMk1B,IACtBx7B,KAAM,CAAEqiB,MAAOtP,EAAM0E,OAAO+jB,IAAKtC,IAAKnmB,EAAM0E,OAAOqnJ,WAErD,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAW9rJ,QAAS,CAAE4hC,KAAM5hC,EAAQwiC,WAClC,+BAGHx1C,EAAKmb,IAAI,EAAE1B,EAAGE,KACb,kBAAC,IAAD,CAAUvW,IAAKqW,EAAEsB,WAAapB,EAAEoB,YAC9B,kBAAC,IAAD,CAAW/H,QAAS,CAAE4hC,KAAM5hC,EAAQwiC,WAClC,kBAAC,IAAD,KAAa/7B,IAEf,kBAAC,IAAD,CAAWi8B,MAAM,QAAQ1iC,QAAS,CAAE4hC,KAAM5hC,EAAQwiC,WAChD,kBAAC,IAAD,KAAa77B,Y,6BCpH/B,4EAWO,SAAS86L,EAAiB1hM,GAM/B,OACE,kBAAC,IAAD,CAAOmR,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,gGACA,kBAAC,IAAD,CAAQ+jC,QARZ,WACEn1C,EAAM4yC,cACN5yC,EAAMoR,YAMJ,W,8BCpBN,uEAQO,MAAMikG,EAA4B,CAACl1G,EAAiBupB,KACzD,MAAMi4K,EAAsBxhM,EAAO4jB,KAAK2F,EAAQp6B,MAC1C00D,EAAkBx5B,IAAiBm3K,GAEzC,IAAIvgH,EAAa,EACZjhF,EAAO+O,gBAAgB1V,IAAkB6nF,wBAC5CD,EAAajhF,EAAO2oB,MAAQ,EAAIrvB,IAAU2D,gBAI5C,IAAIo/C,EAAY,EAAI9yB,EAAQ9f,MAAQ,IAChC3Q,MAAMujD,KACRA,EAAY,GAGd,IAAIolJ,EAAW,EACXzhM,EAAOgc,cAAc,IAAM,IAC7BylL,EAAWplJ,GAGb,IAAIy7D,EAAiBj0D,EAAgBk0D,wBACnC/3G,EAAOmL,QACPnL,EAAOqL,SACPrL,EAAOsL,QACPtL,EAAOuL,UACPvL,EAAOwL,QACPxL,EAAOyL,UAKT,OAFAqsG,GAAkB93G,EAAO4mB,aAAettB,IAAUI,cAE3C,CACLvI,MACE8vF,EACAp9B,EAAgB61D,WAChBnwF,EAAQ83E,iBACRrhG,EAAOoL,MAAMoB,WACbpM,IAAmB82D,iBACnBuqI,EACFzsI,WAAYisB,EAAa62B,EAAiB93G,EAAOoL,MAAMgB,YAAciwC,EACrEvV,QACEm6C,EACAp9B,EAAgBq4B,eAChB3yD,EAAQ63E,cACRphG,EAAOoL,MAAMM,YACbtL,IAAmBo3D,mBACrBlwB,OACE25C,EACAp9B,EAAgB81D,gBAChBpwF,EAAQ63E,cACRphG,EAAOoL,MAAMO,aACbvL,IAAmBo3D,mBACrBhwB,OACEy5C,EACAp9B,EAAgB+1D,eAChBrwF,EAAQ63E,cACRphG,EAAOoL,MAAMQ,YACbxL,IAAmBo3D,mBACrB9vB,OACEu5C,EACAp9B,EAAgBg2D,iBAChBtwF,EAAQ63E,cACRphG,EAAOoL,MAAMS,cACbzL,IAAmBo3D,mBACrB5vB,OACEq5C,EACAp9B,EAAgBi2D,eAChBvwF,EAAQ63E,cACRphG,EAAOoL,MAAMU,YACb1L,IAAmBo3D,mBACrBrwB,OACE85C,EACAp9B,EAAgBs4B,gBAChB5yD,EAAQ63E,cACRphG,EAAOoL,MAAMW,aACb3L,IAAmBo3D,mBACrBzwB,OAAQ,K,6BCpFZ,8CAIO,MAAMoU,EAAgD,CAC3D,CACEhsD,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,GACZqP,sBAAuB,GACvB5sC,gBAAiB,IACjBusC,qBAAsB,GACtBxsC,eAAgB,IAChBgsC,YAAa,EACbD,cAAe,IAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,GACZqP,sBAAuB,GACvB5sC,gBAAiB,IACjBusC,qBAAsB,GACtBxsC,eAAgB,GAChBgsC,YAAa,GACbO,eAAgB,IAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,IACZqP,sBAAuB,GACvB5sC,gBAAiB,IACjBusC,qBAAsB,GACtBxsC,eAAgB,GAChBssC,aAAc,GACdN,YAAa,IACbO,eAAgB,IAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,IACZqP,sBAAuB,GACvB5sC,gBAAiB,GACjBusC,qBAAsB,GACtBxsC,eAAgB,GAChBssC,aAAc,IACdN,YAAa,IACbO,eAAgB,IAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,IACZqP,sBAAuB,GACvB5sC,gBAAiB,GACjBusC,qBAAsB,GACtBxsC,eAAgB,EAChBssC,aAAc,IACdN,YAAa,IACbO,eAAgB,IAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,KACZqP,sBAAuB,GACvB5sC,gBAAiB,GACjBusC,qBAAsB,GACtBxsC,eAAgB,IAChBssC,aAAc,IACdN,YAAa,IACbO,eAAgB,IAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,KACZqP,sBAAuB,GACvB5sC,gBAAiB,GACjBusC,qBAAsB,GACtBxsC,eAAgB,IAChBssC,aAAc,IACdN,YAAa,IACbO,eAAgB,KAChBR,cAAe,MAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAc,KACdtO,WAAY,KACZqP,sBAAuB,GACvB5sC,gBAAiB,EACjBusC,qBAAsB,GACtBxsC,eAAgB,IAChBssC,aAAc,IACdN,YAAa,IACbO,eAAgB,KAChBR,cAAe,GAEjB,CACE94H,KAAMo8B,IAA4B,GAClCy8F,aAAcz8F,IAA4B,GAC1CmuF,WAAY,GACZqP,sBAAuB,GACvB5sC,gBAAiB,IACjBusC,qBAAsB,GACtBxsC,eAAgB,IAChBgsC,YAAa,EACbD,cAAe,IAEjB,CACE94H,KAAMo8B,IAA4B,GAClCy8F,aAAcz8F,IAA4B,GAC1CmuF,WAAY,GACZqP,sBAAuB,GACvB5sC,gBAAiB,IACjBusC,qBAAsB,GACtBxsC,eAAgB,IAChBgsC,YAAa,GACbO,eAAgB,IAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAA4B,GAClCy8F,aAAcz8F,IAA4B,GAC1CmuF,WAAY,IACZqP,sBAAuB,GACvB5sC,gBAAiB,GACjBusC,qBAAsB,GACtBxsC,eAAgB,GAChBssC,aAAc,GACdN,YAAa,IACbO,eAAgB,KAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAA4B,GAClCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,IACZqP,sBAAuB,GACvB5sC,gBAAiB,GACjBusC,qBAAsB,GACtBxsC,eAAgB,GAChBssC,aAAc,GACdN,YAAa,IACbO,eAAgB,MAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAA0C,GAChDy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,IACZqP,sBAAuB,GACvB5sC,gBAAiB,IACjBusC,qBAAsB,GACtBxsC,eAAgB,GAChBssC,aAAc,GACdN,YAAa,IACbO,eAAgB,KAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAAyC,GAC/Cy8F,aAAcz8F,IAAyC,GACvDmuF,WAAY,IACZqP,sBAAuB,GACvB5sC,gBAAiB,IACjBusC,qBAAsB,GACtBxsC,eAAgB,GAChBssC,aAAc,GACdN,YAAa,IACbO,eAAgB,KAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAAyC,GAC/Cy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,IACZqP,sBAAuB,GACvB5sC,gBAAiB,GACjBusC,qBAAsB,GACtBxsC,eAAgB,GAChBssC,aAAc,GACdN,YAAa,IACbO,eAAgB,MAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,GACZqP,sBAAuB,GACvB5sC,gBAAiB,IACjBusC,qBAAsB,GACtBxsC,eAAgB,IAChBssC,aAAc,EACdN,YAAa,EACbD,cAAe,IAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,IACZqP,sBAAuB,GACvB5sC,gBAAiB,IACjBusC,qBAAsB,GACtBxsC,eAAgB,IAChBssC,aAAc,GACdN,YAAa,EACbO,eAAgB,IAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,IACZqP,sBAAuB,GACvB5sC,gBAAiB,GACjBusC,qBAAsB,GACtBxsC,eAAgB,IAChBssC,aAAc,IACdN,YAAa,GACbO,eAAgB,IAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,IACZqP,sBAAuB,GACvB5sC,gBAAiB,GACjBusC,qBAAsB,GACtBxsC,eAAgB,IAChBssC,aAAc,IACdN,YAAa,GACbO,eAAgB,IAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,KACZqP,sBAAuB,GACvB5sC,gBAAiB,EACjBusC,qBAAsB,GACtBxsC,eAAgB,IAChBssC,aAAc,IACdN,YAAa,GACbO,eAAgB,IAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAc,KACdtO,WAAY,KACZqP,sBAAuB,GACvB5sC,gBAAiB,IACjBusC,qBAAsB,GACtBxsC,eAAgB,IAChBssC,aAAc,IACdN,YAAa,IACbO,eAAgB,KAChBR,cAAe,MAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,GACZgP,qBAAsB,EACtBC,sBAAuB,GACvBC,qBAAsB,GACtBC,uBAAwB,GACxBC,qBAAsB,GACtBC,sBAAuB,GACvB7sC,eAAgB,IAChBy9B,gBAAiB,IACjBC,eAAgB,IAChBC,iBAAkB,IAClBC,eAAgB,IAChB39B,gBAAiB,IACjB+rC,YAAa,GACbC,aAAc,IACdC,YAAa,IACbC,cAAe,IACfE,YAAa,IACbC,aAAc,GACdC,eAAgB,IAChBR,cAAe,GAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAc,KACdtO,WAAY,IACZgP,qBAAsB,EACtBC,sBAAuB,GACvBC,qBAAsB,GACtBC,uBAAwB,GACxBC,qBAAsB,GACtBC,sBAAuB,GACvB7sC,eAAgB,IAChBy9B,gBAAiB,GACjBC,eAAgB,GAChBC,iBAAkB,GAClBC,eAAgB,GAChB39B,gBAAiB,GACjB+rC,YAAa,IACbC,aAAc,IACdC,YAAa,IACbC,cAAe,IACfE,YAAa,IACbC,aAAc,IACdC,eAAgB,KAChBR,cAAe,MAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,GACZgP,qBAAsB,EACtBC,sBAAuB,GACvBC,qBAAsB,GACtBC,uBAAwB,GACxBC,qBAAsB,GACtBC,sBAAuB,GACvB7sC,eAAgB,IAChBy9B,gBAAiB,IACjBC,eAAgB,IAChBC,iBAAkB,IAClBC,eAAgB,IAChB39B,gBAAiB,IACjBgsC,aAAc,GACdC,YAAa,GACbC,cAAe,GACfE,YAAa,GACbC,aAAc,EACdP,cAAe,GAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,IACZgP,qBAAsB,GACtBC,sBAAuB,GACvBC,qBAAsB,GACtBC,uBAAwB,GACxBC,qBAAsB,GACtBC,sBAAuB,GACvB7sC,eAAgB,IAChBy9B,gBAAiB,GACjBC,eAAgB,GAChBC,iBAAkB,GAClBC,eAAgB,GAChB39B,gBAAiB,IACjB+rC,YAAa,GACbC,aAAc,IACdC,YAAa,IACbC,cAAe,IACfE,YAAa,IACbC,aAAc,GACdC,eAAgB,IAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAcz8F,IAAkC,GAChDmuF,WAAY,IACZgP,qBAAsB,GACtBC,sBAAuB,GACvBC,qBAAsB,GACtBC,uBAAwB,GACxBC,qBAAsB,GACtBC,sBAAuB,GACvB7sC,eAAgB,IAChBy9B,gBAAiB,IACjBC,eAAgB,IAChBC,iBAAkB,IAClBC,eAAgB,IAChB39B,gBAAiB,GACjB+rC,YAAa,GACbC,aAAc,IACdC,YAAa,IACbC,cAAe,IACfE,YAAa,IACbC,aAAc,IACdC,eAAgB,KAChBR,cAAe,MAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAc,KACdtO,WAAY,KACZgP,qBAAsB,GACtBC,sBAAuB,GACvBC,qBAAsB,GACtBC,uBAAwB,GACxBC,qBAAsB,GACtBC,sBAAuB,GACvB7sC,eAAgB,IAChBy9B,gBAAiB,IACjBC,eAAgB,IAChBC,iBAAkB,IAClBC,eAAgB,IAChB39B,gBAAiB,IACjB+rC,YAAa,GACbC,aAAc,IACdC,YAAa,IACbC,cAAe,IACfE,YAAa,IACbC,aAAc,IACdC,eAAgB,MAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAA+B,GACrCy8F,aAAcz8F,IAA+B,GAC7CmuF,WAAY,IACZgP,qBAAsB,GACtBC,sBAAuB,GACvBC,qBAAsB,GACtBC,uBAAwB,GACxBC,qBAAsB,GACtBC,sBAAuB,GACvB7sC,eAAgB,IAChBy9B,gBAAiB,IACjBC,eAAgB,IAChBC,iBAAkB,IAClBC,eAAgB,IAChB39B,gBAAiB,IACjB+rC,YAAa,IACbC,aAAc,IACdC,YAAa,IACbC,cAAe,IACfE,YAAa,IACbC,aAAc,IACdC,eAAgB,IAChBR,cAAe,GAEjB,CACE94H,KAAMo8B,IAA+B,GACrCy8F,aAAcz8F,IAA+B,GAC7CmuF,WAAY,IACZgP,qBAAsB,GACtBC,sBAAuB,GACvBC,qBAAsB,GACtBC,uBAAwB,GACxBC,qBAAsB,GACtBC,sBAAuB,GACvB7sC,eAAgB,GAChBy9B,gBAAiB,IACjBC,eAAgB,IAChBC,iBAAkB,IAClBC,eAAgB,IAChB39B,gBAAiB,GACjB+rC,YAAa,IACbC,aAAc,IACdC,YAAa,IACbC,cAAe,IACfE,YAAa,IACbC,aAAc,IACdC,eAAgB,KAChBR,cAAe,MAEjB,CACE94H,KAAMo8B,IAA+B,GACrCy8F,aAAc,KACdtO,WAAY,IACZgP,qBAAsB,GACtBC,sBAAuB,GACvBC,qBAAsB,GACtBC,uBAAwB,GACxBC,qBAAsB,GACtBC,sBAAuB,GACvB7sC,eAAgB,IAChBy9B,gBAAiB,GACjBC,eAAgB,GAChBC,iBAAkB,GAClBC,eAAgB,GAChB39B,gBAAiB,IACjB+rC,YAAa,IACbC,aAAc,IACdC,YAAa,IACbC,cAAe,IACfE,YAAa,IACbC,aAAc,IACdC,eAAgB,MAChBR,cAAe,KAEjB,CACE94H,KAAMo8B,IAA8B,GACpCy8F,aAAc,KACdtO,WAAY,GACZiP,sBAAuB,GACvBE,uBAAwB,GACxBC,qBAAsB,GACtBC,sBAAuB,GACvBpP,gBAAiB,IACjBC,eAAgB,IAChBC,iBAAkB,IAClBC,eAAgB,IAChB39B,gBAAiB,IACjB8rC,cAAe,GAEjB,CACE94H,KAAMo8B,IAA8B,GACpCy8F,aAAc,KACdtO,WAAY,GACZiP,sBAAuB,GACvBE,uBAAwB,GACxBC,qBAAsB,GACtBC,sBAAuB,GACvBpP,gBAAiB,IACjBC,eAAgB,IAChBC,iBAAkB,IAClBC,eAAgB,IAChB39B,gBAAiB,IACjB8rC,cAAe,GAEjB,CACE94H,KAAMo8B,IAA4C,GAClDy8F,aAAcz8F,IAA4C,GAC1DmuF,WAAY,GACZgP,qBAAsB,GACtBK,sBAAuB,GACvB7sC,eAAgB,IAChBC,gBAAiB,IACjB+rC,YAAa,GACbD,cAAe,GAEjB,CACE94H,KAAMo8B,IAA4C,GAClDy8F,aAAc,KACdtO,WAAY,IACZgP,qBAAsB,GACtBK,sBAAuB,GACvB7sC,eAAgB,IAChBC,gBAAiB,IACjB+rC,YAAa,IACbM,aAAc,GACdP,cAAe,KAEjB,CACE94H,KAAMo8B,IAA4C,GAClDy8F,aAAcz8F,IAA4C,GAC1DmuF,WAAY,GACZgP,qBAAsB,GACtBK,sBAAuB,GACvB7sC,eAAgB,KAChBC,gBAAiB,IACjB+rC,YAAa,EACbM,aAAc,GACdP,cAAe,GAEjB,CACE94H,KAAMo8B,IAA4C,GAClDy8F,aAAc,KACdtO,WAAY,IACZgP,qBAAsB,GACtBK,sBAAuB,GACvB7sC,eAAgB,KAChBC,gBAAiB,GACjB+rC,YAAa,GACbM,aAAc,IACdP,cAAe,KAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAc,KACdtO,WAAY,GACZiP,sBAAuB,GACvBE,uBAAwB,GACxBC,qBAAsB,GACtBC,sBAAuB,GACvBpP,gBAAiB,MACjBC,eAAgB,MAChBC,iBAAkB,MAClBC,eAAgB,MAChB39B,gBAAiB,IACjB8rC,cAAe,GAEjB,CACE94H,KAAMo8B,IAAkC,GACxCy8F,aAAc,KACdtO,WAAY,GACZiP,sBAAuB,GACvBE,uBAAwB,GACxBC,qBAAsB,GACtBC,sBAAuB,GACvBpP,gBAAiB,MACjBC,eAAgB,MAChBC,iBAAkB,MAClBC,eAAgB,MAChB39B,gBAAiB,IACjB8rC,cAAe,K,gCCvlBnB,kGAmBO,SAASy5E,EAAa7hM,GAC3B,MAAMylB,EAAO6vC,eACN6gD,EAAa2rF,GAAkB51J,mBAASlsC,EAAM0E,OAAO+qE,MAEtDsyH,EAAgBt8K,EAAK0pF,QAAQhgG,KAAMzK,GAAWA,EAAOpV,MAAQ0Q,EAAM0E,OAAOpV,MAC5EyyM,GAAiBA,EAActyH,MAAQ0mC,GACzC2rF,EAAeC,EAActyH,MAU/B,MAAMwtG,EAAQx3J,EAAK+tH,kBAEnB,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAQzkF,SAXZ,SAAkBzoB,GAChB,MAAMmpC,EAAOnpC,EAAM3lB,OAAO5wB,MAC1BiQ,EAAM0E,OAAOunJ,aAAax8E,GAC1BqyH,EAAeryH,GACfzvE,EAAMuhM,gBAOwBxxM,MAAOomH,EAAaj3G,GAAI,CAAE8iC,MAAO,SAC3D,kBAAC,IAAD,CAAU3xC,IAAK,EAAGN,MAAO,cAAzB,cAGCktL,EAAM70K,IAAI,CAACqnE,EAAcliF,IACxB,kBAAC,IAAD,CAAU8C,IAAK9C,EAAI,EAAGwC,MAAO0/E,GAC1BA,KAIP,kBAAC,IAAD,CAAiB/qE,OAAQ1E,EAAM0E,Y,6BCjDrC,sEAaO,SAASs9L,EAAgBhiM,GAC9B,MAAMyvE,EAAOyvB,IAAgBl/F,EAAM0E,OAAO+qE,MACpC/hE,EAAO+hE,EAAOA,EAAK/hE,KAAOwxF,IAAe,WAAexxF,KAE9D,OAAO,kBAAC,IAAD,CAAYvO,wBAAyB,CAAEC,OAAQsO,O,6BCjBxD,oGAoBO,SAASu0L,EAAejiM,GAC7B,MAAMylB,EAAO6vC,cACP/oB,EAAcL,oBAAS,GAAO,GAEpCwC,oBAAU,KACR,MAAMsG,EAAKwO,YAAY,IAAMjX,EAAa2B,IAASA,GAAM,KACzD,MAAO,IAAM81B,cAAchvB,IAC1B,IAgCH,MAAM03G,EAAY1sJ,EAAM0E,OAAO4nJ,2BACzBG,EAAazsJ,EAAM0E,OAAO6nJ,+BAEhC,OACE,kBAAC,IAAD,CAAOp7I,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,0EAEE,6BAFF,wEAIE,6BACA,6BALF,oCAMoChc,IAAeiC,cAAc2I,EAAM0E,OAAO2uI,eAN9E,WAOE,6BACA,6BARF,+EAUE,6BAVF,aAWaj+I,IAAeS,OAAO62J,EAAUrkI,KAAM,SAXnD,QAYGjzB,IAAeS,OAAO42J,EAAWpkI,KAAM,SACxC,6BAbF,cAccjzB,IAAeS,OAAO62J,EAAUn2J,IAAK,SAdnD,QAeGnB,IAAeS,OAAO42J,EAAWl2J,IAAK,SACvC,6BAhBF,aAiBanB,IAAeS,OAAO62J,EAAUpkI,IAAK,SAjBlD,QAkBGlzB,IAAeS,OAAO42J,EAAWnkI,IAAK,SACvC,6BAnBF,eAoBelzB,IAAeS,OAAO62J,EAAUnkI,IAAK,SApBpD,QAqBGnzB,IAAeS,OAAO42J,EAAWlkI,IAAK,SACvC,6BAtBF,aAuBanzB,IAAeS,OAAO62J,EAAUlkI,IAAK,SAvBlD,QAwBGpzB,IAAeS,OAAO42J,EAAWjkI,IAAK,SACvC,6BAzBF,cA0BcpzB,IAAeS,OAAO62J,EAAUjkI,IAAK,SA1BnD,QA2BGrzB,IAAeS,OAAO42J,EAAWhkI,IAAK,SACvC,8BAEF,kBAAC,IAAD,CAAQ0sB,QAjEZ,WACEn1C,EAAMqhM,WACN,MAAMr7L,EAAMyf,EAAKsmE,aAAa/rF,EAAM0E,QACpC7F,YACE,oDACgBmB,EAAM0E,OAAOpV,KAD7B,IACmC,6BACjC,6BAFF,kBAGkB8F,IAAeiC,cAAc2O,EAAIspE,SAHnD,YAIE,6BACA,6BACCtvE,EAAM0E,OAAOpV,KANhB,wDAOE,6BAPF,aAQa8F,IAAeS,OAAOmQ,EAAIqiB,KAAM,SAC3C,6BATF,cAUcjzB,IAAeS,OAAOmQ,EAAIzP,IAAK,SAC3C,6BAXF,aAYanB,IAAeS,OAAOmQ,EAAIsiB,IAAK,SAC1C,6BAbF,eAcelzB,IAAeS,OAAOmQ,EAAIuiB,IAAK,SAC5C,6BAfF,aAgBanzB,IAAeS,OAAOmQ,EAAIwiB,IAAK,SAC1C,6BAjBF,cAkBcpzB,IAAeS,OAAOmQ,EAAIyiB,IAAK,SAC3C,+BAGJzoB,EAAMoR,YAuCJ,a,6BC9FN,+GAgBO,SAAS8wL,EAAcliM,GAC5B,MAAMylB,EAAO6vC,eACNnkD,EAAM0rD,GAAW3wB,oBAAS,GACjC,GAAIzmB,EAAK0pF,QAAQ1hH,QAAUo6E,IAAcE,mBACvC,OAAO,qCAGT,IAAKtiD,EAAK4lE,mBAAoB,CAC5B,MAAM/b,EAAU7pD,EAAKutH,kCACrB,OACE,kBAAC,IAAD,CAAKnjI,QAAQ,OAAOC,WAAW,SAAS5Q,GAAI,CAAEirD,GAAI,IAChD,kBAAC,IAAD,CAAQtqD,UAAQ,GAAhB,uBACA,kBAAC,IAAD,CAAYX,GAAI,CAAE42H,GAAI,IACnB1gI,IAAeiC,cAAci4E,GADhC,2CAON,OACE,oCACE,kBAAC,IAAD,CAAKpwE,GAAI,CAAEirD,GAAI,IACb,kBAAC,IAAD,CAAQhV,QAAS,IAAM0nB,GAAQ,IAA/B,wBAEF,kBAAC,IAAD,CAAc1rD,KAAMA,EAAMC,QAAS,IAAMyrD,GAAQ,GAAQkkI,UAAW/gM,EAAM+gM,e,6BCxChF,6GAkBO,SAASoB,EAAaniM,GAC3B,MAAMylB,EAAO6vC,eACNhmE,EAAM8yM,GAAWl2J,mBAAS,IAE3BrsC,EAAoB,KAATvQ,IAAgBm2B,EAAK4lE,mBACtC,SAASg3G,IACHxiM,IAGC4lB,EAAK6lE,cAAch8F,IAKxB0Q,EAAM+gM,YACN/gM,EAAMoR,WALJvS,YAAgB,mDAgBpB,OACE,kBAAC,IAAD,CAAOsS,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,+CACA,6BACA,kBAAC,IAAD,CACEogH,WAAS,EACT8wE,QAdN,SAAiBh8J,GACXA,EAAMj2C,MAAQiY,IAAIqpH,OAAO0wE,KAczBtzI,SAXN,SAAkBzoB,GAChB87J,EAAQ97J,EAAM3lB,OAAO5wB,QAWjBwkC,KAAK,OACLq6B,YAAY,cACZI,WAAY,CACVI,aACE,kBAAC,IAAD,CAAQvvD,SAAUA,EAAUs1C,QAASktJ,GAArC,iB,6BCxDZ,2KAgBO,SAASE,IACd,MAAM98K,EAAO6vC,cACPktI,EAAY90M,OAAOuT,KAAKkhC,KAAUnzB,OAAQy6H,GAAMA,GAAKhkH,EAAKuP,UACzDytK,EAAUC,GAAex2J,oBAAS,GAEzC,OACE,kBAAC,IAAD,CAAW4oF,gBAAc,EAACpkH,SAAS,KAAKxR,GAAI,CAAEirD,GAAI,IAChD,kBAAC,IAAD,uKAKA,kBAAC,IAAD,CAAQhV,QAAS,IAAMutJ,GAAY,GAAOxjM,GAAI,CAAEkrD,GAAI,IAClD,kBAAC,IAAD,CAAMlrD,GAAI,CAAEk2H,GAAI,KADlB,wBAKA,kBAAC,IAAD,CAAKn2H,UAAWi2H,IAAOh2H,GAAI,CAAExO,EAAG,EAAG4gF,GAAI,IACrC,kBAAC,IAAD,CAAYx8B,QAAQ,KAAK51C,GAAI,CAAE2Q,QAAS,OAAQC,WAAY,SAAUqlH,SAAU,SAC7E1vG,EAAKuP,QADR,gBAIA,kBAAC,IAAD,CACE+hC,QACE,kBAAC,IAAD,CACEF,QAASpxC,EAAKkrH,wBACd5hF,SAAWzoB,GAAW7gB,EAAKkrH,wBAA0BrqG,EAAM3lB,OAAOk2C,UAGtElI,MACE,kBAAC,IAAD,CACEO,MACE,kBAAC,IAAD,2JAMF,kBAAC,IAAD,uCAIN,6BACA,kBAAC,IAAD,CACE6H,QACE,kBAAC,IAAD,CACEF,QAASpxC,EAAKmrH,kBACd7hF,SAAWzoB,GAAW7gB,EAAKmrH,kBAAoBtqG,EAAM3lB,OAAOk2C,UAGhElI,MACE,kBAAC,IAAD,CACEO,MACE,kBAAC,IAAD,uIAMF,kBAAC,IAAD,2CAKN,kBAAC,IAAD,KACE,sDADF,IACkC95D,IAAe8B,iBAAiBuuB,EAAKirH,qBAAsB,GAD7F,IACiG,6BAC/F,qCAFF,IAEiBzpI,YAAak7B,IAAS1c,EAAKuP,SAASoN,MAAO,GAF5D,IAEgE,6BAC9D,yCAHF,IAGqBugK,EAAgBxgK,IAAS1c,EAAKuP,SAASqN,WAH5D,KAGyE,+BAG3E,kBAAC,IAAD,CAAKnjC,GAAI,CAAE2Q,QAAS,OAAQklH,oBAAqB,mBAC9CytE,EACEl8L,KAAK,CAACI,EAAGE,IACJu7B,IAASz7B,GAAG27B,WAAa,GAAKF,IAASv7B,GAAGy7B,UAAY,EAAU,EAChEF,IAASz7B,GAAG27B,UAAY,GAAKF,IAASv7B,GAAGy7B,WAAa,GAAW,EAC9D,GAERj6B,IAAK9Y,GACJ,kBAACszM,EAAD,CAAoBvyM,IAAKf,EAAMA,KAAMA,MAG3C,kBAAC,IAAD,CAAoB6hB,KAAMsxL,EAAUrxL,QAAS,IAAMsxL,GAAY,MAIrE,SAASC,EAAgBpyM,GACvB,MAAMkjC,EAAQ,IAAJljC,EAEV,OAAIkjC,GAAK,EACAxsB,YAAa,EAFJ,GAGPwsB,GAAK,IACPxsB,YAAa,IAJJ,GAMTA,YAAawsB,EANJ,GAcpB,SAASmvK,EAAmB5iM,GAC1B,MAAMylB,EAAO6vC,cACPqoH,EAAcx7I,IAAS1c,EAAKuP,SAASoN,MACrCA,EAAQD,IAASniC,EAAM1Q,MAAM8yC,MAC7BygK,EAAqBllB,GAAev7I,EAAQu7I,GAC5Ct7I,EAAYF,IAASniC,EAAM1Q,MAAM+yC,UACjCw/B,EAAUx/B,EAAY,EAAI,IAChC,OACE,kBAAC,IAAD,CAAKpjC,UAAWi2H,IAAOh2H,GAAI,CAAExO,EAAG,EAAGmxE,YACjC,kBAAC,IAAD,CAAY/sB,QAAQ,KAAK51C,GAAI,CAAE2Q,QAAS,OAAQC,WAAY,SAAUqlH,SAAU,SAC7En1H,EAAM1Q,MAET,kBAAC,IAAD,KACE,qCADF,IACiB2X,YAAam7B,EAAO,GADrC,IACyC,6BACvC,yCAFF,IAEqBugK,EAAgBtgK,GAFrC,KAEkD,6BAChD,gDAHF,IAG4BjtC,IAAe8B,iBAAiB2rM,EAAoB,O,6BCpItF,qEAWO,MAAMC,EAAqB,EAAG3xL,OAAMC,aAEvC,kBAAC,IAAD,CAAOD,KAAMA,EAAMC,QAASA,GAC1B,oCACE,kBAAC,IAAD,CAAY0jC,QAAQ,MAApB,YACA,kBAAC,IAAD,qfAME,6BACA,6BAPF,sOAYA,6BACA,kBAAC,IAAD,CAAYA,QAAQ,MAApB,aACA,kBAAC,IAAD,gMAGE,6BACA,6BAJF,4MAQA,6BACA,kBAAC,IAAD,CAAYA,QAAQ,MAApB,0BACA,kBAAC,IAAD,4M,6BCxCR,0NA8BA,SAASiuJ,EAAW/iM,GAClB,MAAMylB,EAAO6vC,cACPn1D,EAAS0I,IAAI9X,SACbkoC,EAAWvrC,OAAOuT,KAAKu9F,KAC1BxvF,OAAQqR,IACP,MAAME,EAAMi+E,IAAmBn+E,GAC/B,QAAIlgB,EAAO7O,MAAQm0B,EAAK+lG,eAAejrG,MACnCA,EAAIgU,OAASv0B,EAAMu0B,OACnBv0B,EAAMi5B,SAASvqB,SAAS2R,MAG7BjY,IAAKiY,GAAoBm+E,IAAmBn+E,IAE/C,OAAwB,IAApB4Y,EAASxrC,OAAqB,qCAEhC,kBAAC,IAAD,gBACU,kBAAC,IAAD,CAAO6D,MAAO2nC,EAAS,GAAG1c,QAKxC,SAASymL,GAAiB,QAAE3iL,IAC1B,MAAME,EAAMi+E,IAAmBn+E,GAC/B,OACE,kBAAC,IAAD,CAAOnhB,GAAI,CAAExO,EAAG,IACd,kBAAC,IAAD,CAASw+D,MAAO,kBAAC,IAAD,CAAY/vD,wBAAyB,CAAEC,OAAQmhB,EAAI7S,SACjE,kBAAC,IAAD,KAAa6S,EAAIjxB,QAYzB,SAAS2zM,EAAcjjM,GACrB,MAAMylB,EAAO6vC,cACPn1D,EAAS0I,IAAI9X,SAKnB,OACE,kBAAC,IAAD,CAASm+D,MAAO,kBAAC,IAAD,CAAY/vD,wBAAyB,CAAEC,OAAQY,EAAMugB,IAAI7S,SACvE,8BACE,kBAAC,IAAD,CAAQynC,QAPd,WACEn1C,EAAM0E,OAAOmoJ,WAAW7sJ,EAAMugB,IAAKpgB,EAAQslB,GAC3CzlB,EAAMiuC,YAKwB/uC,GAAI,CAAE2Q,QAAS,OAAQgjC,cAAe,SAAU7Q,MAAO,OAAQ+V,OAAQ,SAC/F,kBAAC,IAAD,CAAY74C,GAAI,CAAE2Q,QAAS,UAAY7P,EAAMugB,IAAIjxB,MACjD,kBAAC,IAAD,CAAOgC,MAAOm0B,EAAK+lG,eAAexrH,EAAMugB,UAWlD,SAAS2iL,EAAuBljM,GAC9B,MAAMylB,EAAO6vC,cACPn1D,EAAS0I,IAAI9X,SACbw7C,EAAcL,oBAAS,GAAO,IAC7Bi3J,EAAiBC,GAAsBl3J,mBAAS,WAEvD,SAAS+B,IACP1B,EAAa2B,IAASA,GAGxB,SAASm1J,EAAenjI,EAAgB3rC,GACtC,OAAO7mC,OAAOuT,KAAKu9F,KAChBxvF,OAAQqR,IACP,MAAME,EAAMi+E,IAAmBn+E,GAC/B,QAAIlgB,EAAO7O,MAAQm0B,EAAK+lG,eAAejrG,MACnCA,EAAIgU,OAASA,IACb2rC,EAAKxxD,SAAS2R,MAGnBjY,IAAKiY,GAAoBm+E,IAAmBn+E,IAGjD,MAKMijL,EAAiBD,EAAerjM,EAAM0E,OAAOu0B,SAAUguC,IAAYG,QACnEm8H,EAAgBF,EAAerjM,EAAM0E,OAAOu0B,SAAUguC,IAAYI,OAClEm8H,EAAkBH,EAAerjM,EAAM0E,OAAOu0B,SAAUguC,IAAYK,SACpEm8H,EAAkBJ,EAAerjM,EAAM0E,OAAOu0B,SAAUguC,IAAYM,SACpEm8H,EAAcL,EAAerjM,EAAM0E,OAAOoJ,cAAem5D,IAAYt8D,cAErEg5L,EAAuE,CAC3EC,QAAS,CAACN,EAAgBr8H,IAAYG,QACtCC,MAAO,CAACk8H,EAAet8H,IAAYI,OACnCw8H,SAAU,CAACL,EAAiBv8H,IAAYK,SACxCw8H,SAAU,CAACL,EAAiBx8H,IAAYM,SACxC14B,cAAe,CAAC60J,EAAaz8H,IAAYt8D,eAGrC82L,EAAM,CACVp5K,KAAMroB,EAAM0E,OAAOksE,uBAAuB5wE,EAAM0E,OAAO83H,iBACvDjmI,IAAKyJ,EAAM0E,OAAOksE,uBAAuB5wE,EAAM0E,OAAO+3H,gBACtDn0G,IAAKtoB,EAAM0E,OAAOksE,uBAAuB5wE,EAAM0E,OAAOg4H,gBACtDn0G,IAAKvoB,EAAM0E,OAAOksE,uBAAuB5wE,EAAM0E,OAAOi4H,gBACtDn0G,IAAKxoB,EAAM0E,OAAOksE,uBAAuB5wE,EAAM0E,OAAOk4H,gBACtDn0G,IAAKzoB,EAAM0E,OAAOksE,uBAAuB5wE,EAAM0E,OAAOm4H,iBAExD,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAKhtH,QAAQ,OAAO3Q,GAAI,CAAE61H,oBAAqB,UAAW5lI,EAAG,EAAGumI,IAAK,IACnE,8BACE,kBAAC,IAAD,CAAY5gF,QAAQ,KAAKp1C,MAAM,WAC5BM,EAAM0E,OAAOpV,KADhB,KACwB0Q,EAAM0E,OAAO+qE,KADrC,KAGA,kBAAC,IAAD,CACEvgB,MACE,kBAAC,IAAD,aACQ95D,IAAemC,iBAAiByI,EAAM0E,OAAO4mJ,UAAYm2C,EAAIp5K,MADrE,KAEGjzB,IAAemC,iBAAiByI,EAAM0E,OAAO4mJ,WAFhD,SAGGl2J,IAAemC,iBAAiBkqM,EAAIp5K,MAHvC,QAIE,6BAJF,QAKQjzB,IAAemC,iBAAiByI,EAAM0E,OAAO8mJ,SAAWi2C,EAAIlrM,KALpE,KAMKnB,IAAemC,iBAAiByI,EAAM0E,OAAO8mJ,UANlD,SAOGp2J,IAAemC,iBAAiBkqM,EAAIlrM,KAPvC,QAQE,6BARF,QASQnB,IAAemC,iBAAiByI,EAAM0E,OAAOgnJ,SAAW+1C,EAAIn5K,KATpE,KAUKlzB,IAAemC,iBAAiByI,EAAM0E,OAAOgnJ,UAVlD,SAWGt2J,IAAemC,iBAAiBkqM,EAAIn5K,KAXvC,QAYE,6BAZF,QAaQlzB,IAAemC,iBAAiByI,EAAM0E,OAAOknJ,SAAW61C,EAAIl5K,KAbpE,KAcKnzB,IAAemC,iBAAiByI,EAAM0E,OAAOknJ,UAdlD,SAeGx2J,IAAemC,iBAAiBkqM,EAAIl5K,KAfvC,QAgBE,6BAhBF,QAiBQnzB,IAAemC,iBAAiByI,EAAM0E,OAAOonJ,SAAW21C,EAAIj5K,KAjBpE,KAkBKpzB,IAAemC,iBAAiByI,EAAM0E,OAAOonJ,UAlBlD,SAmBG12J,IAAemC,iBAAiBkqM,EAAIj5K,KAnBvC,QAoBE,6BApBF,QAqBQpzB,IAAemC,iBAAiByI,EAAM0E,OAAOsnJ,SAAWy1C,EAAIh5K,KArBpE,KAsBKrzB,IAAemC,iBAAiByI,EAAM0E,OAAOsnJ,UAtBlD,SAuBG52J,IAAemC,iBAAiBkqM,EAAIh5K,KAvBvC,UA2BF,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CACEn5B,KAAK,UACLoQ,MAAOzL,IAASV,MAAM80B,KACtBp7B,KAAM,CAAEqiB,MAAOtP,EAAM0E,OAAO2jB,KAAMlC,IAAKnmB,EAAM0E,OAAO2mJ,YAEtD,kBAAC,IAAD,CACE/7J,KAAK,WACLoQ,MAAOzL,IAASV,MAAM8pE,OACtBpwE,KAAM,CAAEqiB,MAAOtP,EAAM0E,OAAOnO,IAAK4vB,IAAKnmB,EAAM0E,OAAO6mJ,WAErD,kBAAC,IAAD,CACEj8J,KAAK,UACLoQ,MAAOzL,IAASV,MAAM8pE,OACtBpwE,KAAM,CAAEqiB,MAAOtP,EAAM0E,OAAO4jB,IAAKnC,IAAKnmB,EAAM0E,OAAO+mJ,WAErD,kBAAC,IAAD,CACEn8J,KAAK,YACLoQ,MAAOzL,IAASV,MAAM8pE,OACtBpwE,KAAM,CAAEqiB,MAAOtP,EAAM0E,OAAO6jB,IAAKpC,IAAKnmB,EAAM0E,OAAOinJ,WAErD,kBAAC,IAAD,CACEr8J,KAAK,UACLoQ,MAAOzL,IAASV,MAAM8pE,OACtBpwE,KAAM,CAAEqiB,MAAOtP,EAAM0E,OAAO8jB,IAAKrC,IAAKnmB,EAAM0E,OAAOmnJ,WAErD,kBAAC,IAAD,CACEv8J,KAAK,WACLoQ,MAAOzL,IAASV,MAAMk1B,IACtBx7B,KAAM,CAAEqiB,MAAOtP,EAAM0E,OAAO+jB,IAAKtC,IAAKnmB,EAAM0E,OAAOqnJ,eAO7D,8BACE,kBAAC,IAAD,CAAQh9F,SArGEzoB,IAChB88J,EAAmB98J,EAAM3lB,OAAO5wB,OAChCk+C,KAmGkCl+C,MAAOozM,EAAiBjkM,GAAI,CAAE8iC,MAAO,OAAQsvC,GAAI,IAC1E5jF,OAAOuT,KAAK0iM,GAAYv7L,IAAI,CAAC8sC,EAAG3nD,IAC/B,kBAAC,IAAD,CAAU8C,IAAK9C,EAAI,EAAGwC,MAAOmlD,GAC3B,kBAAC,IAAD,CAAYJ,QAAQ,MAAMI,MAKhC,kBAAC,IAAD,CAAKh2C,GAAI,CAAE8iC,MAAO,SACoD,IAAlE2hK,EAAWR,GAAiB,GAA2B11M,QACvD,kBAAC,IAAD,4BAEF,kBAAC,IAAD,CAAKoiB,QAAQ,OAAO3Q,GAAI,CAAE61H,oBAAqB,YAC3C4uE,EAAWR,GAAiB,GAA2B/6L,IAAKmY,GAC5D,kBAAC0iL,EAAD,CAAe5yM,IAAKkwB,EAAIjxB,KAAM2+C,SAAUA,EAAUvpC,OAAQ1E,EAAM0E,OAAQ6b,IAAKA,MAGjF,kBAACwiL,EAAD,CAAYxuK,KAAMovK,EAAWR,GAAiB,GAAmBlqK,SAAUj5B,EAAM0E,OAAOu0B,cAK9F,kBAAC,IAAD,CAAY/5B,GAAI,CAAEirD,GAAI,IAAtB,wBACA,kBAAC,IAAD,CAAKt6C,QAAQ,OAAO3Q,GAAI,CAAE61H,oBAAqB,iBAAkB5lI,EAAG,IACjE6Q,EAAM0E,OAAOu0B,SAAS7wB,IAAKmY,GAC1B,kBAACyiL,EAAD,CAAkB3yM,IAAKkwB,EAAKF,QAASE,KAEtCvgB,EAAM0E,OAAOoJ,cAAc1F,IAAKmY,GAC/B,kBAACyiL,EAAD,CAAkB3yM,IAAKkwB,EAAKF,QAASE,OAOxC,SAASwjL,IACd,MAAMt+K,EAAO6vC,eACNtmD,EAAQskJ,GAAapnH,mBAAS,IAM/BijE,EAAU1pF,EAAK0pF,QAAQngG,OAAQtK,GAAWA,GAAUA,EAAOpV,KAAKg4B,cAAc5Y,SAASM,IAE7F,OACE,oCACE,kBAAC,IAAD,CACEkgD,MACE,kBAAC,IAAD,8IAMF,kBAAC,IAAD,CAAYhwD,GAAI,CAAE/P,EAAG,IAArB,cAAsCiG,IAAe8B,iBAAiB,EAAI,EAAIuuB,EAAK8tH,iBAGrF,kBAAC,IAAD,CACExjJ,MAAOif,EACP+/C,SArBsBzoB,IAC1BgtH,EAAUhtH,EAAM3lB,OAAO5wB,MAAMu3B,gBAqBzBkqG,WAAS,EACTxiE,WAAY,CACVC,eAAgB,kBAAC,IAAD,MAChBupG,YAAY,GAEd5pG,YAAY,wBACZ1vD,GAAI,CAAE/P,EAAG,EAAG6yC,MAAO,SAGrB,kBAAC,IAAD,CAAKnyB,QAAQ,OAAO3Q,GAAI,CAAE61H,oBAAqB,UAAW/yF,MAAO,SAC9DmtE,EAAQ/mG,IAAK1D,GACZ,kBAACw+L,EAAD,CAAwB7yM,IAAKqU,EAAOpV,KAAMoV,OAAQA,S,6BC9R5D,8HAeO,SAASs/L,IACd,MACMxjL,EADS3X,IAAI9X,SACQyvB,YAC3B,GAAoB,OAAhBA,EAAsB,OAAO,qCACjC,MAAM+rB,EAAcL,oBAAS,GAAO,GACpC,SAAS+B,IACP1B,EAAa2B,IAASA,GAExB,MAAOjP,EAAcglK,GAAmB/3J,mBAA0B,YAIlEwC,oBAAU,KACR,MAAMsG,EAAKwO,YAAYvV,EAAU,KACjC,MAAO,IAAM+1B,cAAchvB,IAC1B,IAEH,MAAMkvJ,EACJx2M,OAAOuT,KAAKyZ,KAAY1L,OACrBm1L,QACyFjkM,IAAxFsgB,EAAYM,UAAU3R,KAAM0R,GAAwBA,EAAS0T,OAAS4vK,IACxE12M,OAAS,EAEb,OACE,kBAAC,IAAQ6sB,YAAYq4B,SAArB,CAA8B5iD,MAAOywB,GACnC,kBAAC,IAAD,CAAMs0B,QAAQ,aAAa/kD,MAAOkvC,EAAc8vB,SAhBpD,SAAsBzoB,EAA6B8pJ,GACjD6T,EAAgB7T,IAe0DlxL,GAAI,CAAEwR,SAAU,QAAUkxD,eAAa,GAC7G,kBAAC,IAAD,CAAKjT,MAAOnuC,EAAYlxB,KAAMS,MAAO,aACpCywB,EAAYM,UAAU1Y,IAAKugG,GAC1B,kBAAC,IAAD,CAAKt4G,IAAKs4G,EAAIr5G,KAAMq/D,MAAOg6C,EAAIr5G,KAAMS,MAAO44G,EAAIr5G,QAEjD40M,GAAa,kBAAC,IAAD,CAAKv1I,MAAO,SAAU5+D,OAAQ,KAE5B,aAAjBkvC,GAA+B,kBAAC,IAAD,CAAUgP,SAAUA,KACjC,IAAlBhP,GAAuB,kBAAC,IAAD,CAAmBglK,gBAAiBA,IACnC,iBAAjBhlK,GAA8C,aAAjBA,GACnC,kBAAC,IAAD,CAAWgP,SAAUA,EAAUhP,aAAcA,EAAe,Q,6BClDpE,gFAgBO,SAASmlK,EAAUpkM,GACxB,MAAM2b,EAAOnB,cACPqG,EACmB,aAAvB7gB,EAAMi/B,aACFtjB,EAAKmF,UAAU3R,KAAM0R,GAAwBA,EAASvxB,OAAS0Q,EAAMi/B,mBACrE/+B,EAEN,QAAiBA,IAAb2gB,EAAwB,MAAM,IAAIzgB,MAAM,wBAC5C,OACE,kBAAC,IAAQma,SAASo4B,SAAlB,CAA2B5iD,MAAO8wB,GAChC,kBAAC,IAAD,CAAUotB,SAAUjuC,EAAMiuC,SAAUrqB,KAAMvkB,IAAS+S,c,6BC1BzD,oGAeO,SAASiyL,EAASrkM,GACvB,MAAM6gB,EAAWpG,eACVmJ,EAAM0gL,GAAWp4J,mBAASlsC,EAAM4jB,MAEjC2Y,EAAS1b,EAASyX,QAAQ1U,GAChC,GAAe,IAAX2Y,EAEF,OADA+nK,EAAQ,aACD,qCAGT,MAAMJ,EACJx2M,OAAOuT,KAAK4f,EAASyX,SAAStpB,OAAQkwB,GAAoD,IAA/Bre,EAASyX,QAAQ4G,IAAiBzxC,OAAS,EAIxG,OACE,oCACE,kBAAC,IAAD,CAAMqnD,QAAQ,YAAY/kD,MAAO6zB,EAAMmrC,SAL3C,SAAsBzoB,EAA6B8pJ,GACjDkU,EAAQlU,IAIyDlxL,GAAI,CAAEwR,SAAU,SAC5EhjB,OAAO0gC,OAAOvN,EAASyX,SAASlwB,IAC9Bm0B,GAAuC,IAAXA,GAAgB,kBAAC,IAAD,CAAKlsC,IAAKksC,EAAO/D,IAAKm2B,MAAOpyB,EAAO/D,IAAKzoC,MAAOwsC,EAAO/D,OAErG0rK,GAAa,kBAAC,IAAD,CAAKv1I,MAAO,SAAU5+D,MAAO,YAGnC,WAAT6zB,EACC,kBAAC,IAAD,CACEvzB,IAAKuzB,EACLqqB,SAAUjuC,EAAMiuC,SAChBrqB,KAAMA,EACN2W,UAAW1Z,EAASkc,WAAWnZ,GAC/B2Y,OAAQA,IAGV,kBAAC,IAAD,CAAegoK,gBAAiBD,O,6BChDxC,4GAoBO,SAASlsK,EAASp4B,GACvB,MAAMG,EAAS0I,IAAI9X,SACb4qB,EAAOnB,cACPqG,EAAWpG,cACjB,OACE,kBAAC,IAAD,CAAK5K,QAAQ,QACX,kBAAC,IAAD,CAAK3Q,GAAI,CAAE8iC,MAAO,QAChB,kBAAC,IAAD,CAAkBiM,SAAUjuC,EAAMiuC,SAAUkxF,YAAan/H,EAAM4jB,KAAM2Y,OAAQv8B,EAAMu8B,SACnF,kBAAC,IAAD,CAAgB0R,SAAUjuC,EAAMiuC,SAAU1R,OAAQv8B,EAAMu8B,UAE1D,kBAAC,IAAD,CAAKr9B,GAAI,CAAE8iC,MAAO,QAChB,kBAAC,IAAD,CACEiM,SAAUjuC,EAAMiuC,SAChB9tC,OAAQA,EACRwb,KAAMA,EACNwjH,YAAan/H,EAAM4jB,KACnB/C,SAAUA,EACV0Z,UAAWv6B,EAAMu6B,gB,6BCrC3B,+OAmCA,SAASiqK,EAAc5nK,EAAuBP,GAC5C,IAAI9rC,EAAI,EACR,IAAK,IAAIhD,EAAI,EAAGA,EAAIqvC,EAAUnvC,SAAUF,EAClCqvC,EAAUrvC,GAAGs8B,MAAQwS,GAAK9rC,IAEhC,OAAOA,EAQT,SAASk0M,EAAazkM,GACpB,OAAIA,EAAM0kM,WAEN,kBAAC,IAAD,CACEx1I,MACE,kBAAC,IAAD,gLAMF,kBAAC,IAAD,CAAQ/Z,QAAS,IAAMn1C,EAAM2kM,WAAYz2J,IAASA,IAAlD,wBAKF,kBAAC,IAAD,CACEghB,MACE,kBAAC,IAAD,6GAKF,kBAAC,IAAD,CAAQ/Z,QAAS,IAAMn1C,EAAM2kM,WAAYz2J,IAASA,IAAlD,0BAMR,SAAS02J,EAAiB5kM,GACxB,MAAM2b,EAAOnB,cACPqG,EAAWpG,eACV2hB,EAAUyoK,GAAe34J,mBAC9BlsC,EAAMu8B,OAAOK,UAAUnvC,OAAS,EAAIuS,EAAMu8B,OAAOK,UAAU,GAAK,MAI5DA,EAAY,GAClB,IAAK,IAAIrvC,EAAI,EAAGA,EAAIyS,EAAMu8B,OAAOK,UAAUnvC,SAAUF,EACnDqvC,EAAU7uC,KACR,kBAAC,IAAD,CAAUsC,IAAK2P,EAAMu8B,OAAOK,UAAUrvC,GAAG+B,KAAMS,MAAOiQ,EAAMu8B,OAAOK,UAAUrvC,GAAG+B,MAC7E0Q,EAAMu8B,OAAOK,UAAUrvC,GAAG+B,OAkBjC,MAAM08H,EAAM5vF,EACZ,IAAI0oK,EAAuC,GAC3C,MAAMC,EAAoB,GACpBC,EAAgBt3M,OAAO0gC,OAAOrU,KACpC,IAAK,IAAIxsB,EAAI,EAAGA,EAAIy3M,EAAcv3M,SAAUF,EAC1Cw3M,EAAkBh3M,KAChB,kBAAC,IAAD,CAAUsC,IAAK20M,EAAcz3M,GAAIwC,MAAOi1M,EAAcz3M,IACnDy3M,EAAcz3M,KAGR,MAAPy+H,GAAeA,EAAIniG,MAAQm7K,EAAcz3M,KAC3Cu3M,EAAuCE,EAAcz3M,IAWzD,MAAMg3K,EAAK,QAGLgoB,EAASvgE,EAAMA,EAAImB,IAAMxxG,EAAK++G,2BAA6B75G,EAAS65G,2BAA6B,EACjG9iD,EAASo0C,EAAMA,EAAIvjG,IAAM9M,EAAKg/G,2BAA6B95G,EAAS85G,2BAA6B,EACjG9hD,EAASmzC,EAAMA,EAAItjG,IAAM/M,EAAKi/G,2BAA6B/5G,EAAS+5G,2BAA6B,EACjG4xD,EAASxgE,EAAMA,EAAI5vC,IAAMzgE,EAAKk/G,2BAA6Bh6G,EAASg6G,2BAA6B,EAEvG,OACE,oCACE,6BACA,kBAAC,IAAD,CAAQ9qI,MAAoB,OAAbqsC,EAAoBA,EAAS9sC,KAAO,GAAIy/D,SA9C3D,SAAkCnuC,GAChC,MAAMtxB,EAAOsxB,EAAED,OAAO5wB,MACtB,IAAK,IAAIxC,EAAI,EAAGA,EAAIyS,EAAMu8B,OAAOK,UAAUnvC,SAAUF,EACnD,GAAI+B,IAAS0Q,EAAMu8B,OAAOK,UAAUrvC,GAAG+B,KAAM,CAC3Cu1M,EAAY7kM,EAAMu8B,OAAOK,UAAUrvC,IACnC,MAIJyS,EAAMiuC,aAsCDrR,GAEU,MAAZR,GACC,kBAAC,IAAD,gBACWhnC,IAAeS,OAAOumC,EAASswF,IAAK63C,GAC7C,6BAFF,cAGcnvK,IAAeS,OAAOumC,EAASuwF,IAAK43C,GAChD,6BAJF,WAKWnvK,IAAeS,OAAOumC,EAASwwF,IAAK23C,GAC7C,6BANF,iBAOiBnvK,IAAeS,OAAOgjF,EAAQ0rF,GAC7C,6BARF,aASanvK,IAAeS,OAAO+hF,EAAQ2sF,GACzC,6BAVF,eAWenvK,IAAeS,OAAOumC,EAASjW,IAAKo+I,GACjD,6BAZF,eAaenvK,IAAeS,OAAO02L,EAAQhoB,GAC3C,6BAdF,eAeenvK,IAAeS,OAAO22L,EAAQjoB,GAC3C,6BAhBF,WAiBU,kBAAC,IAAD,CAAOjzK,MAAO8qC,EAASgxF,OAGtB,MAAZhxF,GACC,kBAAC,IAAD,CAAQ2yB,SA3Cd,SAA0CnuC,GACvB,OAAbwb,IACJA,EAASvS,IAAMjJ,EAAED,OAAO5wB,MACxBiQ,EAAMiuC,aAwCkDl+C,MAAO+0M,GACxDC,IAcX,SAASE,EAAcjlM,GACrB,MAAM2b,EAAOnB,cACPqG,EAAWpG,cACXyqL,EAASV,EAAcxkM,EAAMu8B,OAAOK,UAAW58B,EAAMq8B,KACrD8oK,EAAgBX,EAAcxkM,EAAMu8B,OAAOK,UAAW7iB,IAAkBM,YAiB9E,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAS60C,MAAOlvD,EAAM0N,MACpB,kBAAC,IAAD,KACG1N,EAAMq8B,IADT,KACgB6oK,EADhB,OAKJ,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYrlM,SAA4B,IAAlBslM,EAAqBhwJ,QA1BjD,WACMgwJ,GAAiB,EACnBxvM,QAAQC,KAAK,8DAIfoK,EAAMu8B,OAAOkxF,oBAAoBztH,EAAMq8B,KACvCr8B,EAAMu8B,OAAOswF,8BAA8BlxG,EAAMkF,GACjD7gB,EAAMiuC,cAmBA,kBAAC,IAAD,OAEF,kBAAC,IAAD,CAAYpuC,SAAqB,IAAXqlM,EAAc/vJ,QAlB1C,WACEn1C,EAAMu8B,OAAOmxF,wBAAwB1tH,EAAMq8B,KAC3Cr8B,EAAMu8B,OAAOswF,8BAA8BlxG,EAAMkF,GACjD7gB,EAAMiuC,aAgBA,kBAAC,IAAD,SAOV,SAASm3J,EAAeplM,GACtB,MAAM2b,EAAOnB,cACPqG,EAAWpG,cACX0qL,EAAgBX,EAAcxkM,EAAMu8B,OAAOK,UAAW7iB,IAAkBM,YACxEgrL,EAAqC,IAA3B1pL,EAAKid,eAAe,GAGpC,IAAI0sK,EAAc,EAChBC,EAAiB,EACjBC,EAAc,EACdC,EAAc,EAChB,IAAK,IAAIl4M,EAAI,EAAGA,EAAIyS,EAAMu8B,OAAOK,UAAUnvC,SAAUF,EACnD+3M,GAAetlM,EAAMu8B,OAAOK,UAAUrvC,GAAGm/H,IACzC64E,GAAkBvlM,EAAMu8B,OAAOK,UAAUrvC,GAAGo/H,IAC5C64E,GAAexlM,EAAMu8B,OAAOK,UAAUrvC,GAAGq/H,IACzC64E,GAAezlM,EAAMu8B,OAAOK,UAAUrvC,GAAG6/H,IAG3C,IAAIs4E,EAAY,EACdC,EAAe,EACfC,EAAY,EAOd,OANI5lM,EAAMu8B,OAAOK,UAAUnvC,OAAS,IAClCi4M,EAAYJ,EAActlM,EAAMu8B,OAAOK,UAAUnvC,OACjDk4M,EAAeJ,EAAiBvlM,EAAMu8B,OAAOK,UAAUnvC,OACvDm4M,EAAYJ,EAAcxlM,EAAMu8B,OAAOK,UAAUnvC,QAIjD,oCACE,kBAAC,IAAD,CAAOgjB,QAAQ,QACb,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,+BAEF,kBAAC,IAAD,KACE,kBAAC,IAAD,KAAa00L,KAGjB,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,8BAEF,kBAAC,IAAD,KACE,kBAAC,IAAD,KAAa/vM,IAAeS,OAAO6vM,EAAW,YAGlD,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,iCAEF,kBAAC,IAAD,KACE,kBAAC,IAAD,KAAatwM,IAAeS,OAAO8vM,EAAc,YAGrD,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,8BAEF,kBAAC,IAAD,KACE,kBAAC,IAAD,KAAavwM,IAAeS,OAAO+vM,EAAW,YAGlD,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,gCAEF,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAOt0M,MAAOm0M,OAInBJ,GACC,oCACE,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CACEn2I,MACE,kBAAC,IAAD,sOAOF,kBAAC,IAAD,+BAGJ,kBAAC,IAAD,KACE,kBAAC,IAAD,KACG95D,IAAeS,OAAOgrB,EAASwoK,sBAAsBrpL,EAAMu8B,QAAS,YAI3E,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CACE2yB,MACE,kBAAC,IAAD,+OAOF,kBAAC,IAAD,8BAGJ,kBAAC,IAAD,KACE,kBAAC,IAAD,KACG95D,IAAeS,OACdgrB,EAASwoK,sBAAsBrpL,EAAMu8B,OAAQ,CAC3CgvJ,YAAY,IAEd,YAKR,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CACEr8H,MAAO,kBAAC,IAAD,6EAEP,kBAAC,IAAD,gCAGJ,kBAAC,IAAD,KACE,kBAAC,IAAD,SAAc95D,IAAeS,OAAOgrB,EAASipK,kBAAkB9pL,EAAMu8B,QAAS,eAQ1F,kBAAC,IAAD,CAAO9rB,QAAQ,QACb,kBAAC,IAAD,KACE,kBAACw0L,EAAD,CACEh3J,SAAUjuC,EAAMiuC,SAChB1R,OAAQv8B,EAAMu8B,OACdF,IAAKtiB,IAAkBC,WACvBtM,KAAM,gGAGR,kBAACu3L,EAAD,CACEh3J,SAAUjuC,EAAMiuC,SAChB1R,OAAQv8B,EAAMu8B,OACdF,IAAKtiB,IAAkBE,SACvBvM,KACE,wLAIJ,kBAACu3L,EAAD,CACEh3J,SAAUjuC,EAAMiuC,SAChB1R,OAAQv8B,EAAMu8B,OACdF,IAAKtiB,IAAkBG,SACvBxM,KAAM,4FAGR,kBAACu3L,EAAD,CACEh3J,SAAUjuC,EAAMiuC,SAChB1R,OAAQv8B,EAAMu8B,OACdF,IAAKtiB,IAAkBI,WACvBzM,KACE,yHAIJ,kBAACu3L,EAAD,CACEh3J,SAAUjuC,EAAMiuC,SAChB1R,OAAQv8B,EAAMu8B,OACdF,IAAKtiB,IAAkBK,MACvB1M,KAAM,wFAGR,kBAACu3L,EAAD,CACEh3J,SAAUjuC,EAAMiuC,SAChB1R,OAAQv8B,EAAMu8B,OACdF,IAAKtiB,IAAkBtE,SACvB/H,KACE,sIASP,SAASm4L,EAAe7lM,GAC7B,MAAM2b,EAAOnB,cACPqG,EAAWpG,eACVqrL,EAAuBC,GAA4B75J,oBAAS,IAC5D85J,EAAgBC,GAAqB/5J,oBAAS,IAC9Cg6J,EAA0BC,GAA+Bj6J,oBAAS,GAQzE,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,qBACA,kBAAC,IAAD,cACSlsC,EAAMu8B,OAAOK,UAAUnvC,OADhC,MAC2CuS,EAAMu8B,OAAO9D,KADxD,cAGA,kBAAC,IAAD,CAAKv5B,GAAI,CAAE2Q,QAAS,OAAQklH,oBAAqB,MAAO/yF,MAAO,gBAC7D,kBAAC,IAAD,CAAK9iC,GAAI,CAAE61H,oBAAqB,mBAC9B,kBAAC,IAAD,CAAS7lE,MAAO,kBAAC,IAAD,yEACd,8BACE,kBAAC,IAAD,CAAQrvD,SAAUG,EAAMu8B,OAAOuvF,aAAc32E,QAhBzD,WACMn1C,EAAMu8B,OAAOuvF,eACjB9rH,EAAMu8B,OAAO0vF,qBACbjsH,EAAMiuC,cAaI,mBAKJ,kBAAC,IAAD,CAASihB,MAAO,kBAAC,IAAD,uEACd,8BACE,kBAAC,IAAD,CAAQrvD,SAAU8b,EAAK+E,MAAQ,EAAGy0B,QAAS,IAAM4wJ,GAAyB,IAA1E,kBAKJ,kBAAC,IAAD,CACE93J,SAAUjuC,EAAMiuC,SAChB1R,OAAQv8B,EAAMu8B,OACdprB,KAAM20L,EACN10L,QAAS,IAAM20L,GAAyB,MAGxCllL,EAASqd,YAAY,qBACrB,oCACE,kBAAC,IAAD,CACEgxB,MAAO,kBAAC,IAAD,gFAEP,8BACE,kBAAC,IAAD,CAAQrvD,SAAU8b,EAAK+E,MAAQ,EAAGy0B,QAAS,IAAM8wJ,GAAkB,IAAnE,iBAKJ,kBAAC,IAAD,CACEh4J,SAAUjuC,EAAMiuC,SAChB1R,OAAQv8B,EAAMu8B,OACdprB,KAAM60L,EACN50L,QAAS,IAAM60L,GAAkB,OAKzC,kBAACxB,EAAD,CAAcC,WAAYwB,EAA0BvB,WAAYwB,KAEjED,EACC,kBAACtB,EAAD,CAAkB32J,SAAUjuC,EAAMiuC,SAAU1R,OAAQv8B,EAAMu8B,SAE1D,kBAAC6oK,EAAD,CAAgBn3J,SAAUjuC,EAAMiuC,SAAU1R,OAAQv8B,EAAMu8B,Y,6BCjehE,2HAsBA,SAAS6pK,EAAkBpmM,GACzB,MAAM2b,EAAOnB,cAUb,OACE,kBAAC,IAAD,CAAS00C,MAAO95D,IAAeqB,YAAYuJ,EAAMuc,OAC/C,8BACE,kBAAC,IAAD,CAAQ1c,SAAU8b,EAAK+E,MAAQ1gB,EAAMuc,KAAM44B,QAAS,KAAMkxJ,OAZ3C9pL,EAYuDvc,EAAMuc,KAZ/Ckc,EAYqDz4B,EAAMy4B,UAXxF9c,EAAK+E,MAAQnE,IAIjB+f,YAAkB3gB,EAAM3b,EAAMu8B,OAAQ9D,GACtCz4B,EAAMiuC,WACNjuC,EAAMoR,YAPR,IAAqBmL,EAAckc,IAY7B,IACIz4B,EAAMy4B,QAcX,SAAS6tK,EAAuBtmM,GACrC,MAAM2b,EAAOnB,cACPgiB,EAAmB1mC,KAAKsjB,MAAMpZ,EAAMu8B,OAAO9D,KAAOhnB,IAAqBmB,mBAEvE2zL,EAAc90L,IAAqBkB,kBAAoB7c,KAAKoN,IAD3C,KAC+Ds5B,GAGtF,IAAIpW,EAAO,EACX,IAAK,IAAI74B,EAAI,EAAGA,EAAI,IAAKA,EACvB64B,GAAQtwB,KAAKoN,IANQ,KAMYs5B,EAAmBjvC,GAEtD,MAAMi5M,EAAgB/0L,IAAqBkB,kBAAoByT,EAGzDqgL,EAAU9qL,EAAK+E,MAAQjP,IAAqBkB,kBAClD,IAAI+zL,EAAS,EAEb,IADAtgL,EAAOtwB,KAAKoN,IAbW,KAaSs5B,GACzBkqK,EAAS,MAEVtgL,GAAQqgL,IAFM,CAGlB,MAAME,EAAe7wM,KAAKoN,IAjBL,KAiByBs5B,EAAmBkqK,GACjE,GAAItgL,EAAOugL,EAAeF,EACxB,MAEArgL,GAAQugL,IAERD,EAEJ,MAAME,EAAiBn1L,IAAqBkB,kBAAoByT,EAEhE,OACE,kBAAC,IAAD,CAAOjV,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,4EACA,kBAAC,IAAD,CAAKvB,QAAQ,OAAOC,WAAW,UAC7B,kBAAC,IAAD,uBACA,kBAACs2L,EAAD,CACEh1L,QAASpR,EAAMoR,QACf68B,SAAUjuC,EAAMiuC,SAChB1R,OAAQv8B,EAAMu8B,OACd5gB,KAAMA,EACNY,KAAMgqL,EACN9tK,KAAMhnB,IAAqBmB,oBAE7B,kBAACwzL,EAAD,CACEh1L,QAASpR,EAAMoR,QACf68B,SAAUjuC,EAAMiuC,SAChB1R,OAAQv8B,EAAMu8B,OACd5gB,KAAMA,EACNY,KAAMiqL,EACN/tK,KAA+C,EAAzChnB,IAAqBmB,oBAE7B,kBAACwzL,EAAD,CACEh1L,QAASpR,EAAMoR,QACf68B,SAAUjuC,EAAMiuC,SAChB1R,OAAQv8B,EAAMu8B,OACd5gB,KAAMA,EACNY,KAAMqqL,EACNnuK,KAAMiuK,EAASj1L,IAAqBmB,wB,6BC5G9C,2IAqBO,SAASi0L,EAAgB7mM,GAC9B,MAAM2b,EAAOnB,eACN+B,EAAMuqL,GAAW56J,mBAAS,GAE3BvP,EAAYpgB,EAAOvc,EAAMu8B,OAAOK,UAAUnvC,OAC1Cs5M,EAAWprL,EAAK+E,OAASic,EAO/B,SAASE,IACP,GAAa,OAATtgB,GAAiBtjB,MAAMsjB,IAASA,EAAO,EACzC1d,YAAgB,8BACX,GAAKkoM,EAEL,CACL,MAAM3gL,EAAOqW,YAAW9gB,EAAM3b,EAAMu8B,OAAQhgB,GAC5C1d,YACE,4FAEEzJ,IAAe8B,iBAAiBkvB,EAAO,IAE3CpmB,EAAMiuC,WACNjuC,EAAMoR,eATNvS,YAAgB,yDAapB,SAASmoM,IACP,OAAI/tM,MAAMsjB,IAASA,EAAO,EAAU,kBAAC,IAAD,+BAElC,kBAAC,IAAD,iDAC2C,kBAAC,IAAD,CAAOjrB,MAAOqrC,KAS7D,OACE,kBAAC,IAAD,CAAOxrB,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,4FACA,kBAAC41L,EAAD,MACA,kBAAC,IAAD,CAAKn3L,QAAQ,OAAOC,WAAW,UAC7B,kBAAC,IAAD,CACE0hH,WAAW,EACXj9F,KAAK,SACLq6B,YAAY,eACZ7+D,MAAOwsB,EACPwyC,SA9CR,SAAoBzoB,GAClB,IAAI1yC,EAAIrC,WAAW+0C,EAAM3lB,OAAO5wB,OAC5BkJ,MAAMrF,KAAIA,EAAI,GAClBkzM,EAAQlzM,IA4CF+sF,UAfR,SAAmBr6C,GACbA,EAAMj2C,MAAQiY,IAAIqpH,OAAO90F,OAgBzB,kBAAC,IAAD,CAAQh9B,UAAWknM,EAAU5xJ,QAAStY,GAAtC,mB,6BC5ER,gOAyBA,SAASoqK,IACP,MAAMtrL,EAAOnB,cACPqG,EAAWpG,eACVysL,EAAUC,GAAej7J,oBAAS,GAEnCk7J,EAAiBvmL,EAAS6mK,2BAMhC,IAAI2f,EAA0B,GAC9B,OAAQxmL,EAAS0T,MACf,KAAK7Z,IAAWM,KACdqsL,EAA0B,mBAC1B,MACF,KAAK3sL,IAAWO,QACdosL,EAA0B,iBAC1B,MACF,KAAK3sL,IAAWS,eACdksL,EAA0B,cAC1B,MACF,KAAK3sL,IAAWU,SAChB,IAAK,WACHisL,EAA0B,iBAC1B,MACF,KAAK3sL,IAAWW,SACdgsL,EAA0B,eAC1B,MACF,KAAK3sL,IAAWY,SACd+rL,EAA0B,mBAC1B,MACF,KAAK3sL,IAAWa,WACd8rL,EAA0B,iBAC1B,MACF,KAAK3sL,IAAWc,WACd6rL,EAA0B,mBAC1B,MACF,QAEE,OADAA,EAA0B,iBACnB,qCAGX,OACE,oCACE,kBAAC,IAAD,CACEn4I,MACEk4I,EACE,kBAAC,IAAD,yDACoDvmL,EAAS2mK,4BAG7D,IAIJ,kBAAC,IAAD,CAAQ9nL,MAhDqC,IAA1ChS,OAAOuT,KAAK4f,EAASsd,UAAU1wC,OAgDH,QAAU,UAAW0nD,QAAS,IAAMgyJ,GAAY,GAAOtnM,SAAU8b,EAAK+E,MAAQ,GAC1G2mL,IAGL,kBAAC,IAAD,CAAkBl2L,KAAM+1L,EAAU91L,QAAS,IAAM+1L,GAAY,MAInE,SAASG,IACP,MAAM3rL,EAAOnB,cACPqG,EAAWpG,eACV04K,EAAUC,GAAelnJ,oBAAS,IAClCq7J,EAAcC,GAAmBt7J,oBAAS,GAC3Cm5J,EAAqC,IAA3B1pL,EAAKid,eAAe,GAC9B+C,EAAS9a,EAAS+jC,iBAAmB/jC,EAASgkC,kBAEpD,IAAI4iJ,GAAkB,EACtB,MAAMC,EAAqB7mL,EAASmpK,wBAC9B4B,EAAe8b,EAAmB,GAClC7b,EAAgB6b,EAAmB,GACnC5b,EAAW4b,EAAmB,GAC9BC,EAAsBD,EAAmB,GAK/C,SAASE,EAA0Bp4L,GACjC,OAAOwxF,YAAsB,CAC3Bn6B,SAAUr3D,EACV0xF,WAAY,KAIhB,OAXImkG,IACFoC,GAAkB,GAWlB,oCACE,kBAAC,IAAD,kBACa5mL,EAAS0T,KADtB,iBACyC,kBAAC,IAAD,CAAOjjC,MAAOqqB,EAAK+E,QAD5D,KAGA,6BACA,kBAAC,IAAD,CACEytD,KAAM,CACJ,CAAC,aAAc/4E,IAAeS,OAAOgrB,EAASkzG,UAAW,UACzD,CAAC,cAAe3+H,IAAeS,OAAOgrB,EAASmzG,WAAY,cAG1C,IAApByzE,GACC,kBAAC,IAAD,CACEv4I,MACE,oCACE,kBAAC,IAAD,sFACA,kBAAC,IAAD,CACEif,KAAM,CACJ,CAAC,mBAAoB,IAAM/4E,IAAeS,OAAOC,KAAKoN,IAAI0oL,EAAc,KAAO,UAC/E,CAAC,oBAAqB,IAAMx2L,IAAeS,OAAOC,KAAKoN,IAAI2oL,EAAe,KAAO,UACjF,CAAC,oBAAqB,IAAMz2L,IAAeS,OAAOC,KAAKoN,IAAI4oL,EAAU,KAAO,eAMpF,kBAAC,IAAD,iCAAsC12L,IAAeS,OAAO8xM,EAAqB,WAGrF,6BACA,kBAAC,IAAD,CACEx5H,KAAM,CACJ,CAAC,WAAY,kBAAC,IAAD,CAAW78E,MAAOuvB,EAAS+jC,oBACxC,CAAC,YAAa,kBAAC,IAAD,CAAWtzD,MAAOuvB,EAASgkC,qBACzC,CAAC,UAAW,kBAAC,IAAD,CAAWvzD,MAAOqqC,QAGlC,6BACA,kBAAC,IAAD,CAAK9rB,QAAQ,OAAOC,WAAW,UAC7B,kBAAC,IAAD,CACEo/C,MACE,kBAAC,IAAD,wHAMF,kBAAC,IAAD,+BAAoC95D,IAAeS,OAAOgrB,EAASyyB,SAAU,UAE/E,kBAAC,IAAD,CAAY6B,QAAS,IAAMi+I,GAAY,IACrC,kBAAC,IAAD,OAEF,kBAAC,IAAD,CAAajiL,KAAMgiL,EAAU/hL,QAAS,IAAMgiL,GAAY,IACtD,kBAAC,IAAD,8QAIE,6BACA,6BALF,mUASE,6BACA,6BAVF,gJAaE,6BACA,6BAdF,gBAe+BwU,EAA0B/mL,EAASymK,OAChE,6BAhBF,gBAiByCsgB,EAA0B/mL,EAASsmK,QAC1E,6BAlBF,gBAmB+BygB,EAA0B/mL,EAASumK,OAChE,6BApBF,gBAqBgBwgB,EAA0B/mL,EAASqmK,UAKvD,kBAAC,IAAD,CAAKr3K,QAAQ,OAAOC,WAAW,UAC7B,kBAAC,IAAD,CACEo/C,MACE,kBAAC,IAAD,mGAKF,kBAAC,IAAD,6BAAkC95D,IAAeS,OAAOgrB,EAASE,YAAYC,IAAK,YAEpF,kBAAC,IAAD,CAAQ9hB,GAAI,CAAEirD,GAAI,GAAKhV,QAAS,IAAMqyJ,GAAgB,IAAtD,YAGA,kBAAC,IAAD,CAAer2L,KAAMo2L,EAAcn2L,QAAS,IAAMo2L,GAAgB,GAAQrvK,SAAUtX,MAM5F,SAASgnL,EAAS7nM,GAChB,MAAM2b,EAAOnB,cACPqG,EAAWpG,cACXwe,EAAW,GACjB,IAAK,MAAM/3B,KAASxT,OAAOuT,KAAKy8B,KAAmB,CACjD,MAAMje,EAAUie,IAAiBx8B,GAGjC,GAAI2f,EAASqd,YAAY,aAA8B,WAAfze,EAAQ,GAC9C,SAGF,MAAMlyB,EAAIkyB,EAAQ,GACZrU,EAAWqU,EAAQ,GACnBuZ,EAAYvZ,EAAQ,GAC1B,IAAIlD,EAAO,EACX,OAAQhvB,GACN,KAAK,EACHgvB,EAAOvc,EAAMu8B,OAAOK,UAAUnvC,OAAS2d,EACvC,MACF,QACEmR,EAAOnR,EAAWtV,KAAKoN,IAAI81B,EAAWnY,EAASoY,SAAS1rC,IAI5D,SAAS4nD,IACHx5B,EAAK+E,MAAQnE,IACjBZ,EAAK+E,MAAQ/E,EAAK+E,MAAQnE,EAC1BsE,EAASpB,QAAQA,EAAS,CACxBe,YAAa7E,EACb4gB,OAAQv8B,EAAMu8B,SAEhBv8B,EAAMiuC,YAGRhV,EAASlrC,KACP,kBAAC,IAAD,CAASsC,IAAK6Q,EAAOguD,MAAOzvC,EAAQ,IAClC,8BACE,kBAAC,IAAD,CAAQ5f,SAAU8b,EAAK+E,MAAQnE,EAAM44B,QAASA,GAC3C11B,EAAQ,GADX,MAEE,kBAAC,IAAD,CAAWnuB,MAAOirB,EAAMZ,KAAMA,QAOxC,OAAO,oCAAGsd,GASL,SAAS6uK,EAAiB9nM,GAC/B,MAAM6gB,EAAWpG,cAEjB,OACE,kBAAC,IAAD,KACE,kBAAC6sL,EAAD,MACA,6BACA,kBAAC,IAAD,6BACA,kBAACO,EAAD,CAAUtrK,OAAQv8B,EAAMu8B,OAAQ0R,SAAUjuC,EAAMiuC,WAJlD,IAI+D,6BAC5DptB,EAASmd,eAAiB,kBAACipK,EAAD,S,6BCtRjC,6IA8BO,SAASc,EAAiB/nM,GAC/B,MAAM2b,EAAOnB,cACPqG,EAAWpG,cACXutL,EAAYt6M,OAAOuT,KAAK4f,EAASyX,SAAStpB,OAAQkwB,GAAoD,IAA/Bre,EAASyX,QAAQ4G,KACvFtb,EAAM0gL,GAAWp4J,mBAAS87J,EAAUv6M,OAAS,EAAIu6M,EAAU,GAAK,KAChE14M,EAAM8yM,GAAWl2J,mBAAS,KAC1B+7J,EAAQC,GAAah8J,mBAAwB,OAC7Ci8J,EAAWC,GAAgBl8J,mBAAwB,MAC1D,GAAIrrB,EAAS6mK,2BAA4B,OAAO,qCAEhD,IAAI2gB,EAAyB,qCAC7B,OAAQxnL,EAAS0T,MACf,KAAK7Z,IAAWM,KACdqtL,EACE,oCACGA,EACD,6BAFF,sCAMF,MACF,KAAK3tL,IAAWO,QACdotL,EACE,oCACGA,EACD,6BAFF,iCAMF,MACF,KAAK3tL,IAAWS,eACdktL,EACE,oCACGA,EACD,6BAFF,iDAMF,MACF,KAAK3tL,IAAWU,SAChB,IAAK,WACHitL,EACE,oCACGA,EACD,6BAFF,2DAMF,MACF,KAAK3tL,IAAWW,SACdgtL,EACE,oCACGA,EACD,6BAFF,oDAMF,MACF,KAAK3tL,IAAWY,SACd+sL,EACE,oCACGA,EACD,6BAFF,oCAMF,MACF,KAAK3tL,IAAWa,WACd8sL,EACE,oCACGA,EACD,6BAFF,oCAMF,MACF,KAAK3tL,IAAWc,WACd6sL,EACE,oCACGA,EACD,6BAFF,gDAMF,MACF,QAQE,OAPAA,EACE,oCACGA,EACD,6BAFF,yBAMK,qCAgBX,SAASz1G,IACP,GAAe,OAAXq1G,GAAiC,OAAdE,EAAvB,CACA,IACEvqK,YAAYjiB,EAAMkF,EAAU+C,EAAMt0B,EAAM24M,EAAQE,GAChD,MAAOh/L,GACPtK,YAAgBsK,EAAM,IAExBnJ,EAAMoR,WAyBR,OA9CAi3L,EACE,oCACGA,EACD,6BACA,6BAHF,uOAME,6BACA,6BAPF,4NA8CA,kBAAC,IAAD,CAAOl3L,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,KAAai3L,GACb,kBAAC,IAAD,CAAQ3lK,MAAO,CAAE0G,OAAQ,OAAS2lB,SAzBtC,SAAsBzoB,GACpBg+J,EAAQh+J,EAAM3lB,OAAO5wB,QAwBuCsrK,aAAcz3I,GACrEokL,EAAU5/L,IAAK82B,GACd,kBAAC,IAAD,CAAU7uC,IAAK6uC,EAAUnvC,MAAOmvC,GAC7BA,KAIP,kBAAC,IAAD,CAAW6vB,SA5Bf,SAA6BzoB,GAC3B87J,EAAQ97J,EAAM3lB,OAAO5wB,QA2BuB6+D,aAnKpB33B,EAmKoDpW,EAAS0T,KAlKnF0C,IAAQvc,IAAWM,KACd,kBACEic,IAAQvc,IAAWa,WACrB,gBACE0b,IAAQvc,IAAWc,WACrB,gBAEF,kBA4JH,6BACA,kBAAC,IAAD,CAAWuzC,SA1Bf,SAAwBzoB,GACK,KAAvBA,EAAM3lB,OAAO5wB,MAAcm4M,EAAU,MACpCA,EAAU32M,WAAW+0C,EAAM3lB,OAAO5wB,SAwBAyhI,WAAW,EAAMj9F,KAAK,SAASq6B,YAAa,sBACjF,kBAAC,IAAD,CACEG,SAvBN,SAA2BzoB,GACE,KAAvBA,EAAM3lB,OAAO5wB,MAAcq4M,EAAa,MACvCA,EAAa72M,WAAW+0C,EAAM3lB,OAAO5wB,SAsBtC4wF,UAnBN,SAAmBr6C,GACbA,EAAMj2C,MAAQiY,IAAIqpH,OAAO/+B,KAmBzBr+D,KAAK,SACLq6B,YAAa,yBAEf,kBAAC,IAAD,CAAQzZ,QAASy9C,GAAjB,oBA5KN,IAA4B37D,I,6BClB5B,0MAwBA,SAASqxK,GAAQ,EAAE/3M,EAAF,SAAKswB,IACpB,MAAO1P,EAAM0rD,GAAW3wB,oBAAS,GACjC,GAAU,OAAN37C,EAAY,OAAO,qCACvB,MAAMX,EAAIkvC,IAAYvuC,EAAEggE,MACxB,IAAI1wD,EAAWghB,EAASE,YAAYC,IAAMpxB,EAAE2sB,MAAQhsB,EAAEwuC,WACtD,MAAM2sC,EAASn7E,EAAEm7E,OAKjB,SAAS7sC,IACP,GAAU,OAANtuC,IAAcsP,EAAlB,CACA,IACE4+B,YAAS5d,EAAUtwB,EAAEggE,MACrB,MAAOpnD,GAEP,YADAtK,YAAgBsK,EAAM,IAIxBtK,YACG,cAAatO,EAAEggE,sCACT9+C,IAAqBO,0EAfjB,OAAX05D,IACF7rE,EAAWA,IAAa6rE,EAAO3sC,YAmBjC,IAAIr/B,EAA4B,UAC5BnP,EAAEwuC,aACJr/B,EAAQ,QAGV,MAAM6oM,EAAiBC,GAEnB,kBAAC,IAAD,CACEt5I,MACE,kBAAC,IAAD,yBACoBt/D,EAAE2sB,KACpB,6BACC3sB,EAAE8d,OAIN86L,GAKDC,EACJ,kBAAC,IAAD,KACGF,EACC,8BACE,kBAAC,IAAD,CACE7oM,MAAOA,EACPG,SAAUA,IAAatP,EAAEwuC,WACzBoW,QAAStW,EACT6D,MAAO,CAAEV,MAAO,OAAQ4xE,UAAW,OAAQ7jG,eAAgB,UAE1Dxf,EAAEwuC,YAAc,kBAAC,IAAD,CAAW7/B,GAAI,CAAEk2H,GAAI,KACrC7kI,EAAEggE,SAOb,OAA0B,IAAtBhgE,EAAEghB,SAAS9jB,OAAqBg7M,EAGlC,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAK54L,QAAQ,OAAO3Q,GAAI,CAAEkR,OAAQ,aAAenc,IAASV,MAAMorE,OAC7D4pI,EACC,0BAAM7lK,MAAO,CAAEV,MAAO,SACpB,kBAAC,IAAD,CACEtiC,MAAOA,EACPG,SAAUA,IAAatP,EAAEwuC,WACzBoW,QAAStW,EACT3/B,GAAI,CACF8iC,MAAO,OACP4xE,UAAW,OACX7jG,eAAgB,QAChB4oJ,YAAa1kK,IAASV,MAAMiqE,SAG7BjtE,EAAEwuC,YAAc,kBAAC,IAAD,CAAW7/B,GAAI,CAAEk2H,GAAI,KACrC7kI,EAAEggE,QAIT,kBAAC,IAAD,CACEpb,QAAS,IAAM0nB,EAAS3uB,IAASA,GACjChvC,GAAI,CAAEy5J,YAAa1kK,IAASV,MAAMiqE,OAAQmI,SAAU,gBAEnDx0D,EAAO,kBAAC,IAAD,CAAYzR,MAAM,YAAe,kBAAC,IAAD,CAAYA,MAAM,cAG/D,kBAAC,IAAD,CAAU4R,GAAIH,EAAM+kL,eAAa,GAC/B,kBAAC,IAAD,CAAK/mM,EAAG,GACLoB,EAAEghB,SAASnJ,IAAKjZ,GACf,kBAACm5M,EAAD,CAASj4M,IAAKlB,EAAEohE,KAAM1vC,SAAUA,EAAUtwB,EAAGpB,QAelD,SAASu5M,EAAc1oM,GAC5B,MAAM2+B,EAAe/iB,IAAsB5b,EAAMm4B,SAAS5D,MAC1D,YAAqBr0B,IAAjBy+B,EAAmC,qCAGrC,kBAAC,IAAD,CAAOxtB,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAACk3L,EAAD,CAASznL,SAAU7gB,EAAMm4B,SAAU5nC,EAAGouC,EAAakD,OACnD,kBAAC,IAAD,CAAY3iC,GAAI,CAAE+zG,GAAI,IAAtB,oBACoBjzG,EAAMm4B,SAASpX,YAAYC,IAAIhqB,QAAQ,GACzD,6BAFF,6BAIE,6BAJF,8BAIoC2nC,EAAa87F,2BAC/C,6BALF,oCAK0C97F,EAAag8F,2BACrD,6BANF,sCAM4Ch8F,EAAa+7F,2BACvD,6BAPF,sCAO4C/7F,EAAak8F,2BACvD,6BARF,wCAQ8Cl8F,EAAai8F,2BACzD,6BATF,6BASmCj8F,EAAa47F,0BAC9C,6BAVF,wBAU8B57F,EAAam8F,qBACzC,6BAXF,sCAW4Cn8F,EAAao8F,kCACvD,6BAZF,0BAYgCp8F,EAAa+gE,2B,6BC5JnD,2OAyCA,MAAMpgG,EAAYC,YAAW,IAC3BC,YAAa,CACXmpM,aAAc,CACZp/J,UAAW,UAKjB,SAASq/J,EAAc5oM,GACrB,MAAM2b,EAAOnB,cACPqG,EAAWpG,eACVouL,EAAiBC,GAAsB58J,oBAAS,GACvD,GAAwB,IAApBlsC,EAAMu6B,UAAiB,OAAO,qCAGlC,MAAMgD,EAAkB9rB,IAAqBiB,yBAA2B5c,KAAKoN,IAAI,KAAMlD,EAAMu6B,UAAUjrB,MAAQ,GACzGy5L,EAAmBptL,EAAK+E,MAAQ6c,EAWtC,MAAMt9B,EAAUX,IAGhB,IAAI0pM,EACJ,OAAQnoL,EAASkkD,OACf,IAAK,QACHikI,EAAY,8BACZ,MACF,IAAK,WACHA,EAAY,yCACZ,MACF,IAAK,aACHA,EAAY,wDACZ,MACF,IAAK,OACHA,EAAY,sDACZ,MACF,IAAK,SACHA,EAAY,wDACZ,MACF,QACErzM,QAAQyT,MAAO,kBAAiByX,EAASkkD,OAK7C,MAAMkkI,EAAO,GACb,IAAK,MAAMxpG,KAAW/xG,OAAOuT,KAAKjB,EAAMu6B,UAAUglE,WAAY,CAC5D,KAAMv/F,EAAMu6B,UAAUglE,UAAUE,aAAoBhxB,KAAW,SAE/D,MAAMy6H,EAAYlpM,EAAMu6B,UAAUglE,UAAUE,GAASz+E,IAAM,EACrDmoL,EAAa/pK,YAAmBqgE,EAAS5+E,IAC1CqoL,GAAcC,IACnBF,EAAKl7M,KACH,kBAAC,IAAD,CACEkgD,SAAUjuC,EAAMiuC,SAChBrqB,KAAM5jB,EAAMm/H,YACZ9uI,IAAKovG,EACLnmE,IAAKt5B,EAAMu6B,UAAUglE,UAAUE,GAC/BllE,UAAWv6B,EAAMu6B,aAMvB,MAAM4D,EAAW,GACjB,GAAItd,EAASmd,eAAiBtwC,OAAOuT,KAAK4f,EAASsd,UAAU1wC,OAAS,EACpE,IAAK,MAAMowC,KAAenwC,OAAOuT,KAAK4f,EAASsd,UAAW,CACxD,MAAMjE,EAAUrZ,EAASsd,SAASN,GAC5B3D,aAAmBkE,KACzBD,EAASpwC,KACP,kBAAC,IAAD,CAAakgD,SAAUjuC,EAAMiuC,SAAUrqB,KAAM5jB,EAAMm/H,YAAa9uI,IAAKwtC,EAAa3D,QAASA,KAKjG,MAAMkvK,EAAgC,GACtC,IAAK,MAAM3pG,KAAW/xG,OAAOuT,KAAKjB,EAAMu6B,UAAUglE,WAAY,CAC5D,MAAMjmE,EAAMt5B,EAAMu6B,UAAUglE,UAAUE,GACjCvkE,IAActtC,eAAe6xG,KAClB,IAAZnmE,EAAItY,KACRooL,EAAer7M,KACb,oCACG0xG,EADH,KACcrqG,IAAeS,OAAOyjC,EAAItY,IAAMka,IAAcukE,GAAU,YAK1E,IAAK,MAAMsoF,KAAYr6L,OAAOuT,KAAK4f,EAASsd,UAAW,CACrD,MAAM6uF,EAAOnsG,EAASsd,SAAS4pJ,QAClB7nL,IAAT8sH,GACJo8E,EAAer7M,KACb,oCACGg6L,EADH,KACe3yL,IAAeS,OAAOm3H,EAAK//H,KAAK+S,EAAMu6B,UAAU/B,KAAK,GAAKw0F,EAAK6F,IAAK,WAKvF,IAAIw2E,EAgBJ,OAdEA,EADED,GAAkBA,EAAe37M,OAAS,EAChC27M,EAAehsK,OACzB,CAACksK,EAAuBpmJ,IACrBomJ,GACC,oCACGA,EACD,6BACCpmJ,IAEC,oCAAGA,IAGD,4DAIZ,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAKrzC,QAAQ,OAAOC,WAAW,UAC7B,kBAAC,IAAD,CACEo/C,MAC+B,IAA7BlvD,EAAMu6B,UAAUa,SACd,kBAAC,IAAD,KACE,oCAAGiuK,IAGL,IAIJ,kBAAC,IAAD,CAAY3pM,MAAOM,EAAMu6B,UAAUa,UAAYp7B,EAAMu6B,UAAU9B,KAAO,QAAU,WAAhF,YACYrjC,IAAea,gBAAgB+J,EAAMu6B,UAAUa,UAD3D,KACwE,IACrEhmC,IAAea,gBAAgB+J,EAAMu6B,UAAU9B,SAKtD,kBAAC,IAAD,CAAQ54B,UAAWkpM,EAAkB5zJ,QA7HzC,WACmB,OAAbt0B,GACoB,IAApB7gB,EAAMu6B,WACLwuK,MACH/oM,EAAMu6B,UAAUjrB,MAClBtP,EAAMu6B,UAAUiD,WAAW7hB,EAAMkF,GACjClF,EAAK+E,MAAQ/E,EAAK+E,MAAQ6c,EAC1Bv9B,EAAMiuC,cAsHJ,4BAEE,kBAAC,IAAD,CAAW38C,MAAOisC,EAAiB5hB,KAAMA,KAG3C,kBAAC,IAAD,uEACA,6BACA,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAyBtrB,IAAKwwB,EAASvxB,KAAMuxB,SAAUA,KAEzD,6BACA,kBAAC,IAAD,kIAIA,6BAEA,kBAAC,IAAD,CAAYvgB,UAAWL,EAAQ0oM,cAAeK,GAE7CrtL,EAAKid,eAAe,IACnB,oCACE,kBAAC,IAAD,CAAQuc,QAAS,IAAM2zJ,GAAmB,IAA1C,0BACA,kBAAC,IAAD,CACE33L,KAAM03L,EACNz3L,QAAS,IAAM03L,GAAmB,GAClCvuK,UAAWv6B,EAAMu6B,aAKtB0uK,EAEA9qK,GAKA,SAASorK,EAAkBvpM,GAChC,OAAIA,EAAMu6B,qBAAqByC,IACtB,kBAAC4rK,EAAkB5oM,GAEnB,kBAACwpM,EAAD,CAAgBv7J,SAAUjuC,EAAMiuC,SAAUrqB,KAAM5jB,EAAMm/H,cASjE,SAASqqE,EAAexpM,GACtB,MAAM2b,EAAOnB,cACPqG,EAAWpG,cACX5a,EAAW8b,EAAK+E,MAAQjP,IAAqBe,qBAMnD,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAQ2iC,QAPZ,WACMt1C,IACJi9B,YAAkBnhB,EAAMkF,EAAU7gB,EAAM4jB,MACxC5jB,EAAMiuC,aAIgCpuC,SAAUA,GAA9C,uBAEE,kBAAC,IAAD,CAAWvO,MAAOmgB,IAAqBe,qBAAsBmJ,KAAMA,IAFrE,Q,6BCpPN,wHAiBA,SAAS8tL,EAASzpM,GAChB,MAAO62D,EAAS6yI,GAAcx9J,qBAAWlsC,EAAMu6B,UAAUM,wBAAwB76B,EAAMy/F,QAAQlmE,QAAQ,KAAM,MAa7G,OACE,oCACE,kBAAC,IAAD,CACEw9B,QAAS,kBAAC,IAAD,CAAQF,QAASA,EAAS9H,SAdzC,SAAkBzoB,GAChB,IACE,MAAMm5D,EAAUz/F,EAAMy/F,QAAQlmE,QAAQ,KAAM,IACtCoB,EAAW36B,EAAMu6B,UAAUglE,UAAUE,GAC3C/kE,YAA2B16B,EAAMu6B,UAAWI,EAAU2L,EAAM3lB,OAAOk2C,SACnE,MAAO1tD,GACPtK,YAAgBsK,EAAM,IAExBugM,EAAWpjK,EAAM3lB,OAAOk2C,YAOpBlI,MAAO,kBAAC,IAAD,KAAa3uD,EAAMu6B,UAAUglE,UAAUv/F,EAAMy/F,QAAQlmE,QAAQ,KAAM,KAAKjqC,QAEjF,8BAWC,SAASq6M,EAAiB3pM,GAC/B,MAAM6gB,EAAWpG,cACX8xB,EAAcL,oBAAS,GAAO,GAYpC,MAAM+8J,EAAO,GACb,IAAK,MAAMxpG,KAAW/xG,OAAOuT,KAAKjB,EAAMu6B,UAAUglE,WAC1Cv/F,EAAMu6B,UAAUglE,UAAUE,aAAoBhxB,KAC/C/gF,OAAOuT,KAAK4f,EAASiyG,SAASpkH,SAAS+wF,IAC5CwpG,EAAKl7M,KAAK,kBAAC07M,EAAD,CAAUp5M,IAAKovG,EAASllE,UAAWv6B,EAAMu6B,UAAWklE,QAASA,KAGzE,OACE,kBAAC,IAAD,CAAOtuF,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,oCACE,kBAAC,IAAD,CACE2lD,QAAS,kBAAC,IAAD,CAAQF,QAAS72D,EAAMu6B,UAAUE,mBAAoBs0B,SAjBtE,SAA6BnuC,GAC3B0Z,YAAet6B,EAAMu6B,UAAW3Z,EAAED,OAAOk2C,SALzCtqB,EAAa2B,IAASA,MAsBhBygB,MAAO,kBAAC,IAAD,8BAET,6BACA,kBAAC,IAAD,yFACCs6I,M,sEC9ET,82CA6BO,SAASW,YAAY5pM,OAC1B,MAAM2b,KAAOnB,mDACPqG,SAAWpG,oDACVovL,SAAUC,aAAe59J,qDAAS,IAClC69J,UAAWC,cAAgB99J,qDAAS,IACpC+9J,gBAAiBC,oBAAsBh+J,qDAAS,IAChDi+J,WAAYC,eAAiBl+J,qDAAS,IACtCm+J,aAAcC,iBAAmBp+J,qDAAS,GAC3CtoB,KAAO5jB,MAAM4jB,KACbsW,QAAUl6B,MAAMk6B,QAGhBqqI,GAAK,QACLgmC,IAAM,SAENC,oBAAsB3pL,SAASqd,YAAY,sBAG3CtJ,UAAYsF,QAAQjtC,KAAK22B,MAAM,GAAKsW,QAAQjtC,KAAK22B,MAAM,GAG7D,IAAI6mL,eAoBJ,GAjBIA,eAFAvwK,QAAQF,OAAOpW,MAAM,GACnB5c,+DAASkzB,QAAQF,OAAOpW,MAAM,IAE9B,+HACSxuB,iDAAeS,OAAOqkC,QAAQjtC,KAAK22B,MAAM,GAAI2mL,KADtD,IAC6DrwK,QAAQF,OAAOpW,MAAM,GADlF,KAMA,+HACSxuB,iDAAeS,OAAOqkC,QAAQjtC,KAAK22B,MAAM,GAAI2mL,KADtD,IAEGn1M,iDAAeS,OAAOqkC,QAAQF,OAAOpW,MAAM,GAAI2mL,KAFlD,KAOa,4IAGfrwK,QAAQ6F,UACV0qK,eACE,sHACGA,eADH,MACqB,2DAAC,+CAAD,CAAOn5M,MAAO4oC,QAAQwwJ,eAAe9mK,cAGvD,GAAIsW,QAAQ2F,UAAW,CAC5B,MAAMsqJ,EAAcjwJ,QAAQi6F,IAAMj6F,QAAQ00C,IAC1C67H,eACE,sHACGA,eADH,MACqB,2DAAC,+CAAD,CAAOn5M,MAAO4oC,QAAQoqJ,MAAQ6F,UAGhD,GAAIjwJ,QAAQP,MACjB,GAAI3yB,+DAASkzB,QAAQP,OAAQ,CAC3B,MAAMA,MAASO,QAAQP,MAAiBJ,QAAQ,MAAOW,QAAQoqJ,MAAQpqJ,QAAQi6F,IAAMj6F,QAAQ00C,IAAM,IACnG67H,eACE,sHACGA,eADH,MACqB,2DAAC,+CAAD,CAAOn5M,MAAOooC,KAAKC,eAI1C8wK,eACE,sHACGA,eADH,MACqB,2DAAC,+CAAD,CAAOn5M,MAAO4oC,QAAQP,SAOjD,IAAI+wK,0BAA4B,mBAKhC,OAJIxwK,QAAQuF,OAAO7b,MAAM,KACvB8mL,2BAA6B,KAAOt1M,iDAAeS,OAAOqkC,QAAQuF,OAAO7b,MAAM,GAAI2gJ,IAAM,KAIzF,2DAAC,oDAAD,KACIrqI,QAAQ+4F,IAgBR,sHACE,2DAAC,kDAAD,CAAKpjH,QAAQ,QACX,2DAAC,sDAAD,CACEq/C,MACE,2DAAC,yDAAD,cACS95D,iDAAeS,OAAOqkC,QAAQjtC,KAAK22B,MAAM,GAAI2mL,KADtD,KAEE,sEAFF,SAGSn1M,iDAAeS,OAAOqkC,QAAQjtC,KAAK22B,MAAM,GAAI2mL,KAHtD,QAOF,2DAAC,yDAAD,KACGrwK,QAAQ5qC,KADX,KACmB8F,iDAAeS,OAAOqkC,QAAQjtC,KAAK22B,MAAM,GAAI2mL,KADhE,KAEGn1M,iDAAeS,OAAO++B,UAAW21K,KAFpC,SAOJ,2DAAC,kDAAD,CAAK16L,QAAQ,QACX,2DAAC,sDAAD,CACEq/C,MACE,2DAAC,yDAAD,iBACY95D,iDAAeS,OAAOqkC,QAAQy0C,IAAK41F,IAD/C,IACoD,sEADpD,gBAEgBnvK,iDAAeS,OAAOqkC,QAAQi4F,IAAKoyC,IAFnD,IAEwD,sEAFxD,eAGenvK,iDAAeS,OAAOqkC,QAAQm4F,IAAKkyC,IAHlD,IAGuD,sEAHvD,gBAIgBnvK,iDAAeS,OAAOqkC,QAAQq4F,IAAKgyC,IAJnD,IAIwD,sEAJxD,eAKenvK,iDAAeS,OAAOqkC,QAAQu4F,IAAK8xC,IALlD,IAKuD,sEALvD,aAManvK,iDAAeS,OAAOqkC,QAAQy4F,IAAK4xC,IAClB,IAA3B5oJ,KAAKid,eAAe,IAAY,sEACL,IAA3Bjd,KAAKid,eAAe,IAAY,WAAaxjC,iDAAeS,OAAOqkC,QAAQ20C,IAAK01F,IACrD,IAA3B5oJ,KAAKid,eAAe,IAAY,sEACL,IAA3Bjd,KAAKid,eAAe,IAAY,gBAAkBxjC,iDAAeS,OAAOqkC,QAAQ60C,IAAKw1F,MAI1F,2DAAC,yDAAD,gBAAqBnvK,iDAAeS,OAAOqkC,QAAQi6F,IAAKowC,OAG5D,2DAAC,kDAAD,CAAK10J,QAAQ,QACX,2DAAC,sDAAD,CAASq/C,MAAO,2DAAC,yDAAD,2EACd,2DAAC,yDAAD,6BACwB,IACrB95D,iDAAeqB,YAAYyjC,QAAQoqJ,MAAQ7yK,+CAAqBuB,+BAIvE,2DAAC,kDAAD,CAAKnD,QAAQ,QACX,2DAAC,sDAAD,CACEq/C,MACE,2DAAC,yDAAD,wMAMF,2DAAC,yDAAD,2BAAgC95D,iDAAeqB,YAAYyjC,QAAQoqJ,UAGvE,2DAAC,qDAAD,CAAQnvI,QAAS,IAAM+0J,oBAAmB,IAA1C,eACA,2DAAC,+DAAD,CACEhwK,QAASA,QACT+T,SAAUjuC,MAAMiuC,SAChB98B,KAAM84L,gBACN74L,QAAS,IAAM84L,oBAAmB,MA9EtC,sHACE,2DAAC,yDAAD,kBACahwK,QAAQ5qC,KADrB,kCAC0D4qC,QAAQoE,WADlE,QAGA,sEACA,2DAAC,yDAAD,KAAalpC,iDAAeS,OAAOqkC,QAAQg5F,KAAM,QAAjD,cACA,2DAAC,qDAAD,CAAQ/9E,QAAS,IAAMi1J,eAAc,IAArC,UACA,2DAAC,0DAAD,CACElwK,QAASA,QACT+T,SAAUjuC,MAAMiuC,SAChB98B,KAAMg5L,WACN/4L,QAAS,IAAMg5L,eAAc,OAwEjCI,qBAAuBtwK,QAAQ+4F,MAC/B,sHACE,2DAAC,qDAAD,CAAQ99E,QAAS,IAAM20J,aAAY,IAAQW,gBAC3C,2DAAC,wDAAD,CAAkBvwK,QAASA,QAAStW,KAAMA,KAAMzS,KAAM04L,SAAUz4L,QAAS,IAAM04L,aAAY,KAC3F,sEACA,2DAAC,qDAAD,CAAQ30J,QAAS,IAAM60J,cAAa,IAAQU,2BAC5C,2DAAC,mEAAD,CACExwK,QAASA,QACTtW,KAAMA,KACNzS,KAAM44L,UACN34L,QAAS,IAAM44L,cAAa,KAE7BnpL,SAASqd,YAAY,gBACpB,sHACE,2DAAC,qDAAD,CAAQiX,QAAS,IAAMm1J,iBAAgB,IAAvC,aACA,2DAAC,4DAAD,CAAsBpwK,QAASA,QAAS/oB,KAAMk5L,aAAcj5L,QAAS,IAAMk5L,iBAAgB,U,6BC/MzG,oFAgBO,SAASK,EAAwB3qM,GACtC,MAAM6gB,EAAWpG,cAOjB,OACE,kBAAC,IAAD,CAAOtJ,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,+MAIA,kBAAC,IAAD,CAAQ+jC,QAZZ,WACEt0B,EAAS+wE,mBAAmB5xF,EAAMk6B,SAClCl6B,EAAMoR,UACNpR,EAAMiuC,aASJ,kB,6BC9BN,oGAiBO,SAAS28J,EAA4B5qM,GAC1C,MAAO+pD,EAAO8gJ,GAAY3+J,mBAAwB,MASlD,SAAS4mD,IACP,IAAI9xE,EAAM+oC,EACE,OAAR/oC,IAAcA,GAAO,GACzBwe,YAAuBx/B,EAAMk6B,QAASl6B,EAAM4jB,KAAM5C,GAClDhhB,EAAMoR,UAYR,OAtBAs9B,oBAAU,KACH1uC,EAAMmR,MACT05L,EAAS,OAEV,CAAC7qM,EAAMmR,OAmBR,kBAAC,IAAD,CAAOA,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,+HAIA,kBAAC,IAAD,CAAWogH,WAAW,EAAM5iE,YAAY,QAAQr6B,KAAK,SAASw6B,SAXlE,SAAkBzoB,GACW,KAAvBA,EAAM3lB,OAAO5wB,MAAc86M,EAAS,MACnCA,EAASt5M,WAAW+0C,EAAM3lB,OAAO5wB,SAS8C4wF,UAftF,SAAmBr6C,GACbA,EAAMj2C,MAAQiY,IAAIqpH,OAAO7+B,OAe3B,kBAAC,IAAD,CAAQ39C,QAAS29C,GAAjB,uB,6BClDN,8HA+BO,SAASg4G,EAAiB9qM,GAC/B,MAAO62D,EAAS6yI,GAAcx9J,oBAAS,IAChC6+J,EAAMC,GAAU9+J,mBACrBlsC,EAAMk6B,QAAQF,OAAOh6B,EAAM4jB,MAAM,GAAK5jB,EAAMk6B,QAAQF,OAAOh6B,EAAM4jB,MAAM,GAAK,KAEvEm0G,EAAIkzE,GAAS/+J,mBAvBtB,SAAsBhS,GACpB,IAAIqvB,EAAMrvB,EAAQP,MAAQO,EAAQP,MAAQ,GAAK,GAM/C,OALIO,EAAQ6F,UACVwpB,GAAO,kBACErvB,EAAQ2F,YACjB0pB,GAAO,kBAEFA,EAgB8B2hJ,CAAalrM,EAAMk6B,UAMxD,SAASy3D,IACP,IACE13D,YAAYj6B,EAAMk6B,QAASl6B,EAAM4jB,KAAMmnL,EAAMhzE,EAAIlhE,GACjD,MAAO1tD,GACPtK,YAAgBsK,EAAM,IAGxBnJ,EAAMoR,UAWR,SAASuvE,EAAUr6C,GACbA,EAAMj2C,MAAQiY,IAAIqpH,OAAOhgC,IAG/B,OACE,kBAAC,IAAD,CAAOxgF,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,oCAC+BpR,EAAMk6B,QAAQ5qC,KAD7C,kGAGE,6BACA,6BAJF,wIAOE,6BACA,6BARF,kHAUE,6BACA,6BAXF,mQAeE,6BACA,6BAhBF,mQAqBA,6BACA,kBAAC,IAAD,CACES,MAAOg7M,EACPv5E,WAAW,EACXj9F,KAAK,OACLq6B,YAAY,cACZG,SAzCN,SAAqBzoB,GACnB0kK,EAAO1kK,EAAM3lB,OAAO5wB,QAyChB4wF,UAAWA,IAEb,kBAAC,IAAD,CAAW5wF,MAAOgoI,EAAIxjG,KAAK,OAAOq6B,YAAY,aAAaG,SAxC/D,SAAuBzoB,GACrB2kK,EAAM3kK,EAAM3lB,OAAO5wB,QAuCmE4wF,UAAWA,IAC/F,kBAAC,IAAD,CAAQxrC,QAASw8C,GAAjB,WACA,kBAAC,IAAD,CACE56B,QAAS,kBAAC,IAAD,CAAQF,QAASA,EAAS9H,SA7DzC,SAAyBzoB,GACvBojK,EAAWpjK,EAAM3lB,OAAOk2C,YA6DpBlI,MAAO,kBAAC,IAAD,mD,6BCpGf,sHAeA,SAASw8I,EAAUnrM,GAEjB,IADiBya,cACHyjB,YAAY,gBAAiB,OAAO,qCAClD,MAAMisJ,EAAcnqL,EAAMk6B,QAAQi6F,IAAMn0H,EAAMk6B,QAAQ00C,KAC/C7+E,EAAO2+D,GAAYxiB,mBAASlsC,EAAMk6B,QAAQoqJ,OAC3C/3I,EAAcL,oBAAS,GAAO,GAcpC,MAAMvS,EAAQ5pC,EACd,IAAI28D,EAAS,EAOb,OANI/yB,EAAQ35B,EAAMk6B,QAAQoqJ,OACpB3qJ,EAAQ35B,EAAMk6B,QAAQoqJ,MAAQ6F,IAChCz9H,EAASy9H,GAAexwJ,EAAQ35B,EAAMk6B,QAAQoqJ,QAKhD,oCACE,kBAAC,IAAD,CAAYxvI,QAAQ,MAApB,gBACA,6BACA,kBAAC,IAAD,uBACkB1/C,IAAeqB,YAAYkjC,GAD7C,uBACyE,IACtEvkC,IAAeS,OAAO62D,EAAQ,WAFjC,sDAIA,kBAAC,IAAD,CAAWn4B,KAAK,SAASw6B,SAzB7B,SAAkBzoB,GAChBooB,EAASn9D,WAAW+0C,EAAM3lB,OAAO5wB,SAwBcA,MAAOA,IACpD,6BACA,kBAAC,IAAD,CACEgnE,QAAS,kBAAC,IAAD,CAAQF,QAAS72D,EAAMk6B,QAAQ6F,UAAWgvB,SAxBzD,SAAyBzoB,GACvBtmC,EAAMk6B,QAAQ6F,UAAYuG,EAAM3lB,OAAOk2C,QARvCtqB,EAAa2B,IAASA,MAgClBygB,MACE,kBAAC,IAAD,CACEO,MACE,kBAAC,IAAD,wPAOF,kBAAC,IAAD,iDAeL,SAASk8I,EAAqBprM,GACnC,MAAMmqL,EAAcnqL,EAAMk6B,QAAQi6F,IAAMn0H,EAAMk6B,QAAQ00C,IAChDriC,EAAcL,oBAAS,GAAO,GAUpC,OACE,kBAAC,IAAD,CAAO/6B,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,oCACE,kBAAC,IAAD,CAAY0jC,QAAQ,MAApB,eACA,kBAAC,IAAD,yDACoD,IACjD1/C,IAAeqB,YAAYuJ,EAAMk6B,QAAQoqJ,MAAQ6F,GAFpD,wHAMA,kBAAC,IAAD,CACEpzH,QAAS,kBAAC,IAAD,CAAQF,QAAS72D,EAAMk6B,QAAQ2F,UAAWkvB,SAhB3D,SAAkBzoB,GAChBtmC,EAAMk6B,QAAQ2F,UAAYyG,EAAM3lB,OAAOk2C,QAJvCtqB,EAAa2B,IAASA,MAoBhBygB,MACE,kBAAC,IAAD,CACEO,MACE,kBAAC,IAAD,+IAMF,kBAAC,IAAD,gDAMR,kBAACi8I,EAAD,CAAWjxK,QAASl6B,EAAMk6B,a,6BCtHhC,oFAgBO,SAASmxK,EAAmBrrM,GACjC,MAAM6gB,EAAWpG,cAOjB,OACE,kBAAC,IAAD,CAAOtJ,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,gJAIA,kBAAC,IAAD,CAAQ+jC,QAZZ,WACEt0B,EAAS+wE,mBAAmB5xF,EAAMk6B,SAClCl6B,EAAMoR,UACNpR,EAAMiuC,aASJ,a,sEC9BN,u2CAiCO,SAASq9J,aAAatrM,OAC3B,MAAM2b,KAAOnB,kDACPqG,SAAWpG,mDACV8wL,qBAAsBC,yBAA2Bt/J,qDAAS,IAC1Du/J,WAAYC,eAAiBx/J,qDAAS,IACtCy/J,iBAAkBC,qBAAuB1/J,qDAAS,IAClD2/J,qBAAsBC,yBAA2B5/J,qDAAS,IAC1D6/J,oBAAqBC,wBAA0B9/J,qDAAS,GAEzD3R,UAAYv6B,MAAMu6B,UAClB3W,KAAO5jB,MAAM4jB,KACb0V,IAAMt5B,MAAMs5B,IACZ6wJ,YAAc7wJ,IAAIo1C,iBAClBnyC,OAAS1b,SAASyX,QAAQ1U,MAChC,KAAM2Y,kBAAkBhE,6CACtB,MAAM,IAAIn4B,MAAO,mDAAkDwjB,SAIrE,MAAM2gJ,GAAK,QACLgmC,IAAM,SAGN31K,UAAY0E,IAAIyB,IAAMzB,IAAIS,IAAMT,IAAIsvJ,IAAMtvJ,IAAI8qJ,IAAM9qJ,IAAIsxJ,SAIxDqhB,SACJprL,SAASmnK,QAAUt6L,OAAOuT,KAAK4f,SAASiyG,SAASpkH,SAAS4qB,IAAIhqC,OAAqB,IAAZgqC,IAAIyB,KAAyB,IAAZzB,IAAIsvJ,IAGxFsjB,mBAAsB,QAAO92M,iDAAeS,OAAOyjC,IAAIyB,IAAKwvK,QAGlE,IAAIE,eACJ,GAAInxK,IAAIU,OAAO,IAeb,GAbEywK,eADEzjM,+DAASsyB,IAAIU,OAAO,IAEpB,+HACS5kC,iDAAeS,OAAOyjC,IAAI8qJ,IAAKmmB,KADxC,IAC+CjxK,IAAIU,OAAO,GAD1D,KAMA,+HACS5kC,iDAAeS,OAAOyjC,IAAI8qJ,IAAKmmB,KADxC,IAC+Cn1M,iDAAeS,OAAOyjC,IAAIU,OAAO,GAAcuwK,KAD9F,KAMAjxK,IAAIyG,UACN0qK,eACE,sHACGA,eADH,MACqB,2DAAC,+CAAD,CAAOn5M,MAAOgoC,IAAIoxJ,uBAGpC,GAAIpxJ,IAAIuG,UACb4qK,eACE,sHACGA,eADH,MACqB,2DAAC,+CAAD,CAAOn5M,MAAOgoC,IAAIG,MAAQ0wJ,oBAG5C,GAAI7wJ,IAAIK,MACb,GAAI3yB,+DAASsyB,IAAIK,OAAQ,CACvB,MAAMA,MAASL,IAAIK,MAAiBJ,QAAQ,MAAOD,IAAIG,MAAQ,IAC/DgxK,eACE,sHACGA,eADH,MACqB,2DAAC,+CAAD,CAAOn5M,MAAOooC,KAAKC,eAI1C8wK,eACE,sHACGA,eADH,MACqB,2DAAC,+CAAD,CAAOn5M,MAAOgoC,IAAIK,cAM7C8wK,eAAiB,4IAInB,IAAI0B,wBAA0B,iBAK9B,OAJI7yK,IAAImG,OAAO,KACb0sK,yBAA2B,KAAO/2M,iDAAeS,OAAOyjC,IAAImG,OAAO,GAAI8kI,IAAM,KAI7E,2DAAC,oDAAD,KACE,2DAAC,kDAAD,CAAKrlK,GAAI,CAAE2Q,QAAS,OAAQklH,oBAAqB,UAAW5lI,EAAG,QAC7D,2DAAC,kDAAD,KACE,2DAAC,sDAAD,CACE+/D,MACE,2DAAC,yDAAD,aACQ95D,iDAAeS,OAAOyjC,IAAIyB,IAAKwvK,KADvC,IAC6C,sEAD7C,SAESn1M,iDAAeS,OAAOyjC,IAAIS,IAAKwwK,KAFxC,IAE8C,sEAF9C,SAGSn1M,iDAAeS,OAAOyjC,IAAI8qJ,IAAKmmB,KAHxC,IAG8C,sEAH9C,WAIWn1M,iDAAeS,OAAOyjC,IAAIsxJ,SAAU2f,KAJ/C,IAIqD,sEAJrD,WAKWn1M,iDAAeS,OAAOyjC,IAAIsvJ,IAAK2hB,KACZ,IAA3B5uL,KAAKid,eAAe,IAAY,sEACL,IAA3Bjd,KAAKid,eAAe,IAAY,WAAaxjC,iDAAeS,OAAOyjC,IAAIu1C,IAAK01F,IACjD,IAA3B5oJ,KAAKid,eAAe,IAAY,sEACL,IAA3Bjd,KAAKid,eAAe,IAAY,gBAAkBxjC,iDAAeS,OAAOyjC,IAAIy1C,IAAKw1F,MAItF,2DAAC,yDAAD,KACGjrI,IAAIhqC,KADP,KACe8F,iDAAeS,OAAOyjC,IAAItY,IAAKupL,KAD9C,KACsDn1M,iDAAeS,OAAO++B,UAAW21K,KADvF,QAIF,2DAAC,sDAAD,CACEr7I,MACE,2DAAC,yDAAD,8FAKF,2DAAC,yDAAD,YAAiB95D,iDAAeqB,YAAY6iC,IAAIG,SAElD,2DAAC,sDAAD,CACEy1B,MAAO,2DAAC,yDAAD,8EAEP,2DAAC,yDAAD,iBAAsB95D,iDAAeS,OAAOyjC,IAAIq1C,IAAK,YAIzD,2DAAC,kDAAD,CAAKzvE,GAAI,CAAE,WAAY,CAAE8iC,MAAO,UAC9B,2DAAC,sDAAD,CACEktB,MAAO+8I,SAAW,2DAAC,yDAAD,oEAAuF,IAEzG,2DAAC,qDAAD,CAAQvsM,MAAOusM,SAAW,QAAU,UAAW92J,QAAS,IAAMq2J,yBAAwB,IACnFU,qBAGL,2DAAC,6DAAD,CACE5yK,IAAKA,IACLiB,UAAWA,UACXppB,KAAMo6L,qBACNa,qBACEpsM,MAAMu6B,UAAUE,oBAAsB/sC,OAAOuT,KAAK4f,SAASiyG,SAASpkH,SAAS1O,MAAMs5B,IAAIhqC,MAEzF8hB,QAAS,IAAMo6L,yBAAwB,KAGb,IAA3B7vL,KAAKid,eAAe,IACnB,sHACE,2DAAC,qDAAD,CAAQuc,QAAS,IAAMu2J,eAAc,IAArC,UAEA,2DAAC,mDAAD,CAAapyK,IAAKA,IAAKnoB,KAAMs6L,WAAYr6L,QAAS,IAAMs6L,eAAc,MAI1E,2DAAC,qDAAD,CACEhsM,MAAOmhB,SAAS6zG,SAAShmH,SAAS1O,MAAMs5B,IAAIhqC,QAAUgqC,IAAIU,OAAO,GAAK,QAAU,UAChFmb,QAAS,IAAMy2J,qBAAoB,IAElCnB,gBAEH,2DAAC,yDAAD,CAAmBnxK,IAAKA,IAAKnoB,KAAMw6L,iBAAkBv6L,QAAS,IAAMw6L,qBAAoB,KACvF/qL,SAASqd,YAAY,gBACpB,sHACE,2DAAC,qDAAD,CAAQiX,QAAS,IAAM22J,yBAAwB,IAA/C,aAEA,2DAAC,6DAAD,CACExyK,IAAKA,IACLnoB,KAAM06L,qBACNz6L,QAAS,IAAM06L,yBAAwB,MAI7C,2DAAC,qDAAD,CAAQpsM,MAAOusM,SAAW,QAAU,UAAW92J,QAAS,IAAM62J,wBAAuB,IAClFG,yBAEH,2DAAC,qEAAD,CACExxK,SAAUrB,IACVnoB,KAAM46L,oBACN36L,QAAS,IAAM46L,wBAAuB,U,6BClNlD,8IAuBO,SAASK,EAAYrsM,GAC1B,MAAM2b,EAAOnB,cACP8xL,EAAoB3wL,EAAKmF,UAAU9R,OAAQ6R,GAC/Cue,YAAmBp/B,EAAMs5B,IAAIhqC,KAAMuxB,IAErC,GAAiC,IAA7ByrL,EAAkB7+M,OAAc,MAAM,IAAI2S,MAAM,2CACpD,MAAMmsM,EAAkBD,EAAkB,GAC1C,GAAuD,IAAnD5+M,OAAOuT,KAAKsrM,EAAgBxvK,YAAYtvC,OAC1C,MAAM,IAAI2S,MAAM,0DAClB,MAAO+3B,EAAUq0K,GAAetgK,mBAAiBqgK,EAAgBj9M,OAC1Ds0B,EAAM0gL,GAAWp4J,mBAAiBx+C,OAAOuT,KAAKsrM,EAAgBxvK,YAAY,KAC1EnjB,EAAK6yL,GAAUvgK,mBAAS,IACzBK,EAAcL,oBAAS,GAAO,GA6BpC,SAASwgK,EAAavmL,GACpB,IAAK,IAAI54B,EAAI,EAAGA,EAAIyS,EAAMs5B,IAAInT,IAAI14B,SAAUF,EAC1C,GAAIyS,EAAMs5B,IAAInT,IAAI54B,GAAG+xC,MAAQnZ,EAAImZ,KAAOt/B,EAAMs5B,IAAInT,IAAI54B,GAAGq2B,OAASuC,EAAIvC,MAAQ5jB,EAAMs5B,IAAInT,IAAI54B,GAAGqsB,MAAQuM,EAAIvM,IAA3G,CAEA5Z,EAAMs5B,IAAInT,IAAIx3B,OAAOpB,EAAG,GACxB,MA/BFg/C,EAAa2B,IAASA,GAoCxB,MAAMy+J,EAAkBhxL,EAAKmF,UAAU3R,KAAM0R,GAAwBA,EAASvxB,OAAS6oC,GACvF,QAAwBj4B,IAApBysM,EACF,MAAM,IAAIvsM,MAAO,0DAAyDusM,MAC5E,MAAMC,EAAiBl/M,OAAOuT,KAAK0rM,EAAgB5vK,YAAY/tB,OAC5D4U,GAA8C,IAArC+oL,EAAgB5vK,WAAWnZ,IAMvC,OAJIgpL,EAAen/M,OAAS,IAAMm/M,EAAel+L,SAASkV,IACxD0gL,EAAQsI,EAAe,IAIvB,kBAAC,IAAD,CAAOz7L,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,qNAIA,kBAAC,IAAD,CAAQ29C,SA7CZ,SAA0BzoB,GACxB,MAAMqiE,EAAMriE,EAAM3lB,OAAO5wB,MACzBy8M,EAAY7jG,GACZ27F,EAAQ52M,OAAOuT,KAAK0a,EAAKmF,UAAU,GAAGic,YAAY,KA0CZhtC,MAAOooC,GACxCxc,EAAKmF,UACH9R,OAAQ6R,GAAwBue,YAAmBp/B,EAAMs5B,IAAIhqC,KAAMuxB,IACnEzY,IAAKyY,GACJ,kBAAC,IAAD,CAAUxwB,IAAKwwB,EAASvxB,KAAMS,MAAO8wB,EAASvxB,MAC3CuxB,EAASvxB,QAIlB,kBAAC,IAAD,CAAQy/D,SA1DZ,SAAsBzoB,GACpBg+J,EAAQh+J,EAAM3lB,OAAO5wB,QAyDaA,MAAO6zB,GACpCgpL,EAAexkM,IAAK82B,IACnB,GAA6C,IAAzCytK,EAAgB5vK,WAAWmC,GAC/B,OACE,kBAAC,IAAD,CAAU7uC,IAAK6uC,EAAUnvC,MAAOmvC,GAC7BA,MAKT,kBAAC,IAAD,CAAW0vB,YAAY,oBAAoBG,SA1D/C,SAAqBzoB,GACnBmmK,EAAOnmK,EAAM3lB,OAAO5wB,QAyDgDA,MAAO6pB,IACzE,kBAAC,IAAD,CAAQu7B,QAvDZ,WACE,IACEnW,YAAe7G,EAAUvU,EAAM5jB,EAAMs5B,IAAK1f,EAAK+yL,GAC/C,MAAOxjM,GACPtK,YAAgBsK,EAAM,IAExBnJ,EAAMoR,YAiDJ,UACA,kBAAC,IAAD,mJAICpR,EAAMs5B,IAAInT,IAAI/d,IAAI,CAAC+d,EAAajlB,IAC/B,kBAAC,IAAD,CAAK2O,QAAQ,OAAOC,WAAW,SAASzf,IAAK6Q,GAC3C,kBAAC,IAAD,CAAQhC,GAAI,CAAEirD,GAAI,GAAKhV,QAAS,IAAMu3J,EAAavmL,IAAnD,UAGA,kBAAC,IAAD,kBACaA,EAAImZ,IACf,6BAFF,SAGSnZ,EAAIvC,KACX,6BAJF,aAKauC,EAAIvM,U,6BC7H3B,sHAeA,SAASuxL,EAAUnrM,GAEjB,IADiBya,cACHyjB,YAAY,gBAAiB,OAAO,qCAClD,MAAO2uK,EAASC,GAAc5gK,mBAAiBlsC,EAAMs5B,IAAIG,OACnD8S,EAAcL,oBAAS,GAAO,GAIpC,MAAMi+I,EAAcnqL,EAAMs5B,IAAIo1C,iBAO9B,MAAM/0C,EAAQkzK,EACd,IAAIngJ,EAAS,EAoBb,OAnBI/yB,EAAQ35B,EAAMs5B,IAAIG,MAEhBE,EAAQ35B,EAAMs5B,IAAIG,MAAQ0wJ,IAC5Bz9H,EAAS52D,KAAKoN,IAAIinL,GAAexwJ,EAAQ35B,EAAMs5B,IAAIG,OAAQ,IAEpDE,EAAQ35B,EAAMs5B,IAAIG,QAEzBizB,EADE/yB,GAAS,EACF,KAGA35B,EAAMs5B,IAAIG,MAAQE,GAU7B,oCACE,kBAAC,IAAD,CAAYmb,QAAQ,MAApB,gBACA,6BACA,kBAAC,IAAD,uBACkB1/C,IAAeqB,YAAYkjC,GAD7C,uBACyE,IACtEvkC,IAAeS,OAAO62D,EAAQ,WAFjC,sDAIA,kBAAC,IAAD,CAAWn4B,KAAK,SAASw6B,SAlC7B,SAAkBzoB,GACW,KAAvBA,EAAM3lB,OAAO5wB,MAAc+8M,EAAW,GACrCA,EAAWv7M,WAAW+0C,EAAM3lB,OAAO5wB,SAgCOA,MAAO88M,IACpD,6BACA,kBAAC,IAAD,CACE91I,QAAS,kBAAC,IAAD,CAAQF,QAAS72D,EAAMs5B,IAAIyG,UAAWgvB,SAhBrD,SAAqBzoB,GACnBtmC,EAAMs5B,IAAIyG,UAAYuG,EAAM3lB,OAAOk2C,QA1BnCtqB,EAAa2B,IAASA,MA0ClBygB,MACE,kBAAC,IAAD,CACEO,MACE,kBAAC,IAAD,wPAOF,kBAAC,IAAD,iDAeL,SAAS69I,EAAsB/sM,GACpC,MAAMusC,EAAcL,oBAAS,GAAO,GAIpC,MAAMi+I,EAAcnqL,EAAMs5B,IAAIo1C,iBAO9B,OACE,kBAAC,IAAD,CAAOv9D,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,oCACE,kBAAC,IAAD,CAAY0jC,QAAQ,MAApB,eACA,kBAAC,IAAD,0DACqD1/C,IAAeqB,YAAYuJ,EAAMs5B,IAAIG,MAAQ0wJ,GADlG,wHAMA,kBAAC,IAAD,CACEpzH,QAAS,kBAAC,IAAD,CAAQF,QAAS72D,EAAMs5B,IAAIuG,UAAWkvB,SAhBvD,SAAqBzoB,GACnBtmC,EAAMs5B,IAAIuG,UAAYyG,EAAM3lB,OAAOk2C,QALnCtqB,EAAa2B,IAASA,MAqBhBygB,MACE,kBAAC,IAAD,CACEO,MACE,kBAAC,IAAD,+IAMF,kBAAC,IAAD,gDAMR,kBAACi8I,EAAD,CAAW7xK,IAAKt5B,EAAMs5B,S,6BC/H5B,4GA2BO,SAAS0zK,EAAkBhtM,GAChC,MAAO4Z,EAAK6yL,GAAUvgK,mBAAiBlsC,EAAMs5B,IAAIU,OAAO,GAAKh6B,EAAMs5B,IAAIU,OAAO,GAAK,GAAK,KACjFrB,EAAOs0K,GAAY/gK,mBAnB5B,SAAsB5S,GACpB,IAAIiwB,EAAMjwB,EAAIK,MAAQL,EAAIK,MAAQ,GAAK,GAMvC,OALIL,EAAIyG,UACNwpB,GAAO,kBACEjwB,EAAIuG,YACb0pB,GAAO,kBAEFA,EAYoC2hJ,CAAalrM,EAAMs5B,MAE9D,SAASo4D,IACP,IACEr4D,YAAar5B,EAAMs5B,IAAK1f,EAAK+e,GAC7B,MAAOxvB,GACPtK,YAAgBsK,EAAM,IAExBnJ,EAAMoR,UAWR,SAASuvE,EAAUr6C,GACbA,EAAMj2C,MAAQiY,IAAIqpH,OAAOjgC,IAG/B,OACE,kBAAC,IAAD,CAAOvgF,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,oCAC+BpR,EAAMs5B,IAAIhqC,KADzC,+FAGE,6BACA,6BAJF,yIAOE,6BACA,6BARF,kHAUE,6BACA,6BAXF,mQAeE,6BACA,6BAhBF,uPAqBA,6BACA,kBAAC,IAAD,CACES,MAAO6pB,EACP43G,WAAW,EACXj9F,KAAK,OACLq6B,YAAY,cACZG,SAzCN,SAAqBzoB,GACnBmmK,EAAOnmK,EAAM3lB,OAAO5wB,QAyChB4wF,UAAWA,IAEb,kBAAC,IAAD,CAAW5wF,MAAO4oC,EAAOpE,KAAK,OAAOq6B,YAAY,aAAaG,SAxClE,SAAuBzoB,GACrB2mK,EAAS3mK,EAAM3lB,OAAO5wB,QAuCmE4wF,UAAWA,IAClG,kBAAC,IAAD,CAAQxrC,QAASu8C,GAAjB,c,6BCrFN,oIA0BA,SAASw7G,EAAoBltM,GAC3B,MAAM2b,EAAOnB,eACNquK,EAAQskB,GAAajhK,mBAAS,KAC9BrsC,EAAUutM,GAAelhK,oBAAS,GAEzC,SAASmhK,EAAiBrtM,GACxB,MAAMstM,EAAY/7M,WAAWyO,EAAM4tH,QAC7BrxG,EAAO+wL,EAAYttM,EAAMs5B,IAAIG,MAE7BwB,EAAUC,IAAcl7B,EAAMs5B,IAAIhqC,MAGxC,OAAIg+M,GAFettM,EAAMu6B,UAAU9B,KAAOz4B,EAAMu6B,UAAUa,UAAYH,GAGpEmyK,GAAY,GAEV,oCACE,kBAAC,IAAD,CAAY1tM,MAAO,SAAnB,wDAGKzG,MAAMsjB,IAAS+wL,EAAY,GACpCF,GAAY,GAEV,oCACE,kBAAC,IAAD,CAAY1tM,MAAO,SAAnB,6CAIJ0tM,GAAY,GAEV,oCACE,kBAAC,IAAD,mBACch4M,IAAeS,OAAOy3M,EAAW,UAD/C,OAC8DttM,EAAMs5B,IAAIhqC,KADxE,aACwF,IACrF8F,IAAeqB,YAAY8lB,MAOtC,SAASy1E,IACP,IACEh3D,YAAarf,EAAM3b,EAAMu6B,UAAWv6B,EAAMs5B,IAAK/nC,WAAWs3L,IAC1D,MAAO1/K,GACPtK,YAAgBsK,EAAM,IAExBnJ,EAAMoR,UAWR,OACE,oCACE,kBAAC,IAAD,4BACuBpR,EAAMs5B,IAAIhqC,KADjC,kGAIA,kBAAC+9M,EAAD,CAAkB9yK,UAAWv6B,EAAMu6B,UAAWjB,IAAKt5B,EAAMs5B,IAAKs0F,OAAQi7D,IACtE,kBAAC,IAAD,CACE94L,MAAO84L,EACP95H,SAbN,SAAkBzoB,GAChB6mK,EAAU7mK,EAAM3lB,OAAO5wB,QAanBwkC,KAAK,SACLq6B,YAAY,uBACZ+xB,UApBN,SAAmBr6C,GACbA,EAAMj2C,MAAQiY,IAAIqpH,OAAO3/B,OAqB3B,kBAAC,IAAD,CAAQnyF,SAAUA,EAAUs1C,QAAS68C,GAArC,0BAgBC,SAASu7G,EAAsBvtM,GACpC,MAAM6gB,EAAWpG,eACVouK,EAAQskB,GAAajhK,mBAASlsC,EAAMs5B,IAAIyB,IAAM/6B,EAAMs5B,IAAIyB,IAAM,GAErE,SAASyyK,IACP,GAAe,OAAX3kB,EAAJ,CACA,IACE/tJ,YAAY96B,EAAMs5B,IAAKuvJ,GACvB,MAAO1/K,GACPtK,YAAgBsK,EAAM,IAGxBnJ,EAAMoR,WAgBR,OACE,kBAAC,IAAD,CAAOD,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,oCACE,kBAAC,IAAD,4BACuBpR,EAAMs5B,IAAIhqC,KADjC,mFAGG0Q,EAAMosM,qBAAuB,+DAAiE,IAEjG,kBAAC,IAAD,CACEr8M,MAAO84L,EACP95H,SAdR,SAAkBzoB,GAChB6mK,EAAU57M,WAAW+0C,EAAM3lB,OAAO5wB,SAc5ByhI,WAAW,EACX5iE,YAAY,kBACZr6B,KAAK,SACL10B,SAAUG,EAAMosM,qBAChBzrH,UAvBR,SAAmBr6C,GACbA,EAAMj2C,MAAQiY,IAAIqpH,OAAO67E,OAwBzB,kBAAC,IAAD,CAAQ3tM,SAAUG,EAAMosM,qBAAsBj3J,QAASq4J,GAAvD,WAGA,kBAAC,IAAD,CAAQ3tM,SAAUG,EAAMosM,qBAAsBj3J,QAjCpD,WACEn1C,EAAMs5B,IAAIyB,IAAM,EAChB/6B,EAAMoR,YA+BF,kBAGCyP,EAASqd,YAAY,oBACpB,kBAACgvK,EAAD,CAAqB97L,QAASpR,EAAMoR,QAASkoB,IAAKt5B,EAAMs5B,IAAKiB,UAAWv6B,EAAMu6B,gB,6BCpKxF,oGAgBO,SAASkzK,EAA6BztM,GAC3C,MAAO+pD,EAAO8gJ,GAAY3+J,mBAAwB,MASlD,SAAS2mD,IACP,IAAI7xE,EAAM+oC,EACE,OAAR/oC,IAAcA,GAAO,GACzB0e,YAAwB1/B,EAAM26B,SAAU3Z,GACxChhB,EAAMoR,UAYR,OAtBAs9B,oBAAU,KACH1uC,EAAMmR,MACT05L,EAAS,OAEV,CAAC7qM,EAAMmR,OAmBR,kBAAC,IAAD,CAAOA,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,gIAIA,kBAAC,IAAD,CAAWogH,WAAW,EAAM5iE,YAAY,QAAQr6B,KAAK,SAASw6B,SAXlE,SAAkBzoB,GACW,KAAvBA,EAAM3lB,OAAO5wB,MAAc86M,EAAS,MACnCA,EAASt5M,WAAW+0C,EAAM3lB,OAAO5wB,SAS8C4wF,UAftF,SAAmBr6C,GACbA,EAAMj2C,MAAQiY,IAAIqpH,OAAO9+B,OAe3B,kBAAC,IAAD,CAAQ19C,QAAS09C,GAAjB,uB,6BCjDN,+DAQO,SAAS66G,EAAwB1tM,GACtC,MAAM2tM,EAAO,GACb,IAAK,MAAM15E,KAAUvmI,OAAOuT,KAAKjB,EAAM6gB,SAASiyG,SAAU,CACxD,MAAM86E,EAAS5tM,EAAM6gB,SAASiyG,QAAQmB,QACvB/zH,IAAX0tM,GACJD,EAAK5/M,KAAKkoE,OAAOsqC,GAAI,GAAEqtG,YAAiB35E,KAE1C,MAAMjH,EAAOhtH,EAAM6gB,SAAS6zG,SAAStsH,IAAK1X,GAAO,aAAYA,GAK7D,OAJIsP,EAAM6gB,SAASmd,eACjBgvF,EAAKj/H,KAAK,YAGL,kBAAC,IAAD,KAAiB,MAAQ4/M,EAAKr1M,KAAK,KAAQ,gBAAiB00H,EAAK10H,KAAK,KAAO,S,6BCpBtF,8HAeO,SAASu1M,EAAc7tM,GAC5B,MAAM2b,EAAOnB,cACPqG,EAAWpG,cACXmyL,EAAiBl/M,OAAOuT,KAAK4f,EAASyX,SAAStpB,OAAQkwB,GAAoD,IAA/Bre,EAASyX,QAAQ4G,KAC5Ftb,EAAM0gL,GAAWp4J,mBAAS0gK,EAAe,IAE1C/sM,EAAW8b,EAAK+E,MAAQjP,IAAqBkB,kBAkBnD,OACE,oCACE,kBAAC,IAAD,sFACiF,IAC/E,kBAAC,IAAD,CAAWrhB,MAAOmgB,IAAqBkB,kBAAmBgJ,KAAMA,KAElE,kBAAC,IAAD,CACEyzC,aACE,kBAAC,IAAD,CAAQja,QApBhB,WACE,IACE9c,YAAQ1c,EAAMkF,EAAU+C,GACxB,MAAOza,GAEP,YADAtK,YAAgBsK,EAAM,IAIxBtK,YAAiB,0BAAyB+kB,MAE1C5jB,EAAMukM,gBAAgB3gL,IAUS/jB,SAAUA,GAAnC,WAIF9P,MAAO6zB,EACPmrC,SA7BN,SAAsBzoB,GACpBg+J,EAAQh+J,EAAM3lB,OAAO5wB,SA8BhB68M,EAAexkM,IAAK82B,GACnB,kBAAC,IAAD,CAAU7uC,IAAK6uC,EAAUnvC,MAAOmvC,GAC7BA,Q,6BCxDb,6IAmBO,SAAS4uK,EAAkB9tM,GAChC,MAAM2b,EAAOnB,cAEPuzL,EADgBrgN,OAAOuT,KAAKyZ,KAAYpU,OAE3C0I,OACEm1L,QACkFjkM,IAAjFyb,EAAKmF,UAAU3R,KAAM0R,GAAwBA,EAAS0T,OAAS4vK,IAElE79L,QACI6xB,EAAUq0K,GAAetgK,mBAAS6hK,EAAmBtgN,OAAS,EAAIsgN,EAAmB,GAAK,KAC1Fz+M,EAAM8yM,GAAWl2J,mBAAS,IAE3B3vB,EAAOd,IAAsB0c,GACnC,QAAaj4B,IAATqc,EACF,MAAM,IAAInc,MAAO,sBAAqB+3B,MAExC,MAAMt4B,EAAW8b,EAAK+E,MAAQnE,GAAiB,KAATjtB,EAEtC,SAAS0+M,IACP,IAAInuM,EAAJ,CACA,IACEq4B,YAAYvc,EAAMwc,EAAU7oC,GAC5B,MAAO6Z,GAEP,YADAtK,YAAgBsK,EAAM,IAKxBnJ,EAAMikM,gBAAgB30M,IAgBxB,MAAMoe,EAAOgO,IAAqByc,GAClC,QAAaj4B,IAATwN,EAAoB,MAAM,IAAItN,MAAO,sDAAqD+3B,MAE9F,OACE,oCACE,kBAAC,IAAD,6DACA,kBAAC,IAAD,CAAQpoC,MAAOooC,EAAU42B,SAV7B,SAA0BzoB,GACxBkmK,EAAYlmK,EAAM3lB,OAAO5wB,SAUpBg+M,EAAmB3lM,IAAK+vB,GACvB,kBAAC,IAAD,CAAU9nC,IAAK8nC,EAAUpoC,MAAOooC,GAC7BA,KAIP,kBAAC,IAAD,KAAazqB,EAAKiO,IAClB,6BACA,6BAEA,kBAAC,IAAD,uBAEA,kBAAC,IAAD,CAAK9L,QAAQ,OAAOC,WAAW,UAC7B,kBAAC,IAAD,CACE0hH,WAAW,EACXzhI,MAAOT,EACPy/D,SApCR,SAAsBzoB,GAEpB87J,EAAQ97J,EAAM3lB,OAAO5wB,QAmCf4wF,UAhCR,SAAmBr6C,GACbA,EAAMj2C,MAAQiY,IAAIqpH,OAAOq8E,KAgCvBz5K,KAAK,OACLy6B,WAAY,CACVI,aACE,kBAAC,IAAD,CAAQvvD,SAAUA,EAAUX,GAAI,CAAEirD,GAAI,GAAKhV,QAAS64J,GAApD,iB,6BC3Fd,kSAmCO,SAAStd,GAAS,SAAEziJ,IACzB,MAAM9tC,EAAS0I,IAAI9X,SACb4qB,EAAOnB,cACPmhB,EAAiBhgB,EAAK+oC,QAAU/oC,EAAKgpC,SAErCspJ,EAAuB,GAC7B,SAASC,EAAW5+M,EAAcS,GAClB,IAAVA,GACJk+M,EAASlgN,KAAK,CAACuB,EAAM8F,IAAeS,OAAO9F,EAAO,WAYpD,OAVAm+M,EAAW,0BAA2BvyL,EAAK4+G,2BAC3C2zE,EAAW,uBAAwBvyL,EAAK+jF,wBACxCwuG,EAAW,2BAA4BvyL,EAAK8+G,4BAC5CyzE,EAAW,gCAAiCvyL,EAAK++G,4BACjDwzE,EAAW,8BAA+BvyL,EAAKg/G,4BAC/CuzE,EAAW,kCAAmCvyL,EAAKi/G,4BACnDszE,EAAW,gCAAiCvyL,EAAKk/G,4BACjDqzE,EAAW,qBAAsBvyL,EAAKm/G,sBACtCozE,EAAW,mCAAoCvyL,EAAKo/G,mCAGlD,oCACE,kBAAC,IAAD,CACE5sD,KAAM,CACJ,CAAC,eAAgB,kBAAC,IAAD,CAAO78E,MAAOqqB,EAAK+E,SACpC,CAAC,iBAAkB,kBAAC,IAAD,CAAWpvB,MAAOqqB,EAAK+oC,WAC1C,CAAC,kBAAmB,kBAAC,IAAD,CAAWpzD,MAAOqqB,EAAKgpC,YAC3C,CAAC,gBAAiB,kBAAC,IAAD,CAAWrzD,MAAOqqB,EAAK+oC,QAAU/oC,EAAKgpC,YACxD,CAAC,mBAAoBhpC,EAAK4f,OAAS,MAAQ,MAC3C,CAAC,sBAAuBnmC,IAAeS,OAAO8lB,EAAK2f,UAAW,WAC9D,CAAC,eAAgB3f,EAAK4f,OAAS,kBAAC,IAAD,CAAOjqC,MAAOqqB,EAAKogB,aAAiB,UAGvE,6BACA,kBAAC,IAAD,CAAKlsB,QAAQ,QACX,kBAAC,IAAD,CACEq/C,MACE,kBAAC,IAAD,CACEif,KAAM,CACJ,CAAC,sBAAuB/4E,IAAeS,OAAO8lB,EAAKmgB,aAAc,WACjE,CACE,kBACA1mC,IAAeS,OAAO8lB,EAAKk+C,YAAcl+C,EAAKmgB,aAAengB,EAAK2f,UAAW,eAMrF,kBAAC,IAAD,4BAAiClmC,IAAeS,OAAO8lB,EAAKk+C,YAAa,aAG7E,6BACA,kBAACs0I,EAAD,CAAgBxyK,OAAQA,IACxB,6BACA,kBAAC,IAAD,CAAYwyC,KAAM8/H,IAClB,6BACA,kBAACxN,EAAD,MACA,kBAAC,IAAD,CAAKvhM,GAAI,CAAE2Q,QAAS,OAAQklH,oBAAqB,iBAAkB/yF,MAAO,gBACxE,kBAAC,IAAD,CACEktB,MACE,kBAAC,IAAD,mQAOF,kBAAC,IAAD,CAAQ/Z,QAAS,IAAMx5B,EAAKq/G,gBAAgB76H,IAA5C,0BAEDwb,EAAK4f,OAAS,kBAAC6yK,EAAD,CAAengK,SAAUA,IAAe,kBAACogK,EAAD,CAAgBpgK,SAAUA,IACjF,kBAACqgK,EAAD,OAEF,6BACA,kBAACzG,EAAD,CAAU55J,SAAUA,KAS1B,SAASogK,GAAe,SAAEpgK,IACxB,MAAMtyB,EAAOnB,eACN+zL,EAAmBC,GAAwBtiK,oBAAS,IACpDuiK,EAAcC,GAAmBxiK,oBAAS,GAE3CyiK,EAAmBhzL,EAAK4qK,aAAe,EACvCqoB,EAAuBD,EACzB,uHACA,GAEJ,OACE,oCACE,kBAAC,IAAD,CAASz/I,MAAO,kBAAC,IAAD,KAAa0/I,IAC3B,kBAAC,IAAD,CAAQ/uM,UAAW8uM,EAAkBx5J,QAAS,IAAMq5J,GAAqB,IAAzE,mBAIF,kBAAC,IAAD,CACEt/I,MACE,kBAAC,IAAD,oLAMF,kBAAC,IAAD,CAAQ/Z,QAAS,IAAMu5J,GAAgB,IAAvC,cAEF,kBAAC,IAAD,CAAoBv9L,KAAMo9L,EAAmBn9L,QAAS,IAAMo9L,GAAqB,GAAQvgK,SAAUA,IACnG,kBAAC,IAAD,CAAe98B,KAAMs9L,EAAcr9L,QAAS,IAAMs9L,GAAgB,GAAQzgK,SAAUA,KAS1F,SAAS45J,GAAS,SAAE55J,IAClB,MAAMtyB,EAAOnB,cAEb,OAAImB,EAAKmF,UAAUrzB,QAAU,EACpB,kBAAC,IAAD,CAAYqnD,QAAQ,MAApB,sDAIP,oCACE,kBAAC,IAAD,CAAO51C,GAAI,CAAExO,EAAG,EAAG05D,GAAI,IACrB,kBAAC,IAAD,CAAYtV,QAAQ,MAApB,WACA,kBAAC,IAAD,CAAMwuB,WAAS,GACZ51E,OAAO0gC,OAAOu3E,KACZ32F,OAAQyQ,IAAuC9D,EAAKid,eAAenZ,EAAQve,QAC3EkH,IAAKqX,GACJ,kBAAC,IAAD,CAAewuB,SAAUA,EAAU4gK,YAAapvL,EAASpvB,IAAKovB,EAAQve,WAI9E,kBAAC,IAAD,CAAOhC,GAAI,CAAExO,EAAG,EAAG05D,GAAI,IACrB,kBAAC,IAAD,CAAYtV,QAAQ,MAApB,YACA,kBAAC,IAAD,CAAMwuB,WAAS,GACZ3nD,EAAKsd,SACH7wB,IAAI,CAACkH,EAAe/hB,IAAcwgI,IAAoBxgI,IACtD6a,IAAKqX,GACJ,kBAAC,IAAD,CAAkBwuB,SAAUA,EAAUxuB,QAASA,EAASpvB,IAAKovB,EAAQve,YAanF,SAASktM,GAAc,SAAEngK,IACvB,MAAMtyB,EAAOnB,eACNs0L,EAAgBC,GAAqB7iK,oBAAS,IAC9C8iK,EAAmBC,GAAwB/iK,oBAAS,IACpDgjK,EAAoBC,GAAyBjjK,oBAAS,IACtDkjK,EAAoBC,GAAyBnjK,oBAAS,GAEvDojK,EAAiB3zL,EAAK6f,kBAAoB,EAC1C+zK,EAAoBD,EACtB,0BAA4B3zL,EAAKu+G,wBAAwBv+G,EAAK6f,mBAC9D,wMAIEg0K,EAAqB7zL,EAAKs9G,uBAAyB,EACnDw2E,EAAwBD,EAC1B,+BAAiC7zL,EAAKu+G,wBAAwBv+G,EAAKs9G,wBACnE,4CAEJ,OACE,oCACE,kBAAC,IAAD,CAAS/pE,MAAO,kBAAC,IAAD,KAAaqgJ,IAC3B,kBAAC,IAAD,CAAQ1vM,SAAUyvM,EAAgBn6J,QAAS,IAAM45J,GAAkB,IAAnE,gBAIF,kBAAC,IAAD,CAAiB59L,KAAM29L,EAAgB19L,QAAS,IAAM29L,GAAkB,GAAQ9gK,SAAUA,IAC1F,kBAAC,IAAD,CAASihB,MAAO,kBAAC,IAAD,6EACd,kBAAC,IAAD,CAAQrvD,SAAU8b,EAAKmgB,aAAe,EAAGqZ,QAAS,IAAM85J,GAAqB,IAA7E,mBAIF,kBAAC,IAAD,CAAoB99L,KAAM69L,EAAmB59L,QAAS,IAAM69L,GAAqB,GAAQhhK,SAAUA,IACnG,kBAAC,IAAD,CAASihB,MAAO,kBAAC,IAAD,KAAaugJ,IAC3B,kBAAC,IAAD,CAAQ5vM,SAAU2vM,EAAoBr6J,QAAS,IAAMg6J,GAAsB,IAA3E,qBAIF,kBAAC,IAAD,CAAqBh+L,KAAM+9L,EAAoB99L,QAAS,IAAM+9L,GAAsB,KACpF,kBAAC,IAAD,CACEjgJ,MAAO,kBAAC,IAAD,qFAEP,kBAAC,IAAD,CAAQ/Z,QAAS,IAAMk6J,GAAsB,IAA7C,oBAEF,kBAAC,IAAD,CAAqBl+L,KAAMi+L,EAAoBh+L,QAAS,IAAMi+L,GAAsB,MAK1F,SAASf,IACP,MAAMnuM,EAAS0I,IAAI9X,SACb4qB,EAAOnB,eACNrJ,EAAM0rD,GAAW3wB,oBAAS,GAC3BwjK,EACJ/zL,EAAK+9G,sBAAwBjoH,IAAqBqB,gBAClD3S,EAAO6K,SAASgE,OAAQxB,GAAMzE,IAASyE,GAAGtE,UAAUozC,cAAc7uD,OAAS,EAO7E,OACE,oCACE,kBAAC,IAAD,CACEyhE,MACEwgJ,EACI,gGACA,oEAGN,kBAAC,IAAD,CAAQ7vM,UAAW6vM,EAAUv6J,QAdnC,WACOu6J,GACL7yI,GAAQ,KAYJ,mBAIF,kBAAC,IAAD,CAAmB1rD,KAAMA,EAAMC,QAAS,IAAMyrD,GAAQ,MAQ5D,SAASsxI,GAAe,OAAExyK,IACxB,MAAMhgB,EAAOnB,cACb,GAAImB,EAAKyd,oBAAsB,GAAKuC,GAAU,EAAG,OAAO,qCACxD,MAAMg0K,EAAkBh0L,EAAKyd,mBAAqB,IAAOuC,EACnDy9F,EAAmBz9F,EAASg0K,EAC5Bn2E,EAAoBm2E,EAAiBh0L,EAAKk+C,YAChD,OACE,kBAAC,IAAD,CACEsU,KAAM,CACJ,CAAC,sCAAuC,kBAAC,IAAD,CAAW78E,MAAO8nI,KAC1D,CAAC,uBAAwBhkI,IAAeS,OAAO8lB,EAAKyd,mBAAqB,IAAK,OAC9E,CAAC,uBAAwB,kBAAC,IAAD,CAAW9nC,MAAOkoI,KAC3C,CAAC,kCAAmC,kBAAC,IAAD,CAAWloI,MAAOqqB,EAAK09G,qBAOnE,SAASonE,IACP,MACMmP,EADOp1L,cACW+9B,aAAe9+C,IAAUK,cACjD,OAAI81M,GAAc,KAAc,qCAE9B,kBAAC,IAAD,oBACezqM,YAAiCyqM,GAC9C,6BACA,gC,6BC9SN,8HAmBO,SAASC,EAAiB7vM,GAC/B,MAAM2b,EAAOnB,cACPvtB,EAAO+S,EAAMyf,QACbnQ,EAAQqM,EAAKsd,SAAShsC,EAAKiU,OAE3BkK,EAAWne,EAAK8rC,UAChBC,EAAY/rC,EAAK+rC,UACjBzc,EAAOnR,EAAWtV,KAAKoN,IAAI81B,EAAW1pB,GAEtCwnD,EAAU7pE,EAAKygB,KAWrB,OACE,kBAAC,IAAD,CAAMmyH,MAAI,EAACiwE,GAAI,GACb,kBAAC,IAAD,CAAKjgM,QAAQ,OAAOC,WAAW,SAAS+iC,cAAc,eACpD,kBAAC,IAAD,CAAQhzC,SAAU8b,EAAK+E,MAAQnE,EAAMrd,GAAI,CAAEirD,GAAI,GAAKhV,QAb1D,WACE,KAAIx5B,EAAK+E,MAAQnE,GAAjB,CACA,IACEuc,YAAand,EAAM3b,EAAMyf,SACzB,MAAOtW,GACPtK,YAAgBsK,EAAM,IAExBnJ,EAAMiuC,cAOA,kBAAC,IAAD,CAAW38C,MAAOirB,EAAMZ,KAAMA,KAEhC,kBAAC,IAAD,CAASuzC,MAAO4H,GACd,kBAAC,IAAD,KACG7pE,EAAKqC,KADR,UACqBggB,Q,6BC/C/B,8HAmBO,SAASopB,EAAc14B,GAC5B,MAAM2b,EAAOnB,cACPvtB,EAAO+S,EAAM6uM,YACb/3I,EAAU7pE,EAAKygB,KAWrB,OACE,kBAAC,IAAD,CAAMmyH,MAAI,EAACiwE,GAAI,GACb,kBAAC,IAAD,CAAKjgM,QAAQ,OAAOC,WAAW,SAAS+iC,cAAc,eACpD,kBAAC,IAAD,CAAQhzC,SAAU8b,EAAK+E,MAAQzzB,EAAK0rC,MAAOz5B,GAAI,CAAEirD,GAAI,GAAKhV,QAbhE,WACE,KAAIx5B,EAAK+E,MAAQzzB,EAAK0rC,OAAtB,CACA,IACEo3K,YAAGp0L,EAAM3b,EAAM6uM,aACf,MAAO1lM,GACPtK,YAAgBsK,EAAM,IAExBnJ,EAAMiuC,cAOA,kBAAC,IAAD,CAAW38C,MAAOrE,EAAK0rC,MAAOhd,KAAMA,KAEtC,kBAAC,IAAD,CAASuzC,MAAO4H,GACd,kBAAC,IAAD,KAAa7pE,EAAKqC,W,6BCxC5B,4JAoBO,SAAS0gN,EAAkBhwM,GAChC,MAAMG,EAAS0I,IAAI9X,SACbia,EAAW7K,EAAO6K,SAASgE,OAAQ1f,KAC1ByZ,IAASzZ,GAAM4Z,UAClBozC,eACNn8C,EAAO88C,YAAY3tD,IAGnBqsB,EAAOnB,eACNlpB,EAAOi2B,GAAY2kB,mBAAwB,IAC3CwM,EAAOu3J,GAAY/jK,mBAAwB,IAC3CgkK,EAAiBC,GAAsBjkK,mBAASlhC,EAASvd,OAAS,EAAIud,EAAS,GAAK,IACrFnL,EACM,OAAVvO,GACU,OAAVonD,GACW,IAAVpnD,GAAyB,IAAVonD,GAChBz/C,MAAM3H,IACN2H,MAAMy/C,IACNpnD,EAAQ,GACRonD,EAAQ,GACR/8B,EAAK+E,MAAQpvB,GACbonD,EAAQ/8B,EAAK2f,UAcf,SAAS3G,EAAQrjC,EAAeonD,GAC9B,OAAQpnD,EAAQonD,EAAQ/8B,EAAKogB,YAActqB,IAAqBsB,gBAmClE,OACE,kBAAC,IAAD,CAAO5B,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,mHAGA,kBAAC,IAAD,CAAKvB,QAAQ,OAAOC,WAAW,UAC7B,kBAAC,IAAD,iBACA,kBAAC,IAAD,CAAQ/f,MAAOmgN,EAAiBnhJ,SA/CtC,SAAuBzoB,GACrB6pK,EAAmB7pK,EAAM3lB,OAAO5wB,SA+CzBib,EAAS5C,IAAK9Y,IAEb,GADayZ,IAASzZ,GAAM4Z,UAClBozC,eACNn8C,EAAO88C,YAAY3tD,GACvB,OACE,kBAAC,IAAD,CAAUe,IAAKf,EAAMS,MAAOT,GACzBA,OAMX,kBAAC,IAAD,KApDJ,SAAoBgC,EAAeonD,GACjC,OAAc,IAAVpnD,GAAyB,IAAVonD,EAAoB,GACnCz/C,MAAM3H,IAAU2H,MAAMy/C,IAAUpnD,EAAQ,GAAKonD,EAAQ,EAChD,kCACE/8B,EAAK+E,MAAQpvB,EACf,uDACEonD,EAAQ/8B,EAAK2f,UACf,wDAGL,iBACAlmC,IAAeyB,iBAAiB89B,EAAQrjC,EAAOonD,IAC/C,oBACAw3J,EACA,mBAsCWE,CAAW9+M,GAAgB,EAAGonD,GAAgB,IAC3D,kBAAC,IAAD,CAAWqW,SArEf,SAAuBzoB,GACrB/e,EAASh2B,WAAW+0C,EAAM3lB,OAAO5wB,SAoEK6+D,YAAY,sBAChD,kBAAC,IAAD,CAAW1vD,GAAI,CAAEirD,GAAI,GAAK4E,SAlE9B,SAAuBzoB,GACrB2pK,EAAS1+M,WAAW+0C,EAAM3lB,OAAO5wB,SAiEoB6+D,YAAY,iBAC/D,kBAAC,IAAD,CAAQ/uD,SAAUA,EAAUX,GAAI,CAAEirD,GAAI,GAAKhV,QAAS,IApCxD,SAAe7jD,EAAeonD,GAC5B,MAAMlpC,EAAMzG,IAASmnM,GACrB,GAAIrwM,EAAU,OACd,MAAMu1D,EAAMzgC,EAAQrjC,EAAOonD,GAC3B75C,YACE,cAAgBzJ,IAAeyB,iBAAiBu+D,GAAO,oBAAsB5lD,EAAIlgB,KAAO,qBAE1FkgB,EAAI6d,kBAAoB+nC,EACxBz5C,EAAK+E,MAAQ/E,EAAK+E,MAAQpvB,EAC1BqqB,EAAK2f,WAAaod,EAClB14C,EAAMoR,UA0BsD4/E,CAAM1/F,GAAgB,EAAGonD,GAAgB,IAAnG,Y,6BClHN,2IAqBO,SAAS23J,EAAgBrwM,GAC9B,MAAMG,EAAS0I,IAAI9X,SACb4qB,EAAOnB,eACNm+B,EAAQ23J,GAAapkK,mBAAwB,MAE9CrsC,EAAsB,OAAX84C,GAAmB1/C,MAAM0/C,IAAWA,GAAU,GAAKA,EAASh9B,EAAK2f,UAOlF,SAASi1K,EAAgBvwM,GACvB,GAAqB,OAAjBA,EAAM24C,OAAiB,OAAO,qCAClC,IAAI4X,EAAO,GACX,GAAIt3D,MAAM+G,EAAM24C,SAAW34C,EAAM24C,QAAU,EACzC4X,EAAQ,iEACH,GAAIvwD,EAAM24C,OAASh9B,EAAK2f,UAC7Bi1B,EAAQ,+CACH,CACL,MACM50B,EADmBhgB,EAAK+f,mBAAmB17B,EAAM24C,QACvB,GAChC4X,EAAQ,QAAOvwD,EAAM24C,gCAAgCvjD,IAAeqB,YAAYklC,KAGlF,OACE,kBAAC,IAAD,KACE,+BAAQ40B,IAKd,SAASq3B,IACP,IAAI/nF,EACJ,IACE,MAAM87B,EAASN,YAAW1f,EAAMxb,EAAQw4C,GACxC34C,EAAMoR,UACNvS,YACE,4CACQzJ,IAAeqB,YAAYkiD,GADnC,cAEE,kBAAC,IAAD,CAAOrnD,MAAOqqC,IAFhB,4CAEwE,kBAAC,IAAD,CAAOrqC,MAAOqqB,EAAKogB,aAF3F,6BAOF/7B,EAAMiuC,WACN,MAAO9kC,GACPtK,YAAgBsK,EAAM,KAQ1B,OACE,kBAAC,IAAD,CAAOgI,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,6IAGE,6BACA,6BAJF,+MAOE,6BACA,6BARF,gDASgDhc,IAAeqB,YAAYklB,EAAKogB,aAEhF,6BACA,kBAAC,IAAD,CACE+Y,QAAQ,WACR08E,WAAS,EACTj9F,KAAK,SACLq6B,YAAY,iBACZG,SAnEN,SAAsBzoB,GACO,KAAvBA,EAAM3lB,OAAO5wB,MAAcugN,EAAU,MACpCA,EAAUx6M,KAAKsjB,MAAM7nB,WAAW+0C,EAAM3lB,OAAO5wB,UAkE9C4wF,UAxBN,SAAmBr6C,GACbA,EAAMj2C,MAAQiY,IAAIqpH,OAAO/pC,OAyB3B,kBAAC,IAAD,CAAQ/nF,SAAUA,EAAUs1C,QAASyyC,EAAM1oF,GAAI,CAAEirD,GAAI,IAArD,eAGA,kBAAComJ,EAAD,CAAiB53J,OAAQA,EAAQh9B,KAAMA,O,6BCrG7C,mIAoBO,SAAS60L,EAAmBxwM,GACjC,MAAMG,EAAS0I,IAAI9X,SACb4qB,EAAOnB,eACNm+B,EAAQ23J,GAAapkK,mBAAwB,MAOpD,MACMhQ,EAAmC,IADfvgB,EAAKogB,WAEzBl8B,EACO,OAAX84C,GACA1/C,MAAM0/C,IACNA,GAAU,GACVA,EAASh9B,EAAKmgB,cACd6c,EAASzc,EAAe/7B,EAAO7O,MAEjC,SAASypC,IACP,IAAIl7B,EAAJ,CACA,IACEo8B,YAActgB,EAAMxb,EAAQw4C,GAC5B,MAAOxvC,GACPtK,YAAgBsK,EAAM,IAExBnJ,EAAMoR,UACNpR,EAAMiuC,YAGR,SAASwiK,IACP,OAAe,OAAX93J,EAAwB,qCACxB1/C,MAAM0/C,IAAWA,GAAU,EACtB,oGACEA,EAASh9B,EAAKmgB,aAErB,2GACuE,IACpE1mC,IAAea,gBAAgB0lB,EAAKmgB,cAFvC,wBAOA,gDACY6c,EADZ,0BAC2CvjD,IAAeqB,YAAYkiD,EAASzc,IAUrF,OACE,kBAAC,IAAD,CAAO/qB,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,kNAGE,6BACA,6BAJF,wFAME,6BACA,6BAPF,wDAQwDhc,IAAeqB,YAAYylC,GARnF,gCASiB9mC,IAAea,gBAAgB0lB,EAAKmgB,cATrD,8BAWA,kBAAC20K,EAAD,MACA,6BACA,kBAAC,IAAD,CACEj/E,WAAW,EACXj9F,KAAK,SACLq6B,YAAY,oBACZG,SApEN,SAAsBzoB,GACO,KAAvBA,EAAM3lB,OAAO5wB,MAAcugN,EAAU,MACpCA,EAAUx6M,KAAKsjB,MAAM7nB,WAAW+0C,EAAM3lB,OAAO5wB,UAmE9C4wF,UAxBN,SAAmBr6C,GACbA,EAAMj2C,MAAQiY,IAAIqpH,OAAO52F,OAyB3B,kBAAC,IAAD,CAAQl7B,SAAUA,EAAUs1C,QAASpa,GAArC,iB,6BChGN,4HAiBO,SAAS21K,EAAoB1wM,GAClC,MAAM2b,EAAOnB,eACN2e,EAASw3K,GAAczkK,mBAAS,GAEjC0kK,GAAY33M,MAAMkgC,IAAYA,GAAW,GAAKA,GAAwD,IAA7C1nB,IAAqBwB,sBACpF,SAASs+E,IACP,GAAKq/G,GACW,OAAZz3K,EAAJ,CACA,IACED,YAAevd,EAAMwd,EAAU,KAC/B,MAAOhwB,GACPtK,YAAgBsK,EAAM,IAGxBnJ,EAAMoR,WAiBR,OACE,kBAAC,IAAD,CAAOD,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,oIAGE,6BACA,6BAJF,uNAOE,6BACA,6BARF,gCAUE,6BAVF,4EAYE,6BACA,6BAbF,+VAmBA,kBAAC,IAAD,CACEogH,WAAS,EACTzhI,MAAOopC,EACP41B,SAlCN,SAAkBzoB,GAChB,GAA2B,KAAvBA,EAAM3lB,OAAO5wB,MAAc4gN,EAAW,OACrC,CACH,IAAIjgN,EAAIa,WAAW+0C,EAAM3lB,OAAO5wB,OAC5BW,EAAI,MAAKA,EAAI,KACbA,EAAI,IAAGA,EAAI,GACfigN,EAAWjgN,KA6BTiwF,UAvCN,SAAmBr6C,GACbA,EAAMj2C,MAAQiY,IAAIqpH,OAAOpgC,KAuCzB3iC,YAAY,aACZr6B,KAAK,WAEP,kBAAC,IAAD,CAAQ10B,UAAW+wM,EAAU1xM,GAAI,CAAEirD,GAAI,GAAKhV,QAASo8C,GAArD,mC,6BC7EN,mIAgBA,SAASy1G,EAAWhnM,GAClB,MAAM2b,EAAOnB,cACb,GAAqB,OAAjBxa,EAAM24C,OAAiB,OAAO,qCAClC,MAAM/c,EAAgB9lC,KAAKsjB,MAAwB,GAAlBuC,EAAKogB,YAChC80K,EAAwB/6M,KAAKsjB,MAAyB,GAAnBuC,EAAKk+C,aACxCi3I,EAAeD,EAAyBA,EAAwB,IACtE,IAAIE,EAAY/wM,EAAM24C,OACtB,OAAI1/C,MAAM83M,GACD,kBAAC,IAAD,uBAITA,GAAa,IACbA,EAAoC,IAAxBj7M,KAAKsjB,MAAM23L,GAEnBA,EAAY,IACP,kBAAC,IAAD,kDAGLA,EAAYD,EACP,kBAAC,IAAD,0CAIP,kBAAC,IAAD,cACS17M,IAAeS,OAAOk7M,EAAW,UAD1C,kBACoE,IACjE37M,IAAeqB,YAAYs6M,EAAYn1K,GAF1C,MAcG,SAASo1K,EAAoBhxM,GAClC,MAAM2b,EAAOnB,eACNm+B,EAAQ23J,GAAapkK,mBAAwB,MAC9C2kK,EAAwB/6M,KAAKsjB,MAAyB,GAAnBuC,EAAKk+C,aACxCi3I,EAAeD,EAAyBA,EAAwB,IAEhEE,EAA+C,IAAnCj7M,KAAKsjB,OAAOu/B,GAAU,GAAK,KACvC94C,EAAsB,OAAX84C,GAAmB1/C,MAAM83M,IAAcA,EAAY,KAAQA,EAAYD,EAExF,SAASG,IACP,GAAe,OAAXt4J,EAAiB,OACrB,GAAI94C,EAAU,OAEd,MAAM+7B,EAAgB9lC,KAAKsjB,MAAwB,GAAlBuC,EAAKogB,YACtC,IAAIg1K,EAAYp4J,EAGhBo4J,EAA2C,IAA/Bj7M,KAAKsjB,MAAM23L,EAAY,KAEnC,MAAMp1K,EAASo1K,EAAYn1K,EAC3BjgB,EAAKs9G,uBAAyBxnH,IAAqBG,uBACnD+J,EAAKk+C,aAAek3I,EAKpB,IAAIG,EAAgBzuM,YAAa,EAAG3M,KAAKsjB,MAAM23L,EAAY,IAC3DG,EAAkD,IAAlCp7M,KAAKsjB,MAAM83L,EAAgB,KAE3Cv1L,EAAKmgB,cAAgBi1K,EAAYG,EACjCv1L,EAAK+E,MAAQ/E,EAAK+E,MAAQib,EAC1BhgB,EAAKk+G,8BACL75H,EAAMoR,UACNvS,YACG,UAASzJ,IAAeS,OAAOk7M,EAAW,wBACtC37M,IAAeqB,YAAYklC,OAAYvmC,IAAeS,OAAOq7M,EAAe,+FAEnD97M,IAAeqB,YAAYklB,EAAKogB,aAalE,OACE,kBAAC,IAAD,CAAO5qB,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,qGAEE,6BACA,6BAHF,4BAIiChc,IAAeqB,YAAYq6M,GAJ5D,cAKE,6BALF,2CAOE,6BAPF,uDASE,6BATF,8GAWE,6BAXF,kEAaE,6BACA,6BAdF,6PAmBA,kBAAC9J,EAAD,CAAYruJ,OAAQA,IACpB,kBAAC,IAAD,CAAW64E,WAAS,EAAC5iE,YAAY,eAAeG,SA3BpD,SAAkBzoB,GACW,KAAvBA,EAAM3lB,OAAO5wB,MAAcugN,EAAU,MACpCA,EAAU/+M,WAAW+0C,EAAM3lB,OAAO5wB,SAyB+B4wF,UA/BxE,SAAmBr6C,GACbA,EAAMj2C,MAAQiY,IAAIqpH,OAAOs/E,OA+B3B,kBAAC,IAAD,CAAQpxM,SAAUA,EAAUs1C,QAAS87J,EAAgB/xM,GAAI,CAAEirD,GAAI,IAA/D,uB,6BC/HN,mGAgBO,SAASgnJ,EAAmBnxM,GACjC,MAAMwgB,EAAchG,cACd+uC,EAAM/oC,EAAYk5G,qBACxB,GACEl5G,EAAY+lK,cAAgB90K,IAAqB8B,mBAAmB9lB,QACpE+yB,EAAY+lK,cAAgB90K,IAAqB+B,uBAAuB/lB,OAExE,OAAO,qCACT,MAAM+4L,EAAa/0K,IAAqB8B,mBAAmBiN,EAAY+lK,cAEjEE,EAAUl9H,EAAMi9H,EADE/0K,IAAqB+B,uBAAuBgN,EAAY+lK,cAE1EG,EAAe5wL,KAAKyO,MAAMkN,IAAqBC,cAAgB80K,GASrE,OACE,kBAAC,IAAD,CAAOr1K,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,2CACsChc,IAAeqB,YAAYgwL,GADjE,gCACwG,IACrGrxL,IAAeS,OAAoB,IAAb2wL,EAAkB,UAF3C,2BAGGpxL,IAAeS,OAAO6wL,EAAc,UAHvC,YAIE,6BACA,6BALF,sCAOE,6BACA,6BARF,wFAWA,kBAAC,IAAD,CAAQvxI,QApBZ,WACE30B,EAAY+lK,eACZ/lK,EAAYs4G,SAAS2tD,GACrBjmK,EAAY8a,WAAaorJ,EACzB1mL,EAAMiuC,WACNjuC,EAAMoR,YAeJ,a,6BCjDN,2HAkBO,SAASggM,EAAcpxM,GAC5B,MAAM2b,EAAOnB,eACNm+B,EAAQ23J,GAAapkK,mBAAS,IAC/B06I,EAAoBjrK,EAAK+9G,qBAAuB/9G,EAAKk+C,YAE3D,SAASk3B,IACP,MAAMz1D,EAAY/pC,WAAWonD,GACvBiuI,EAAoBjrK,EAAK+9G,qBAAuB/9G,EAAKk+C,YACvD5gE,MAAMqiC,GACRz8B,YAAgB,6CAGdy8B,EAAY3f,EAAK2f,UACnBz8B,YAAgB,qDAGlB8c,EAAK4f,QAAS,EACd5f,EAAKogB,WAAa6qJ,EAClBjrK,EAAKmgB,aAAeR,EACpB3f,EAAK2f,WAAaA,EAClB3f,EAAKm9G,SAASx9F,EAAYsrJ,GAC1B5mL,EAAMiuC,WACNpvC,YACG,iBAAgB8c,EAAKrsB,0BACjB8F,IAAeqB,YAAY6kC,EAAYsrJ,GAAzC,gBAEL5mL,EAAMoR,WAWR,OACE,kBAAC,IAAD,CAAOD,KAAMnR,EAAMmR,KAAMC,QAASpR,EAAMoR,SACtC,kBAAC,IAAD,2KAEqDhc,IAAeqB,YAAYmwL,GAFhF,uFAIE,6BACA,6BALF,uBAMuBxxL,IAAeS,OAAO8lB,EAAK2f,UAAW,UAN7D,kCAQA,kBAAC,IAAD,CAAKzrB,QAAQ,OAAOC,WAAW,UAC7B,kBAAC,IAAD,CACE/f,MAAO4oD,EACPoW,SAjBR,SAAkBzoB,GAChBgqK,EAAUhqK,EAAM3lB,OAAO5wB,QAiBjByhI,WAAS,EACTj9F,KAAK,SACLq6B,YAAY,kBACZ+xB,UAzBR,SAAmBr6C,GACbA,EAAMj2C,MAAQiY,IAAIqpH,OAAO5gC,OA0BzB,kBAAC,IAAD,CACElxF,SAAUtO,WAAWonD,GAAU,GAAKpnD,WAAWonD,GAAUh9B,EAAK2f,UAC9Dp8B,GAAI,CAAEirD,GAAI,GACVhV,QAAS47C,GAHX,iB,6BC1ER,2FAUO,SAASsgH,EAAiBrxM,GAC/B,MAAMG,EAAS0I,IAAI9X,SACbggD,EAASloC,IAAID,UACZwtE,EAAOk7H,GAAYplK,oBAAS,GAEnC,QAAwChsC,IAApCF,EAAM6jB,SAASwrG,iBAAgC,MAAM,IAAIjvH,MAAM,kDACnE,MAAMgvH,EAAwBpvH,EAAM6jB,SAASwrG,iBAAiBD,sBACxD96F,EAAaosG,YAAoBvgI,EAAQivH,GACzC/6F,EAASssG,YAAgBxgI,EAAQivH,GAMvC,OACE,yBAAK1sF,MAAO,CAAE7yB,QAAS,OAAQC,WAAY,SAAUioC,OAAQ,uBAC1Dq+B,EACC,kBAAC,IAAD,CACEm7H,mBAAoBniF,EACpBoiF,WAAYl9K,EACZm9K,OAAQp9K,EACRjgB,SAAUpU,EAAM6jB,SAASwrG,iBAAiB+9B,oBAG5C,kBAAC,IAAD,CACElgH,SAAUltC,EAAM6jB,SAChB2tL,WAAYl9K,EACZlgB,SAAUpU,EAAM6jB,SAASwrG,iBAAiB+9B,kBAC1Ch3E,MAAO,IAAMk7H,GAAS,GACtBI,OAnBR,WACE3gK,EAAO7G,e,6BCrBX,sCAsBKynK,EAtBL,oK,SAsBKA,O,yBAAAA,I,uBAAAA,I,mBAAAA,I,gBAAAA,M,KAOL,MAAMC,EAAY,CAChBC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,KAGK,SAASryH,EAAK//E,GACnB,MAAMG,EAAS0I,IAAI9X,SACbggD,EAASloC,IAAID,UACZ0G,EAAO+iM,GAAYnmK,mBAAS,IAC5BomK,EAAOC,GAAYrmK,mBAASylK,EAAMa,YAClCC,EAASC,GAAcxmK,mBAAS,KAChCymK,EAASC,GAAc1mK,mBAAS,CACrC2mK,UAAW,EAAE,GAAI,GACjB79J,GAAIl/C,KAAKyO,MAAMzO,KAAK0O,SAAWotM,EAAUnkN,UAG3C,SAASqlN,IACP,IAAI99J,EAAK29J,EAAQE,UAAU,GAC3B,MAAME,EAAM,CAACJ,EAAQE,UAAU,GAAIF,EAAQE,UAAU,GAAIF,EAAQ39J,IACjE,KAAO+9J,EAAIrkM,SAASsmC,IAClBA,EAAKl/C,KAAKyO,MAAMzO,KAAK0O,SAAWotM,EAAUnkN,QAE5C,OAAOunD,EAGT,SAASg+J,IACPJ,EAAW,CACTC,UAAW,CAACF,EAAQE,UAAU,GAAIF,EAAQ39J,IAC1CA,GAAI89J,MAeR,SAASG,EAAWrzH,GAClB8yH,EAAYxkK,IACV,IAAIglK,EAAOhlK,EAGX,OAFAglK,GAAQtzH,EAAM,IAAM,IAChBszH,EAAKzlN,OAAS,KAAIylN,EAAOA,EAAKpiN,MAAM,IACjCoiN,IAwBX,IAAIC,EACJ,OAAQb,GACN,KAAKX,EAAMa,UACTW,EAAiB,kBAAC,IAAD,CAAWC,SAAU,IAAMb,EAASZ,EAAM0B,YAC3D,MACF,KAAK1B,EAAM0B,SAAU,CACnB,MAAMC,EAAW1B,EAAUe,EAAQ39J,IACnCm+J,EAAiB,kBAACG,EAAD,CAAUC,UA/C/B,WACEN,GAAW,GACP3jM,IAAUtP,EAAMoU,SAClBm+L,EAASZ,EAAM6B,OAEfjB,EAASZ,EAAMa,WACfH,EAAS/iM,EAAQ,IAEnB0jM,KAuCiDS,UA3BnD,SAAiBnkK,GACfijK,EAASZ,EAAMa,WACfS,GAAW,GAGX,MAAM73H,EAAS9rC,WAASokK,UACpBvzM,EAAO+kB,GACoB,EAA3BllB,EAAMuxM,oBAA0BpxM,EAAO+O,gBAAgB1V,IAAkBy3E,eAAe,GAAQ,GAAM,GACtG9wE,EAAO6oB,WAAWoyD,GACpBrqC,EAAO7G,SAGT8oK,KAeqE1+K,WAAYt0B,EAAMwxM,WAAaliM,EAAQ,KAC1G,MAEF,KAAKqiM,EAAM6B,KACTL,EACE,kBAAC,IAAD,CACE5B,mBAAoBvxM,EAAMuxM,mBAC1BC,WAAYxxM,EAAMwxM,WAClBC,OAAQzxM,EAAMyxM,OACdr9L,SAAUpU,EAAMoU,WAMxB,SAASu/L,IACP,OACE,kBAAC,IAAD,CAAY7+J,QAAQ,MAClB,0BAAMpS,MAAO,CAAEhjC,MAAO,SAAW+yM,EAAQ3hN,MAAM,EAAG2hN,EAAQhlN,OAAS,IAClEglN,EAAQA,EAAQhlN,OAAS,IAKhC,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAOyR,GAAI,CAAExO,EAAG,EAAG4gF,GAAI,EAAGzhE,QAAS,OAAQkmH,aAAc,SAAUL,IAAK,IACrE48E,IAAUX,EAAM6B,MACf,kBAAC,IAAD,CAAQt0M,GAAI,CAAE8iC,MAAO,QAAUmT,QAxCvC,WACEpE,EAAO7G,WAuCD,uBAIF,kBAAC,IAAD,CAAY4K,QAAQ,MAApB,SACSxlC,EADT,MACmBtP,EAAMoU,UAEzB,kBAACu/L,EAAD,OAGDR,K,6BCxJP,yIAmBA,MAAMS,EAKF,CACFvzH,QAAS,CAAEwzH,MAAO,KAAOnxM,IAAK,EAAGxJ,IAAK,GACtConF,OAAQ,CAAEuzH,MAAO,MAAOnxM,IAAK,EAAGxJ,IAAK,GACrCqnF,KAAM,CAAEszH,MAAO,KAAOnxM,IAAK,EAAGxJ,IAAK,GACnCsnF,WAAY,CAAEqzH,MAAO,IAAMnxM,IAAK,EAAGxJ,IAAK,IAGnC,SAAS64M,EAAa/xM,GAC3B,MAAMs0B,EAAyB,CAAEu/K,MAAO,EAAGnxM,IAAK,EAAGxJ,IAAK,GACxD8mF,YAAY4zH,EAAc5zM,EAAMs0B,WAAYA,GAC5C,MAAMu/K,EAAQv/K,EAAWu/K,OAClB79M,GAAUk2C,mBAiCnB,SAAoB5X,GAClB,MAAM7mC,EAAS+W,YAAO8vB,EAAW5xB,IAAK4xB,EAAWp7B,KACjD,IAAIlD,EAAS,GACb,IAAK,IAAIzI,EAAI,EAAGA,EAAIE,EAAQF,IACtBA,EAAI,IAAGyI,GAAU,KACrBA,GAAU89M,EAAMh+M,KAAKyO,MAAMzO,KAAK0O,SAAWsvM,EAAMrmN,SAGnD,OAAOuI,EAzCmB+9M,CAAWz/K,KAC9BqsJ,EAAOqzB,GAAY9nK,mBAAS,IAC7B+nK,EAAaljN,IAAOme,gBAAgB1V,IAAkBknH,iBAAiB,GAe7E,OACE,oCACE,kBAAC,IAAD,CAAWxvC,OAAQ2iI,EAAOziI,SAAUpxE,EAAMyzM,YAC1C,kBAAC,IAAD,CAAOv0M,GAAI,CAAE2Q,QAAS,OAAQkmH,aAAc,SAAUhjB,GAAI,IACxD,kBAAC,IAAD,CAAYj+D,QAAQ,MAApB,UAAkCm/J,EAA2B,GAAd,aAC/C,kBAAC,IAAD,CAAYtzH,UAdlB,SAA+Br6C,GAE7B,GADAA,EAAMsrF,iBALR,SAAgCtrF,GAC9B,OAAOA,EAAMj2C,MAAQiY,IAAI4rM,WAAc5tK,EAAM6tK,UAA0B,UAAd7tK,EAAMj2C,KAAoBi2C,EAAMuuH,SAAWvuH,EAAMkvJ,OAKtG4e,CAAuB9tK,GAAQ,OACnC,MAAM+tK,EAAY1zB,EAAQr6I,EAAMj2C,IAAIwW,cAC/B7Q,EAAO2iB,WAAW07L,GACdr+M,IAAWq+M,EAAWr0M,EAAMuzM,YAChCS,EAASK,GAFqBr0M,EAAMyzM,aAUPA,UAAWzzM,EAAMyzM,YAC/C,kBAAC,IAAD,CAAY/wK,MAAO,CAAEysB,UAAW8kJ,EAAa,OAAS,eAAiBj+M,GACvE,kBAAC,IAAD,KACG2qL,EACD,kBAAC,IAAD,SAkBV,MAAMmzB,EAAQ,CACZ,YACA,SACA,MACA,cACA,QACA,SACA,YACA,SACA,MACA,OACA,SACA,OACA,UACA,WACA,OACA,YACA,UACA,SACA,MACA,MACA,OACA,QACA,YACA,UACA,KACA,SACA,SACA,YACA,QACA,YACA,UACA,UACA,WACA,WACA,YACA,SACA,OACA,MACA,aACA,aACA,YACA,OACA,SACA,WACA,QACA,aACA,SACA,UACA,cACA,UACA,OACA,MACA,WACA,SACA,cACA,MACA,aACA,WACA,OACA,MACA,UACA,QACA,WACA,UACA,aACA,QACA,UACA,MACA,OACA,SACA,WACA,WACA,UACA,QACA,cACA,cACA,YACA,SACA,OACA,SACA,QACA,WACA,WACA,WACA,OACA,SACA,WACA,YACA,OACA,OACA,YACA,YACA,OACA,QACA,UACA,YACA,WACA,aACA,YACA,OACA,WACA,WACA,SACA,MACA,WACA,UACA,SACA,gBACA,OACA,QACA,UACA,QACA,QACA,UACA,YACA,QACA,YACA,UACA,QACA,SACA,SACA,QACA,UACA,cACA,QACA,aACA,MACA,UACA,OACA,WACA,WACA,UACA,SACA,aACA,YACA,SACA,SACA,SACA,OACA,WACA,QACA,OACA,WACA,SACA,SACA,WACA,SACA,UACA,QACA,SACA,QACA,UACA,UACA,UACA,UACA,aACA,WACA,QACA,SACA,MACA,WACA,SACA,aACA,UACA,MACA,OACA,SACA,UACA,OACA,OACA,UACA,S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","file":"main.bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([1552,1]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { PlayerObject } from \"./PersonObjects/Player/PlayerObject\";\nimport { sanitizeExploits } from \"./Exploits/Exploit\";\n\nimport { Reviver } from \"./utils/JSONReviver\";\n\nexport let Player = new PlayerObject();\n\nexport function loadPlayer(saveString: string): void {\n Player = JSON.parse(saveString, Reviver);\n Player.money = parseFloat(Player.money + \"\");\n Player.exploits = sanitizeExploits(Player.exploits);\n}\n","export enum FactionNames {\n Illuminati = \"Illuminati\",\n Daedalus = \"Daedalus\",\n TheCovenant = \"The Covenant\",\n ECorp = \"ECorp\",\n MegaCorp = \"MegaCorp\",\n BachmanAssociates = \"Bachman & Associates\",\n BladeIndustries = \"Blade Industries\",\n NWO = \"NWO\",\n ClarkeIncorporated = \"Clarke Incorporated\",\n OmniTekIncorporated = \"OmniTek Incorporated\",\n FourSigma = \"Four Sigma\",\n KuaiGongInternational = \"KuaiGong International\",\n FulcrumSecretTechnologies = \"Fulcrum Secret Technologies\",\n BitRunners = \"BitRunners\",\n TheBlackHand = \"The Black Hand\",\n NiteSec = \"NiteSec\",\n Aevum = \"Aevum\",\n Chongqing = \"Chongqing\",\n Ishima = \"Ishima\",\n NewTokyo = \"New Tokyo\",\n Sector12 = \"Sector-12\",\n Volhaven = \"Volhaven\",\n SpeakersForTheDead = \"Speakers for the Dead\",\n TheDarkArmy = \"The Dark Army\",\n TheSyndicate = \"The Syndicate\",\n Silhouette = \"Silhouette\",\n Tetrads = \"Tetrads\",\n SlumSnakes = \"Slum Snakes\",\n Netburners = \"Netburners\",\n TianDiHui = \"Tian Di Hui\",\n CyberSec = \"CyberSec\",\n Bladeburners = \"Bladeburners\",\n ChurchOfTheMachineGod = \"Church of the Machine God\",\n ShadowsOfAnarchy = \"Shadows of Anarchy\",\n}\n","import { ISelfInitializer, ISelfLoading } from \"../types\";\nimport { OwnedAugmentationsOrderSetting, PurchaseAugmentationsOrderSetting } from \"./SettingEnums\";\nimport { defaultTheme, ITheme } from \"../Themes/Themes\";\nimport { defaultStyles } from \"../Themes/Styles\";\nimport { WordWrapOptions } from \"../ScriptEditor/ui/Options\";\nimport { OverviewSettings } from \"../ui/React/Overview\";\nimport { IStyleSettings } from \"../ScriptEditor/NetscriptDefinitions\";\nimport { defaultMonacoTheme, IScriptEditorTheme } from \"../ScriptEditor/ui/themes\";\n\n/**\n * Represents the default settings the player could customize.\n */\ninterface IDefaultSettings {\n /**\n * How many servers per page\n */\n ActiveScriptsServerPageSize: number;\n /**\n * How many scripts per page\n */\n ActiveScriptsScriptPageSize: number;\n /**\n * How often the game should autosave the player's progress, in seconds.\n */\n AutosaveInterval: number;\n\n /**\n * How many milliseconds between execution points for Netscript 1 statements.\n */\n CodeInstructionRunTime: number;\n\n /**\n * Render city as list of buttons.\n */\n DisableASCIIArt: boolean;\n\n /**\n * Whether global keyboard shortcuts should be recognized throughout the game.\n */\n DisableHotkeys: boolean;\n\n /**\n * Whether text effects such as corruption should be visible.\n */\n DisableTextEffects: boolean;\n\n /**\n * Whether overview progress bars should be visible.\n */\n DisableOverviewProgressBars: boolean;\n\n /**\n * Enable bash hotkeys\n */\n EnableBashHotkeys: boolean;\n\n /**\n * Timestamps format\n */\n TimestampsFormat: string;\n\n /**\n * Locale used for display numbers\n */\n Locale: string;\n\n /**\n * Limit the number of recently killed script entries being tracked.\n */\n MaxRecentScriptsCapacity: number;\n\n /**\n * Limit the number of log entries for each script being executed on each server.\n */\n MaxLogCapacity: number;\n\n /**\n * Limit how many entries can be written to a Netscript Port before entries start to get pushed out.\n */\n MaxPortCapacity: number;\n\n /**\n * Limit the number of entries in the terminal.\n */\n MaxTerminalCapacity: number;\n\n /**\n * Save the game when you save any file.\n */\n SaveGameOnFileSave: boolean;\n\n /**\n * Whether the player should be asked to confirm purchasing each and every augmentation.\n */\n SuppressBuyAugmentationConfirmation: boolean;\n\n /**\n * Whether the user should be prompted to join each faction via a dialog box.\n */\n SuppressFactionInvites: boolean;\n\n /**\n * Whether the user should be shown a dialog box whenever they receive a new message file.\n */\n SuppressMessages: boolean;\n\n /**\n * Whether the user should be asked to confirm travelling between cities.\n */\n SuppressTravelConfirmation: boolean;\n\n /**\n * Whether the user should be displayed a popup message when his Bladeburner actions are cancelled.\n */\n SuppressBladeburnerPopup: boolean;\n\n /**\n * Whether the user should be displayed a popup message on stock market actions.\n */\n SuppressTIXPopup: boolean;\n\n /**\n * Whether the user should be displayed a toast alert when the game is saved.\n */\n SuppressSavedGameToast: boolean;\n\n /**\n * Whether the user should be displayed a toast warning when the autosave is disabled.\n */\n SuppressAutosaveDisabledWarnings: boolean;\n\n /*\n * Whether the game should skip saving the running scripts for late game\n */\n ExcludeRunningScriptsFromSave: boolean;\n\n /*\n * Theme colors\n */\n theme: ITheme;\n\n /*\n * Interface styles\n */\n styles: IStyleSettings;\n\n /*\n * Use GiB instead of GB\n */\n UseIEC60027_2: boolean;\n\n /*\n * Character overview settings\n */\n overview: OverviewSettings;\n\n /**\n * If the game's sidebar is opened\n */\n IsSidebarOpened: boolean;\n\n /**\n * Script editor theme data\n */\n EditorTheme: IScriptEditorTheme;\n}\n\n/**\n * Represents all possible settings the player wants to customize to their play style.\n */\ninterface ISettings extends IDefaultSettings {\n /**\n * What order the player's owned Augmentations/Source Files should be displayed in\n */\n OwnedAugmentationsOrder: OwnedAugmentationsOrderSetting;\n\n /**\n * What order the Augmentations should be displayed in when purchasing from a Faction\n */\n PurchaseAugmentationsOrder: PurchaseAugmentationsOrderSetting;\n\n MonacoTheme: string;\n\n MonacoInsertSpaces: boolean;\n\n MonacoFontSize: number;\n\n MonacoVim: boolean;\n\n MonacoWordWrap: WordWrapOptions;\n}\n\nexport const defaultSettings: IDefaultSettings = {\n ActiveScriptsServerPageSize: 10,\n ActiveScriptsScriptPageSize: 10,\n AutosaveInterval: 60,\n CodeInstructionRunTime: 50,\n DisableASCIIArt: false,\n DisableHotkeys: false,\n DisableTextEffects: false,\n DisableOverviewProgressBars: false,\n EnableBashHotkeys: false,\n TimestampsFormat: \"\",\n Locale: \"en\",\n MaxRecentScriptsCapacity: 50,\n MaxLogCapacity: 50,\n MaxPortCapacity: 50,\n MaxTerminalCapacity: 500,\n SaveGameOnFileSave: true,\n SuppressBuyAugmentationConfirmation: false,\n SuppressFactionInvites: false,\n SuppressMessages: false,\n SuppressTravelConfirmation: false,\n SuppressBladeburnerPopup: false,\n SuppressTIXPopup: false,\n SuppressSavedGameToast: false,\n SuppressAutosaveDisabledWarnings: false,\n UseIEC60027_2: false,\n ExcludeRunningScriptsFromSave: false,\n IsSidebarOpened: true,\n\n theme: defaultTheme,\n styles: defaultStyles,\n overview: { x: 0, y: 0, opened: true },\n\n EditorTheme: defaultMonacoTheme,\n};\n\n/**\n * The current options the player has customized to their play style.\n */\n// tslint:disable-next-line:variable-name\nexport const Settings: ISettings & ISelfInitializer & ISelfLoading = {\n ActiveScriptsServerPageSize: defaultSettings.ActiveScriptsServerPageSize,\n ActiveScriptsScriptPageSize: defaultSettings.ActiveScriptsScriptPageSize,\n AutosaveInterval: defaultSettings.AutosaveInterval,\n CodeInstructionRunTime: 25,\n DisableASCIIArt: defaultSettings.DisableASCIIArt,\n DisableHotkeys: defaultSettings.DisableHotkeys,\n DisableTextEffects: defaultSettings.DisableTextEffects,\n DisableOverviewProgressBars: defaultSettings.DisableOverviewProgressBars,\n EnableBashHotkeys: defaultSettings.EnableBashHotkeys,\n TimestampsFormat: defaultSettings.TimestampsFormat,\n Locale: \"en\",\n MaxRecentScriptsCapacity: defaultSettings.MaxRecentScriptsCapacity,\n MaxLogCapacity: defaultSettings.MaxLogCapacity,\n MaxPortCapacity: defaultSettings.MaxPortCapacity,\n MaxTerminalCapacity: defaultSettings.MaxTerminalCapacity,\n OwnedAugmentationsOrder: OwnedAugmentationsOrderSetting.AcquirementTime,\n PurchaseAugmentationsOrder: PurchaseAugmentationsOrderSetting.Default,\n SaveGameOnFileSave: defaultSettings.SaveGameOnFileSave,\n SuppressBuyAugmentationConfirmation: defaultSettings.SuppressBuyAugmentationConfirmation,\n SuppressFactionInvites: defaultSettings.SuppressFactionInvites,\n SuppressMessages: defaultSettings.SuppressMessages,\n SuppressTravelConfirmation: defaultSettings.SuppressTravelConfirmation,\n SuppressBladeburnerPopup: defaultSettings.SuppressBladeburnerPopup,\n SuppressTIXPopup: defaultSettings.SuppressTIXPopup,\n SuppressSavedGameToast: defaultSettings.SuppressSavedGameToast,\n SuppressAutosaveDisabledWarnings: defaultSettings.SuppressAutosaveDisabledWarnings,\n UseIEC60027_2: defaultSettings.UseIEC60027_2,\n ExcludeRunningScriptsFromSave: defaultSettings.ExcludeRunningScriptsFromSave,\n IsSidebarOpened: defaultSettings.IsSidebarOpened,\n\n MonacoTheme: \"monokai\",\n MonacoInsertSpaces: false,\n MonacoFontSize: 20,\n MonacoVim: false,\n MonacoWordWrap: \"off\",\n\n theme: { ...defaultTheme },\n styles: { ...defaultStyles },\n overview: defaultSettings.overview,\n EditorTheme: { ...defaultMonacoTheme },\n init() {\n Object.assign(Settings, defaultSettings);\n },\n load(saveString: string) {\n const save = JSON.parse(saveString);\n Object.assign(Settings.theme, save.theme);\n delete save.theme;\n Object.assign(Settings.styles, save.styles);\n delete save.styles;\n Object.assign(Settings.overview, save.overview);\n delete save.overview;\n Object.assign(Settings.EditorTheme, save.EditorTheme);\n delete save.EditorTheme;\n Object.assign(Settings, save);\n },\n};\n","import numeral from \"numeral\";\nimport \"numeral/locales/bg\";\nimport \"numeral/locales/cs\";\nimport \"numeral/locales/da-dk\";\nimport \"numeral/locales/de\";\nimport \"numeral/locales/en-au\";\nimport \"numeral/locales/en-gb\";\nimport \"numeral/locales/es\";\nimport \"numeral/locales/fr\";\nimport \"numeral/locales/hu\";\nimport \"numeral/locales/it\";\nimport \"numeral/locales/lv\";\nimport \"numeral/locales/no\";\nimport \"numeral/locales/pl\";\nimport \"numeral/locales/ru\";\n\nimport { Settings } from \"../Settings/Settings\";\n\nconst extraFormats = [1e15, 1e18, 1e21, 1e24, 1e27, 1e30];\nconst extraNotations = [\"q\", \"Q\", \"s\", \"S\", \"o\", \"n\"];\nconst gigaMultiplier = { standard: 1e9, iec60027_2: 2 ** 30 };\n\nclass NumeralFormatter {\n // Default Locale\n defaultLocale = \"en\";\n\n constructor() {\n this.defaultLocale = \"en\";\n }\n\n updateLocale(l: string): boolean {\n if (numeral.locale(l) == null) {\n console.warn(`Invalid locale for numeral: ${l}`);\n\n numeral.locale(this.defaultLocale);\n return false;\n }\n return true;\n }\n\n format(n: number, format: string): string {\n // numeraljs doesnt properly format numbers that are too big or too small\n if (Math.abs(n) < 1e-6) {\n n = 0;\n }\n const answer = numeral(n).format(format);\n if (answer === \"NaN\") {\n return `${n}`;\n }\n return answer;\n }\n\n formatBigNumber(n: number): string {\n return this.format(n, \"0.000a\");\n }\n\n // TODO: leverage numeral.js to do it. This function also implies you can\n // use this format in some text field but you can't. ( \"1t\" will parse but\n // \"1s\" will not)\n formatReallyBigNumber(n: number, decimalPlaces = 3): string {\n const nAbs = Math.abs(n);\n if (n === Infinity) return \"∞\";\n for (let i = 0; i < extraFormats.length; i++) {\n if (extraFormats[i] < nAbs && nAbs <= extraFormats[i] * 1000) {\n return this.format(n / extraFormats[i], \"0.\" + \"0\".repeat(decimalPlaces)) + extraNotations[i];\n }\n }\n if (nAbs < 1000) {\n return this.format(n, \"0.\" + \"0\".repeat(decimalPlaces));\n }\n const str = this.format(n, \"0.\" + \"0\".repeat(decimalPlaces) + \"a\");\n if (str === \"NaNt\") return this.format(n, \"0.\" + \" \".repeat(decimalPlaces) + \"e+0\");\n return str;\n }\n\n formatHp(n: number): string {\n if (n < 1e6) {\n return this.format(n, \"0,0\");\n }\n return this.formatReallyBigNumber(n);\n }\n\n formatMoney(n: number): string {\n return \"$\" + this.formatReallyBigNumber(n);\n }\n\n formatSkill(n: number): string {\n if (n < 1e15) {\n return this.format(n, \"0,0\");\n }\n return this.formatReallyBigNumber(n);\n }\n\n formatExp(n: number): string {\n return this.formatReallyBigNumber(n);\n }\n\n formatHashes(n: number): string {\n return this.formatReallyBigNumber(n);\n }\n\n formatReputation(n: number): string {\n return this.formatReallyBigNumber(n);\n }\n\n formatFavor(n: number): string {\n return this.format(n, \"0,0\");\n }\n\n formatSecurity(n: number): string {\n return n.toFixed(3);\n }\n\n formatRAM(n: number): string {\n if (Settings.UseIEC60027_2) {\n return this.format(n * gigaMultiplier.iec60027_2, \"0.00ib\");\n }\n return this.format(n * gigaMultiplier.standard, \"0.00b\");\n }\n\n formatPercentage(n: number, decimalPlaces = 2): string {\n const formatter: string = \"0.\" + \"0\".repeat(decimalPlaces) + \"%\";\n return this.format(n, formatter);\n }\n\n formatServerSecurity(n: number): string {\n return this.format(n, \"0,0.000\");\n }\n\n formatRespect(n: number): string {\n return this.formatReallyBigNumber(n, 5);\n }\n\n formatWanted(n: number): string {\n return this.formatReallyBigNumber(n, 5);\n }\n\n formatMultiplier(n: number): string {\n return this.format(n, \"0,0.00\");\n }\n\n formatSleeveShock(n: number): string {\n return this.format(n, \"0,0.000\");\n }\n\n formatSleeveSynchro(n: number): string {\n return this.format(n, \"0,0.000\");\n }\n\n formatSleeveMemory(n: number): string {\n return this.format(n, \"0\");\n }\n\n formatPopulation(n: number): string {\n return this.format(n, \"0.000a\");\n }\n\n formatStamina(n: number): string {\n return this.format(n, \"0.0\");\n }\n\n formatShares(n: number): string {\n if (n < 1000) {\n return this.format(n, \"0\");\n }\n return this.formatReallyBigNumber(n);\n }\n\n formatInfiltrationSecurity(n: number): string {\n return this.formatReallyBigNumber(n);\n }\n\n formatThreads(n: number): string {\n return this.format(n, \"0,0\");\n }\n\n formatStaneksGiftHeat(n: number): string {\n return this.format(n, \"0.000a\");\n }\n\n formatStaneksGiftCharge(n: number): string {\n return this.format(n, \"0.000a\");\n }\n\n formatStaneksGiftPower(n: number): string {\n return this.format(n, \"0.00\");\n }\n\n parseCustomLargeNumber(str: string): number {\n const numericRegExp = new RegExp(\"^(-?\\\\d+\\\\.?\\\\d*)([\" + extraNotations.join(\"\") + \"]?)$\");\n const match = str.match(numericRegExp);\n if (match == null) {\n return NaN;\n }\n const [, number, notation] = match;\n const notationIndex = extraNotations.indexOf(notation);\n if (notationIndex === -1) {\n return NaN;\n }\n return parseFloat(number) * extraFormats[notationIndex];\n }\n\n largestAbsoluteNumber(n1: number, n2 = 0, n3 = 0): number {\n if (isNaN(n1)) n1 = 0;\n if (isNaN(n2)) n2 = 0;\n if (isNaN(n3)) n3 = 0;\n const largestAbsolute = Math.max(Math.abs(n1), Math.abs(n2), Math.abs(n3));\n switch (largestAbsolute) {\n case Math.abs(n1):\n return n1;\n case Math.abs(n2):\n return n2;\n case Math.abs(n3):\n return n3;\n }\n return 0;\n }\n\n parseMoney(s: string): number {\n // numeral library does not handle formats like 1s (returns 1) and 1e10 (returns 110) well,\n // so if more then 1 return a valid number, return the one farthest from 0\n const numeralValue = numeral(s).value();\n const parsed = parseFloat(s);\n const selfParsed = this.parseCustomLargeNumber(s);\n // Check for one or more NaN values\n if (isNaN(parsed) && isNaN(selfParsed)) {\n if (numeralValue === null) {\n // 3x NaN\n return NaN;\n }\n // 2x NaN\n return numeralValue;\n } else if (numeralValue === null && isNaN(selfParsed)) {\n // 2x NaN\n return parsed;\n } else if (isNaN(parsed)) {\n if (numeralValue === null) {\n // 2x NaN\n return selfParsed;\n }\n // 1x NaN\n return this.largestAbsoluteNumber(numeralValue, selfParsed);\n } else if (numeralValue === null) {\n // 1x NaN\n return this.largestAbsoluteNumber(parsed, selfParsed);\n } else if (isNaN(selfParsed)) {\n // 1x NaN\n return this.largestAbsoluteNumber(numeralValue, parsed);\n } else {\n // no NaN\n return this.largestAbsoluteNumber(numeralValue, parsed, selfParsed);\n }\n }\n}\n\nexport const numeralWrapper = new NumeralFormatter();\n","/**\n * Names of all locations\n */\nexport enum LocationName {\n // Aevum Locations\n AevumAeroCorp = \"AeroCorp\",\n AevumBachmanAndAssociates = \"Bachman & Associates\",\n AevumClarkeIncorporated = \"Clarke Incorporated\",\n AevumCrushFitnessGym = \"Crush Fitness Gym\",\n AevumECorp = \"ECorp\",\n AevumFulcrumTechnologies = \"Fulcrum Technologies\",\n AevumGalacticCybersystems = \"Galactic Cybersystems\",\n AevumNetLinkTechnologies = \"NetLink Technologies\",\n AevumPolice = \"Aevum Police Headquarters\",\n AevumRhoConstruction = \"Rho Construction\",\n AevumSnapFitnessGym = \"Snap Fitness Gym\",\n AevumSummitUniversity = \"Summit University\",\n AevumWatchdogSecurity = \"Watchdog Security\",\n AevumCasino = \"Iker Molina Casino\",\n\n // Chongqing locations\n ChongqingKuaiGongInternational = \"KuaiGong International\",\n ChongqingSolarisSpaceSystems = \"Solaris Space Systems\",\n ChongqingChurchOfTheMachineGod = \"Church of the Machine God\",\n\n // Sector 12\n Sector12AlphaEnterprises = \"Alpha Enterprises\",\n Sector12BladeIndustries = \"Blade Industries\",\n Sector12CIA = \"Central Intelligence Agency\",\n Sector12CarmichaelSecurity = \"Carmichael Security\",\n Sector12CityHall = \"Sector-12 City Hall\",\n Sector12DeltaOne = \"DeltaOne\",\n Sector12FoodNStuff = \"FoodNStuff\",\n Sector12FourSigma = \"Four Sigma\",\n Sector12IcarusMicrosystems = \"Icarus Microsystems\",\n Sector12IronGym = \"Iron Gym\",\n Sector12JoesGuns = \"Joe's Guns\",\n Sector12MegaCorp = \"MegaCorp\",\n Sector12NSA = \"National Security Agency\",\n Sector12PowerhouseGym = \"Powerhouse Gym\",\n Sector12RothmanUniversity = \"Rothman University\",\n Sector12UniversalEnergy = \"Universal Energy\",\n\n // New Tokyo\n NewTokyoDefComm = \"DefComm\",\n NewTokyoGlobalPharmaceuticals = \"Global Pharmaceuticals\",\n NewTokyoNoodleBar = \"Noodle Bar\",\n NewTokyoVitaLife = \"VitaLife\",\n NewTokyoArcade = \"Arcade\",\n\n // Ishima\n IshimaNovaMedical = \"Nova Medical\",\n IshimaOmegaSoftware = \"Omega Software\",\n IshimaStormTechnologies = \"Storm Technologies\",\n IshimaGlitch = \"0x6C1\",\n\n // Volhaven\n VolhavenCompuTek = \"CompuTek\",\n VolhavenHeliosLabs = \"Helios Labs\",\n VolhavenLexoCorp = \"LexoCorp\",\n VolhavenMilleniumFitnessGym = \"Millenium Fitness Gym\",\n VolhavenNWO = \"NWO\",\n VolhavenOmniTekIncorporated = \"OmniTek Incorporated\",\n VolhavenOmniaCybersystems = \"Omnia Cybersystems\",\n VolhavenSysCoreSecurities = \"SysCore Securities\",\n VolhavenZBInstituteOfTechnology = \"ZB Institute of Technology\",\n\n // Generic locations\n Hospital = \"Hospital\",\n Slums = \"The Slums\",\n TravelAgency = \"Travel Agency\",\n WorldStockExchange = \"World Stock Exchange\",\n\n // Default name for Location objects\n Void = \"The Void\",\n}\n","export enum AugmentationNames {\n Targeting1 = \"Augmented Targeting I\",\n Targeting2 = \"Augmented Targeting II\",\n Targeting3 = \"Augmented Targeting III\",\n SyntheticHeart = \"Synthetic Heart\",\n SynfibrilMuscle = \"Synfibril Muscle\",\n CombatRib1 = \"Combat Rib I\",\n CombatRib2 = \"Combat Rib II\",\n CombatRib3 = \"Combat Rib III\",\n NanofiberWeave = \"Nanofiber Weave\",\n SubdermalArmor = \"NEMEAN Subdermal Weave\",\n WiredReflexes = \"Wired Reflexes\",\n GrapheneBoneLacings = \"Graphene Bone Lacings\",\n BionicSpine = \"Bionic Spine\",\n GrapheneBionicSpine = \"Graphene Bionic Spine Upgrade\",\n BionicLegs = \"Bionic Legs\",\n GrapheneBionicLegs = \"Graphene Bionic Legs Upgrade\",\n SpeechProcessor = \"Speech Processor Implant\",\n TITN41Injection = \"TITN-41 Gene-Modification Injection\",\n EnhancedSocialInteractionImplant = \"Enhanced Social Interaction Implant\",\n BitWire = \"BitWire\",\n ArtificialBioNeuralNetwork = \"Artificial Bio-neural Network Implant\",\n ArtificialSynapticPotentiation = \"Artificial Synaptic Potentiation\",\n EnhancedMyelinSheathing = \"Enhanced Myelin Sheathing\",\n SynapticEnhancement = \"Synaptic Enhancement Implant\",\n NeuralRetentionEnhancement = \"Neural-Retention Enhancement\",\n DataJack = \"DataJack\",\n ENM = \"Embedded Netburner Module\",\n ENMCore = \"Embedded Netburner Module Core Implant\",\n ENMCoreV2 = \"Embedded Netburner Module Core V2 Upgrade\",\n ENMCoreV3 = \"Embedded Netburner Module Core V3 Upgrade\",\n ENMAnalyzeEngine = \"Embedded Netburner Module Analyze Engine\",\n ENMDMA = \"Embedded Netburner Module Direct Memory Access Upgrade\",\n Neuralstimulator = \"Neuralstimulator\",\n NeuralAccelerator = \"Neural Accelerator\",\n CranialSignalProcessorsG1 = \"Cranial Signal Processors - Gen I\",\n CranialSignalProcessorsG2 = \"Cranial Signal Processors - Gen II\",\n CranialSignalProcessorsG3 = \"Cranial Signal Processors - Gen III\",\n CranialSignalProcessorsG4 = \"Cranial Signal Processors - Gen IV\",\n CranialSignalProcessorsG5 = \"Cranial Signal Processors - Gen V\",\n NeuronalDensification = \"Neuronal Densification\",\n NeuroreceptorManager = \"Neuroreceptor Management Implant\",\n NuoptimalInjectorImplant = \"Nuoptimal Nootropic Injector Implant\",\n SpeechEnhancement = \"Speech Enhancement\",\n FocusWire = \"FocusWire\",\n PCDNI = \"PC Direct-Neural Interface\",\n PCDNIOptimizer = \"PC Direct-Neural Interface Optimization Submodule\",\n PCDNINeuralNetwork = \"PC Direct-Neural Interface NeuroNet Injector\",\n PCMatrix = \"PCMatrix\",\n ADRPheromone1 = \"ADR-V1 Pheromone Gene\",\n ADRPheromone2 = \"ADR-V2 Pheromone Gene\",\n ShadowsSimulacrum = \"The Shadow's Simulacrum\",\n HacknetNodeCPUUpload = \"Hacknet Node CPU Architecture Neural-Upload\",\n HacknetNodeCacheUpload = \"Hacknet Node Cache Architecture Neural-Upload\",\n HacknetNodeNICUpload = \"Hacknet Node NIC Architecture Neural-Upload\",\n HacknetNodeKernelDNI = \"Hacknet Node Kernel Direct-Neural Interface\",\n HacknetNodeCoreDNI = \"Hacknet Node Core Direct-Neural Interface\",\n NeuroFluxGovernor = \"NeuroFlux Governor\",\n Neurotrainer1 = \"Neurotrainer I\",\n Neurotrainer2 = \"Neurotrainer II\",\n Neurotrainer3 = \"Neurotrainer III\",\n Hypersight = \"HyperSight Corneal Implant\",\n LuminCloaking1 = \"LuminCloaking-V1 Skin Implant\",\n LuminCloaking2 = \"LuminCloaking-V2 Skin Implant\",\n HemoRecirculator = \"HemoRecirculator\",\n SmartSonar = \"SmartSonar Implant\",\n PowerRecirculator = \"Power Recirculation Core\",\n QLink = \"QLink\",\n TheRedPill = \"The Red Pill\",\n SPTN97 = \"SPTN-97 Gene Modification\",\n HiveMind = \"ECorp HVMind Implant\",\n CordiARCReactor = \"CordiARC Fusion Reactor\",\n SmartJaw = \"SmartJaw\",\n Neotra = \"Neotra\",\n Xanipher = \"Xanipher\",\n nextSENS = \"nextSENS Gene Modification\",\n OmniTekInfoLoad = \"OmniTek InfoLoad\",\n PhotosyntheticCells = \"Photosynthetic Cells\",\n Neurolink = \"BitRunners Neurolink\",\n TheBlackHand = \"The Black Hand\",\n UnstableCircadianModulator = \"Unstable Circadian Modulator\",\n CRTX42AA = \"CRTX42-AA Gene Modification\",\n Neuregen = \"Neuregen Gene Modification\",\n CashRoot = \"CashRoot Starter Kit\",\n NutriGen = \"NutriGen Implant\",\n INFRARet = \"INFRARET Enhancement\",\n DermaForce = \"DermaForce Particle Barrier\",\n GrapheneBrachiBlades = \"Graphene BrachiBlades Upgrade\",\n GrapheneBionicArms = \"Graphene Bionic Arms Upgrade\",\n BrachiBlades = \"BrachiBlades\",\n BionicArms = \"Bionic Arms\",\n SNA = \"Social Negotiation Assistant (S.N.A)\",\n HydroflameLeftArm = \"Hydroflame Left Arm\",\n CongruityImplant = \"nickofolas Congruity Implant\",\n EsperEyewear = \"EsperTech Bladeburner Eyewear\",\n EMS4Recombination = \"EMS-4 Recombination\",\n OrionShoulder = \"ORION-MKIV Shoulder\",\n HyperionV1 = \"Hyperion Plasma Cannon V1\",\n HyperionV2 = \"Hyperion Plasma Cannon V2\",\n GolemSerum = \"GOLEM Serum\",\n VangelisVirus = \"Vangelis Virus\",\n VangelisVirus3 = \"Vangelis Virus 3.0\",\n INTERLINKED = \"I.N.T.E.R.L.I.N.K.E.D\",\n BladeRunner = \"Blade's Runners\",\n BladeArmor = \"BLADE-51b Tesla Armor\",\n BladeArmorPowerCells = \"BLADE-51b Tesla Armor: Power Cells Upgrade\",\n BladeArmorEnergyShielding = \"BLADE-51b Tesla Armor: Energy Shielding Upgrade\",\n BladeArmorUnibeam = \"BLADE-51b Tesla Armor: Unibeam Upgrade\",\n BladeArmorOmnibeam = \"BLADE-51b Tesla Armor: Omnibeam Upgrade\",\n BladeArmorIPU = \"BLADE-51b Tesla Armor: IPU Upgrade\",\n BladesSimulacrum = \"The Blade's Simulacrum\",\n\n StaneksGift1 = \"Stanek's Gift - Genesis\",\n StaneksGift2 = \"Stanek's Gift - Awakening\",\n StaneksGift3 = \"Stanek's Gift - Serenity\",\n\n // Infiltrators MiniGames\n MightOfAres = \"SoA - Might of Ares\", // slash\n WisdomOfAthena = \"SoA - Wisdom of Athena\", // bracket\n TrickeryOfHermes = \"SoA - Trickery of Hermes\", // cheatcode\n BeautyOfAphrodite = \"SoA - Beauty of Aphrodite\", // bribe\n ChaosOfDionysus = \"SoA - Chaos of Dionysus\", // reverse\n FloodOfPoseidon = \"SoA - Flood of Poseidon\", // hex\n HuntOfArtemis = \"SoA - Hunt of Artemis\", // mine\n KnowledgeOfApollo = \"SoA - Knowledge of Apollo\", // wire\n WKSharmonizer = \"SoA - phyzical WKS harmonizer\",\n}\n","/**\n * Generic Game Constants\n *\n * Constants for specific mechanics or features will NOT be here.\n */\nexport const CONSTANTS: {\n VersionString: string;\n VersionNumber: number;\n _idleSpeed: number;\n MaxSkillLevel: number;\n MilliPerCycle: number;\n CorpFactionRepRequirement: number;\n BaseFocusBonus: number;\n BaseCostFor1GBOfRamHome: number;\n BaseCostFor1GBOfRamServer: number;\n TravelCost: number;\n BaseFavorToDonate: number;\n DonateMoneyToRepDivisor: number;\n FactionReputationToFavorBase: number;\n FactionReputationToFavorMult: number;\n CompanyReputationToFavorBase: number;\n CompanyReputationToFavorMult: number;\n NeuroFluxGovernorLevelMult: number;\n NumNetscriptPorts: number;\n HomeComputerMaxRam: number;\n ServerBaseGrowthRate: number;\n ServerMaxGrowthRate: number;\n ServerFortifyAmount: number;\n ServerWeakenAmount: number;\n PurchasedServerLimit: number;\n PurchasedServerMaxRam: number;\n MultipleAugMultiplier: number;\n TorRouterCost: number;\n WSEAccountCost: number;\n TIXAPICost: number;\n MarketData4SCost: number;\n MarketDataTixApi4SCost: number;\n StockMarketCommission: number;\n HospitalCostPerHp: number;\n IntelligenceCrimeWeight: number;\n IntelligenceInfiltrationWeight: number;\n IntelligenceCrimeBaseExpGain: number;\n IntelligenceProgramBaseExpGain: number;\n IntelligenceGraftBaseExpGain: number;\n IntelligenceTerminalHackBaseExpGain: number;\n IntelligenceSingFnBaseExpGain: number;\n IntelligenceClassBaseExpGain: number;\n MillisecondsPer20Hours: number;\n GameCyclesPer20Hours: number;\n MillisecondsPer10Hours: number;\n GameCyclesPer10Hours: number;\n MillisecondsPer8Hours: number;\n GameCyclesPer8Hours: number;\n MillisecondsPer4Hours: number;\n GameCyclesPer4Hours: number;\n MillisecondsPer2Hours: number;\n GameCyclesPer2Hours: number;\n MillisecondsPerHour: number;\n GameCyclesPerHour: number;\n MillisecondsPerHalfHour: number;\n GameCyclesPerHalfHour: number;\n MillisecondsPerQuarterHour: number;\n GameCyclesPerQuarterHour: number;\n MillisecondsPerFiveMinutes: number;\n GameCyclesPerFiveMinutes: number;\n ClassDataStructuresBaseCost: number;\n ClassNetworksBaseCost: number;\n ClassAlgorithmsBaseCost: number;\n ClassManagementBaseCost: number;\n ClassLeadershipBaseCost: number;\n ClassGymBaseCost: number;\n ClassStudyComputerScienceBaseExp: number;\n ClassDataStructuresBaseExp: number;\n ClassNetworksBaseExp: number;\n ClassAlgorithmsBaseExp: number;\n ClassManagementBaseExp: number;\n ClassLeadershipBaseExp: number;\n CodingContractBaseFactionRepGain: number;\n CodingContractBaseCompanyRepGain: number;\n CodingContractBaseMoneyGain: number;\n AugmentationGraftingCostMult: number;\n AugmentationGraftingTimeBase: number;\n SoACostMult: number;\n SoARepMult: number;\n EntropyEffect: number;\n TotalNumBitNodes: number;\n InfiniteLoopLimit: number;\n Donations: number; // number of blood/plasma/palette donation the dev have verified., boosts NFG\n LatestUpdate: string;\n} = {\n VersionString: \"2.0.0\",\n VersionNumber: 21,\n\n // Speed (in ms) at which the main loop is updated\n _idleSpeed: 200,\n\n /** Max level for any skill, assuming no multipliers. Determined by max numerical value in javascript for experience\n * and the skill level formula in Player.js. Note that all this means it that when experience hits MAX_INT, then\n * the player will have this level assuming no multipliers. Multipliers can cause skills to go above this.\n */\n MaxSkillLevel: 975,\n\n // Milliseconds per game cycle\n MilliPerCycle: 200,\n\n // How much reputation is needed to join a megacorporation's faction\n CorpFactionRepRequirement: 400e3,\n\n // Base RAM costs\n BaseCostFor1GBOfRamHome: 32000,\n BaseCostFor1GBOfRamServer: 55000, //1 GB of RAM\n\n // Cost to travel to another city\n TravelCost: 200e3,\n\n // Faction and Company favor-related things\n BaseFavorToDonate: 150,\n DonateMoneyToRepDivisor: 1e6,\n FactionReputationToFavorBase: 500,\n FactionReputationToFavorMult: 1.02,\n CompanyReputationToFavorBase: 500,\n CompanyReputationToFavorMult: 1.02,\n\n // NeuroFlux Governor Augmentation cost multiplier\n NeuroFluxGovernorLevelMult: 1.14,\n\n NumNetscriptPorts: 20,\n\n // Server-related constants\n HomeComputerMaxRam: 1073741824, // 2 ^ 30\n ServerBaseGrowthRate: 1.03, // Unadjusted Growth rate\n ServerMaxGrowthRate: 1.0035, // Maximum possible growth rate (max rate accounting for server security)\n ServerFortifyAmount: 0.002, // Amount by which server's security increases when its hacked/grown\n ServerWeakenAmount: 0.05, // Amount by which server's security decreases when weakened\n\n PurchasedServerLimit: 25,\n PurchasedServerMaxRam: 1048576, // 2^20\n\n // Augmentation Constants\n MultipleAugMultiplier: 1.9,\n\n // TOR Router\n TorRouterCost: 200e3,\n\n // Stock market\n WSEAccountCost: 200e6,\n TIXAPICost: 5e9,\n MarketData4SCost: 1e9,\n MarketDataTixApi4SCost: 25e9,\n StockMarketCommission: 100e3,\n\n // Hospital/Health\n HospitalCostPerHp: 100e3,\n\n // Intelligence-related constants\n IntelligenceCrimeWeight: 0.025, // Weight for how much int affects crime success rates\n IntelligenceInfiltrationWeight: 0.1, // Weight for how much int affects infiltration success rates\n IntelligenceCrimeBaseExpGain: 0.05,\n IntelligenceProgramBaseExpGain: 0.1, // Program required hack level divided by this to determine int exp gain\n IntelligenceGraftBaseExpGain: 0.05,\n IntelligenceTerminalHackBaseExpGain: 200, // Hacking exp divided by this to determine int exp gain\n IntelligenceSingFnBaseExpGain: 1.5,\n IntelligenceClassBaseExpGain: 0.01,\n\n // Time-related constants\n MillisecondsPer20Hours: 72000000,\n GameCyclesPer20Hours: 72000000 / 200,\n\n MillisecondsPer10Hours: 36000000,\n GameCyclesPer10Hours: 36000000 / 200,\n\n MillisecondsPer8Hours: 28800000,\n GameCyclesPer8Hours: 28800000 / 200,\n\n MillisecondsPer4Hours: 14400000,\n GameCyclesPer4Hours: 14400000 / 200,\n\n MillisecondsPer2Hours: 7200000,\n GameCyclesPer2Hours: 7200000 / 200,\n\n MillisecondsPerHour: 3600000,\n GameCyclesPerHour: 3600000 / 200,\n\n MillisecondsPerHalfHour: 1800000,\n GameCyclesPerHalfHour: 1800000 / 200,\n\n MillisecondsPerQuarterHour: 900000,\n GameCyclesPerQuarterHour: 900000 / 200,\n\n MillisecondsPerFiveMinutes: 300000,\n GameCyclesPerFiveMinutes: 300000 / 200,\n\n // Player Work & Action\n BaseFocusBonus: 0.8,\n\n ClassDataStructuresBaseCost: 40,\n ClassNetworksBaseCost: 80,\n ClassAlgorithmsBaseCost: 320,\n ClassManagementBaseCost: 160,\n ClassLeadershipBaseCost: 320,\n ClassGymBaseCost: 120,\n\n ClassStudyComputerScienceBaseExp: 0.5,\n ClassDataStructuresBaseExp: 1,\n ClassNetworksBaseExp: 2,\n ClassAlgorithmsBaseExp: 4,\n ClassManagementBaseExp: 2,\n ClassLeadershipBaseExp: 4,\n\n // Coding Contract\n // TODO: Move this into Coding contract implementation?\n CodingContractBaseFactionRepGain: 2500,\n CodingContractBaseCompanyRepGain: 4000,\n CodingContractBaseMoneyGain: 75e6,\n\n // Augmentation grafting multipliers\n AugmentationGraftingCostMult: 3,\n AugmentationGraftingTimeBase: 3600000,\n\n // SoA mults\n SoACostMult: 7,\n SoARepMult: 1.3,\n\n // Value raised to the number of entropy stacks, then multiplied to player multipliers\n EntropyEffect: 0.98,\n\n // BitNode/Source-File related stuff\n TotalNumBitNodes: 24,\n\n InfiniteLoopLimit: 2000,\n\n Donations: 21,\n\n LatestUpdate: `\nv2.0.0 - 2022-07-19 Work rework\n-------------------------------\n\n API break rewards\n\n * Everyone is awarded 10 NFG.\n * All work in progress program is auto completed.\n * All work in progress crafting is auto completed without adding entropy.\n\n Work (Create program / Work for faction / Studying / etc ...)\n\n * Working has been rebuilt from the grounds up. The motivation for that change is that all\n different types of work all required different cached variables on the main Player object.\n This caused a lot of bugs and crashes. It's been reworked in such a way as to prevent bugs\n and make it nearly trivial to add new kinds of work. However, since this caused a few API break\n I've decided to mark this version following semver protocols and call it 2.0.0\n * Crime can be unfocused and auto loops, no more spam clicking.\n * All work type give their reward immediately. No need to stop work to bank rewards like reputation.\n * Faction and Company work no longer have a time limit.\n * Company work no longer reduces rep gain by half for quitting early.\n * Company faction require 400k rep to join (from 200k)\n * Backdooring company server reduces faction requirement to 300k.\n * All work generally no longer keep track of cumulative gains like exp and reputation since it's applied instantly.\n * getPlayer returns way less fields but does return the new 'currentWork' field.\n\n API breaks\n\n * workForCompany argument 'companyName' is now not-optional\n * commitCrime now has 'focus' optional parameter\n * using getScriptIncome to get total income has been separated to getTotalScriptIncome.\n * using getScriptExpGain to get total income has been separated to getTotalScriptExpGain.\n\n Multipliers\n\n * The main player object was also plagues with a million fields all called '*_mult'. Representing the different multipliers\n * These have been refactored in a field called 'mults'.\n\n Misc. \n\n * Nerf noodle bar, obviously.\n\n`,\n};\n","import { AlertEvents } from \"./AlertManager\";\n\nimport React from \"react\";\nimport { SxProps } from \"@mui/system\";\nimport { Typography } from \"@mui/material\";\n\nexport function dialogBoxCreate(txt: string | JSX.Element, styles?: SxProps): void {\n if (typeof txt !== \"string\") {\n AlertEvents.emit(txt);\n } else {\n AlertEvents.emit();\n }\n}\n","/**\n * All possible Cities in the game. Names only, not actual \"City\" object\n * Implemented as an enum for typing purposes\n */\nexport enum CityName {\n Aevum = \"Aevum\",\n Chongqing = \"Chongqing\",\n Ishima = \"Ishima\",\n NewTokyo = \"New Tokyo\",\n Sector12 = \"Sector-12\",\n Volhaven = \"Volhaven\",\n}\n","import * as React from \"react\";\nimport { numeralWrapper } from \"../numeralFormat\";\nimport { IPlayer } from \"../../PersonObjects/IPlayer\";\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n unbuyable: {\n color: theme.palette.action.disabled,\n },\n money: {\n color: theme.colors.money,\n },\n }),\n);\n\ninterface IProps {\n money: number | string;\n player?: IPlayer;\n}\nexport function Money(props: IProps): React.ReactElement {\n const classes = useStyles();\n if (props.player !== undefined) {\n if (typeof props.money !== \"number\") throw new Error(\"if player if provided, money should be number, contact dev\");\n if (!props.player.canAfford(props.money))\n return {numeralWrapper.formatMoney(props.money)};\n }\n return (\n \n {typeof props.money === \"number\" ? numeralWrapper.formatMoney(props.money) : props.money}\n \n );\n}\n","import { defaultMultipliers } from \"./BitNode\";\n\n/**\n * Bitnode multipliers influence the difficulty of different aspects of the game.\n * Each Bitnode has a different theme/strategy to achieving the end goal, so these multipliers will can help drive the\n * player toward the intended strategy. Unless they really want to play the long, slow game of waiting...\n */\nexport interface IBitNodeMultipliers {\n /**\n * Influences how quickly the player's agility level (not exp) scales\n */\n AgilityLevelMultiplier: number;\n\n /**\n * Influences the base cost to purchase an augmentation.\n */\n AugmentationMoneyCost: number;\n\n /**\n * Influences the base rep the player must have with a faction to purchase an augmentation.\n */\n AugmentationRepCost: number;\n\n /**\n * Influences how quickly the player can gain rank within Bladeburner.\n */\n BladeburnerRank: number;\n\n /**\n * Influences the cost of skill levels from Bladeburner.\n */\n BladeburnerSkillCost: number;\n\n /**\n * Influences how quickly the player's charisma level (not exp) scales\n */\n CharismaLevelMultiplier: number;\n\n /**\n * Influences the experience gained for each ability when a player completes a class.\n */\n ClassGymExpGain: number;\n\n /**\n * Influences the amount of money gained from completing Coding Contracts\n **/\n CodingContractMoney: number;\n\n /**\n * Influences the experience gained for each ability when the player completes working their job.\n */\n CompanyWorkExpGain: number;\n\n /**\n * Influences how much money the player earns when completing working their job.\n */\n CompanyWorkMoney: number;\n\n /**\n * Influences the valuation of corporations created by the player.\n */\n CorporationValuation: number;\n\n /**\n * Influences the base experience gained for each ability when the player commits a crime.\n */\n CrimeExpGain: number;\n\n /**\n * Influences the base money gained when the player commits a crime.\n */\n CrimeMoney: number;\n\n /**\n * Influences how many Augmentations you need in order to get invited to the Daedalus faction\n */\n DaedalusAugsRequirement: number;\n\n /**\n * Influences how quickly the player's defense level (not exp) scales\n */\n DefenseLevelMultiplier: number;\n\n /**\n * Influences how quickly the player's dexterity level (not exp) scales\n */\n DexterityLevelMultiplier: number;\n\n /**\n * Influences how much rep the player gains in each faction simply by being a member.\n */\n FactionPassiveRepGain: number;\n\n /**\n * Influences the experience gained for each ability when the player completes work for a Faction.\n */\n FactionWorkExpGain: number;\n\n /**\n * Influences how much rep the player gains when performing work for a faction.\n */\n FactionWorkRepGain: number;\n\n /**\n * Influences how much it costs to unlock the stock market's 4S Market Data API\n */\n FourSigmaMarketDataApiCost: number;\n\n /**\n * Influences how much it costs to unlock the stock market's 4S Market Data (NOT API)\n */\n FourSigmaMarketDataCost: number;\n\n /**\n * Reduces gangs earning.\n */\n GangSoftcap: number;\n\n /**\n * Percentage of unique augs that the gang has.\n */\n GangUniqueAugs: number;\n\n /**\n * Influences the experienced gained when hacking a server.\n */\n HackExpGain: number;\n\n /**\n * Influences how quickly the player's hacking level (not experience) scales\n */\n HackingLevelMultiplier: number;\n\n /**\n * Influences how much money is produced by Hacknet Nodes.\n * Influeces the hash rate of Hacknet Servers (unlocked in BitNode-9)\n */\n HacknetNodeMoney: number;\n\n /**\n * Influences how much money it costs to upgrade your home computer's RAM\n */\n HomeComputerRamCost: number;\n\n /**\n * Influences how much money is gained when the player infiltrates a company.\n */\n InfiltrationMoney: number;\n\n /**\n * Influences how much rep the player can gain from factions when selling stolen documents and secrets\n */\n InfiltrationRep: number;\n\n /**\n * Influences how much money can be stolen from a server when the player performs a hack against it through\n * the Terminal.\n */\n ManualHackMoney: number;\n\n /**\n * Influence how much it costs to purchase a server\n */\n PurchasedServerCost: number;\n\n /**\n * Influence how much it costs to purchase a server\n */\n PurchasedServerSoftcap: number;\n\n /**\n * Influences the maximum number of purchased servers you can have\n */\n PurchasedServerLimit: number;\n\n /**\n * Influences the maximum allowed RAM for a purchased server\n */\n PurchasedServerMaxRam: number;\n /**\n * Influences the minimum favor the player must have with a faction before they can donate to gain rep.\n */\n RepToDonateToFaction: number;\n\n /**\n * Influences how much money can be stolen from a server when a script performs a hack against it.\n */\n ScriptHackMoney: number;\n\n /**\n * The amount of money actually gained when script hack a server. This is\n * different than the above because you can reduce the amount of money but\n * not gain that same amount.\n */\n ScriptHackMoneyGain: number;\n\n /**\n * Influences the growth percentage per cycle against a server.\n */\n ServerGrowthRate: number;\n\n /**\n * Influences the maxmimum money that a server can grow to.\n */\n ServerMaxMoney: number;\n\n /**\n * Influences the initial money that a server starts with.\n */\n ServerStartingMoney: number;\n\n /**\n * Influences the initial security level (hackDifficulty) of a server.\n */\n ServerStartingSecurity: number;\n\n /**\n * Influences the weaken amount per invocation against a server.\n */\n ServerWeakenRate: number;\n\n /**\n * Influences how quickly the player's strength level (not exp) scales\n */\n StrengthLevelMultiplier: number;\n\n /**\n * Influences the power of the gift.\n */\n StaneksGiftPowerMultiplier: number;\n\n /**\n * Influences the size of the gift.\n */\n StaneksGiftExtraSize: number;\n\n /**\n * Influences the hacking skill required to backdoor the world daemon.\n */\n WorldDaemonDifficulty: number;\n\n /**\n * Influences corporation dividends.\n */\n CorporationSoftcap: number;\n\n // Index signature\n [key: string]: number;\n}\n\n/**\n * The multipliers that are influenced by current Bitnode progression.\n */\n// tslint:disable-next-line:variable-name\nexport const BitNodeMultipliers = Object.assign({}, defaultMultipliers);\n","/* Generic Reviver, toJSON, and fromJSON functions used for saving and loading objects */\n\nimport { validateObject } from \"./Validator\";\n\nexport interface IReviverValue {\n ctor: string;\n data: any;\n}\n\n// A generic \"smart reviver\" function.\n// Looks for object values with a `ctor` property and\n// a `data` property. If it finds them, and finds a matching\n// constructor that has a `fromJSON` property on it, it hands\n// off to that `fromJSON` fuunction, passing in the value.\nexport function Reviver(key: string, value: IReviverValue | null): any {\n if (value == null) {\n return null;\n }\n\n if (typeof value === \"object\" && typeof value.ctor === \"string\" && typeof value.data !== \"undefined\") {\n // Compatibility for version v0.43.1\n // TODO Remove this eventually\n if (value.ctor === \"AllServersMap\") {\n console.warn(\"Converting AllServersMap for v0.43.1\");\n return value.data;\n }\n\n const ctor = Reviver.constructors[value.ctor];\n\n if (typeof ctor === \"function\" && typeof ctor.fromJSON === \"function\") {\n const obj = ctor.fromJSON(value);\n if (ctor.validationData !== undefined) {\n validateObject(obj, ctor.validationData);\n }\n return obj;\n }\n }\n return value;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace Reviver {\n export const constructors: { [key: string]: any } = {};\n}\n\n// A generic \"toJSON\" function that creates the data expected\n// by Reviver.\n// `ctorName` The name of the constructor to use to revive it\n// `obj` The object being serialized\n// `keys` (Optional) Array of the properties to serialize,\n// if not given then all of the objects \"own\" properties\n// that don't have function values will be serialized.\n// (Note: If you list a property in `keys`, it will be serialized\n// regardless of whether it's an \"own\" property.)\n// Returns: The structure (which will then be turned into a string\n// as part of the JSON.stringify algorithm)\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function Generic_toJSON(ctorName: string, obj: Record, keys?: string[]): IReviverValue {\n if (!keys) {\n keys = Object.keys(obj); // Only \"own\" properties are included\n }\n\n const data: Record = {};\n for (let index = 0; index < keys.length; ++index) {\n const key = keys[index];\n data[key] = obj[key];\n }\n return { ctor: ctorName, data: data };\n}\n\n// A generic \"fromJSON\" function for use with Reviver: Just calls the\n// constructor function with no arguments, then applies all of the\n// key/value pairs from the raw data to the instance. Only useful for\n// constructors that can be reasonably called without arguments!\n// `ctor` The constructor to call\n// `data` The data to apply\n// Returns: The object\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function Generic_fromJSON(ctor: new () => T, data: any): T {\n const obj: any = new ctor();\n for (const name in data) {\n obj[name] = data[name];\n }\n return obj;\n}\n","import { Server } from \"./Server\";\nimport { BaseServer } from \"./BaseServer\";\nimport { serverMetadata } from \"./data/servers\";\n\nimport { HacknetServer } from \"../Hacknet/HacknetServer\";\n\nimport { IMap, IMinMaxRange } from \"../types\";\nimport { createRandomIp } from \"../utils/IPAddress\";\nimport { getRandomInt } from \"../utils/helpers/getRandomInt\";\nimport { Reviver } from \"../utils/JSONReviver\";\nimport { isValidIPAddress } from \"../utils/helpers/isValidIPAddress\";\nimport { SpecialServers } from \"./data/SpecialServers\";\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\n\n/**\n * Map of all Servers that exist in the game\n * Key (string) = IP\n * Value = Server object\n */\nlet AllServers: IMap = {};\n\nfunction GetServerByIP(ip: string): BaseServer | undefined {\n for (const key of Object.keys(AllServers)) {\n const server = AllServers[key];\n if (server.ip !== ip) continue;\n return server;\n }\n}\n\n//Returns server object with corresponding hostname\n// Relatively slow, would rather not use this a lot\nfunction GetServerByHostname(hostname: string): BaseServer | null {\n for (const key of Object.keys(AllServers)) {\n const server = AllServers[key];\n if (server.hostname == hostname) {\n return server;\n }\n }\n\n return null;\n}\n\n//Get server by IP or hostname. Returns null if invalid\nexport function GetServer(s: string): BaseServer | null {\n if (AllServers.hasOwnProperty(s)) {\n const server = AllServers[s];\n if (server) return server;\n }\n\n if (!isValidIPAddress(s)) {\n return GetServerByHostname(s);\n }\n\n const ipserver = GetServerByIP(s);\n if (ipserver !== undefined) {\n return ipserver;\n }\n\n return null;\n}\n\nexport function GetAllServers(): BaseServer[] {\n const servers: BaseServer[] = [];\n for (const key of Object.keys(AllServers)) {\n servers.push(AllServers[key]);\n }\n return servers;\n}\n\nexport function DeleteServer(serverkey: string): void {\n for (const key of Object.keys(AllServers)) {\n const server = AllServers[key];\n if (server.ip !== serverkey && server.hostname !== serverkey) continue;\n delete AllServers[key];\n break;\n }\n}\n\nexport function ipExists(ip: string): boolean {\n return AllServers[ip] != null;\n}\n\nexport function createUniqueRandomIp(): string {\n let ip: string;\n // Repeat generating ip, until unique one is found\n do {\n ip = createRandomIp();\n } while (ipExists(ip));\n\n return ip;\n}\n\n// Saftely add a Server to the AllServers map\nexport function AddToAllServers(server: Server | HacknetServer): void {\n if (GetServer(server.hostname)) {\n console.warn(`Hostname of the server thats being added: ${server.hostname}`);\n console.warn(`The server that already has this IP is: ${AllServers[server.hostname].hostname}`);\n throw new Error(\"Error: Trying to add a server with an existing IP\");\n }\n\n AllServers[server.hostname] = server;\n}\n\ninterface IServerParams {\n hackDifficulty?: number;\n hostname: string;\n ip: string;\n maxRam?: number;\n moneyAvailable?: number;\n numOpenPortsRequired: number;\n organizationName: string;\n requiredHackingSkill?: number;\n serverGrowth?: number;\n}\n\nexport function initForeignServers(homeComputer: Server): void {\n /* Create a randomized network for all the foreign servers */\n //Groupings for creating a randomized network\n const networkLayers: Server[][] = [];\n for (let i = 0; i < 15; i++) {\n networkLayers.push([]);\n }\n\n const toNumber = (value: number | IMinMaxRange): number => {\n if (typeof value === \"number\") return value;\n else return getRandomInt(value.min, value.max);\n };\n\n for (const metadata of serverMetadata) {\n const serverParams: IServerParams = {\n hostname: metadata.hostname,\n ip: createUniqueRandomIp(),\n numOpenPortsRequired: metadata.numOpenPortsRequired,\n organizationName: metadata.organizationName,\n };\n\n if (metadata.maxRamExponent !== undefined) {\n serverParams.maxRam = Math.pow(2, toNumber(metadata.maxRamExponent));\n }\n\n if (metadata.hackDifficulty) serverParams.hackDifficulty = toNumber(metadata.hackDifficulty);\n if (metadata.moneyAvailable) serverParams.moneyAvailable = toNumber(metadata.moneyAvailable);\n if (metadata.requiredHackingSkill) serverParams.requiredHackingSkill = toNumber(metadata.requiredHackingSkill);\n if (metadata.serverGrowth) serverParams.serverGrowth = toNumber(metadata.serverGrowth);\n\n const server = new Server(serverParams);\n for (const filename of metadata.literature || []) {\n server.messages.push(filename);\n }\n\n if (server.hostname === SpecialServers.WorldDaemon) {\n server.requiredHackingSkill *= BitNodeMultipliers.WorldDaemonDifficulty;\n }\n AddToAllServers(server);\n if (metadata.networkLayer !== undefined) {\n networkLayers[toNumber(metadata.networkLayer) - 1].push(server);\n }\n }\n\n /* Create a randomized network for all the foreign servers */\n const linkComputers = (server1: Server, server2: Server): void => {\n server1.serversOnNetwork.push(server2.hostname);\n server2.serversOnNetwork.push(server1.hostname);\n };\n\n const getRandomArrayItem = (arr: T[]): T => arr[Math.floor(Math.random() * arr.length)];\n\n const linkNetworkLayers = (network1: Server[], selectServer: () => Server): void => {\n for (const server of network1) {\n linkComputers(server, selectServer());\n }\n };\n\n // Connect the first tier of servers to the player's home computer\n linkNetworkLayers(networkLayers[0], () => homeComputer);\n for (let i = 1; i < networkLayers.length; i++) {\n linkNetworkLayers(networkLayers[i], () => getRandomArrayItem(networkLayers[i - 1]));\n }\n}\n\nexport function prestigeAllServers(): void {\n for (const member of Object.keys(AllServers)) {\n delete AllServers[member];\n }\n AllServers = {};\n}\n\nexport function loadAllServers(saveString: string): void {\n AllServers = JSON.parse(saveString, Reviver);\n}\n\nexport function saveAllServers(excludeRunningScripts = false): string {\n const TempAllServers = JSON.parse(JSON.stringify(AllServers), Reviver);\n for (const key of Object.keys(TempAllServers)) {\n const server = TempAllServers[key];\n if (excludeRunningScripts) {\n server.runningScripts = [];\n continue;\n }\n for (let i = 0; i < server.runningScripts.length; ++i) {\n const runningScriptObj = server.runningScripts[i];\n runningScriptObj.logs.length = 0;\n runningScriptObj.logs = [];\n }\n }\n\n return JSON.stringify(TempAllServers);\n}\n","import { EqualityFunc } from \"../types\";\nimport { isString } from \"./helpers/isString\";\n\n/*\nConverts a date representing time in milliseconds to a string with the format H hours M minutes and S seconds\ne.g. 10000 -> \"10 seconds\"\n 120000 -> \"2 minutes and 0 seconds\"\n*/\nfunction convertTimeMsToTimeElapsedString(time: number, showMilli = false): string {\n time = Math.floor(time);\n const millisecondsPerSecond = 1000;\n const secondPerMinute = 60;\n const minutesPerHours = 60;\n const secondPerHours: number = secondPerMinute * minutesPerHours;\n const hoursPerDays = 24;\n const secondPerDay: number = secondPerHours * hoursPerDays;\n\n // Convert ms to seconds, since we only have second-level precision\n const totalSeconds: number = Math.floor(time / millisecondsPerSecond);\n\n const days: number = Math.floor(totalSeconds / secondPerDay);\n const secTruncDays: number = totalSeconds % secondPerDay;\n\n const hours: number = Math.floor(secTruncDays / secondPerHours);\n const secTruncHours: number = secTruncDays % secondPerHours;\n\n const minutes: number = Math.floor(secTruncHours / secondPerMinute);\n const secTruncMinutes: number = secTruncHours % secondPerMinute;\n\n const milliTruncSec: string = (() => {\n let str = `${time % millisecondsPerSecond}`;\n while (str.length < 3) str = \"0\" + str;\n return str;\n })();\n\n const seconds: string = showMilli ? `${secTruncMinutes}.${milliTruncSec}` : `${secTruncMinutes}`;\n\n let res = \"\";\n if (days > 0) {\n res += `${days} days `;\n }\n if (hours > 0) {\n res += `${hours} hours `;\n }\n if (minutes > 0) {\n res += `${minutes} minutes `;\n }\n res += `${seconds} seconds`;\n\n return res;\n}\n\n// Finds the longest common starting substring in a set of strings\nfunction longestCommonStart(strings: string[]): string {\n if (!containsAllStrings(strings)) {\n return \"\";\n }\n if (strings.length === 0) {\n return \"\";\n }\n\n const A: string[] = strings.concat().sort();\n const a1: string = A[0];\n const a2: string = A[A.length - 1];\n const L: number = a1.length;\n let i = 0;\n const areEqualCaseInsensitive: EqualityFunc = (a: string, b: string) => a.toUpperCase() === b.toUpperCase();\n while (i < L && areEqualCaseInsensitive(a1.charAt(i), a2.charAt(i))) {\n i++;\n }\n\n return a1.substring(0, i);\n}\n\n// Returns whether an array contains entirely of string objects\nfunction containsAllStrings(arr: string[]): boolean {\n return arr.every(isString);\n}\n\n// Formats a number with commas and a specific number of decimal digits\nfunction formatNumber(num: number, numFractionDigits = 0): string {\n return num.toLocaleString(undefined, {\n maximumFractionDigits: numFractionDigits,\n minimumFractionDigits: numFractionDigits,\n });\n}\n\n// Generates a random alphanumeric string with N characters\nfunction generateRandomString(n: number): string {\n let str = \"\";\n const chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n\n for (let i = 0; i < n; i++) {\n str += chars.charAt(Math.floor(Math.random() * chars.length));\n }\n\n return str;\n}\n\n/**\n * Hashes the input string. This is a fast hash, so NOT good for cryptography.\n * This has been ripped off here: https://stackoverflow.com/a/52171480\n * @param str The string that is to be hashed\n * @param seed A seed to randomize the result\n * @returns An hexadecimal string representation of the hashed input\n */\nfunction cyrb53(str: string, seed = 0): string {\n let h1 = 0xdeadbeef ^ seed;\n let h2 = 0x41c6ce57 ^ seed;\n for (let i = 0, ch; i < str.length; i++) {\n ch = str.charCodeAt(i);\n h1 = Math.imul(h1 ^ ch, 2654435761);\n h2 = Math.imul(h2 ^ ch, 1597334677);\n }\n h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909);\n h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909);\n return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString(16);\n}\n\nfunction capitalizeFirstLetter(s: string): string {\n return s.charAt(0).toUpperCase() + s.slice(1);\n}\n\nfunction capitalizeEachWord(s: string): string {\n return s\n .split(\" \")\n .map((word) => capitalizeFirstLetter(word))\n .join(\" \");\n}\n\nexport {\n convertTimeMsToTimeElapsedString,\n longestCommonStart,\n containsAllStrings,\n formatNumber,\n generateRandomString,\n cyrb53,\n capitalizeFirstLetter,\n capitalizeEachWord,\n};\n","/**\n * Keyboard key codes as returned by event.key\n */\nexport enum KEY {\n //SHIFT: 16, // Check by `&& event.shiftKey`\n //CTRL: 17, // Check by `&& event.ctrlKey`\n //ALT: 18, // Check by `&& event.altKey`\n ENTER = \"Enter\",\n ESC = \"Escape\",\n TAB = \"Tab\",\n SPACE = \" \",\n BACKSPACE = \"Backspace\",\n UP_ARROW = \"ArrowUp\",\n DOWN_ARROW = \"ArrowDown\",\n LEFT_ARROW = \"ArrowLeft\",\n RIGHT_ARROW = \"ArrowRight\",\n\n QUOTE = \"'\",\n DOUBLE_QUOTE = '\"',\n OPEN_BRACKET = \"[\",\n CLOSE_BRACKET = \"]\",\n LESS_THAN = \"<\",\n GREATER_THAN = \">\",\n OPEN_PARENTHESIS = \"(\",\n CLOSE_PARENTHESIS = \")\",\n OPEN_BRACE = \"{\",\n CLOSE_BRACE = \"}\",\n\n PIPE = \"|\",\n DOT = \".\",\n FORWARD_SLASH = \"/\",\n HYPHEN = \"-\",\n HASH = \"#\",\n\n k0 = \"0\",\n k1 = \"1\",\n k2 = \"2\",\n k3 = \"3\",\n k4 = \"4\",\n k5 = \"5\",\n k6 = \"6\",\n k7 = \"7\",\n k8 = \"8\",\n k9 = \"9\",\n\n A = \"a\",\n B = \"b\",\n C = \"c\",\n D = \"d\",\n E = \"e\",\n F = \"f\",\n G = \"g\",\n H = \"h\",\n I = \"i\",\n J = \"j\",\n K = \"k\",\n L = \"l\",\n M = \"m\",\n N = \"n\",\n O = \"o\",\n P = \"p\",\n Q = \"q\",\n R = \"r\",\n S = \"s\",\n T = \"t\",\n U = \"u\",\n V = \"v\",\n W = \"w\",\n X = \"x\",\n Y = \"y\",\n Z = \"z\",\n}\n\n/**\n * Keyboard key codes as returned by event.code\n */\nexport enum KEYCODE {\n //SHIFT: 16, // Check by `&& event.shiftKey`\n //CTRL: 17, // Check by `&& event.ctrlKey`\n //ALT: 18, // Check by `&& event.altKey`\n ENTER = \"Enter\",\n ESC = \"Escape\",\n TAB = \"Tab\",\n SPACE = \"Space\",\n BACKSPACE = \"Backspace\",\n UP_ARROW = \"ArrowUp\",\n DOWN_ARROW = \"ArrowDown\",\n LEFT_ARROW = \"ArrowLeft\",\n RIGHT_ARROW = \"ArrowRight\",\n\n BACKWARD_SLASH = \"Backslash\",\n BACKQUOTE = \"Backquote\",\n COMMA = \"Comma\",\n DOT = \"Period\",\n EQUAL = \"Equal\",\n FORWARD_SLASH = \"Slash\",\n HYPHEN = \"Minus\",\n SEMICOLON = \"Semicolon\",\n QUOTE = \"Quote\",\n\n k0 = \"Digit0\",\n k1 = \"Digit1\",\n k2 = \"Digit2\",\n k3 = \"Digit3\",\n k4 = \"Digit4\",\n k5 = \"Digit5\",\n k6 = \"Digit6\",\n k7 = \"Digit7\",\n k8 = \"Digit8\",\n k9 = \"Digit9\",\n\n A = \"KeyA\",\n B = \"KeyB\",\n C = \"KeyC\",\n D = \"KeyD\",\n E = \"KeyE\",\n F = \"KeyF\",\n G = \"KeyG\",\n H = \"KeyH\",\n I = \"KeyI\",\n J = \"KeyJ\",\n K = \"KeyK\",\n L = \"KeyL\",\n M = \"KeyM\",\n N = \"KeyN\",\n O = \"KeyO\",\n P = \"KeyP\",\n Q = \"KeyQ\",\n R = \"KeyR\",\n S = \"KeyS\",\n T = \"KeyT\",\n U = \"KeyU\",\n V = \"KeyV\",\n W = \"KeyW\",\n X = \"KeyX\",\n Y = \"KeyY\",\n Z = \"KeyZ\",\n}\n","import { Faction } from \"../Faction/Faction\";\nimport { Location } from \"../Locations/Location\";\n\n/**\n * The full-screen page the player is currently be on.\n * These pages are mutually exclusive.\n */\nexport enum Page {\n ActiveScripts,\n Augmentations,\n BitVerse,\n Bladeburner,\n City,\n Corporation,\n CreateProgram,\n ScriptEditor,\n DevMenu,\n Faction,\n Factions,\n Gang,\n Hacknet,\n Infiltration,\n Job,\n Milestones,\n Options,\n Grafting,\n Sleeves,\n Stats,\n StockMarket,\n Terminal,\n Travel,\n Tutorial,\n Work,\n BladeburnerCinematic,\n Location,\n Loading,\n StaneksGift,\n Recovery,\n Achievements,\n ThemeBrowser,\n ImportSave,\n}\n\nexport interface ScriptEditorRouteOptions {\n vim: boolean;\n}\n\n/**\n * This class keeps track of player navigation/routing within the game.\n */\nexport interface IRouter {\n // toCinematicText(): void;\n // toInfiltration(): void;\n // toMission(): void;\n // toRedPill(): void;\n // toworkInProgress(): void;\n isInitialized: boolean;\n page(): Page;\n allowRouting(value: boolean): void;\n toActiveScripts(): void;\n toAugmentations(): void;\n toBitVerse(flume: boolean, quick: boolean): void;\n toBladeburner(): void;\n toStats(): void;\n toCity(): void; // travel ? city ?\n toCorporation(): void;\n toCreateProgram(): void;\n toDevMenu(): void;\n toFaction(faction: Faction, augPage?: boolean): void; // faction name\n toFactions(): void;\n toGameOptions(): void;\n toGang(): void;\n toHacknetNodes(): void;\n toInfiltration(location: Location): void;\n toJob(location: Location): void;\n toMilestones(): void;\n toGrafting(): void;\n toScriptEditor(files?: Record, options?: ScriptEditorRouteOptions): void;\n toSleeves(): void;\n toStockMarket(): void;\n toTerminal(): void;\n toTravel(): void;\n toTutorial(): void;\n toWork(): void;\n toBladeburnerCinematic(): void;\n toLocation(location: Location): void;\n toStaneksGift(): void;\n toAchievements(): void;\n toThemeBrowser(): void;\n toImportSave(base64Save: string, automatic?: boolean): void;\n}\n","import React, { useContext } from \"react\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { IRouter } from \"./Router\";\n\nexport const Context: {\n Player: React.Context;\n Router: React.Context;\n} = {\n Player: React.createContext({} as IPlayer),\n Router: React.createContext({} as IRouter),\n};\n\nexport const use: {\n Player: () => IPlayer;\n Router: () => IRouter;\n} = {\n Player: () => useContext(Context.Player),\n Router: () => useContext(Context.Router),\n};\n","/**\n * Initialization and manipulation of the Factions object, which stores data\n * about all Factions in the game\n */\nimport { Faction } from \"./Faction\";\nimport { FactionInfos } from \"./FactionInfo\";\n\nimport { IMap } from \"../types\";\n\nimport { Reviver } from \"../utils/JSONReviver\";\n\nexport let Factions: IMap = {};\n\nexport function loadFactions(saveString: string): void {\n Factions = JSON.parse(saveString, Reviver);\n // safety check for when we load older save file that don't have newer factions\n for (const faction of Object.keys(Factions)) {\n try {\n Factions[faction].getInfo();\n } catch (err) {\n console.error(\"deleting \" + faction);\n delete Factions[faction];\n }\n }\n}\n\nfunction AddToFactions(faction: Faction): void {\n const name: string = faction.name;\n Factions[name] = faction;\n}\n\nexport function factionExists(name: string): boolean {\n return Factions.hasOwnProperty(name);\n}\n\nexport function initFactions(): void {\n for (const name of Object.keys(FactionInfos)) {\n resetFaction(new Faction(name));\n }\n}\n\n//Resets a faction during (re-)initialization. Saves the favor in the new\n//Faction object and deletes the old Faction Object from \"Factions\". Then\n//reinserts the new Faction object\nfunction resetFaction(newFactionObject: Faction): void {\n if (!(newFactionObject instanceof Faction)) {\n throw new Error(\"Invalid argument 'newFactionObject' passed into resetFaction()\");\n }\n const factionName: string = newFactionObject.name;\n if (factionExists(factionName)) {\n newFactionObject.favor = Factions[factionName].favor;\n delete Factions[factionName];\n }\n AddToFactions(newFactionObject);\n}\n","// Defs for job titles, stored in arrays and categorized by job \"type\"\n\nexport const SoftwareCompanyPositions: string[] = [\n \"Software Engineering Intern\",\n \"Junior Software Engineer\",\n \"Senior Software Engineer\",\n \"Lead Software Developer\",\n \"Head of Software\",\n \"Head of Engineering\",\n \"Vice President of Technology\",\n \"Chief Technology Officer\",\n];\n\nexport const ITCompanyPositions: string[] = [\"IT Intern\", \"IT Analyst\", \"IT Manager\", \"Systems Administrator\"];\n\nexport const SecurityEngineerCompanyPositions: string[] = [\"Security Engineer\"];\n\nexport const NetworkEngineerCompanyPositions: string[] = [\"Network Engineer\", \"Network Administrator\"];\n\nexport const BusinessCompanyPositions: string[] = [\n \"Business Intern\",\n \"Business Analyst\",\n \"Business Manager\",\n \"Operations Manager\",\n \"Chief Financial Officer\",\n \"Chief Executive Officer\",\n];\n\nexport const SecurityCompanyPositions: string[] = [\n \"Police Officer\",\n \"Police Chief\",\n \"Security Guard\",\n \"Security Officer\",\n \"Security Supervisor\",\n \"Head of Security\",\n];\n\nexport const AgentCompanyPositions: string[] = [\"Field Agent\", \"Secret Agent\", \"Special Operative\"];\n\nexport const MiscCompanyPositions: string[] = [\"Waiter\", \"Employee\"];\n\nexport const SoftwareConsultantCompanyPositions: string[] = [\"Software Consultant\", \"Senior Software Consultant\"];\n\nexport const BusinessConsultantCompanyPositions: string[] = [\"Business Consultant\", \"Senior Business Consultant\"];\n\nexport const PartTimeCompanyPositions: string[] = [\"Part-time Waiter\", \"Part-time Employee\"];\n","/**\n * Gets a random integer bounded by the values passed in.\n * @param min The minimum value in the range.\n * @param max The maximum value in the range.\n */\nexport function getRandomInt(min: number, max: number): number {\n const lower: number = Math.min(min, max);\n const upper: number = Math.max(min, max);\n\n return Math.floor(Math.random() * (upper - lower + 1)) + lower;\n}\n","// Class definition for a single Augmentation object\nimport * as React from \"react\";\n\nimport { Faction } from \"../Faction/Faction\";\nimport { Factions } from \"../Faction/Factions\";\nimport { numeralWrapper } from \"../ui/numeralFormat\";\nimport { Money } from \"../ui/React/Money\";\n\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"../utils/JSONReviver\";\nimport { FactionNames } from \"../Faction/data/FactionNames\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { AugmentationNames } from \"./data/AugmentationNames\";\nimport { CONSTANTS } from \"../Constants\";\nimport { StaticAugmentations } from \"./StaticAugmentations\";\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\nimport { getBaseAugmentationPriceMultiplier, getGenericAugmentationPriceMultiplier } from \"./AugmentationHelpers\";\nimport { initSoAAugmentations } from \"./data/AugmentationCreator\";\nimport { Multipliers, defaultMultipliers } from \"../PersonObjects/Multipliers\";\n\nexport interface AugmentationCosts {\n moneyCost: number;\n repCost: number;\n}\n\nexport interface IConstructorParams {\n info: string | JSX.Element;\n stats?: JSX.Element | null;\n isSpecial?: boolean;\n moneyCost: number;\n name: string;\n prereqs?: string[];\n repCost: number;\n factions: string[];\n\n hacking?: number;\n strength?: number;\n defense?: number;\n dexterity?: number;\n agility?: number;\n charisma?: number;\n hacking_exp?: number;\n strength_exp?: number;\n defense_exp?: number;\n dexterity_exp?: number;\n agility_exp?: number;\n charisma_exp?: number;\n hacking_chance?: number;\n hacking_speed?: number;\n hacking_money?: number;\n hacking_grow?: number;\n company_rep?: number;\n faction_rep?: number;\n crime_money?: number;\n crime_success?: number;\n work_money?: number;\n hacknet_node_money?: number;\n hacknet_node_purchase_cost?: number;\n hacknet_node_ram_cost?: number;\n hacknet_node_core_cost?: number;\n hacknet_node_level_cost?: number;\n bladeburner_max_stamina?: number;\n bladeburner_stamina_gain?: number;\n bladeburner_analysis?: number;\n bladeburner_success_chance?: number;\n infiltration_base_rep_increase?: number;\n infiltration_rep?: number;\n infiltration_trade?: number;\n infiltration_sell?: number;\n infiltration_timer?: number;\n infiltration_damage_reduction?: number;\n\n startingMoney?: number;\n programs?: string[];\n}\n\nfunction generateStatsDescription(mults: Multipliers, programs?: string[], startingMoney?: number): JSX.Element {\n const f = (x: number, decimals = 0): string => {\n // look, I don't know how to make a \"smart decimals\"\n // todo, make it smarter\n if (x === 1.0777 - 1) return \"7.77%\";\n if (x === 1.777 - 1) return \"77.7%\";\n return numeralWrapper.formatPercentage(x, decimals);\n };\n let desc = <>Effects:>;\n\n if (\n mults.hacking !== 1 &&\n mults.hacking == mults.strength &&\n mults.hacking == mults.defense &&\n mults.hacking == mults.dexterity &&\n mults.hacking == mults.agility &&\n mults.hacking == mults.charisma\n ) {\n desc = (\n <>\n {desc}\n +{f(mults.hacking - 1)} all skills\n >\n );\n } else {\n if (mults.hacking !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.hacking - 1)} hacking skill\n >\n );\n\n if (\n mults.strength !== 1 &&\n mults.strength == mults.defense &&\n mults.strength == mults.dexterity &&\n mults.strength == mults.agility\n ) {\n desc = (\n <>\n {desc}\n +{f(mults.strength - 1)} combat skills\n >\n );\n } else {\n if (mults.strength !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.strength - 1)} strength skill\n >\n );\n if (mults.defense !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.defense - 1)} defense skill\n >\n );\n if (mults.dexterity !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.dexterity - 1)} dexterity skill\n >\n );\n if (mults.agility !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.agility - 1)} agility skill\n >\n );\n }\n if (mults.charisma !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.charisma - 1)} charisma skill\n >\n );\n }\n\n if (\n mults.hacking_exp !== 1 &&\n mults.hacking_exp === mults.strength_exp &&\n mults.hacking_exp === mults.defense_exp &&\n mults.hacking_exp === mults.dexterity_exp &&\n mults.hacking_exp === mults.agility_exp &&\n mults.hacking_exp === mults.charisma_exp\n ) {\n desc = (\n <>\n {desc}\n +{f(mults.hacking_exp - 1)} exp for all skills\n >\n );\n } else {\n if (mults.hacking_exp !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.hacking_exp - 1)} hacking exp\n >\n );\n\n if (\n mults.strength_exp !== 1 &&\n mults.strength_exp === mults.defense_exp &&\n mults.strength_exp === mults.dexterity_exp &&\n mults.strength_exp === mults.agility_exp\n ) {\n desc = (\n <>\n {desc}\n +{f(mults.strength_exp - 1)} combat exp\n >\n );\n } else {\n if (mults.strength_exp !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.strength_exp - 1)} strength exp\n >\n );\n if (mults.defense_exp !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.defense_exp - 1)} defense exp\n >\n );\n if (mults.dexterity_exp !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.dexterity_exp - 1)} dexterity exp\n >\n );\n if (mults.agility_exp !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.agility_exp - 1)} agility exp\n >\n );\n }\n if (mults.charisma_exp !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.charisma_exp - 1)} charisma exp\n >\n );\n }\n\n if (mults.hacking_speed !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.hacking_speed - 1)} faster hack(), grow(), and weaken()\n >\n );\n if (mults.hacking_chance !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.hacking_chance - 1)} hack() success chance\n >\n );\n if (mults.hacking_money !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.hacking_money - 1)} hack() power\n >\n );\n if (mults.hacking_grow !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.hacking_grow - 1)} grow() power\n >\n );\n\n if (mults.faction_rep !== 1 && mults.faction_rep === mults.company_rep) {\n desc = (\n <>\n {desc}\n +{f(mults.faction_rep - 1)} reputation from factions and companies\n >\n );\n } else {\n if (mults.faction_rep !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.faction_rep - 1)} reputation from factions\n >\n );\n if (mults.company_rep !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.company_rep - 1)} reputation from companies\n >\n );\n }\n\n if (mults.crime_money !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.crime_money - 1)} crime money\n >\n );\n if (mults.crime_success !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.crime_success - 1)} crime success rate\n >\n );\n if (mults.work_money !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.work_money - 1)} work money\n >\n );\n\n if (mults.hacknet_node_money !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.hacknet_node_money - 1)} hacknet production\n >\n );\n if (mults.hacknet_node_purchase_cost !== 1)\n desc = (\n <>\n {desc}\n -{f(-(mults.hacknet_node_purchase_cost - 1))} hacknet nodes cost\n >\n );\n if (mults.hacknet_node_level_cost !== 1)\n desc = (\n <>\n {desc}\n -{f(-(mults.hacknet_node_level_cost - 1))} hacknet nodes upgrade cost\n >\n );\n\n if (mults.bladeburner_max_stamina !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.bladeburner_max_stamina - 1)} Bladeburner Max Stamina\n >\n );\n if (mults.bladeburner_stamina_gain !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.bladeburner_stamina_gain - 1)} Bladeburner Stamina gain\n >\n );\n if (mults.bladeburner_analysis !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.bladeburner_analysis - 1)} Bladeburner Field Analysis effectiveness\n >\n );\n if (mults.bladeburner_success_chance !== 1)\n desc = (\n <>\n {desc}\n +{f(mults.bladeburner_success_chance - 1)} Bladeburner Contracts and Operations success chance\n >\n );\n if (startingMoney)\n desc = (\n <>\n {desc}\n \n Start with after installing Augmentations.\n >\n );\n\n if (programs)\n desc = (\n <>\n {desc}\n \n Start with {programs.join(\" and \")} after installing Augmentations.\n >\n );\n return desc;\n}\n\nexport class Augmentation {\n // How much money this costs to buy before multipliers\n baseCost = 0;\n\n // How much faction reputation is required to unlock this before multipliers\n baseRepRequirement = 0;\n\n // Description of what this Aug is and what it does\n info: string | JSX.Element;\n\n // Description of the stats, often autogenerated, sometimes manually written.\n stats: JSX.Element | null;\n\n // Any Augmentation not immediately available in BitNode-1 is special (e.g. Bladeburner augs)\n isSpecial = false;\n\n // Name of Augmentation\n name = \"\";\n\n // Array of names of all prerequisites\n prereqs: string[] = [];\n\n // Multipliers given by this Augmentation. Must match the property name in\n // The Player/Person classes\n mults: Multipliers = defaultMultipliers();\n\n // Factions that offer this aug.\n factions: string[] = [];\n\n constructor(\n params: IConstructorParams = {\n info: \"\",\n moneyCost: 0,\n name: \"\",\n repCost: 0,\n factions: [],\n },\n ) {\n this.name = params.name;\n this.info = params.info;\n this.prereqs = params.prereqs ? params.prereqs : [];\n\n this.baseRepRequirement = params.repCost;\n Object.freeze(this.baseRepRequirement);\n this.baseCost = params.moneyCost;\n Object.freeze(this.baseCost);\n this.factions = params.factions;\n\n if (params.isSpecial) {\n this.isSpecial = true;\n }\n\n // Set multipliers\n if (params.hacking) {\n this.mults.hacking = params.hacking;\n }\n if (params.strength) {\n this.mults.strength = params.strength;\n }\n if (params.defense) {\n this.mults.defense = params.defense;\n }\n if (params.dexterity) {\n this.mults.dexterity = params.dexterity;\n }\n if (params.agility) {\n this.mults.agility = params.agility;\n }\n if (params.charisma) {\n this.mults.charisma = params.charisma;\n }\n if (params.hacking_exp) {\n this.mults.hacking_exp = params.hacking_exp;\n }\n if (params.strength_exp) {\n this.mults.strength_exp = params.strength_exp;\n }\n if (params.defense_exp) {\n this.mults.defense_exp = params.defense_exp;\n }\n if (params.dexterity_exp) {\n this.mults.dexterity_exp = params.dexterity_exp;\n }\n if (params.agility_exp) {\n this.mults.agility_exp = params.agility_exp;\n }\n if (params.charisma_exp) {\n this.mults.charisma_exp = params.charisma_exp;\n }\n if (params.hacking_chance) {\n this.mults.hacking_chance = params.hacking_chance;\n }\n if (params.hacking_speed) {\n this.mults.hacking_speed = params.hacking_speed;\n }\n if (params.hacking_money) {\n this.mults.hacking_money = params.hacking_money;\n }\n if (params.hacking_grow) {\n this.mults.hacking_grow = params.hacking_grow;\n }\n if (params.company_rep) {\n this.mults.company_rep = params.company_rep;\n }\n if (params.faction_rep) {\n this.mults.faction_rep = params.faction_rep;\n }\n if (params.crime_money) {\n this.mults.crime_money = params.crime_money;\n }\n if (params.crime_success) {\n this.mults.crime_success = params.crime_success;\n }\n if (params.work_money) {\n this.mults.work_money = params.work_money;\n }\n if (params.hacknet_node_money) {\n this.mults.hacknet_node_money = params.hacknet_node_money;\n }\n if (params.hacknet_node_purchase_cost) {\n this.mults.hacknet_node_purchase_cost = params.hacknet_node_purchase_cost;\n }\n if (params.hacknet_node_ram_cost) {\n this.mults.hacknet_node_ram_cost = params.hacknet_node_ram_cost;\n }\n if (params.hacknet_node_core_cost) {\n this.mults.hacknet_node_core_cost = params.hacknet_node_core_cost;\n }\n if (params.hacknet_node_level_cost) {\n this.mults.hacknet_node_level_cost = params.hacknet_node_level_cost;\n }\n if (params.bladeburner_max_stamina) {\n this.mults.bladeburner_max_stamina = params.bladeburner_max_stamina;\n }\n if (params.bladeburner_stamina_gain) {\n this.mults.bladeburner_stamina_gain = params.bladeburner_stamina_gain;\n }\n if (params.bladeburner_analysis) {\n this.mults.bladeburner_analysis = params.bladeburner_analysis;\n }\n if (params.bladeburner_success_chance) {\n this.mults.bladeburner_success_chance = params.bladeburner_success_chance;\n }\n\n if (params.stats === undefined)\n this.stats = generateStatsDescription(this.mults, params.programs, params.startingMoney);\n else this.stats = params.stats;\n }\n\n // Adds this Augmentation to the specified Factions\n addToFactions(factionList: string[]): void {\n for (let i = 0; i < factionList.length; ++i) {\n const faction: Faction | null = Factions[factionList[i]];\n if (faction == null) {\n console.warn(`In Augmentation.addToFactions(), could not find faction with this name: ${factionList[i]}`);\n continue;\n }\n faction.augmentations.push(this.name);\n }\n }\n\n getCost(player: IPlayer): AugmentationCosts {\n const augmentationReference = StaticAugmentations[this.name];\n let moneyCost = augmentationReference.baseCost;\n let repCost = augmentationReference.baseRepRequirement;\n\n if (augmentationReference.name === AugmentationNames.NeuroFluxGovernor) {\n let nextLevel = this.getLevel(player);\n --nextLevel;\n const multiplier = Math.pow(CONSTANTS.NeuroFluxGovernorLevelMult, nextLevel);\n repCost = augmentationReference.baseRepRequirement * multiplier * BitNodeMultipliers.AugmentationRepCost;\n moneyCost = augmentationReference.baseCost * multiplier * BitNodeMultipliers.AugmentationMoneyCost;\n\n for (let i = 0; i < player.queuedAugmentations.length; ++i) {\n moneyCost *= getBaseAugmentationPriceMultiplier();\n }\n } else if (augmentationReference.factions.includes(FactionNames.ShadowsOfAnarchy)) {\n const soaAugmentationNames = initSoAAugmentations().map((augmentation) => augmentation.name);\n const soaMultiplier = Math.pow(\n CONSTANTS.SoACostMult,\n soaAugmentationNames.filter((augmentationName) => player.hasAugmentation(augmentationName)).length,\n );\n moneyCost = augmentationReference.baseCost * soaMultiplier;\n if (soaAugmentationNames.find((augmentationName) => augmentationName === augmentationReference.name)) {\n repCost = augmentationReference.baseRepRequirement * soaMultiplier;\n }\n } else {\n moneyCost =\n augmentationReference.baseCost *\n getGenericAugmentationPriceMultiplier() *\n BitNodeMultipliers.AugmentationMoneyCost;\n repCost = augmentationReference.baseRepRequirement * BitNodeMultipliers.AugmentationRepCost;\n }\n return { moneyCost, repCost };\n }\n\n getLevel(player: IPlayer): number {\n // Get current Neuroflux level based on Player's augmentations\n if (this.name === AugmentationNames.NeuroFluxGovernor) {\n let currLevel = 0;\n for (let i = 0; i < player.augmentations.length; ++i) {\n if (player.augmentations[i].name === AugmentationNames.NeuroFluxGovernor) {\n currLevel = player.augmentations[i].level;\n }\n }\n\n // Account for purchased but uninstalled Augmentations\n for (let i = 0; i < player.queuedAugmentations.length; ++i) {\n if (player.queuedAugmentations[i].name == AugmentationNames.NeuroFluxGovernor) {\n ++currLevel;\n }\n }\n return currLevel + 1;\n }\n return 0;\n }\n\n // Adds this Augmentation to all Factions\n addToAllFactions(): void {\n for (const fac of Object.keys(Factions)) {\n if (Factions.hasOwnProperty(fac)) {\n const facObj: Faction | null = Factions[fac];\n if (facObj == null) {\n console.warn(`Invalid Faction object in addToAllFactions(). Key value: ${fac}`);\n continue;\n }\n if (facObj.getInfo().special) continue;\n facObj.augmentations.push(this.name);\n }\n }\n }\n\n // Serialize the current object to a JSON save state.\n toJSON(): IReviverValue {\n return Generic_toJSON(\"Augmentation\", this);\n }\n\n // Initiatizes a Augmentation object from a JSON save state.\n static fromJSON(value: IReviverValue): Augmentation {\n return Generic_fromJSON(Augmentation, value.data);\n }\n}\n\nReviver.constructors.Augmentation = Augmentation;\n","import { Theme } from \"@mui/material\";\nimport Box from \"@mui/material/Box\";\nimport Fade from \"@mui/material/Fade\";\nimport M from \"@mui/material/Modal\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { SxProps } from \"@mui/system\";\nimport React from \"react\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n modal: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n paper: {\n backgroundColor: theme.palette.background.default,\n border: \"2px solid \" + theme.palette.primary.main,\n boxShadow: `0px 3px 5px -1px ${theme.palette.primary.dark},0px 5px 8px 0px ${theme.palette.primary.dark},0px 1px 14px 0px ${theme.palette.primary.dark}`,\n padding: 2,\n maxWidth: \"80%\",\n maxHeight: \"80%\",\n overflow: \"auto\",\n \"&::-webkit-scrollbar\": {\n // webkit\n display: \"none\",\n },\n scrollbarWidth: \"none\", // firefox\n },\n }),\n);\n\ninterface IProps {\n open: boolean;\n onClose: () => void;\n children: React.ReactNode;\n sx?: SxProps;\n}\n\nexport const Modal = (props: IProps): React.ReactElement => {\n const classes = useStyles();\n return (\n \n \n
\n {props.children}\n
\n \n \n );\n};\n","import { CityName } from \"./../../Locations/data/CityNames\";\nconst CyclesPerMarketCycle = 50;\nconst AllCorporationStates = [\"START\", \"PURCHASE\", \"PRODUCTION\", \"SALE\", \"EXPORT\"];\nexport const CorporationConstants: {\n INITIALSHARES: number;\n SHARESPERPRICEUPDATE: number;\n IssueNewSharesCooldown: number;\n SellSharesCooldown: number;\n CyclesPerMarketCycle: number;\n CyclesPerIndustryStateCycle: number;\n SecsPerMarketCycle: number;\n Cities: string[];\n WarehouseInitialCost: number;\n WarehouseInitialSize: number;\n WarehouseUpgradeBaseCost: number;\n OfficeInitialCost: number;\n OfficeInitialSize: number;\n OfficeUpgradeBaseCost: number;\n BribeThreshold: number;\n BribeToRepRatio: number;\n ProductProductionCostRatio: number;\n DividendMaxPercentage: number;\n EmployeeSalaryMultiplier: number;\n CyclesPerEmployeeRaise: number;\n EmployeeRaiseAmount: number;\n BaseMaxProducts: number;\n AllCorporationStates: string[];\n AllMaterials: string[];\n FundingRoundShares: number[];\n FundingRoundMultiplier: number[];\n AvgProfitLength: number;\n} = {\n INITIALSHARES: 1e9, //Total number of shares you have at your company\n SHARESPERPRICEUPDATE: 1e6, //When selling large number of shares, price is dynamically updated for every batch of this amount\n IssueNewSharesCooldown: 216e3, // 12 Hour in terms of game cycles\n SellSharesCooldown: 18e3, // 1 Hour in terms of game cycles\n\n CyclesPerMarketCycle: CyclesPerMarketCycle,\n CyclesPerIndustryStateCycle: CyclesPerMarketCycle / AllCorporationStates.length,\n SecsPerMarketCycle: CyclesPerMarketCycle / 5,\n\n Cities: [\n CityName.Aevum,\n CityName.Chongqing,\n CityName.Sector12,\n CityName.NewTokyo,\n CityName.Ishima,\n CityName.Volhaven,\n ],\n\n WarehouseInitialCost: 5e9, //Initial purchase cost of warehouse\n WarehouseInitialSize: 100,\n WarehouseUpgradeBaseCost: 1e9,\n\n OfficeInitialCost: 4e9,\n OfficeInitialSize: 3,\n OfficeUpgradeBaseCost: 1e9,\n\n BribeThreshold: 100e12, //Money needed to be able to bribe for faction rep\n BribeToRepRatio: 1e9, //Bribe Value divided by this = rep gain\n\n ProductProductionCostRatio: 5, //Ratio of material cost of a product to its production cost\n\n DividendMaxPercentage: 1,\n\n EmployeeSalaryMultiplier: 3, // Employee stats multiplied by this to determine initial salary\n CyclesPerEmployeeRaise: 400, // All employees get a raise every X market cycles\n EmployeeRaiseAmount: 50, // Employee salary increases by this (additive)\n\n BaseMaxProducts: 3, // Initial value for maximum number of products allowed\n AllCorporationStates: AllCorporationStates,\n AllMaterials: [\n \"Water\",\n \"Energy\",\n \"Food\",\n \"Plants\",\n \"Metal\",\n \"Hardware\",\n \"Chemicals\",\n \"Drugs\",\n \"Robots\",\n \"AI Cores\",\n \"Real Estate\",\n ],\n FundingRoundShares: [0.1, 0.35, 0.25, 0.2],\n FundingRoundMultiplier: [4, 3, 3, 2.5],\n\n AvgProfitLength: 1,\n};\n","export const HacknetNodeConstants: {\n // Constants for Hacknet Node production\n MoneyGainPerLevel: number;\n\n // Constants for Hacknet Node purchase/upgrade costs\n BaseCost: number;\n LevelBaseCost: number;\n RamBaseCost: number;\n CoreBaseCost: number;\n\n PurchaseNextMult: number;\n UpgradeLevelMult: number;\n UpgradeRamMult: number;\n UpgradeCoreMult: number;\n\n // Constants for max upgrade levels for Hacknet Nodes\n MaxLevel: number;\n MaxRam: number;\n MaxCores: number;\n} = {\n MoneyGainPerLevel: 1.5,\n\n BaseCost: 1000,\n LevelBaseCost: 1,\n RamBaseCost: 30e3,\n CoreBaseCost: 500e3,\n\n PurchaseNextMult: 1.85,\n UpgradeLevelMult: 1.04,\n UpgradeRamMult: 1.28,\n UpgradeCoreMult: 1.48,\n\n MaxLevel: 200,\n MaxRam: 64,\n MaxCores: 16,\n};\n\nexport const PurchaseMultipliers: {\n [key: string]: number | \"MAX\" | undefined;\n x1: number;\n x5: number;\n x10: number;\n MAX: \"MAX\";\n} = {\n x1: 1,\n x5: 5,\n x10: 10,\n MAX: \"MAX\",\n};\n\nexport const HacknetServerConstants: {\n // Constants for Hacknet Server stats/production\n HashesPerLevel: number;\n\n // Constants for Hacknet Server purchase/upgrade costs\n BaseCost: number;\n RamBaseCost: number;\n CoreBaseCost: number;\n CacheBaseCost: number;\n\n PurchaseMult: number; // Multiplier for puchasing an additional Hacknet Server\n UpgradeLevelMult: number; // Multiplier for cost when upgrading level\n UpgradeRamMult: number; // Multiplier for cost when upgrading RAM\n UpgradeCoreMult: number; // Multiplier for cost when buying another core\n UpgradeCacheMult: number; // Multiplier for cost when upgrading cache\n MaxServers: number; // Max number of Hacknet Servers you can own\n\n // Constants for max upgrade levels for Hacknet Server\n MaxLevel: number;\n MaxRam: number;\n MaxCores: number;\n MaxCache: number;\n} = {\n HashesPerLevel: 0.001,\n\n BaseCost: 50e3,\n RamBaseCost: 200e3,\n CoreBaseCost: 1e6,\n CacheBaseCost: 10e6,\n\n PurchaseMult: 3.2,\n UpgradeLevelMult: 1.1,\n UpgradeRamMult: 1.4,\n UpgradeCoreMult: 1.55,\n UpgradeCacheMult: 1.85,\n\n MaxServers: 20,\n\n MaxLevel: 300,\n MaxRam: 8192,\n MaxCores: 128,\n MaxCache: 15,\n};\n","// Action Identifier enum\nexport const ActionTypes: {\n [key: string]: number;\n Idle: number;\n Contract: number;\n Operation: number;\n BlackOp: number;\n BlackOperation: number;\n Training: number;\n Recruitment: number;\n FieldAnalysis: number;\n \"Field Analysis\": number;\n Diplomacy: number;\n \"Hyperbolic Regeneration Chamber\": number;\n \"Incite Violence\": number;\n} = {\n Idle: 1,\n Contract: 2,\n Operation: 3,\n BlackOp: 4,\n BlackOperation: 4,\n Training: 5,\n Recruitment: 6,\n FieldAnalysis: 7,\n \"Field Analysis\": 7,\n Diplomacy: 8,\n \"Hyperbolic Regeneration Chamber\": 9,\n \"Incite Violence\": 10,\n};\n","import { Player } from \"./Player\";\n\nimport { LiteratureNames } from \"./Literature/data/LiteratureNames\";\n\nimport { ITutorialEvents } from \"./ui/InteractiveTutorial/ITutorialEvents\";\n\n// Ordered array of keys to Interactive Tutorial Steps\nenum iTutorialSteps {\n Start,\n NSSelection,\n GoToCharacterPage, // Click on 'Stats' page\n CharacterPage, // Introduction to 'Stats' page\n CharacterGoToTerminalPage, // Go back to Terminal\n TerminalIntro, // Introduction to Terminal\n TerminalHelp, // Using 'help' Terminal command\n TerminalLs, // Using 'ls' Terminal command\n TerminalScan, // Using 'scan' Terminal command\n TerminalScanAnalyze1, // Using 'scan-analyze' Terminal command\n TerminalScanAnalyze2, // Using 'scan-analyze 3' Terminal command\n TerminalConnect, // Connecting to n00dles\n TerminalAnalyze, // Analyzing n00dles\n TerminalNuke, // NUKE n00dles\n TerminalManualHack, // Hack n00dles\n TerminalHackingMechanics, // Explanation of hacking mechanics\n TerminalGoHome, // Go home before creating a script.\n TerminalCreateScript, // Create a script using 'nano'\n TerminalTypeScript, // Script Editor page - Type script and then save & close\n TerminalFree, // Using 'Free' Terminal command\n TerminalRunScript, // Running script using 'run' Terminal command\n TerminalGoToActiveScriptsPage,\n ActiveScriptsPage,\n ActiveScriptsToTerminal,\n TerminalTailScript,\n GoToHacknetNodesPage,\n HacknetNodesIntroduction,\n HacknetNodesGoToWorldPage,\n WorldDescription,\n TutorialPageInfo,\n End,\n}\n\nconst ITutorial: {\n currStep: iTutorialSteps;\n isRunning: boolean;\n stepIsDone: {\n [iTutorialSteps.Start]: boolean;\n [iTutorialSteps.NSSelection]: boolean;\n [iTutorialSteps.GoToCharacterPage]: boolean;\n [iTutorialSteps.CharacterPage]: boolean;\n [iTutorialSteps.CharacterGoToTerminalPage]: boolean;\n [iTutorialSteps.TerminalIntro]: boolean;\n [iTutorialSteps.TerminalHelp]: boolean;\n [iTutorialSteps.TerminalLs]: boolean;\n [iTutorialSteps.TerminalScan]: boolean;\n [iTutorialSteps.TerminalScanAnalyze1]: boolean;\n [iTutorialSteps.TerminalScanAnalyze2]: boolean;\n [iTutorialSteps.TerminalConnect]: boolean;\n [iTutorialSteps.TerminalAnalyze]: boolean;\n [iTutorialSteps.TerminalNuke]: boolean;\n [iTutorialSteps.TerminalManualHack]: boolean;\n [iTutorialSteps.TerminalHackingMechanics]: boolean;\n [iTutorialSteps.TerminalGoHome]: boolean;\n [iTutorialSteps.TerminalCreateScript]: boolean;\n [iTutorialSteps.TerminalTypeScript]: boolean;\n [iTutorialSteps.TerminalFree]: boolean;\n [iTutorialSteps.TerminalRunScript]: boolean;\n [iTutorialSteps.TerminalGoToActiveScriptsPage]: boolean;\n [iTutorialSteps.ActiveScriptsPage]: boolean;\n [iTutorialSteps.ActiveScriptsToTerminal]: boolean;\n [iTutorialSteps.TerminalTailScript]: boolean;\n [iTutorialSteps.GoToHacknetNodesPage]: boolean;\n [iTutorialSteps.HacknetNodesIntroduction]: boolean;\n [iTutorialSteps.HacknetNodesGoToWorldPage]: boolean;\n [iTutorialSteps.WorldDescription]: boolean;\n [iTutorialSteps.TutorialPageInfo]: boolean;\n [iTutorialSteps.End]: boolean;\n };\n} = {\n currStep: iTutorialSteps.Start,\n isRunning: false,\n\n // Keeps track of whether each step has been done\n stepIsDone: {\n [iTutorialSteps.Start]: false,\n [iTutorialSteps.NSSelection]: false,\n [iTutorialSteps.GoToCharacterPage]: false,\n [iTutorialSteps.CharacterPage]: false,\n [iTutorialSteps.CharacterGoToTerminalPage]: false,\n [iTutorialSteps.TerminalIntro]: false,\n [iTutorialSteps.TerminalHelp]: false,\n [iTutorialSteps.TerminalLs]: false,\n [iTutorialSteps.TerminalScan]: false,\n [iTutorialSteps.TerminalScanAnalyze1]: false,\n [iTutorialSteps.TerminalScanAnalyze2]: false,\n [iTutorialSteps.TerminalConnect]: false,\n [iTutorialSteps.TerminalAnalyze]: false,\n [iTutorialSteps.TerminalNuke]: false,\n [iTutorialSteps.TerminalManualHack]: false,\n [iTutorialSteps.TerminalHackingMechanics]: false,\n [iTutorialSteps.TerminalGoHome]: false,\n [iTutorialSteps.TerminalCreateScript]: false,\n [iTutorialSteps.TerminalTypeScript]: false,\n [iTutorialSteps.TerminalFree]: false,\n [iTutorialSteps.TerminalRunScript]: false,\n [iTutorialSteps.TerminalGoToActiveScriptsPage]: false,\n [iTutorialSteps.ActiveScriptsPage]: false,\n [iTutorialSteps.ActiveScriptsToTerminal]: false,\n [iTutorialSteps.TerminalTailScript]: false,\n [iTutorialSteps.GoToHacknetNodesPage]: false,\n [iTutorialSteps.HacknetNodesIntroduction]: false,\n [iTutorialSteps.HacknetNodesGoToWorldPage]: false,\n [iTutorialSteps.WorldDescription]: false,\n [iTutorialSteps.TutorialPageInfo]: false,\n [iTutorialSteps.End]: false,\n },\n};\n\nfunction iTutorialStart(): void {\n ITutorial.isRunning = true;\n ITutorial.currStep = iTutorialSteps.Start;\n}\n\n// Go to the next step and evaluate it\nfunction iTutorialNextStep(): void {\n ITutorial.stepIsDone[ITutorial.currStep] = true;\n if (ITutorial.currStep < iTutorialSteps.End) {\n ITutorial.currStep += 1;\n }\n if (ITutorial.currStep === iTutorialSteps.End) iTutorialEnd();\n ITutorialEvents.emit();\n}\n\n// Go to previous step and evaluate\nfunction iTutorialPrevStep(): void {\n if (ITutorial.currStep > iTutorialSteps.Start) {\n ITutorial.currStep -= 1;\n }\n ITutorialEvents.emit();\n}\n\nfunction iTutorialEnd(): void {\n ITutorial.isRunning = false;\n ITutorial.currStep = iTutorialSteps.Start;\n Player.getHomeComputer().messages.push(LiteratureNames.HackersStartingHandbook);\n ITutorialEvents.emit();\n}\n\nexport { iTutorialSteps, iTutorialEnd, iTutorialStart, iTutorialNextStep, ITutorial, iTutorialPrevStep };\n","// Class representing a single hackable Server\nimport { BaseServer } from \"./BaseServer\";\n\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\n\nimport { createRandomString } from \"../utils/helpers/createRandomString\";\nimport { createRandomIp } from \"../utils/IPAddress\";\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"../utils/JSONReviver\";\n\nexport interface IConstructorParams {\n adminRights?: boolean;\n hackDifficulty?: number;\n hostname: string;\n ip?: string;\n isConnectedTo?: boolean;\n maxRam?: number;\n moneyAvailable?: number;\n numOpenPortsRequired?: number;\n organizationName?: string;\n purchasedByPlayer?: boolean;\n requiredHackingSkill?: number;\n serverGrowth?: number;\n}\n\nexport class Server extends BaseServer {\n // Flag indicating whether this server has a backdoor installed by a player\n backdoorInstalled = false;\n\n // Initial server security level\n // (i.e. security level when the server was created)\n baseDifficulty = 1;\n\n // Server Security Level\n hackDifficulty = 1;\n\n // Minimum server security level that this server can be weakened to\n minDifficulty = 1;\n\n // How much money currently resides on the server and can be hacked\n moneyAvailable = 0;\n\n // Maximum amount of money that this server can hold\n moneyMax = 0;\n\n // Number of open ports required in order to gain admin/root access\n numOpenPortsRequired = 5;\n\n // How many ports are currently opened on the server\n openPortCount = 0;\n\n // Hacking level required to hack this server\n requiredHackingSkill = 1;\n\n // Parameter that affects how effectively this server's money can\n // be increased using the grow() Netscript function\n serverGrowth = 1;\n\n constructor(params: IConstructorParams = { hostname: \"\", ip: createRandomIp() }) {\n super(params);\n\n // \"hacknet-node-X\" hostnames are reserved for Hacknet Servers\n if (this.hostname.startsWith(\"hacknet-node-\")) {\n this.hostname = createRandomString(10);\n }\n\n this.purchasedByPlayer = params.purchasedByPlayer != null ? params.purchasedByPlayer : false;\n\n //RAM, CPU speed and Scripts\n this.maxRam = params.maxRam != null ? params.maxRam : 0; //GB\n\n /* Hacking information (only valid for \"foreign\" aka non-purchased servers) */\n this.requiredHackingSkill = params.requiredHackingSkill != null ? params.requiredHackingSkill : 1;\n this.moneyAvailable =\n params.moneyAvailable != null ? params.moneyAvailable * BitNodeMultipliers.ServerStartingMoney : 0;\n this.moneyMax = 25 * this.moneyAvailable * BitNodeMultipliers.ServerMaxMoney;\n\n //Hack Difficulty is synonymous with server security. Base Difficulty = Starting difficulty\n this.hackDifficulty =\n params.hackDifficulty != null ? params.hackDifficulty * BitNodeMultipliers.ServerStartingSecurity : 1;\n this.baseDifficulty = this.hackDifficulty;\n this.minDifficulty = Math.max(1, Math.round(this.hackDifficulty / 3));\n this.serverGrowth = params.serverGrowth != null ? params.serverGrowth : 1; //Integer from 0 to 100. Affects money increase from grow()\n\n //Port information, required for porthacking servers to get admin rights\n this.numOpenPortsRequired = params.numOpenPortsRequired != null ? params.numOpenPortsRequired : 5;\n }\n\n /**\n * Ensures that the server's difficulty (server security) doesn't get too high\n */\n capDifficulty(): void {\n if (this.hackDifficulty < this.minDifficulty) {\n this.hackDifficulty = this.minDifficulty;\n }\n if (this.hackDifficulty < 1) {\n this.hackDifficulty = 1;\n }\n\n // Place some arbitrarily limit that realistically should never happen unless someone is\n // screwing around with the game\n if (this.hackDifficulty > 100) {\n this.hackDifficulty = 100;\n }\n }\n\n /**\n * Change this server's minimum security\n * @param n - Value by which to increase/decrease the server's minimum security\n * @param perc - Whether it should be changed by a percentage, or a flat value\n */\n changeMinimumSecurity(n: number, perc = false): void {\n if (perc) {\n this.minDifficulty *= n;\n } else {\n this.minDifficulty += n;\n }\n\n // Server security cannot go below 1\n this.minDifficulty = Math.max(1, this.minDifficulty);\n }\n\n /**\n * Change this server's maximum money\n * @param n - Value by which to change the server's maximum money\n */\n changeMaximumMoney(n: number): void {\n const softCap = 10e12;\n if (this.moneyMax > softCap) {\n const aboveCap = this.moneyMax - softCap;\n n = 1 + (n - 1) / Math.log(aboveCap) / Math.log(8);\n }\n\n this.moneyMax *= n;\n }\n\n /**\n * Strengthens a server's security level (difficulty) by the specified amount\n */\n fortify(amt: number): void {\n this.hackDifficulty += amt;\n this.capDifficulty();\n }\n\n /**\n * Lowers the server's security level (difficulty) by the specified amount)\n */\n weaken(amt: number): void {\n this.hackDifficulty -= amt * BitNodeMultipliers.ServerWeakenRate;\n this.capDifficulty();\n }\n\n /**\n * Serialize the current object to a JSON save state\n */\n toJSON(): IReviverValue {\n return Generic_toJSON(\"Server\", this);\n }\n\n // Initializes a Server Object from a JSON save state\n static fromJSON(value: IReviverValue): Server {\n return Generic_fromJSON(Server, value.data);\n }\n}\n\nReviver.constructors.Server = Server;\n","import { IMap } from \"../types\";\n\nexport const EmployeePositions: IMap = {\n Operations: \"Operations\",\n Engineer: \"Engineer\",\n Business: \"Business\",\n Management: \"Management\",\n RandD: \"Research & Development\",\n Training: \"Training\",\n Unassigned: \"Unassigned\",\n};\n","import React, { useContext } from \"react\";\nimport { ICorporation } from \"../ICorporation\";\nimport { IIndustry } from \"../IIndustry\";\n\nexport const Context: {\n Corporation: React.Context;\n Division: React.Context;\n} = {\n Corporation: React.createContext({} as ICorporation),\n Division: React.createContext({} as IIndustry),\n};\n\nexport const useCorporation = (): ICorporation => useContext(Context.Corporation);\nexport const useDivision = (): IIndustry => useContext(Context.Division);\n","import React from \"react\";\nimport { ResearchTree } from \"./ResearchTree\";\nimport { ICorporation } from \"./ICorporation\";\nimport { getBaseResearchTreeCopy, getProductIndustryResearchTreeCopy } from \"./data/BaseResearchTree\";\nimport { MoneyCost } from \"./ui/MoneyCost\";\n\ninterface IIndustryMap {\n [key: string]: T | undefined;\n Energy: T;\n Utilities: T;\n Agriculture: T;\n Fishing: T;\n Mining: T;\n Food: T;\n Tobacco: T;\n Chemical: T;\n Pharmaceutical: T;\n Computer: T;\n Robotics: T;\n Software: T;\n Healthcare: T;\n RealEstate: T;\n}\n\n// Map of official names for each Industry\nexport const Industries: IIndustryMap = {\n Energy: \"Energy\",\n Utilities: \"Water Utilities\",\n Agriculture: \"Agriculture\",\n Fishing: \"Fishing\",\n Mining: \"Mining\",\n Food: \"Food\",\n Tobacco: \"Tobacco\",\n Chemical: \"Chemical\",\n Pharmaceutical: \"Pharmaceutical\",\n Computer: \"Computer Hardware\",\n Robotics: \"Robotics\",\n Software: \"Software\",\n Healthcare: \"Healthcare\",\n RealEstate: \"RealEstate\",\n};\n\n// Map of how much money it takes to start each industry\nexport const IndustryStartingCosts: IIndustryMap = {\n Energy: 225e9,\n Utilities: 150e9,\n Agriculture: 40e9,\n Fishing: 80e9,\n Mining: 300e9,\n Food: 10e9,\n Tobacco: 20e9,\n Chemical: 70e9,\n Pharmaceutical: 200e9,\n Computer: 500e9,\n Robotics: 1e12,\n Software: 25e9,\n Healthcare: 750e9,\n RealEstate: 600e9,\n};\n\n// Map of description for each industry\nexport const IndustryDescriptions: IIndustryMap<(corp: ICorporation) => React.ReactElement> = {\n Energy: (corp: ICorporation) => (\n <>\n Engage in the production and distribution of energy.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Utilities: (corp: ICorporation) => (\n <>\n Distribute water and provide wastewater services.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Agriculture: (corp: ICorporation) => (\n <>\n Cultivate crops and breed livestock to produce food.\n \n \n Starting cost: \n \n Recommended starting Industry: YES\n >\n ),\n Fishing: (corp: ICorporation) => (\n <>\n Produce food through the breeding and processing of fish and fish products.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Mining: (corp: ICorporation) => (\n <>\n Extract and process metals from the earth.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Food: (corp: ICorporation) => (\n <>\n Create your own restaurants all around the world.\n \n \n Starting cost: \n \n Recommended starting Industry: YES\n >\n ),\n Tobacco: (corp: ICorporation) => (\n <>\n Create and distribute tobacco and tobacco-related products.\n \n \n Starting cost: \n \n Recommended starting Industry: YES\n >\n ),\n Chemical: (corp: ICorporation) => (\n <>\n Produce industrial chemicals.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Pharmaceutical: (corp: ICorporation) => (\n <>\n Discover, develop, and create new pharmaceutical drugs.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Computer: (corp: ICorporation) => (\n <>\n Develop and manufacture new computer hardware and networking infrastructures.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Robotics: (corp: ICorporation) => (\n <>\n Develop and create robots.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Software: (corp: ICorporation) => (\n <>\n Develop computer software and create AI Cores.\n \n \n Starting cost: \n \n Recommended starting Industry: YES\n >\n ),\n Healthcare: (corp: ICorporation) => (\n <>\n Create and manage hospitals.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n RealEstate: (corp: ICorporation) => (\n <>\n Develop and manage real estate properties.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n};\n\n// Map of available Research for each Industry. This data is held in a\n// ResearchTree object\nexport const IndustryResearchTrees: IIndustryMap = {\n Energy: getBaseResearchTreeCopy(),\n Utilities: getBaseResearchTreeCopy(),\n Agriculture: getBaseResearchTreeCopy(),\n Fishing: getBaseResearchTreeCopy(),\n Mining: getBaseResearchTreeCopy(),\n Food: getProductIndustryResearchTreeCopy(),\n Tobacco: getProductIndustryResearchTreeCopy(),\n Chemical: getBaseResearchTreeCopy(),\n Pharmaceutical: getProductIndustryResearchTreeCopy(),\n Computer: getProductIndustryResearchTreeCopy(),\n Robotics: getProductIndustryResearchTreeCopy(),\n Software: getProductIndustryResearchTreeCopy(),\n Healthcare: getProductIndustryResearchTreeCopy(),\n RealEstate: getProductIndustryResearchTreeCopy(),\n};\n\nexport function resetIndustryResearchTrees(): void {\n IndustryResearchTrees.Energy = getBaseResearchTreeCopy();\n IndustryResearchTrees.Utilities = getBaseResearchTreeCopy();\n IndustryResearchTrees.Agriculture = getBaseResearchTreeCopy();\n IndustryResearchTrees.Fishing = getBaseResearchTreeCopy();\n IndustryResearchTrees.Mining = getBaseResearchTreeCopy();\n IndustryResearchTrees.Food = getProductIndustryResearchTreeCopy();\n IndustryResearchTrees.Tobacco = getProductIndustryResearchTreeCopy();\n IndustryResearchTrees.Chemical = getBaseResearchTreeCopy();\n IndustryResearchTrees.Pharmaceutical = getProductIndustryResearchTreeCopy();\n IndustryResearchTrees.Computer = getProductIndustryResearchTreeCopy();\n IndustryResearchTrees.Robotics = getProductIndustryResearchTreeCopy();\n IndustryResearchTrees.Software = getProductIndustryResearchTreeCopy();\n IndustryResearchTrees.Healthcare = getProductIndustryResearchTreeCopy();\n IndustryResearchTrees.RealEstate = getProductIndustryResearchTreeCopy();\n}\n","/**\n * Enum defining the different types of possible locations\n */\nexport enum LocationType {\n Company,\n Gym,\n Hospital,\n Slums,\n Special, // This location has special options/activities (e.g. Bladeburner, Re-sleeving)\n StockMarket,\n TechVendor,\n TravelAgency,\n University,\n Casino,\n}\n","/**\n * Generic helper/utility functions for the Hacknet mechanic:\n * - Purchase nodes/upgrades\n * - Calculating maximum number of upgrades\n * - Processing Hacknet earnings\n * - Updating Hash Manager capacity\n * - Purchasing hash upgrades\n *\n * TODO Should probably split the different types of functions into their own modules\n */\nimport { HacknetNode } from \"./HacknetNode\";\nimport { calculateNodeCost } from \"./formulas/HacknetNodes\";\nimport { calculateServerCost } from \"./formulas/HacknetServers\";\nimport { HacknetNodeConstants, HacknetServerConstants } from \"./data/Constants\";\nimport { HacknetServer } from \"./HacknetServer\";\nimport { HashManager } from \"./HashManager\";\nimport { HashUpgrades } from \"./HashUpgrades\";\n\nimport { generateRandomContract } from \"../CodingContractGenerator\";\nimport { iTutorialSteps, iTutorialNextStep, ITutorial } from \"../InteractiveTutorial\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { GetServer } from \"../Server/AllServers\";\nimport { Server } from \"../Server/Server\";\n\n// Returns a boolean indicating whether the player has Hacknet Servers\n// (the upgraded form of Hacknet Nodes)\nexport function hasHacknetServers(player: IPlayer): boolean {\n return player.bitNodeN === 9 || player.sourceFileLvl(9) > 0;\n}\n\nexport function purchaseHacknet(player: IPlayer): number {\n /* INTERACTIVE TUTORIAL */\n if (ITutorial.isRunning) {\n if (ITutorial.currStep === iTutorialSteps.HacknetNodesIntroduction) {\n iTutorialNextStep();\n } else {\n return -1;\n }\n }\n /* END INTERACTIVE TUTORIAL */\n\n const numOwned = player.hacknetNodes.length;\n if (hasHacknetServers(player)) {\n const cost = getCostOfNextHacknetServer(player);\n if (isNaN(cost)) {\n throw new Error(`Calculated cost of purchasing HacknetServer is NaN`);\n }\n\n if (!player.canAfford(cost) || numOwned >= HacknetServerConstants.MaxServers) {\n return -1;\n }\n player.loseMoney(cost, \"hacknet_expenses\");\n player.createHacknetServer();\n updateHashManagerCapacity(player);\n\n return numOwned;\n } else {\n const cost = getCostOfNextHacknetNode(player);\n if (isNaN(cost)) {\n throw new Error(`Calculated cost of purchasing HacknetNode is NaN`);\n }\n\n if (!player.canAfford(cost)) {\n return -1;\n }\n\n // Auto generate a name for the Node\n const name = \"hacknet-node-\" + numOwned;\n const node = new HacknetNode(name, player.mults.hacknet_node_money);\n\n player.loseMoney(cost, \"hacknet_expenses\");\n player.hacknetNodes.push(node);\n\n return numOwned;\n }\n}\n\nexport function hasMaxNumberHacknetServers(player: IPlayer): boolean {\n return hasHacknetServers(player) && player.hacknetNodes.length >= HacknetServerConstants.MaxServers;\n}\n\nexport function getCostOfNextHacknetNode(player: IPlayer): number {\n return calculateNodeCost(player.hacknetNodes.length + 1, player.mults.hacknet_node_purchase_cost);\n}\n\nexport function getCostOfNextHacknetServer(player: IPlayer): number {\n return calculateServerCost(player.hacknetNodes.length + 1, player.mults.hacknet_node_purchase_cost);\n}\n\n// Calculate the maximum number of times the Player can afford to upgrade a Hacknet Node's level\nexport function getMaxNumberLevelUpgrades(\n player: IPlayer,\n nodeObj: HacknetNode | HacknetServer,\n maxLevel: number,\n): number {\n if (maxLevel == null) {\n throw new Error(`getMaxNumberLevelUpgrades() called without maxLevel arg`);\n }\n\n if (player.money < nodeObj.calculateLevelUpgradeCost(1, player.mults.hacknet_node_level_cost)) {\n return 0;\n }\n\n let min = 1;\n let max = maxLevel - 1;\n const levelsToMax = maxLevel - nodeObj.level;\n if (player.money > nodeObj.calculateLevelUpgradeCost(levelsToMax, player.mults.hacknet_node_level_cost)) {\n return levelsToMax;\n }\n\n while (min <= max) {\n const curr = ((min + max) / 2) | 0;\n if (\n curr !== maxLevel &&\n player.money > nodeObj.calculateLevelUpgradeCost(curr, player.mults.hacknet_node_level_cost) &&\n player.money < nodeObj.calculateLevelUpgradeCost(curr + 1, player.mults.hacknet_node_level_cost)\n ) {\n return Math.min(levelsToMax, curr);\n } else if (player.money < nodeObj.calculateLevelUpgradeCost(curr, player.mults.hacknet_node_level_cost)) {\n max = curr - 1;\n } else if (player.money > nodeObj.calculateLevelUpgradeCost(curr, player.mults.hacknet_node_level_cost)) {\n min = curr + 1;\n } else {\n return Math.min(levelsToMax, curr);\n }\n }\n return 0;\n}\n\n// Calculate the maximum number of times the Player can afford to upgrade a Hacknet Node's RAM\nexport function getMaxNumberRamUpgrades(\n player: IPlayer,\n nodeObj: HacknetNode | HacknetServer,\n maxLevel: number,\n): number {\n if (maxLevel == null) {\n throw new Error(`getMaxNumberRamUpgrades() called without maxLevel arg`);\n }\n\n if (player.money < nodeObj.calculateRamUpgradeCost(1, player.mults.hacknet_node_ram_cost)) {\n return 0;\n }\n\n let levelsToMax;\n if (nodeObj instanceof HacknetServer) {\n levelsToMax = Math.round(Math.log2(maxLevel / nodeObj.maxRam));\n } else {\n levelsToMax = Math.round(Math.log2(maxLevel / nodeObj.ram));\n }\n if (player.money > nodeObj.calculateRamUpgradeCost(levelsToMax, player.mults.hacknet_node_ram_cost)) {\n return levelsToMax;\n }\n\n //We'll just loop until we find the max\n for (let i = levelsToMax - 1; i >= 0; --i) {\n if (player.money > nodeObj.calculateRamUpgradeCost(i, player.mults.hacknet_node_ram_cost)) {\n return i;\n }\n }\n return 0;\n}\n\n// Calculate the maximum number of times the Player can afford to upgrade a Hacknet Node's cores\nexport function getMaxNumberCoreUpgrades(\n player: IPlayer,\n nodeObj: HacknetNode | HacknetServer,\n maxLevel: number,\n): number {\n if (maxLevel == null) {\n throw new Error(`getMaxNumberCoreUpgrades() called without maxLevel arg`);\n }\n\n if (player.money < nodeObj.calculateCoreUpgradeCost(1, player.mults.hacknet_node_core_cost)) {\n return 0;\n }\n\n let min = 1;\n let max = maxLevel - 1;\n const levelsToMax = maxLevel - nodeObj.cores;\n if (player.money > nodeObj.calculateCoreUpgradeCost(levelsToMax, player.mults.hacknet_node_core_cost)) {\n return levelsToMax;\n }\n\n // Use a binary search to find the max possible number of upgrades\n while (min <= max) {\n const curr = ((min + max) / 2) | 0;\n if (\n curr != maxLevel &&\n player.money > nodeObj.calculateCoreUpgradeCost(curr, player.mults.hacknet_node_core_cost) &&\n player.money < nodeObj.calculateCoreUpgradeCost(curr + 1, player.mults.hacknet_node_core_cost)\n ) {\n return Math.min(levelsToMax, curr);\n } else if (player.money < nodeObj.calculateCoreUpgradeCost(curr, player.mults.hacknet_node_core_cost)) {\n max = curr - 1;\n } else if (player.money > nodeObj.calculateCoreUpgradeCost(curr, player.mults.hacknet_node_core_cost)) {\n min = curr + 1;\n } else {\n return Math.min(levelsToMax, curr);\n }\n }\n\n return 0;\n}\n\n// Calculate the maximum number of times the Player can afford to upgrade a Hacknet Node's cache\nexport function getMaxNumberCacheUpgrades(player: IPlayer, nodeObj: HacknetServer, maxLevel: number): number {\n if (maxLevel == null) {\n throw new Error(`getMaxNumberCacheUpgrades() called without maxLevel arg`);\n }\n\n if (!player.canAfford(nodeObj.calculateCacheUpgradeCost(1))) {\n return 0;\n }\n\n let min = 1;\n let max = maxLevel - 1;\n const levelsToMax = maxLevel - nodeObj.cache;\n if (player.canAfford(nodeObj.calculateCacheUpgradeCost(levelsToMax))) {\n return levelsToMax;\n }\n\n // Use a binary search to find the max possible number of upgrades\n while (min <= max) {\n const curr = ((min + max) / 2) | 0;\n if (\n curr != maxLevel &&\n player.canAfford(nodeObj.calculateCacheUpgradeCost(curr)) &&\n !player.canAfford(nodeObj.calculateCacheUpgradeCost(curr + 1))\n ) {\n return Math.min(levelsToMax, curr);\n } else if (!player.canAfford(nodeObj.calculateCacheUpgradeCost(curr))) {\n max = curr - 1;\n } else if (player.canAfford(nodeObj.calculateCacheUpgradeCost(curr))) {\n min = curr + 1;\n } else {\n return Math.min(levelsToMax, curr);\n }\n }\n\n return 0;\n}\n\nexport function purchaseLevelUpgrade(player: IPlayer, node: HacknetNode | HacknetServer, levels = 1): boolean {\n const sanitizedLevels = Math.round(levels);\n const cost = node.calculateLevelUpgradeCost(sanitizedLevels, player.mults.hacknet_node_level_cost);\n if (isNaN(cost) || cost <= 0 || sanitizedLevels < 0) {\n return false;\n }\n\n const isServer = node instanceof HacknetServer;\n\n // If we're at max level, return false\n if (node.level >= (isServer ? HacknetServerConstants.MaxLevel : HacknetNodeConstants.MaxLevel)) {\n return false;\n }\n\n // If the number of specified upgrades would exceed the max level, calculate\n // the maximum number of upgrades and use that\n if (node.level + sanitizedLevels > (isServer ? HacknetServerConstants.MaxLevel : HacknetNodeConstants.MaxLevel)) {\n const diff = Math.max(0, (isServer ? HacknetServerConstants.MaxLevel : HacknetNodeConstants.MaxLevel) - node.level);\n return purchaseLevelUpgrade(player, node, diff);\n }\n\n if (!player.canAfford(cost)) {\n return false;\n }\n\n player.loseMoney(cost, \"hacknet_expenses\");\n node.upgradeLevel(sanitizedLevels, player.mults.hacknet_node_money);\n\n return true;\n}\n\nexport function purchaseRamUpgrade(player: IPlayer, node: HacknetNode | HacknetServer, levels = 1): boolean {\n const sanitizedLevels = Math.round(levels);\n const cost = node.calculateRamUpgradeCost(sanitizedLevels, player.mults.hacknet_node_ram_cost);\n if (isNaN(cost) || cost <= 0 || sanitizedLevels < 0) {\n return false;\n }\n\n if (node instanceof HacknetServer && node.maxRam >= HacknetServerConstants.MaxRam) {\n return false;\n }\n\n if (node instanceof HacknetNode && node.ram >= HacknetNodeConstants.MaxRam) {\n return false;\n }\n\n // If the number of specified upgrades would exceed the max RAM, calculate the\n // max possible number of upgrades and use that\n if (node instanceof HacknetServer) {\n if (node.maxRam * Math.pow(2, sanitizedLevels) > HacknetServerConstants.MaxRam) {\n const diff = Math.max(0, Math.log2(Math.round(HacknetServerConstants.MaxRam / node.maxRam)));\n return purchaseRamUpgrade(player, node, diff);\n }\n } else if (node instanceof HacknetNode) {\n if (node.ram * Math.pow(2, sanitizedLevels) > HacknetNodeConstants.MaxRam) {\n const diff = Math.max(0, Math.log2(Math.round(HacknetNodeConstants.MaxRam / node.ram)));\n return purchaseRamUpgrade(player, node, diff);\n }\n }\n\n if (!player.canAfford(cost)) {\n return false;\n }\n\n player.loseMoney(cost, \"hacknet_expenses\");\n node.upgradeRam(sanitizedLevels, player.mults.hacknet_node_money);\n\n return true;\n}\n\nexport function purchaseCoreUpgrade(player: IPlayer, node: HacknetNode | HacknetServer, levels = 1): boolean {\n const sanitizedLevels = Math.round(levels);\n const cost = node.calculateCoreUpgradeCost(sanitizedLevels, player.mults.hacknet_node_core_cost);\n if (isNaN(cost) || cost <= 0 || sanitizedLevels < 0) {\n return false;\n }\n\n const isServer = node instanceof HacknetServer;\n\n // Fail if we're already at max\n if (node.cores >= (isServer ? HacknetServerConstants.MaxCores : HacknetNodeConstants.MaxCores)) {\n return false;\n }\n\n // If the specified number of upgrades would exceed the max Cores, calculate\n // the max possible number of upgrades and use that\n if (node.cores + sanitizedLevels > (isServer ? HacknetServerConstants.MaxCores : HacknetNodeConstants.MaxCores)) {\n const diff = Math.max(0, (isServer ? HacknetServerConstants.MaxCores : HacknetNodeConstants.MaxCores) - node.cores);\n return purchaseCoreUpgrade(player, node, diff);\n }\n\n if (!player.canAfford(cost)) {\n return false;\n }\n\n player.loseMoney(cost, \"hacknet_expenses\");\n node.upgradeCore(sanitizedLevels, player.mults.hacknet_node_money);\n\n return true;\n}\n\nexport function purchaseCacheUpgrade(player: IPlayer, node: HacknetServer, levels = 1): boolean {\n const sanitizedLevels = Math.round(levels);\n const cost = node.calculateCacheUpgradeCost(sanitizedLevels);\n if (isNaN(cost) || cost <= 0 || sanitizedLevels < 0) {\n return false;\n }\n\n if (!(node instanceof HacknetServer)) {\n console.warn(`purchaseCacheUpgrade() called for a non-HacknetNode`);\n return false;\n }\n\n // Fail if we're already at max\n if (node.cache + sanitizedLevels > HacknetServerConstants.MaxCache) {\n const diff = Math.max(0, HacknetServerConstants.MaxCache - node.cache);\n return purchaseCacheUpgrade(player, node, diff);\n }\n\n if (!player.canAfford(cost)) {\n return false;\n }\n\n player.loseMoney(cost, \"hacknet_expenses\");\n node.upgradeCache(sanitizedLevels);\n\n return true;\n}\n\nexport function processHacknetEarnings(player: IPlayer, numCycles: number): number {\n // Determine if player has Hacknet Nodes or Hacknet Servers, then\n // call the appropriate function\n if (player.hacknetNodes.length === 0) {\n return 0;\n }\n if (hasHacknetServers(player)) {\n return processAllHacknetServerEarnings(player, numCycles);\n } else if (player.hacknetNodes[0] instanceof HacknetNode) {\n return processAllHacknetNodeEarnings(player, numCycles);\n } else {\n return 0;\n }\n}\n\nfunction processAllHacknetNodeEarnings(player: IPlayer, numCycles: number): number {\n let total = 0;\n for (let i = 0; i < player.hacknetNodes.length; ++i) {\n const node = player.hacknetNodes[i];\n if (typeof node === \"string\") throw new Error(\"player node should not be ip string\");\n total += processSingleHacknetNodeEarnings(player, numCycles, node);\n }\n\n return total;\n}\n\nfunction processSingleHacknetNodeEarnings(player: IPlayer, numCycles: number, nodeObj: HacknetNode): number {\n const totalEarnings = nodeObj.process(numCycles);\n player.gainMoney(totalEarnings, \"hacknet\");\n\n return totalEarnings;\n}\n\nfunction processAllHacknetServerEarnings(player: IPlayer, numCycles: number): number {\n if (!(player.hashManager instanceof HashManager)) {\n throw new Error(`Player does not have a HashManager (should be in 'hashManager' prop)`);\n }\n\n let hashes = 0;\n for (let i = 0; i < player.hacknetNodes.length; ++i) {\n // hacknetNodes array only contains the IP addresses of the servers.\n // Also, update the hash rate before processing\n const ip = player.hacknetNodes[i];\n if (ip instanceof HacknetNode) throw new Error(`player nodes should not be HacketNode`);\n const hserver = GetServer(ip);\n if (!(hserver instanceof HacknetServer)) throw new Error(`player nodes shoud not be Server`);\n hserver.updateHashRate(player.mults.hacknet_node_money);\n const h = hserver.process(numCycles);\n hashes += h;\n }\n\n const wastedHashes = player.hashManager.storeHashes(hashes);\n if (wastedHashes > 0) {\n const upgrade = HashUpgrades[\"Sell for Money\"];\n if (upgrade === null) throw new Error(\"Could not get the hash upgrade\");\n if (!upgrade.cost) throw new Error(\"Upgrade is not properly configured\");\n\n const multiplier = wastedHashes / upgrade.cost;\n if (multiplier > 0) {\n player.gainMoney(upgrade.value * multiplier, \"hacknet\");\n }\n }\n\n return hashes;\n}\n\nexport function updateHashManagerCapacity(player: IPlayer): void {\n if (!(player.hashManager instanceof HashManager)) {\n console.error(`Player does not have a HashManager`);\n return;\n }\n\n const nodes = player.hacknetNodes;\n if (nodes.length === 0) {\n player.hashManager.updateCapacity(0);\n return;\n }\n\n let total = 0;\n for (let i = 0; i < nodes.length; ++i) {\n if (typeof nodes[i] !== \"string\") {\n player.hashManager.updateCapacity(0);\n return;\n }\n const ip = nodes[i];\n if (ip instanceof HacknetNode) throw new Error(`player nodes should be string but isn't`);\n const h = GetServer(ip);\n if (!(h instanceof HacknetServer)) {\n player.hashManager.updateCapacity(0);\n return;\n }\n\n total += h.hashCapacity;\n }\n\n player.hashManager.updateCapacity(total);\n}\n\nexport function purchaseHashUpgrade(player: IPlayer, upgName: string, upgTarget: string): boolean {\n if (!(player.hashManager instanceof HashManager)) {\n console.error(`Player does not have a HashManager`);\n return false;\n }\n\n // HashManager handles the transaction. This just needs to actually implement\n // the effects of the upgrade\n if (player.hashManager.upgrade(upgName)) {\n const upg = HashUpgrades[upgName];\n\n switch (upgName) {\n case \"Sell for Money\": {\n player.gainMoney(upg.value, \"hacknet\");\n break;\n }\n case \"Sell for Corporation Funds\": {\n const corp = player.corporation;\n if (corp === null) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n corp.funds = corp.funds + upg.value;\n break;\n }\n case \"Reduce Minimum Security\": {\n try {\n const target = GetServer(upgTarget);\n if (target == null) {\n console.error(`Invalid target specified in purchaseHashUpgrade(): ${upgTarget}`);\n return false;\n }\n if (!(target instanceof Server)) throw new Error(`'${upgTarget}' is not a normal server.`);\n\n target.changeMinimumSecurity(upg.value, true);\n } catch (e) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n break;\n }\n case \"Increase Maximum Money\": {\n try {\n const target = GetServer(upgTarget);\n if (target == null) {\n console.error(`Invalid target specified in purchaseHashUpgrade(): ${upgTarget}`);\n return false;\n }\n if (!(target instanceof Server)) throw new Error(`'${upgTarget}' is not a normal server.`);\n\n target.changeMaximumMoney(upg.value);\n } catch (e) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n break;\n }\n case \"Improve Studying\": {\n // Multiplier handled by HashManager\n break;\n }\n case \"Improve Gym Training\": {\n // Multiplier handled by HashManager\n break;\n }\n case \"Exchange for Corporation Research\": {\n // This will throw if player doesn't have a corporation\n const corp = player.corporation;\n if (corp === null) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n for (const division of corp.divisions) {\n division.sciResearch.qty += upg.value;\n }\n break;\n }\n case \"Exchange for Bladeburner Rank\": {\n // This will throw if player isnt in Bladeburner\n const bladeburner = player.bladeburner;\n if (bladeburner === null) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n bladeburner.changeRank(player, upg.value);\n break;\n }\n case \"Exchange for Bladeburner SP\": {\n // This will throw if player isnt in Bladeburner\n const bladeburner = player.bladeburner;\n if (bladeburner === null) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n\n bladeburner.skillPoints += upg.value;\n break;\n }\n case \"Generate Coding Contract\": {\n generateRandomContract();\n break;\n }\n default:\n console.warn(`Unrecognized upgrade name ${upgName}. Upgrade has no effect`);\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n\n return true;\n }\n\n return false;\n}\n","import { CityName } from \"./../../Locations/data/CityNames\";\nexport const BladeburnerConstants: {\n CityNames: string[];\n CyclesPerSecond: number;\n StaminaGainPerSecond: number;\n BaseStaminaLoss: number;\n MaxStaminaToGainFactor: number;\n DifficultyToTimeFactor: number;\n DiffMultExponentialFactor: number;\n DiffMultLinearFactor: number;\n EffAgiLinearFactor: number;\n EffDexLinearFactor: number;\n EffAgiExponentialFactor: number;\n EffDexExponentialFactor: number;\n BaseRecruitmentTimeNeeded: number;\n PopulationThreshold: number;\n PopulationExponent: number;\n ChaosThreshold: number;\n BaseStatGain: number;\n BaseIntGain: number;\n ActionCountGrowthPeriod: number;\n RankToFactionRepFactor: number;\n RankNeededForFaction: number;\n ContractSuccessesPerLevel: number;\n OperationSuccessesPerLevel: number;\n RanksPerSkillPoint: number;\n ContractBaseMoneyGain: number;\n HrcHpGain: number;\n HrcStaminaGain: number;\n} = {\n CityNames: [\n CityName.Aevum,\n CityName.Chongqing,\n CityName.Sector12,\n CityName.NewTokyo,\n CityName.Ishima,\n CityName.Volhaven,\n ],\n CyclesPerSecond: 5, // Game cycle is 200 ms\n\n StaminaGainPerSecond: 0.0085,\n BaseStaminaLoss: 0.285, // Base stamina loss per action. Increased based on difficulty\n MaxStaminaToGainFactor: 70000, // Max Stamina is divided by this to get bonus stamina gain\n\n DifficultyToTimeFactor: 10, // Action Difficulty divided by this to get base action time\n\n /**\n * The difficulty multiplier affects stamina loss and hp loss of an action. Also affects\n * experience gain. Its formula is:\n * difficulty ^ exponentialFactor + difficulty / linearFactor\n */\n DiffMultExponentialFactor: 0.28,\n DiffMultLinearFactor: 650,\n\n /**\n * These factors are used to calculate action time.\n * They affect how much action time is reduced based on your agility and dexterity\n */\n EffAgiLinearFactor: 10e3,\n EffDexLinearFactor: 10e3,\n EffAgiExponentialFactor: 0.04,\n EffDexExponentialFactor: 0.035,\n\n BaseRecruitmentTimeNeeded: 300, // Base time needed (s) to complete a Recruitment action\n\n PopulationThreshold: 1e9, // Population which determines baseline success rate\n PopulationExponent: 0.7, // Exponent that influences how different populations affect success rate\n ChaosThreshold: 50, // City chaos level after which it starts making tasks harder\n\n BaseStatGain: 1, // Base stat gain per second\n BaseIntGain: 0.003, // Base intelligence stat gain\n\n ActionCountGrowthPeriod: 480, // Time (s) it takes for action count to grow by its specified value\n\n RankToFactionRepFactor: 2, // Delta Faction Rep = this * Delta Rank\n RankNeededForFaction: 25,\n\n ContractSuccessesPerLevel: 3, // How many successes you need to level up a contract\n OperationSuccessesPerLevel: 2.5, // How many successes you need to level up an op\n\n RanksPerSkillPoint: 3, // How many ranks needed to get 1 Skill Point\n\n ContractBaseMoneyGain: 250e3, // Base Money Gained per contract\n\n HrcHpGain: 2, // HP Gained from Hyperbolic Regeneration chamber\n HrcStaminaGain: 1, // Percentage Stamina gained from Hyperbolic Regeneration Chamber\n};\n","export enum BlackOperationNames {\n OperationTyphoon = \"Operation Typhoon\",\n OperationZero = \"Operation Zero\",\n OperationX = \"Operation X\",\n OperationTitan = \"Operation Titan\",\n OperationAres = \"Operation Ares\",\n OperationArchangel = \"Operation Archangel\",\n OperationJuggernaut = \"Operation Juggernaut\",\n OperationRedDragon = \"Operation Red Dragon\",\n OperationK = \"Operation K\",\n OperationDeckard = \"Operation Deckard\",\n OperationTyrell = \"Operation Tyrell\",\n OperationWallace = \"Operation Wallace\",\n OperationShoulderOfOrion = \"Operation Shoulder of Orion\",\n OperationHyron = \"Operation Hyron\",\n OperationMorpheus = \"Operation Morpheus\",\n OperationIonStorm = \"Operation Ion Storm\",\n OperationAnnihilus = \"Operation Annihilus\",\n OperationUltron = \"Operation Ultron\",\n OperationCenturion = \"Operation Centurion\",\n OperationVindictus = \"Operation Vindictus\",\n OperationDaedalus = \"Operation Daedalus\",\n}\n","import { IPlayer } from \"../IPlayer\";\nimport { PlayerObject } from \"./PlayerObject\";\nimport { applyAugmentation } from \"../../Augmentation/AugmentationHelpers\";\nimport { PlayerOwnedAugmentation } from \"../../Augmentation/PlayerOwnedAugmentation\";\nimport { AugmentationNames } from \"../../Augmentation/data/AugmentationNames\";\nimport { BitNodeMultipliers } from \"../../BitNode/BitNodeMultipliers\";\nimport { CodingContractRewardType, ICodingContractReward } from \"../../CodingContracts\";\nimport { Company } from \"../../Company/Company\";\nimport { Companies } from \"../../Company/Companies\";\nimport { getNextCompanyPositionHelper } from \"../../Company/GetNextCompanyPosition\";\nimport { getJobRequirementText } from \"../../Company/GetJobRequirementText\";\nimport { CompanyPositions } from \"../../Company/CompanyPositions\";\nimport { CompanyPosition } from \"../../Company/CompanyPosition\";\nimport * as posNames from \"../../Company/data/companypositionnames\";\nimport { CONSTANTS } from \"../../Constants\";\nimport { Programs } from \"../../Programs/Programs\";\nimport { Exploit } from \"../../Exploits/Exploit\";\nimport { Faction } from \"../../Faction/Faction\";\nimport { Factions } from \"../../Faction/Factions\";\nimport { resetGangs } from \"../../Gang/AllGangs\";\nimport { Cities } from \"../../Locations/Cities\";\nimport { Locations } from \"../../Locations/Locations\";\nimport { CityName } from \"../../Locations/data/CityNames\";\nimport { LocationName } from \"../../Locations/data/LocationNames\";\nimport { Sleeve } from \"../Sleeve/Sleeve\";\nimport {\n calculateSkill as calculateSkillF,\n calculateSkillProgress as calculateSkillProgressF,\n ISkillProgress,\n} from \"../formulas/skill\";\nimport { calculateIntelligenceBonus } from \"../formulas/intelligence\";\nimport { GetServer, AddToAllServers, createUniqueRandomIp } from \"../../Server/AllServers\";\nimport { Server } from \"../../Server/Server\";\nimport { safetlyCreateUniqueServer } from \"../../Server/ServerHelpers\";\n\nimport { SpecialServers } from \"../../Server/data/SpecialServers\";\nimport { applySourceFile } from \"../../SourceFile/applySourceFile\";\nimport { applyExploit } from \"../../Exploits/applyExploits\";\nimport { SourceFiles } from \"../../SourceFile/SourceFiles\";\nimport { getHospitalizationCost } from \"../../Hospital/Hospital\";\nimport { HacknetServer } from \"../../Hacknet/HacknetServer\";\n\nimport { numeralWrapper } from \"../../ui/numeralFormat\";\nimport { MoneySourceTracker } from \"../../utils/MoneySourceTracker\";\nimport { dialogBoxCreate } from \"../../ui/React/DialogBox\";\n\nimport { SnackbarEvents, ToastVariant } from \"../../ui/React/Snackbar\";\nimport { achievements } from \"../../Achievements/Achievements\";\nimport { FactionNames } from \"../../Faction/data/FactionNames\";\nimport { ITaskTracker } from \"../ITaskTracker\";\nimport { IPerson } from \"../IPerson\";\nimport { Player } from \"../../Player\";\n\nimport { isCompanyWork } from \"../../Work/CompanyWork\";\nimport { defaultMultipliers } from \"../Multipliers\";\nimport { serverMetadata } from \"../../Server/data/servers\";\n\nexport function init(this: IPlayer): void {\n /* Initialize Player's home computer */\n const t_homeComp = safetlyCreateUniqueServer({\n adminRights: true,\n hostname: \"home\",\n ip: createUniqueRandomIp(),\n isConnectedTo: true,\n maxRam: 8,\n organizationName: \"Home PC\",\n purchasedByPlayer: true,\n });\n this.currentServer = SpecialServers.Home;\n AddToAllServers(t_homeComp);\n\n this.getHomeComputer().programs.push(Programs.NukeProgram.name);\n}\n\nexport function prestigeAugmentation(this: PlayerObject): void {\n this.currentServer = SpecialServers.Home;\n\n this.numPeopleKilled = 0;\n\n //Reset stats\n this.hacking = 1;\n\n this.strength = 1;\n this.defense = 1;\n this.dexterity = 1;\n this.agility = 1;\n\n this.charisma = 1;\n\n this.hacking_exp = 0;\n this.strength_exp = 0;\n this.defense_exp = 0;\n this.dexterity_exp = 0;\n this.agility_exp = 0;\n this.charisma_exp = 0;\n\n this.money = 1000 + CONSTANTS.Donations;\n\n this.city = CityName.Sector12;\n this.location = LocationName.TravelAgency;\n\n this.jobs = {};\n\n this.purchasedServers = [];\n\n this.factions = [];\n this.factionInvitations = [];\n\n this.queuedAugmentations = [];\n\n const numSleeves = Math.min(3, this.sourceFileLvl(10) + (this.bitNodeN === 10 ? 1 : 0)) + this.sleevesFromCovenant;\n if (this.sleeves.length > numSleeves) this.sleeves.length = numSleeves;\n for (let i = this.sleeves.length; i < numSleeves; i++) {\n this.sleeves.push(new Sleeve(this));\n }\n\n for (let i = 0; i < this.sleeves.length; ++i) {\n if (this.sleeves[i] instanceof Sleeve) {\n if (this.sleeves[i].shock >= 100) {\n this.sleeves[i].synchronize(this);\n } else {\n this.sleeves[i].shockRecovery(this);\n }\n }\n }\n\n this.lastUpdate = new Date().getTime();\n\n // Statistics Trackers\n this.playtimeSinceLastAug = 0;\n this.scriptProdSinceLastAug = 0;\n this.moneySourceA.reset();\n\n this.hacknetNodes.length = 0;\n this.hashManager.prestige();\n\n // Reapply augs, re-calculate skills and reset HP\n this.reapplyAllAugmentations(true);\n this.hp = this.max_hp;\n\n this.finishWork(true);\n}\n\nexport function prestigeSourceFile(this: IPlayer): void {\n this.entropy = 0;\n this.prestigeAugmentation();\n this.karma = 0;\n // Duplicate sleeves are reset to level 1 every Bit Node (but the number of sleeves you have persists)\n for (let i = 0; i < this.sleeves.length; ++i) {\n if (this.sleeves[i] instanceof Sleeve) {\n this.sleeves[i].prestige(this);\n } else {\n this.sleeves[i] = new Sleeve(this);\n }\n }\n\n if (this.bitNodeN === 10) {\n for (let i = 0; i < this.sleeves.length; i++) {\n this.sleeves[i].shock = Math.max(25, this.sleeves[i].shock);\n this.sleeves[i].sync = Math.max(25, this.sleeves[i].sync);\n }\n }\n\n // Gang\n this.gang = null;\n resetGangs();\n\n // Reset Stock market\n this.hasWseAccount = false;\n this.hasTixApiAccess = false;\n this.has4SData = false;\n this.has4SDataTixApi = false;\n\n // BitNode 3: Corporatocracy\n this.corporation = null;\n\n this.moneySourceB.reset();\n this.playtimeSinceLastBitnode = 0;\n this.augmentations = [];\n}\n\nexport function receiveInvite(this: IPlayer, factionName: string): void {\n if (this.factionInvitations.includes(factionName) || this.factions.includes(factionName)) {\n return;\n }\n this.factionInvitations.push(factionName);\n}\n\n//Calculates skill level based on experience. The same formula will be used for every skill\nexport function calculateSkill(this: IPerson, exp: number, mult = 1): number {\n return calculateSkillF(exp, mult);\n}\n\n//Calculates skill level progress based on experience. The same formula will be used for every skill\nexport function calculateSkillProgress(this: IPlayer, exp: number, mult = 1): ISkillProgress {\n return calculateSkillProgressF(exp, mult);\n}\n\nexport function updateSkillLevels(this: IPlayer): void {\n this.hacking = Math.max(\n 1,\n Math.floor(this.calculateSkill(this.hacking_exp, this.mults.hacking * BitNodeMultipliers.HackingLevelMultiplier)),\n );\n this.strength = Math.max(\n 1,\n Math.floor(\n this.calculateSkill(this.strength_exp, this.mults.strength * BitNodeMultipliers.StrengthLevelMultiplier),\n ),\n );\n this.defense = Math.max(\n 1,\n Math.floor(this.calculateSkill(this.defense_exp, this.mults.defense * BitNodeMultipliers.DefenseLevelMultiplier)),\n );\n this.dexterity = Math.max(\n 1,\n Math.floor(\n this.calculateSkill(this.dexterity_exp, this.mults.dexterity * BitNodeMultipliers.DexterityLevelMultiplier),\n ),\n );\n this.agility = Math.max(\n 1,\n Math.floor(this.calculateSkill(this.agility_exp, this.mults.agility * BitNodeMultipliers.AgilityLevelMultiplier)),\n );\n this.charisma = Math.max(\n 1,\n Math.floor(\n this.calculateSkill(this.charisma_exp, this.mults.charisma * BitNodeMultipliers.CharismaLevelMultiplier),\n ),\n );\n\n if (this.intelligence > 0) {\n this.intelligence = Math.floor(this.calculateSkill(this.intelligence_exp));\n } else {\n this.intelligence = 0;\n }\n\n const ratio = this.hp / this.max_hp;\n this.max_hp = Math.floor(10 + this.defense / 10);\n this.hp = Math.round(this.max_hp * ratio);\n}\n\nexport function resetMultipliers(this: IPlayer): void {\n this.mults = defaultMultipliers();\n}\n\nexport function hasProgram(this: IPlayer, programName: string): boolean {\n const home = this.getHomeComputer();\n if (home == null) {\n return false;\n }\n\n for (let i = 0; i < home.programs.length; ++i) {\n if (programName.toLowerCase() == home.programs[i].toLowerCase()) {\n return true;\n }\n }\n return false;\n}\n\nexport function setMoney(this: PlayerObject, money: number): void {\n if (isNaN(money)) {\n console.error(\"NaN passed into Player.setMoney()\");\n return;\n }\n this.money = money;\n}\n\nexport function gainMoney(this: PlayerObject, money: number, source: string): void {\n if (isNaN(money)) {\n console.error(\"NaN passed into Player.gainMoney()\");\n return;\n }\n\n this.money = this.money + money;\n this.recordMoneySource(money, source);\n}\n\nexport function loseMoney(this: PlayerObject, money: number, source: string): void {\n if (isNaN(money)) {\n console.error(\"NaN passed into Player.loseMoney()\");\n return;\n }\n if (this.money === Infinity && money === Infinity) return;\n this.money = this.money - money;\n this.recordMoneySource(-1 * money, source);\n}\n\nexport function canAfford(this: IPlayer, cost: number): boolean {\n if (isNaN(cost)) {\n console.error(`NaN passed into Player.canAfford()`);\n return false;\n }\n return this.money >= cost;\n}\n\nexport function recordMoneySource(this: PlayerObject, amt: number, source: string): void {\n if (!(this.moneySourceA instanceof MoneySourceTracker)) {\n console.warn(`Player.moneySourceA was not properly initialized. Resetting`);\n this.moneySourceA = new MoneySourceTracker();\n }\n if (!(this.moneySourceB instanceof MoneySourceTracker)) {\n console.warn(`Player.moneySourceB was not properly initialized. Resetting`);\n this.moneySourceB = new MoneySourceTracker();\n }\n this.moneySourceA.record(amt, source);\n this.moneySourceB.record(amt, source);\n}\n\nexport function gainHackingExp(this: IPerson, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into Player.gainHackingExp()\");\n return;\n }\n this.hacking_exp += exp;\n if (this.hacking_exp < 0) {\n this.hacking_exp = 0;\n }\n\n this.hacking = calculateSkillF(this.hacking_exp, this.mults.hacking * BitNodeMultipliers.HackingLevelMultiplier);\n}\n\nexport function gainStrengthExp(this: IPerson, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into Player.gainStrengthExp()\");\n return;\n }\n this.strength_exp += exp;\n if (this.strength_exp < 0) {\n this.strength_exp = 0;\n }\n\n this.strength = calculateSkillF(this.strength_exp, this.mults.strength * BitNodeMultipliers.StrengthLevelMultiplier);\n}\n\nexport function gainDefenseExp(this: IPerson, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into player.gainDefenseExp()\");\n return;\n }\n this.defense_exp += exp;\n if (this.defense_exp < 0) {\n this.defense_exp = 0;\n }\n\n this.defense = calculateSkillF(this.defense_exp, this.mults.defense * BitNodeMultipliers.DefenseLevelMultiplier);\n const ratio = this.hp / this.max_hp;\n this.max_hp = Math.floor(10 + this.defense / 10);\n this.hp = Math.round(this.max_hp * ratio);\n}\n\nexport function gainDexterityExp(this: IPerson, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into Player.gainDexterityExp()\");\n return;\n }\n this.dexterity_exp += exp;\n if (this.dexterity_exp < 0) {\n this.dexterity_exp = 0;\n }\n\n this.dexterity = calculateSkillF(\n this.dexterity_exp,\n this.mults.dexterity * BitNodeMultipliers.DexterityLevelMultiplier,\n );\n}\n\nexport function gainAgilityExp(this: IPerson, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into Player.gainAgilityExp()\");\n return;\n }\n this.agility_exp += exp;\n if (this.agility_exp < 0) {\n this.agility_exp = 0;\n }\n\n this.agility = calculateSkillF(this.agility_exp, this.mults.agility * BitNodeMultipliers.AgilityLevelMultiplier);\n}\n\nexport function gainCharismaExp(this: IPerson, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into Player.gainCharismaExp()\");\n return;\n }\n this.charisma_exp += exp;\n if (this.charisma_exp < 0) {\n this.charisma_exp = 0;\n }\n\n this.charisma = calculateSkillF(this.charisma_exp, this.mults.charisma * BitNodeMultipliers.CharismaLevelMultiplier);\n}\n\nexport function gainIntelligenceExp(this: IPerson, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERROR: NaN passed into Player.gainIntelligenceExp()\");\n return;\n }\n if (Player.sourceFileLvl(5) > 0 || this.intelligence > 0) {\n this.intelligence_exp += exp;\n this.intelligence = Math.floor(this.calculateSkill(this.intelligence_exp, 1));\n }\n}\n\nexport function gainStats(this: IPerson, retValue: ITaskTracker): void {\n this.gainHackingExp(retValue.hack * this.mults.hacking_exp);\n this.gainStrengthExp(retValue.str * this.mults.strength_exp);\n this.gainDefenseExp(retValue.def * this.mults.defense_exp);\n this.gainDexterityExp(retValue.dex * this.mults.dexterity_exp);\n this.gainAgilityExp(retValue.agi * this.mults.agility_exp);\n this.gainCharismaExp(retValue.cha * this.mults.charisma_exp);\n this.gainIntelligenceExp(retValue.int);\n}\n\n//Given a string expression like \"str\" or \"strength\", returns the given stat\nexport function queryStatFromString(this: IPlayer, str: string): number {\n const tempStr = str.toLowerCase();\n if (tempStr.includes(\"hack\")) {\n return this.hacking;\n }\n if (tempStr.includes(\"str\")) {\n return this.strength;\n }\n if (tempStr.includes(\"def\")) {\n return this.defense;\n }\n if (tempStr.includes(\"dex\")) {\n return this.dexterity;\n }\n if (tempStr.includes(\"agi\")) {\n return this.agility;\n }\n if (tempStr.includes(\"cha\")) {\n return this.charisma;\n }\n if (tempStr.includes(\"int\")) {\n return this.intelligence;\n }\n return 0;\n}\n\nexport function startFocusing(this: IPlayer): void {\n this.focus = true;\n}\n\nexport function stopFocusing(this: IPlayer): void {\n this.focus = false;\n}\n\n// Returns true if hospitalized, false otherwise\nexport function takeDamage(this: IPlayer, amt: number): boolean {\n if (typeof amt !== \"number\") {\n console.warn(`Player.takeDamage() called without a numeric argument: ${amt}`);\n return false;\n }\n\n this.hp -= amt;\n if (this.hp <= 0) {\n this.hospitalize();\n return true;\n } else {\n return false;\n }\n}\n\nexport function regenerateHp(this: IPerson, amt: number): void {\n if (typeof amt !== \"number\") {\n console.warn(`Player.regenerateHp() called without a numeric argument: ${amt}`);\n return;\n }\n this.hp += amt;\n if (this.hp > this.max_hp) {\n this.hp = this.max_hp;\n }\n}\n\nexport function hospitalize(this: IPlayer): number {\n const cost = getHospitalizationCost(this);\n SnackbarEvents.emit(`You've been Hospitalized for ${numeralWrapper.formatMoney(cost)}`, ToastVariant.WARNING, 2000);\n\n this.loseMoney(cost, \"hospitalization\");\n this.hp = this.max_hp;\n return cost;\n}\n\n/********* Company job application **********/\n//Determines the job that the Player should get (if any) at the current company\n//The 'sing' argument designates whether or not this is being called from\n//the applyToCompany() Netscript Singularity function\nexport function applyForJob(this: IPlayer, entryPosType: CompanyPosition, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n if (!(company instanceof Company)) {\n console.error(`Could not find company that matches the location: ${this.location}. Player.applyToCompany() failed`);\n return false;\n }\n\n let pos = entryPosType;\n\n if (!this.isQualified(company, pos)) {\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position \" + getJobRequirementText(company, pos));\n }\n return false;\n }\n\n if (!company.hasPosition(pos)) {\n console.error(`Company ${company.name} does not have position ${pos}. Player.applyToCompany() failed`);\n return false;\n }\n\n while (true) {\n const nextPos = getNextCompanyPositionHelper(pos);\n if (nextPos == null) break;\n if (company.hasPosition(nextPos) && this.isQualified(company, nextPos)) {\n pos = nextPos;\n } else break;\n }\n\n //Check if player already has the assigned job\n if (this.jobs[company.name] === pos.name) {\n if (!sing) {\n const nextPos = getNextCompanyPositionHelper(pos);\n if (nextPos == null || !company.hasPosition(nextPos)) {\n dialogBoxCreate(\"You are already at the highest position for your field! No promotion available\");\n } else {\n const reqText = getJobRequirementText(company, nextPos);\n dialogBoxCreate(\"Unfortunately, you do not qualify for a promotion \" + reqText);\n }\n }\n return false;\n }\n\n this.jobs[company.name] = pos.name;\n\n if (!sing) {\n dialogBoxCreate(\"Congratulations! You were offered a new job at \" + company.name + \" as a \" + pos.name + \"!\");\n }\n return true;\n}\n\n//Returns your next position at a company given the field (software, business, etc.)\nexport function getNextCompanyPosition(\n this: IPlayer,\n company: Company,\n entryPosType: CompanyPosition,\n): CompanyPosition | null {\n const currCompany = Companies[company.name];\n\n //Not employed at this company, so return the entry position\n if (currCompany == null || currCompany.name != company.name) {\n return entryPosType;\n }\n\n //If the entry pos type and the player's current position have the same type,\n //return the player's \"nextCompanyPosition\". Otherwise return the entryposType\n //Employed at this company, so just return the next position if it exists.\n const currentPositionName = this.jobs[company.name];\n if (!currentPositionName) return entryPosType;\n const currentPosition = CompanyPositions[currentPositionName];\n if (\n (currentPosition.isSoftwareJob() && entryPosType.isSoftwareJob()) ||\n (currentPosition.isITJob() && entryPosType.isITJob()) ||\n (currentPosition.isBusinessJob() && entryPosType.isBusinessJob()) ||\n (currentPosition.isSecurityEngineerJob() && entryPosType.isSecurityEngineerJob()) ||\n (currentPosition.isNetworkEngineerJob() && entryPosType.isNetworkEngineerJob()) ||\n (currentPosition.isSecurityJob() && entryPosType.isSecurityJob()) ||\n (currentPosition.isAgentJob() && entryPosType.isAgentJob()) ||\n (currentPosition.isSoftwareConsultantJob() && entryPosType.isSoftwareConsultantJob()) ||\n (currentPosition.isBusinessConsultantJob() && entryPosType.isBusinessConsultantJob()) ||\n (currentPosition.isPartTimeJob() && entryPosType.isPartTimeJob())\n ) {\n return getNextCompanyPositionHelper(currentPosition);\n }\n\n return entryPosType;\n}\n\nexport function quitJob(this: IPlayer, company: string): void {\n if (isCompanyWork(this.currentWork) && this.currentWork.companyName === company) {\n this.finishWork(true);\n }\n delete this.jobs[company];\n}\n\n/**\n * Method to see if the player has at least one job assigned to them\n * @param this The player instance\n * @returns Whether the user has at least one job\n */\nexport function hasJob(this: IPlayer): boolean {\n return Boolean(Object.keys(this.jobs).length);\n}\n\nexport function applyForSoftwareJob(this: IPlayer, sing = false): boolean {\n return this.applyForJob(CompanyPositions[posNames.SoftwareCompanyPositions[0]], sing);\n}\n\nexport function applyForSoftwareConsultantJob(this: IPlayer, sing = false): boolean {\n return this.applyForJob(CompanyPositions[posNames.SoftwareConsultantCompanyPositions[0]], sing);\n}\n\nexport function applyForItJob(this: IPlayer, sing = false): boolean {\n return this.applyForJob(CompanyPositions[posNames.ITCompanyPositions[0]], sing);\n}\n\nexport function applyForSecurityEngineerJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n if (this.isQualified(company, CompanyPositions[posNames.SecurityEngineerCompanyPositions[0]])) {\n return this.applyForJob(CompanyPositions[posNames.SecurityEngineerCompanyPositions[0]], sing);\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position\");\n }\n return false;\n }\n}\n\nexport function applyForNetworkEngineerJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n if (this.isQualified(company, CompanyPositions[posNames.NetworkEngineerCompanyPositions[0]])) {\n const pos = CompanyPositions[posNames.NetworkEngineerCompanyPositions[0]];\n return this.applyForJob(pos, sing);\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position\");\n }\n return false;\n }\n}\n\nexport function applyForBusinessJob(this: IPlayer, sing = false): boolean {\n return this.applyForJob(CompanyPositions[posNames.BusinessCompanyPositions[0]], sing);\n}\n\nexport function applyForBusinessConsultantJob(this: IPlayer, sing = false): boolean {\n return this.applyForJob(CompanyPositions[posNames.BusinessConsultantCompanyPositions[0]], sing);\n}\n\nexport function applyForSecurityJob(this: IPlayer, sing = false): boolean {\n // TODO Police Jobs\n // Indexing starts at 2 because 0 is for police officer\n return this.applyForJob(CompanyPositions[posNames.SecurityCompanyPositions[2]], sing);\n}\n\nexport function applyForAgentJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n if (this.isQualified(company, CompanyPositions[posNames.AgentCompanyPositions[0]])) {\n const pos = CompanyPositions[posNames.AgentCompanyPositions[0]];\n return this.applyForJob(pos, sing);\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position\");\n }\n return false;\n }\n}\n\nexport function applyForEmployeeJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n const position = posNames.MiscCompanyPositions[1];\n // Check if this company has the position\n if (!company.hasPosition(position)) {\n return false;\n }\n if (this.isQualified(company, CompanyPositions[position])) {\n this.jobs[company.name] = position;\n\n if (!sing) {\n dialogBoxCreate(\"Congratulations, you are now employed at \" + this.location);\n }\n\n return true;\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position\");\n }\n\n return false;\n }\n}\n\nexport function applyForPartTimeEmployeeJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n const position = posNames.PartTimeCompanyPositions[1];\n // Check if this company has the position\n if (!company.hasPosition(position)) {\n return false;\n }\n if (this.isQualified(company, CompanyPositions[position])) {\n this.jobs[company.name] = position;\n if (!sing) {\n dialogBoxCreate(\"Congratulations, you are now employed part-time at \" + this.location);\n }\n\n return true;\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position\");\n }\n\n return false;\n }\n}\n\nexport function applyForWaiterJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n const position = posNames.MiscCompanyPositions[0];\n // Check if this company has the position\n if (!company.hasPosition(position)) {\n return false;\n }\n if (this.isQualified(company, CompanyPositions[position])) {\n this.jobs[company.name] = position;\n if (!sing) {\n dialogBoxCreate(\"Congratulations, you are now employed as a waiter at \" + this.location);\n }\n return true;\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position\");\n }\n return false;\n }\n}\n\nexport function applyForPartTimeWaiterJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n const position = posNames.PartTimeCompanyPositions[0];\n // Check if this company has the position\n if (!company.hasPosition(position)) {\n return false;\n }\n if (this.isQualified(company, CompanyPositions[position])) {\n this.jobs[company.name] = position;\n if (!sing) {\n dialogBoxCreate(\"Congratulations, you are now employed as a part-time waiter at \" + this.location);\n }\n return true;\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position\");\n }\n return false;\n }\n}\n\n//Checks if the Player is qualified for a certain position\nexport function isQualified(this: IPlayer, company: Company, position: CompanyPosition): boolean {\n const offset = company.jobStatReqOffset;\n const reqHacking = position.requiredHacking > 0 ? position.requiredHacking + offset : 0;\n const reqStrength = position.requiredStrength > 0 ? position.requiredStrength + offset : 0;\n const reqDefense = position.requiredDefense > 0 ? position.requiredDefense + offset : 0;\n const reqDexterity = position.requiredDexterity > 0 ? position.requiredDexterity + offset : 0;\n const reqAgility = position.requiredDexterity > 0 ? position.requiredDexterity + offset : 0;\n const reqCharisma = position.requiredCharisma > 0 ? position.requiredCharisma + offset : 0;\n\n return (\n this.hacking >= reqHacking &&\n this.strength >= reqStrength &&\n this.defense >= reqDefense &&\n this.dexterity >= reqDexterity &&\n this.agility >= reqAgility &&\n this.charisma >= reqCharisma &&\n company.playerReputation >= position.requiredReputation\n );\n}\n\n/********** Reapplying Augmentations and Source File ***********/\nexport function reapplyAllAugmentations(this: IPlayer, resetMultipliers = true): void {\n if (resetMultipliers) {\n this.resetMultipliers();\n }\n\n for (let i = 0; i < this.augmentations.length; ++i) {\n //Compatibility with new version\n if (this.augmentations[i].name === \"HacknetNode NIC Architecture Neural-Upload\") {\n this.augmentations[i].name = \"Hacknet Node NIC Architecture Neural-Upload\";\n }\n\n const playerAug = this.augmentations[i];\n const augName = playerAug.name;\n\n if (augName == AugmentationNames.NeuroFluxGovernor) {\n for (let j = 0; j < playerAug.level; ++j) {\n applyAugmentation(this.augmentations[i], true);\n }\n continue;\n }\n applyAugmentation(this.augmentations[i], true);\n }\n\n this.updateSkillLevels();\n}\n\nexport function reapplyAllSourceFiles(this: IPlayer): void {\n //Will always be called after reapplyAllAugmentations() so multipliers do not have to be reset\n //this.resetMultipliers();\n\n for (let i = 0; i < this.sourceFiles.length; ++i) {\n const srcFileKey = \"SourceFile\" + this.sourceFiles[i].n;\n const sourceFileObject = SourceFiles[srcFileKey];\n if (sourceFileObject == null) {\n console.error(`Invalid source file number: ${this.sourceFiles[i].n}`);\n continue;\n }\n applySourceFile(this.sourceFiles[i]);\n }\n applyExploit();\n this.updateSkillLevels();\n}\n\n/*************** Check for Faction Invitations *************/\n//This function sets the requirements to join a Faction. It checks whether the Player meets\n//those requirements and will return an array of all factions that the Player should\n//receive an invitation to\nexport function checkForFactionInvitations(this: IPlayer): Faction[] {\n const invitedFactions: Faction[] = []; //Array which will hold all Factions the player should be invited to\n\n const numAugmentations = this.augmentations.length;\n\n const allCompanies = Object.keys(this.jobs);\n const allPositions = Object.values(this.jobs);\n\n // Given a company name, safely returns the reputation (returns 0 if invalid company is specified)\n function getCompanyRep(companyName: string): number {\n const company = Companies[companyName];\n if (company == null) {\n return 0;\n } else {\n return company.playerReputation;\n }\n }\n\n // Helper function that returns a boolean indicating whether the Player meets\n // the requirements for the specified company. There are two requirements:\n // 1. High enough reputation\n // 2. Player is employed at the company\n function checkMegacorpRequirements(companyName: string): boolean {\n const serverMeta = serverMetadata.find((s) => s.specialName === companyName);\n const server = GetServer(serverMeta ? serverMeta.hostname : \"\");\n const bonus = (server as Server).backdoorInstalled ? -100e3 : 0;\n return (\n allCompanies.includes(companyName) && getCompanyRep(companyName) > CONSTANTS.CorpFactionRepRequirement + bonus\n );\n }\n\n //Illuminati\n const illuminatiFac = Factions[FactionNames.Illuminati];\n if (\n !illuminatiFac.isBanned &&\n !illuminatiFac.isMember &&\n !illuminatiFac.alreadyInvited &&\n numAugmentations >= 30 &&\n this.money >= 150000000000 &&\n this.hacking >= 1500 &&\n this.strength >= 1200 &&\n this.defense >= 1200 &&\n this.dexterity >= 1200 &&\n this.agility >= 1200\n ) {\n invitedFactions.push(illuminatiFac);\n }\n\n //Daedalus\n const daedalusFac = Factions[FactionNames.Daedalus];\n if (\n !daedalusFac.isBanned &&\n !daedalusFac.isMember &&\n !daedalusFac.alreadyInvited &&\n numAugmentations >= BitNodeMultipliers.DaedalusAugsRequirement &&\n this.money >= 100000000000 &&\n (this.hacking >= 2500 ||\n (this.strength >= 1500 && this.defense >= 1500 && this.dexterity >= 1500 && this.agility >= 1500))\n ) {\n invitedFactions.push(daedalusFac);\n }\n\n //The Covenant\n const covenantFac = Factions[FactionNames.TheCovenant];\n if (\n !covenantFac.isBanned &&\n !covenantFac.isMember &&\n !covenantFac.alreadyInvited &&\n numAugmentations >= 20 &&\n this.money >= 75000000000 &&\n this.hacking >= 850 &&\n this.strength >= 850 &&\n this.defense >= 850 &&\n this.dexterity >= 850 &&\n this.agility >= 850\n ) {\n invitedFactions.push(covenantFac);\n }\n\n //ECorp\n const ecorpFac = Factions[FactionNames.ECorp];\n if (\n !ecorpFac.isBanned &&\n !ecorpFac.isMember &&\n !ecorpFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.AevumECorp)\n ) {\n invitedFactions.push(ecorpFac);\n }\n\n //MegaCorp\n const megacorpFac = Factions[FactionNames.MegaCorp];\n if (\n !megacorpFac.isBanned &&\n !megacorpFac.isMember &&\n !megacorpFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.Sector12MegaCorp)\n ) {\n invitedFactions.push(megacorpFac);\n }\n\n //Bachman & Associates\n const bachmanandassociatesFac = Factions[FactionNames.BachmanAssociates];\n if (\n !bachmanandassociatesFac.isBanned &&\n !bachmanandassociatesFac.isMember &&\n !bachmanandassociatesFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.AevumBachmanAndAssociates)\n ) {\n invitedFactions.push(bachmanandassociatesFac);\n }\n\n //Blade Industries\n const bladeindustriesFac = Factions[FactionNames.BladeIndustries];\n if (\n !bladeindustriesFac.isBanned &&\n !bladeindustriesFac.isMember &&\n !bladeindustriesFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.Sector12BladeIndustries)\n ) {\n invitedFactions.push(bladeindustriesFac);\n }\n\n //NWO\n const nwoFac = Factions[FactionNames.NWO];\n if (\n !nwoFac.isBanned &&\n !nwoFac.isMember &&\n !nwoFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.VolhavenNWO)\n ) {\n invitedFactions.push(nwoFac);\n }\n\n //Clarke Incorporated\n const clarkeincorporatedFac = Factions[FactionNames.ClarkeIncorporated];\n if (\n !clarkeincorporatedFac.isBanned &&\n !clarkeincorporatedFac.isMember &&\n !clarkeincorporatedFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.AevumClarkeIncorporated)\n ) {\n invitedFactions.push(clarkeincorporatedFac);\n }\n\n //OmniTek Incorporated\n const omnitekincorporatedFac = Factions[FactionNames.OmniTekIncorporated];\n if (\n !omnitekincorporatedFac.isBanned &&\n !omnitekincorporatedFac.isMember &&\n !omnitekincorporatedFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.VolhavenOmniTekIncorporated)\n ) {\n invitedFactions.push(omnitekincorporatedFac);\n }\n\n //Four Sigma\n const foursigmaFac = Factions[FactionNames.FourSigma];\n if (\n !foursigmaFac.isBanned &&\n !foursigmaFac.isMember &&\n !foursigmaFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.Sector12FourSigma)\n ) {\n invitedFactions.push(foursigmaFac);\n }\n\n //KuaiGong International\n const kuaigonginternationalFac = Factions[FactionNames.KuaiGongInternational];\n if (\n !kuaigonginternationalFac.isBanned &&\n !kuaigonginternationalFac.isMember &&\n !kuaigonginternationalFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.ChongqingKuaiGongInternational)\n ) {\n invitedFactions.push(kuaigonginternationalFac);\n }\n\n //Fulcrum Secret Technologies - If u've unlocked fulcrum secret technolgoies server and have a high rep with the company\n const fulcrumsecrettechonologiesFac = Factions[FactionNames.FulcrumSecretTechnologies];\n const fulcrumSecretServer = GetServer(SpecialServers.FulcrumSecretTechnologies);\n if (!(fulcrumSecretServer instanceof Server))\n throw new Error(`${FactionNames.FulcrumSecretTechnologies} should be normal server`);\n if (fulcrumSecretServer == null) {\n console.error(`Could not find ${FactionNames.FulcrumSecretTechnologies} Server`);\n } else if (\n !fulcrumsecrettechonologiesFac.isBanned &&\n !fulcrumsecrettechonologiesFac.isMember &&\n !fulcrumsecrettechonologiesFac.alreadyInvited &&\n fulcrumSecretServer.backdoorInstalled &&\n checkMegacorpRequirements(LocationName.AevumFulcrumTechnologies)\n ) {\n invitedFactions.push(fulcrumsecrettechonologiesFac);\n }\n\n //BitRunners\n const bitrunnersFac = Factions[FactionNames.BitRunners];\n const bitrunnersServer = GetServer(SpecialServers.BitRunnersServer);\n if (!(bitrunnersServer instanceof Server)) throw new Error(`${FactionNames.BitRunners} should be normal server`);\n if (bitrunnersServer == null) {\n console.error(`Could not find ${FactionNames.BitRunners} Server`);\n } else if (\n !bitrunnersFac.isBanned &&\n !bitrunnersFac.isMember &&\n bitrunnersServer.backdoorInstalled &&\n !bitrunnersFac.alreadyInvited\n ) {\n invitedFactions.push(bitrunnersFac);\n }\n\n //The Black Hand\n\n const theblackhandFac = Factions[FactionNames.TheBlackHand];\n const blackhandServer = GetServer(SpecialServers.TheBlackHandServer);\n if (!(blackhandServer instanceof Server)) throw new Error(`${FactionNames.TheBlackHand} should be normal server`);\n if (blackhandServer == null) {\n console.error(`Could not find ${FactionNames.TheBlackHand} Server`);\n } else if (\n !theblackhandFac.isBanned &&\n !theblackhandFac.isMember &&\n blackhandServer.backdoorInstalled &&\n !theblackhandFac.alreadyInvited\n ) {\n invitedFactions.push(theblackhandFac);\n }\n\n //NiteSec\n const nitesecFac = Factions[FactionNames.NiteSec];\n const nitesecServer = GetServer(SpecialServers.NiteSecServer);\n if (!(nitesecServer instanceof Server)) throw new Error(`${FactionNames.NiteSec} should be normal server`);\n if (nitesecServer == null) {\n console.error(`Could not find ${FactionNames.NiteSec} Server`);\n } else if (\n !nitesecFac.isBanned &&\n !nitesecFac.isMember &&\n nitesecServer.backdoorInstalled &&\n !nitesecFac.alreadyInvited\n ) {\n invitedFactions.push(nitesecFac);\n }\n\n //Chongqing\n const chongqingFac = Factions[FactionNames.Chongqing];\n if (\n !chongqingFac.isBanned &&\n !chongqingFac.isMember &&\n !chongqingFac.alreadyInvited &&\n this.money >= 20000000 &&\n this.city == CityName.Chongqing\n ) {\n invitedFactions.push(chongqingFac);\n }\n\n //Sector-12\n const sector12Fac = Factions[FactionNames.Sector12];\n if (\n !sector12Fac.isBanned &&\n !sector12Fac.isMember &&\n !sector12Fac.alreadyInvited &&\n this.money >= 15000000 &&\n this.city == CityName.Sector12\n ) {\n invitedFactions.push(sector12Fac);\n }\n\n //New Tokyo\n const newtokyoFac = Factions[FactionNames.NewTokyo];\n if (\n !newtokyoFac.isBanned &&\n !newtokyoFac.isMember &&\n !newtokyoFac.alreadyInvited &&\n this.money >= 20000000 &&\n this.city == CityName.NewTokyo\n ) {\n invitedFactions.push(newtokyoFac);\n }\n\n //Aevum\n const aevumFac = Factions[FactionNames.Aevum];\n if (\n !aevumFac.isBanned &&\n !aevumFac.isMember &&\n !aevumFac.alreadyInvited &&\n this.money >= 40000000 &&\n this.city == CityName.Aevum\n ) {\n invitedFactions.push(aevumFac);\n }\n\n //Ishima\n const ishimaFac = Factions[FactionNames.Ishima];\n if (\n !ishimaFac.isBanned &&\n !ishimaFac.isMember &&\n !ishimaFac.alreadyInvited &&\n this.money >= 30000000 &&\n this.city == CityName.Ishima\n ) {\n invitedFactions.push(ishimaFac);\n }\n\n //Volhaven\n const volhavenFac = Factions[FactionNames.Volhaven];\n if (\n !volhavenFac.isBanned &&\n !volhavenFac.isMember &&\n !volhavenFac.alreadyInvited &&\n this.money >= 50000000 &&\n this.city == CityName.Volhaven\n ) {\n invitedFactions.push(volhavenFac);\n }\n\n //Speakers for the Dead\n const speakersforthedeadFac = Factions[FactionNames.SpeakersForTheDead];\n if (\n !speakersforthedeadFac.isBanned &&\n !speakersforthedeadFac.isMember &&\n !speakersforthedeadFac.alreadyInvited &&\n this.hacking >= 100 &&\n this.strength >= 300 &&\n this.defense >= 300 &&\n this.dexterity >= 300 &&\n this.agility >= 300 &&\n this.numPeopleKilled >= 30 &&\n this.karma <= -45 &&\n !allCompanies.includes(LocationName.Sector12CIA) &&\n !allCompanies.includes(LocationName.Sector12NSA)\n ) {\n invitedFactions.push(speakersforthedeadFac);\n }\n\n //The Dark Army\n const thedarkarmyFac = Factions[FactionNames.TheDarkArmy];\n if (\n !thedarkarmyFac.isBanned &&\n !thedarkarmyFac.isMember &&\n !thedarkarmyFac.alreadyInvited &&\n this.hacking >= 300 &&\n this.strength >= 300 &&\n this.defense >= 300 &&\n this.dexterity >= 300 &&\n this.agility >= 300 &&\n this.city == CityName.Chongqing &&\n this.numPeopleKilled >= 5 &&\n this.karma <= -45 &&\n !allCompanies.includes(LocationName.Sector12CIA) &&\n !allCompanies.includes(LocationName.Sector12NSA)\n ) {\n invitedFactions.push(thedarkarmyFac);\n }\n\n //The Syndicate\n const thesyndicateFac = Factions[FactionNames.TheSyndicate];\n if (\n !thesyndicateFac.isBanned &&\n !thesyndicateFac.isMember &&\n !thesyndicateFac.alreadyInvited &&\n this.hacking >= 200 &&\n this.strength >= 200 &&\n this.defense >= 200 &&\n this.dexterity >= 200 &&\n this.agility >= 200 &&\n (this.city == CityName.Aevum || this.city == CityName.Sector12) &&\n this.money >= 10000000 &&\n this.karma <= -90 &&\n !allCompanies.includes(LocationName.Sector12CIA) &&\n !allCompanies.includes(LocationName.Sector12NSA)\n ) {\n invitedFactions.push(thesyndicateFac);\n }\n\n //Silhouette\n const silhouetteFac = Factions[FactionNames.Silhouette];\n if (\n !silhouetteFac.isBanned &&\n !silhouetteFac.isMember &&\n !silhouetteFac.alreadyInvited &&\n (allPositions.includes(\"Chief Technology Officer\") ||\n allPositions.includes(\"Chief Financial Officer\") ||\n allPositions.includes(\"Chief Executive Officer\")) &&\n this.money >= 15000000 &&\n this.karma <= -22\n ) {\n invitedFactions.push(silhouetteFac);\n }\n\n //Tetrads\n const tetradsFac = Factions[FactionNames.Tetrads];\n if (\n !tetradsFac.isBanned &&\n !tetradsFac.isMember &&\n !tetradsFac.alreadyInvited &&\n (this.city == CityName.Chongqing || this.city == CityName.NewTokyo || this.city == CityName.Ishima) &&\n this.strength >= 75 &&\n this.defense >= 75 &&\n this.dexterity >= 75 &&\n this.agility >= 75 &&\n this.karma <= -18\n ) {\n invitedFactions.push(tetradsFac);\n }\n\n //SlumSnakes\n const slumsnakesFac = Factions[FactionNames.SlumSnakes];\n if (\n !slumsnakesFac.isBanned &&\n !slumsnakesFac.isMember &&\n !slumsnakesFac.alreadyInvited &&\n this.strength >= 30 &&\n this.defense >= 30 &&\n this.dexterity >= 30 &&\n this.agility >= 30 &&\n this.karma <= -9 &&\n this.money >= 1000000\n ) {\n invitedFactions.push(slumsnakesFac);\n }\n\n //Netburners\n const netburnersFac = Factions[FactionNames.Netburners];\n let totalHacknetRam = 0;\n let totalHacknetCores = 0;\n let totalHacknetLevels = 0;\n for (let i = 0; i < this.hacknetNodes.length; ++i) {\n const v = this.hacknetNodes[i];\n if (typeof v === \"string\") {\n const hserver = GetServer(v);\n if (hserver === null || !(hserver instanceof HacknetServer))\n throw new Error(\"player hacknet server was not HacknetServer\");\n totalHacknetLevels += hserver.level;\n totalHacknetRam += hserver.maxRam;\n totalHacknetCores += hserver.cores;\n } else {\n totalHacknetLevels += v.level;\n totalHacknetRam += v.ram;\n totalHacknetCores += v.cores;\n }\n }\n if (\n !netburnersFac.isBanned &&\n !netburnersFac.isMember &&\n !netburnersFac.alreadyInvited &&\n this.hacking >= 80 &&\n totalHacknetRam >= 8 &&\n totalHacknetCores >= 4 &&\n totalHacknetLevels >= 100\n ) {\n invitedFactions.push(netburnersFac);\n }\n\n //Tian Di Hui\n const tiandihuiFac = Factions[FactionNames.TianDiHui];\n if (\n !tiandihuiFac.isBanned &&\n !tiandihuiFac.isMember &&\n !tiandihuiFac.alreadyInvited &&\n this.money >= 1000000 &&\n this.hacking >= 50 &&\n (this.city == CityName.Chongqing || this.city == CityName.NewTokyo || this.city == CityName.Ishima)\n ) {\n invitedFactions.push(tiandihuiFac);\n }\n\n //CyberSec\n const cybersecFac = Factions[FactionNames.CyberSec];\n const cybersecServer = GetServer(SpecialServers.CyberSecServer);\n if (!(cybersecServer instanceof Server)) throw new Error(`${FactionNames.CyberSec} should be normal server`);\n if (cybersecServer == null) {\n console.error(`Could not find ${FactionNames.CyberSec} Server`);\n } else if (\n !cybersecFac.isBanned &&\n !cybersecFac.isMember &&\n cybersecServer.backdoorInstalled &&\n !cybersecFac.alreadyInvited\n ) {\n invitedFactions.push(cybersecFac);\n }\n\n return invitedFactions;\n}\n\n/************* BitNodes **************/\nexport function setBitNodeNumber(this: IPlayer, n: number): void {\n this.bitNodeN = n;\n}\n\nexport function queueAugmentation(this: IPlayer, name: string): void {\n for (const aug of this.queuedAugmentations) {\n if (aug.name == name) {\n console.warn(`tried to queue ${name} twice, this may be a bug`);\n return;\n }\n }\n\n for (const aug of this.augmentations) {\n if (aug.name == name) {\n console.warn(`tried to queue ${name} twice, this may be a bug`);\n return;\n }\n }\n\n this.queuedAugmentations.push(new PlayerOwnedAugmentation(name));\n}\n\n/************* Coding Contracts **************/\nexport function gainCodingContractReward(this: IPlayer, reward: ICodingContractReward, difficulty = 1): string {\n if (reward == null || reward.type == null) {\n return `No reward for this contract`;\n }\n\n /* eslint-disable no-case-declarations */\n switch (reward.type) {\n case CodingContractRewardType.FactionReputation:\n if (reward.name == null || !(Factions[reward.name] instanceof Faction)) {\n // If no/invalid faction was designated, just give rewards to all factions\n reward.type = CodingContractRewardType.FactionReputationAll;\n return this.gainCodingContractReward(reward);\n }\n const repGain = CONSTANTS.CodingContractBaseFactionRepGain * difficulty;\n Factions[reward.name].playerReputation += repGain;\n return `Gained ${repGain} faction reputation for ${reward.name}`;\n case CodingContractRewardType.FactionReputationAll:\n const totalGain = CONSTANTS.CodingContractBaseFactionRepGain * difficulty;\n\n // Ignore Bladeburners and other special factions for this calculation\n const specialFactions = [FactionNames.Bladeburners as string];\n const factions = this.factions.slice().filter((f) => {\n return !specialFactions.includes(f);\n });\n\n // If the player was only part of the special factions, we'll just give money\n if (factions.length == 0) {\n reward.type = CodingContractRewardType.Money;\n return this.gainCodingContractReward(reward, difficulty);\n }\n\n const gainPerFaction = Math.floor(totalGain / factions.length);\n for (const facName of factions) {\n if (!(Factions[facName] instanceof Faction)) {\n continue;\n }\n Factions[facName].playerReputation += gainPerFaction;\n }\n return `Gained ${gainPerFaction} reputation for each of the following factions: ${factions.toString()}`;\n case CodingContractRewardType.CompanyReputation: {\n if (reward.name == null || !(Companies[reward.name] instanceof Company)) {\n //If no/invalid company was designated, just give rewards to all factions\n reward.type = CodingContractRewardType.FactionReputationAll;\n return this.gainCodingContractReward(reward);\n }\n const repGain = CONSTANTS.CodingContractBaseCompanyRepGain * difficulty;\n Companies[reward.name].playerReputation += repGain;\n return `Gained ${repGain} company reputation for ${reward.name}`;\n }\n case CodingContractRewardType.Money:\n default: {\n const moneyGain = CONSTANTS.CodingContractBaseMoneyGain * difficulty * BitNodeMultipliers.CodingContractMoney;\n this.gainMoney(moneyGain, \"codingcontract\");\n return `Gained ${numeralWrapper.formatMoney(moneyGain)}`;\n }\n }\n /* eslint-enable no-case-declarations */\n}\n\nexport function travel(this: IPlayer, to: CityName): boolean {\n if (Cities[to] == null) {\n console.warn(`Player.travel() called with invalid city: ${to}`);\n return false;\n }\n this.city = to;\n\n return true;\n}\n\nexport function gotoLocation(this: IPlayer, to: LocationName): boolean {\n if (Locations[to] == null) {\n console.warn(`Player.gotoLocation() called with invalid location: ${to}`);\n return false;\n }\n this.location = to;\n\n return true;\n}\n\nexport function canAccessGrafting(this: IPlayer): boolean {\n return this.bitNodeN === 10 || this.sourceFileLvl(10) > 0;\n}\n\nexport function giveExploit(this: IPlayer, exploit: Exploit): void {\n if (!this.exploits.includes(exploit)) {\n this.exploits.push(exploit);\n SnackbarEvents.emit(\"SF -1 acquired!\", ToastVariant.SUCCESS, 2000);\n }\n}\n\nexport function giveAchievement(this: IPlayer, achievementId: string): void {\n const achievement = achievements[achievementId];\n if (!achievement) return;\n if (!this.achievements.map((a) => a.ID).includes(achievementId)) {\n this.achievements.push({ ID: achievementId, unlockedOn: new Date().getTime() });\n SnackbarEvents.emit(`Unlocked Achievement: \"${achievement.Name}\"`, ToastVariant.SUCCESS, 2000);\n }\n}\n\nexport function getIntelligenceBonus(this: IPlayer, weight: number): number {\n return calculateIntelligenceBonus(this.intelligence, weight);\n}\n\nexport function getCasinoWinnings(this: IPlayer): number {\n return this.moneySourceA.casino;\n}\n\nexport function canAccessCotMG(this: IPlayer): boolean {\n return this.bitNodeN === 13 || this.sourceFileLvl(13) > 0;\n}\n\nexport function sourceFileLvl(this: IPlayer, n: number): number {\n const sf = this.sourceFiles.find((sf) => sf.n === n);\n if (!sf) return 0;\n return sf.lvl;\n}\n\nexport function focusPenalty(this: IPlayer): number {\n let focus = 1;\n if (!this.hasAugmentation(AugmentationNames[\"NeuroreceptorManager\"])) {\n focus = this.focus ? 1 : CONSTANTS.BaseFocusBonus;\n }\n return focus;\n}\n","import { Program } from \"./Program\";\nimport { programsMetadata } from \"./data/ProgramsMetadata\";\nimport { IMap } from \"../types\";\n\nexport const Programs: IMap = {};\n\nfor (const params of programsMetadata) {\n Programs[params.key] = new Program(params.name, params.create, params.run);\n}\n","export enum FragmentType {\n // Special fragments for the UI\n None,\n Delete,\n\n // Stats boosting fragments\n HackingChance,\n HackingSpeed,\n HackingMoney,\n HackingGrow,\n Hacking,\n Strength,\n Defense,\n Dexterity,\n Agility,\n Charisma,\n HacknetMoney,\n HacknetCost,\n Rep,\n WorkMoney,\n Crime,\n Bladeburner,\n\n // utility fragments.\n Booster,\n}\n\nexport function Effect(tpe: FragmentType): string {\n switch (tpe) {\n case FragmentType.HackingChance: {\n return \"+x% hack() success chance\";\n }\n case FragmentType.HackingSpeed: {\n return \"+x% faster hack(), grow(), and weaken()\";\n }\n case FragmentType.HackingMoney: {\n return \"+x% hack() power\";\n }\n case FragmentType.HackingGrow: {\n return \"+x% grow() power\";\n }\n case FragmentType.Hacking: {\n return \"+x% hacking skill\";\n }\n case FragmentType.Strength: {\n return \"+x% strength skill\";\n }\n case FragmentType.Defense: {\n return \"+x% defense skill\";\n }\n case FragmentType.Dexterity: {\n return \"+x% dexterity skill\";\n }\n case FragmentType.Agility: {\n return \"+x% agility skill\";\n }\n case FragmentType.Charisma: {\n return \"+x% charisma skill\";\n }\n case FragmentType.HacknetMoney: {\n return \"+x% hacknet production\";\n }\n case FragmentType.HacknetCost: {\n return \"-x% cheaper hacknet cost\";\n }\n case FragmentType.Rep: {\n return \"+x% reputation from factions and companies\";\n }\n case FragmentType.WorkMoney: {\n return \"+x% work money\";\n }\n case FragmentType.Crime: {\n return \"+x% crime money\";\n }\n case FragmentType.Bladeburner: {\n return \"+x% all bladeburner stats\";\n }\n }\n throw new Error(\"Calling effect for fragment type that doesn't have an effect \" + tpe);\n}\n","import { IPlayer } from \"src/PersonObjects/IPlayer\";\nimport { MaterialSizes } from \"./MaterialSizes\";\nimport { ICorporation } from \"./ICorporation\";\nimport { IIndustry } from \"./IIndustry\";\nimport { IndustryStartingCosts, IndustryResearchTrees } from \"./IndustryData\";\nimport { Industry } from \"./Industry\";\nimport { CorporationConstants } from \"./data/Constants\";\nimport { OfficeSpace } from \"./OfficeSpace\";\nimport { Material } from \"./Material\";\nimport { Product } from \"./Product\";\nimport { Warehouse } from \"./Warehouse\";\nimport { CorporationUnlockUpgrade } from \"./data/CorporationUnlockUpgrades\";\nimport { CorporationUpgrade } from \"./data/CorporationUpgrades\";\nimport { Cities } from \"../Locations/Cities\";\nimport { EmployeePositions } from \"./EmployeePositions\";\nimport { Employee } from \"./Employee\";\nimport { IndustryUpgrades } from \"./IndustryUpgrades\";\nimport { ResearchMap } from \"./ResearchMap\";\nimport { isRelevantMaterial } from \"./ui/Helpers\";\n\nexport function NewIndustry(corporation: ICorporation, industry: string, name: string): void {\n if (corporation.divisions.find(({ type }) => industry == type))\n throw new Error(`You have already expanded into the ${industry} industry!`);\n\n for (let i = 0; i < corporation.divisions.length; ++i) {\n if (corporation.divisions[i].name === name) {\n throw new Error(\"This division name is already in use!\");\n }\n }\n\n const cost = IndustryStartingCosts[industry];\n if (cost === undefined) {\n throw new Error(`Invalid industry: '${industry}'`);\n }\n if (corporation.funds < cost) {\n throw new Error(\"Not enough money to create a new division in this industry\");\n } else if (name === \"\") {\n throw new Error(\"New division must have a name!\");\n } else {\n corporation.funds = corporation.funds - cost;\n corporation.divisions.push(\n new Industry({\n corp: corporation,\n name: name,\n type: industry,\n }),\n );\n }\n}\n\nexport function NewCity(corporation: ICorporation, division: IIndustry, city: string): void {\n if (corporation.funds < CorporationConstants.OfficeInitialCost) {\n throw new Error(\"You don't have enough company funds to open a new office!\");\n }\n if (division.offices[city]) {\n throw new Error(`You have already expanded into ${city} for ${division.name}`);\n }\n corporation.funds = corporation.funds - CorporationConstants.OfficeInitialCost;\n division.offices[city] = new OfficeSpace({\n loc: city,\n size: CorporationConstants.OfficeInitialSize,\n });\n}\n\nexport function UnlockUpgrade(corporation: ICorporation, upgrade: CorporationUnlockUpgrade): void {\n if (corporation.funds < upgrade.price) {\n throw new Error(\"Insufficient funds\");\n }\n if (corporation.unlockUpgrades[upgrade.index] === 1) {\n throw new Error(`You have already unlocked the ${upgrade.name} upgrade!`);\n }\n corporation.unlock(upgrade);\n}\n\nexport function LevelUpgrade(corporation: ICorporation, upgrade: CorporationUpgrade): void {\n const baseCost = upgrade.basePrice;\n const priceMult = upgrade.priceMult;\n const level = corporation.upgrades[upgrade.index];\n const cost = baseCost * Math.pow(priceMult, level);\n if (corporation.funds < cost) {\n throw new Error(\"Insufficient funds\");\n } else {\n corporation.upgrade(upgrade);\n }\n}\n\nexport function IssueDividends(corporation: ICorporation, percent: number): void {\n if (isNaN(percent) || percent < 0 || percent > CorporationConstants.DividendMaxPercentage) {\n throw new Error(`Invalid value. Must be an integer between 0 and ${CorporationConstants.DividendMaxPercentage}`);\n }\n\n corporation.dividendPercentage = percent * 100;\n}\n\nexport function SellMaterial(mat: Material, amt: string, price: string): void {\n if (price === \"\") price = \"0\";\n if (amt === \"\") amt = \"0\";\n let cost = price.replace(/\\s+/g, \"\");\n cost = cost.replace(/[^-()\\d/*+.MPe]/g, \"\"); //Sanitize cost\n let temp = cost.replace(/MP/g, mat.bCost + \"\");\n try {\n temp = eval(temp);\n } catch (e) {\n throw new Error(\"Invalid value or expression for sell price field: \" + e);\n }\n\n if (temp == null || isNaN(parseFloat(temp)) || parseFloat(temp) < 0) {\n throw new Error(\"Invalid value or expression for sell price field\");\n }\n\n if (cost.includes(\"MP\")) {\n mat.sCost = cost; //Dynamically evaluated\n } else {\n mat.sCost = temp;\n }\n\n //Parse quantity\n amt = amt.toUpperCase();\n if (amt.includes(\"MAX\") || amt.includes(\"PROD\")) {\n let q = amt.replace(/\\s+/g, \"\");\n q = q.replace(/[^-()\\d/*+.MAXPROD]/g, \"\");\n let tempQty = q.replace(/MAX/g, mat.maxsll.toString());\n tempQty = tempQty.replace(/PROD/g, mat.prd.toString());\n try {\n tempQty = eval(tempQty);\n } catch (e) {\n throw new Error(\"Invalid value or expression for sell quantity field: \" + e);\n }\n\n if (tempQty == null || isNaN(parseFloat(tempQty)) || parseFloat(tempQty) < 0) {\n throw new Error(\"Invalid value or expression for sell quantity field\");\n }\n\n mat.sllman[0] = true;\n mat.sllman[1] = q; //Use sanitized input\n } else if (isNaN(parseFloat(amt)) || parseFloat(amt) < 0) {\n throw new Error(\"Invalid value for sell quantity field! Must be numeric or 'PROD' or 'MAX'\");\n } else {\n let q = parseFloat(amt);\n if (isNaN(q)) {\n q = 0;\n }\n if (q === 0) {\n mat.sllman[0] = false;\n mat.sllman[1] = 0;\n } else {\n mat.sllman[0] = true;\n mat.sllman[1] = q;\n }\n }\n}\n\nexport function SellProduct(product: Product, city: string, amt: string, price: string, all: boolean): void {\n //Parse price\n if (price.includes(\"MP\")) {\n //Dynamically evaluated quantity. First test to make sure its valid\n //Sanitize input, then replace dynamic variables with arbitrary numbers\n price = price.replace(/\\s+/g, \"\");\n price = price.replace(/[^-()\\d/*+.MP]/g, \"\");\n let temp = price.replace(/MP/g, \"1\");\n try {\n temp = eval(temp);\n } catch (e) {\n throw new Error(\"Invalid value or expression for sell price field: \" + e);\n }\n if (temp == null || isNaN(parseFloat(temp)) || parseFloat(temp) < 0) {\n throw new Error(\"Invalid value or expression for sell price field.\");\n }\n product.sCost = price; //Use sanitized price\n } else {\n const cost = parseFloat(price);\n if (isNaN(cost)) {\n throw new Error(\"Invalid value for sell price field\");\n }\n product.sCost = cost;\n }\n\n // Array of all cities. Used later\n const cities = Object.keys(Cities);\n\n // Parse quantity\n amt = amt.toUpperCase();\n if (amt.includes(\"MAX\") || amt.includes(\"PROD\")) {\n //Dynamically evaluated quantity. First test to make sure its valid\n let qty = amt.replace(/\\s+/g, \"\");\n qty = qty.replace(/[^-()\\d/*+.MAXPROD]/g, \"\");\n let temp = qty.replace(/MAX/g, product.maxsll.toString());\n temp = temp.replace(/PROD/g, product.data[city][1].toString());\n try {\n temp = eval(temp);\n } catch (e) {\n throw new Error(\"Invalid value or expression for sell quantity field: \" + e);\n }\n\n if (temp == null || isNaN(parseFloat(temp)) || parseFloat(temp) < 0) {\n throw new Error(\"Invalid value or expression for sell quantity field\");\n }\n if (all) {\n for (let i = 0; i < cities.length; ++i) {\n const tempCity = cities[i];\n product.sllman[tempCity][0] = true;\n product.sllman[tempCity][1] = qty; //Use sanitized input\n }\n } else {\n product.sllman[city][0] = true;\n product.sllman[city][1] = qty; //Use sanitized input\n }\n } else if (isNaN(parseFloat(amt)) || parseFloat(amt) < 0) {\n throw new Error(\"Invalid value for sell quantity field! Must be numeric or 'PROD' or 'MAX'\");\n } else {\n let qty = parseFloat(amt);\n if (isNaN(qty)) {\n qty = 0;\n }\n if (qty === 0) {\n if (all) {\n for (let i = 0; i < cities.length; ++i) {\n const tempCity = cities[i];\n product.sllman[tempCity][0] = false;\n product.sllman[tempCity][1] = \"\";\n }\n } else {\n product.sllman[city][0] = false;\n product.sllman[city][1] = \"\";\n }\n } else if (all) {\n for (let i = 0; i < cities.length; ++i) {\n const tempCity = cities[i];\n product.sllman[tempCity][0] = true;\n product.sllman[tempCity][1] = qty;\n }\n } else {\n product.sllman[city][0] = true;\n product.sllman[city][1] = qty;\n }\n }\n}\n\nexport function SetSmartSupply(warehouse: Warehouse, smartSupply: boolean): void {\n warehouse.smartSupplyEnabled = smartSupply;\n}\n\nexport function SetSmartSupplyUseLeftovers(warehouse: Warehouse, material: Material, useLeftover: boolean): void {\n if (!Object.keys(warehouse.smartSupplyUseLeftovers).includes(material.name.replace(/ /g, \"\")))\n throw new Error(`Invalid material '${material.name}'`);\n warehouse.smartSupplyUseLeftovers[material.name.replace(/ /g, \"\")] = useLeftover;\n}\n\nexport function BuyMaterial(material: Material, amt: number): void {\n if (isNaN(amt) || amt < 0) {\n throw new Error(`Invalid amount '${amt}' to buy material '${material.name}'`);\n }\n material.buy = amt;\n}\n\nexport function BulkPurchase(corp: ICorporation, warehouse: Warehouse, material: Material, amt: number): void {\n const matSize = MaterialSizes[material.name];\n const maxAmount = (warehouse.size - warehouse.sizeUsed) / matSize;\n if (isNaN(amt) || amt < 0) {\n throw new Error(`Invalid input amount`);\n }\n if (amt > maxAmount) {\n throw new Error(`You do not have enough warehouse size to fit this purchase`);\n }\n const cost = amt * material.bCost;\n if (corp.funds >= cost) {\n corp.funds = corp.funds - cost;\n material.qty += amt;\n } else {\n throw new Error(`You cannot afford this purchase.`);\n }\n}\n\nexport function SellShares(corporation: ICorporation, player: IPlayer, numShares: number): number {\n if (isNaN(numShares)) throw new Error(\"Invalid value for number of shares\");\n if (numShares < 0) throw new Error(\"Invalid value for number of shares\");\n if (numShares > corporation.numShares) throw new Error(\"You don't have that many shares to sell!\");\n if (!corporation.public) throw new Error(\"You haven't gone public!\");\n if (corporation.shareSaleCooldown) throw new Error(\"Share sale on cooldown!\");\n const stockSaleResults = corporation.calculateShareSale(numShares);\n const profit = stockSaleResults[0];\n const newSharePrice = stockSaleResults[1];\n const newSharesUntilUpdate = stockSaleResults[2];\n\n corporation.numShares -= numShares;\n corporation.issuedShares += numShares;\n corporation.sharePrice = newSharePrice;\n corporation.shareSalesUntilPriceUpdate = newSharesUntilUpdate;\n corporation.shareSaleCooldown = CorporationConstants.SellSharesCooldown;\n player.gainMoney(profit, \"corporation\");\n return profit;\n}\n\nexport function BuyBackShares(corporation: ICorporation, player: IPlayer, numShares: number): boolean {\n if (isNaN(numShares)) throw new Error(\"Invalid value for number of shares\");\n if (numShares < 0) throw new Error(\"Invalid value for number of shares\");\n if (numShares > corporation.issuedShares) throw new Error(\"You don't have that many shares to buy!\");\n if (!corporation.public) throw new Error(\"You haven't gone public!\");\n const buybackPrice = corporation.sharePrice * 1.1;\n if (player.money < numShares * buybackPrice) throw new Error(\"You cant afford that many shares!\");\n corporation.numShares += numShares;\n corporation.issuedShares -= numShares;\n player.loseMoney(numShares * buybackPrice, \"corporation\");\n return true;\n}\n\nexport function AssignJob(employee: Employee, job: string): void {\n if (!Object.values(EmployeePositions).includes(job)) throw new Error(`'${job}' is not a valid job.`);\n employee.pos = job;\n}\n\nexport function UpgradeOfficeSize(corp: ICorporation, office: OfficeSpace, size: number): void {\n const initialPriceMult = Math.round(office.size / CorporationConstants.OfficeInitialSize);\n const costMultiplier = 1.09;\n // Calculate cost to upgrade size by 15 employees\n let mult = 0;\n for (let i = 0; i < size / CorporationConstants.OfficeInitialSize; ++i) {\n mult += Math.pow(costMultiplier, initialPriceMult + i);\n }\n const cost = CorporationConstants.OfficeInitialCost * mult;\n if (corp.funds < cost) return;\n office.size += size;\n corp.funds = corp.funds - cost;\n}\n\nexport function ThrowParty(corp: ICorporation, office: OfficeSpace, costPerEmployee: number): number {\n const totalCost = costPerEmployee * office.employees.length;\n if (corp.funds < totalCost) return 0;\n corp.funds = corp.funds - totalCost;\n let mult = 0;\n for (let i = 0; i < office.employees.length; ++i) {\n mult = office.employees[i].throwParty(costPerEmployee);\n }\n\n return mult;\n}\n\nexport function PurchaseWarehouse(corp: ICorporation, division: IIndustry, city: string): void {\n if (corp.funds < CorporationConstants.WarehouseInitialCost) return;\n if (division.warehouses[city] instanceof Warehouse) return;\n division.warehouses[city] = new Warehouse({\n corp: corp,\n industry: division,\n loc: city,\n size: CorporationConstants.WarehouseInitialSize,\n });\n corp.funds = corp.funds - CorporationConstants.WarehouseInitialCost;\n}\n\nexport function UpgradeWarehouseCost(warehouse: Warehouse, amt: number): number {\n return Array.from(Array(amt).keys()).reduce(\n (acc, index) => acc + CorporationConstants.WarehouseUpgradeBaseCost * Math.pow(1.07, warehouse.level + 1 + index),\n 0,\n );\n}\n\nexport function UpgradeWarehouse(corp: ICorporation, division: IIndustry, warehouse: Warehouse, amt = 1): void {\n const sizeUpgradeCost = UpgradeWarehouseCost(warehouse, amt);\n if (corp.funds < sizeUpgradeCost) return;\n warehouse.level += amt;\n warehouse.updateSize(corp, division);\n corp.funds = corp.funds - sizeUpgradeCost;\n}\n\nexport function BuyCoffee(corp: ICorporation, division: IIndustry, office: OfficeSpace): void {\n const upgrade = IndustryUpgrades[0];\n const cost = office.employees.length * upgrade[1];\n if (corp.funds < cost) return;\n corp.funds = corp.funds - cost;\n division.upgrade(upgrade, {\n corporation: corp,\n office: office,\n });\n}\n\nexport function HireAdVert(corp: ICorporation, division: IIndustry, office: OfficeSpace): void {\n const upgrade = IndustryUpgrades[1];\n const cost = upgrade[1] * Math.pow(upgrade[2], division.upgrades[1]);\n if (corp.funds < cost) return;\n corp.funds = corp.funds - cost;\n division.upgrade(upgrade, {\n corporation: corp,\n office: office,\n });\n}\n\nexport function MakeProduct(\n corp: ICorporation,\n division: IIndustry,\n city: string,\n productName: string,\n designInvest: number,\n marketingInvest: number,\n): void {\n if (designInvest < 0) {\n designInvest = 0;\n }\n if (marketingInvest < 0) {\n marketingInvest = 0;\n }\n if (productName == null || productName === \"\") {\n throw new Error(\"You must specify a name for your product!\");\n }\n if (!division.makesProducts) {\n throw new Error(\"You cannot create products for this industry!\");\n }\n if (isNaN(designInvest)) {\n throw new Error(\"Invalid value for design investment\");\n }\n if (isNaN(marketingInvest)) {\n throw new Error(\"Invalid value for marketing investment\");\n }\n if (corp.funds < designInvest + marketingInvest) {\n throw new Error(\"You don't have enough company funds to make this large of an investment\");\n }\n let maxProducts = 3;\n if (division.hasResearch(\"uPgrade: Capacity.II\")) {\n maxProducts = 5;\n } else if (division.hasResearch(\"uPgrade: Capacity.I\")) {\n maxProducts = 4;\n }\n const products = division.products;\n if (Object.keys(products).length >= maxProducts) {\n throw new Error(`You are already at the max products (${maxProducts}) for division: ${division.name}!`);\n }\n\n const product = new Product({\n name: productName.replace(/[<>]/g, \"\").trim(), //Sanitize for HTMl elements\n createCity: city,\n designCost: designInvest,\n advCost: marketingInvest,\n });\n if (products[product.name] instanceof Product) {\n throw new Error(`You already have a product with this name!`);\n }\n\n corp.funds = corp.funds - (designInvest + marketingInvest);\n products[product.name] = product;\n}\n\nexport function Research(division: IIndustry, researchName: string): void {\n const researchTree = IndustryResearchTrees[division.type];\n if (researchTree === undefined) throw new Error(`No research tree for industry '${division.type}'`);\n const allResearch = researchTree.getAllNodes();\n if (!allResearch.includes(researchName)) throw new Error(`No research named '${researchName}'`);\n const research = ResearchMap[researchName];\n\n if (division.sciResearch.qty < research.cost)\n throw new Error(`You do not have enough Scientific Research for ${research.name}`);\n division.sciResearch.qty -= research.cost;\n\n // Get the Node from the Research Tree and set its 'researched' property\n researchTree.research(researchName);\n division.researched[researchName] = true;\n}\n\nexport function ExportMaterial(\n divisionName: string,\n cityName: string,\n material: Material,\n amt: string,\n division?: Industry,\n): void {\n // Sanitize amt\n let sanitizedAmt = amt.replace(/\\s+/g, \"\").toUpperCase();\n sanitizedAmt = sanitizedAmt.replace(/[^-()\\d/*+.MAX]/g, \"\");\n let temp = sanitizedAmt.replace(/MAX/g, \"1\");\n try {\n temp = eval(temp);\n } catch (e) {\n throw new Error(\"Invalid expression entered for export amount: \" + e);\n }\n\n const n = parseFloat(temp);\n\n if (n == null || isNaN(n) || n < 0) {\n throw new Error(\"Invalid amount entered for export\");\n }\n\n if (!division || !isRelevantMaterial(material.name, division)) {\n throw new Error(`You cannot export material: ${material.name} to division: ${divisionName}!`);\n }\n\n const exportObj = { ind: divisionName, city: cityName, amt: sanitizedAmt };\n material.exp.push(exportObj);\n}\n\nexport function CancelExportMaterial(divisionName: string, cityName: string, material: Material, amt: string): void {\n for (let i = 0; i < material.exp.length; ++i) {\n if (material.exp[i].ind !== divisionName || material.exp[i].city !== cityName || material.exp[i].amt !== amt)\n continue;\n material.exp.splice(i, 1);\n break;\n }\n}\n\nexport function LimitProductProduction(product: Product, cityName: string, qty: number): void {\n if (qty < 0 || isNaN(qty)) {\n product.prdman[cityName][0] = false;\n product.prdman[cityName][1] = 0;\n } else {\n product.prdman[cityName][0] = true;\n product.prdman[cityName][1] = qty;\n }\n}\n\nexport function LimitMaterialProduction(material: Material, qty: number): void {\n if (qty < 0 || isNaN(qty)) {\n material.prdman[0] = false;\n material.prdman[1] = 0;\n } else {\n material.prdman[0] = true;\n material.prdman[1] = qty;\n }\n}\n\nexport function SetMaterialMarketTA1(material: Material, on: boolean): void {\n material.marketTa1 = on;\n}\n\nexport function SetMaterialMarketTA2(material: Material, on: boolean): void {\n material.marketTa2 = on;\n}\n\nexport function SetProductMarketTA1(product: Product, on: boolean): void {\n product.marketTa1 = on;\n}\n\nexport function SetProductMarketTA2(product: Product, on: boolean): void {\n product.marketTa2 = on;\n}\n","import { IMap } from \"../../types\";\n\nexport const LiteratureNames: IMap = {\n HackersStartingHandbook: \"hackers-starting-handbook.lit\",\n CorporationManagementHandbook: \"corporation-management-handbook.lit\",\n HistoryOfSynthoids: \"history-of-synthoids.lit\",\n AGreenTomorrow: \"A-Green-Tomorrow.lit\",\n AlphaOmega: \"alpha-omega.lit\",\n SimulatedReality: \"simulated-reality.lit\",\n BeyondMan: \"beyond-man.lit\",\n BrighterThanTheSun: \"brighter-than-the-sun.lit\",\n DemocracyIsDead: \"democracy-is-dead.lit\",\n Sector12Crime: \"sector-12-crime.lit\",\n ManAndMachine: \"man-and-machine.lit\",\n SecretSocieties: \"secret-societies.lit\",\n TheFailedFrontier: \"the-failed-frontier.lit\",\n CodedIntelligence: \"coded-intelligence.lit\",\n SyntheticMuscles: \"synthetic-muscles.lit\",\n TensionsInTechRace: \"tensions-in-tech-race.lit\",\n CostOfImmortality: \"cost-of-immortality.lit\",\n TheHiddenWorld: \"the-hidden-world.lit\",\n TheNewGod: \"the-new-god.lit\",\n NewTriads: \"new-triads.lit\",\n TheSecretWar: \"the-secret-war.lit\",\n};\n","/**\n * Enum for different types of tasks that a Sleeve can perform\n */\nexport enum SleeveTaskType {\n // Same Order as selectable order in UI\n Idle,\n Company,\n Faction,\n Crime,\n Class,\n Gym,\n Bladeburner,\n Recovery,\n Synchro,\n}\n","export enum PositionTypes {\n Long = \"L\",\n Short = \"S\",\n}\n","import { Augmentation } from \"./Augmentation\";\nimport { IMap } from \"../types\";\n\nexport const StaticAugmentations: IMap = {};\n","// Constructs all CompanyPosition objects using the metadata in data/companypositions.ts\nimport { companiesMetadata } from \"./data/CompaniesMetadata\";\nimport { Company, IConstructorParams } from \"./Company\";\nimport { IMap } from \"../types\";\nimport { Reviver } from \"../utils/JSONReviver\";\n\nexport let Companies: IMap = {};\n\nfunction addCompany(params: IConstructorParams): void {\n if (Companies[params.name] != null) {\n console.warn(`Duplicate Company Position being defined: ${params.name}`);\n }\n Companies[params.name] = new Company(params);\n}\n\n// Used to initialize new Company objects for the Companies map\n// Called when creating new game or after a prestige/reset\nexport function initCompanies(): void {\n // Save Old Company data for 'favor'\n const oldCompanies = Companies;\n\n // Re-construct all Companies\n Companies = {};\n companiesMetadata.forEach((e) => {\n addCompany(e);\n });\n\n // Reset data\n for (const companyName of Object.keys(Companies)) {\n const company = Companies[companyName];\n const oldCompany = oldCompanies[companyName];\n if (!(oldCompany instanceof Company)) {\n // New game, so no OldCompanies data\n company.favor = 0;\n } else {\n company.favor = oldCompanies[companyName].favor;\n if (isNaN(company.favor)) {\n company.favor = 0;\n }\n }\n }\n}\n\n// Used to load Companies map from a save\nexport function loadCompanies(saveString: string): void {\n Companies = JSON.parse(saveString, Reviver);\n}\n","import React from \"react\";\nimport { TableCell as MuiTableCell, TableCellProps, Table as MuiTable, TableProps } from \"@mui/material\";\n\nimport makeStyles from \"@mui/styles/makeStyles\";\n\nconst useStyles = makeStyles({\n root: {\n borderBottom: \"none\",\n },\n small: {\n width: \"1px\",\n },\n});\n\nexport const TableCell: React.FC = (props: TableCellProps) => {\n return (\n \n );\n};\n\nexport const Table: React.FC = (props: TableProps) => {\n return (\n \n );\n};\n","import { FactionNames } from \"../Faction/data/FactionNames\";\nimport { Reviver } from \"../utils/JSONReviver\";\n\ninterface GangTerritory {\n power: number;\n territory: number;\n}\n\nexport let AllGangs: {\n [key: string]: GangTerritory;\n} = {\n [FactionNames.SlumSnakes]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.Tetrads]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.TheSyndicate]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.TheDarkArmy]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.SpeakersForTheDead]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.NiteSec]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.TheBlackHand]: {\n power: 1,\n territory: 1 / 7,\n },\n};\n\nexport function resetGangs(): void {\n AllGangs = {\n [FactionNames.SlumSnakes]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.Tetrads]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.TheSyndicate]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.TheDarkArmy]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.SpeakersForTheDead]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.NiteSec]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.TheBlackHand]: {\n power: 1,\n territory: 1 / 7,\n },\n };\n}\n\nexport function loadAllGangs(saveString: string): void {\n AllGangs = JSON.parse(saveString, Reviver);\n}\n","import React from \"react\";\n\nimport { Typography, TableCell, TableRow } from \"@mui/material\";\n\nimport { numeralWrapper } from \"../numeralFormat\";\nimport { formatNumber } from \"../../utils/StringHelperFunctions\";\nimport { characterOverviewStyles as useStyles } from \"./CharacterOverview\";\nimport { ClassNameMap } from \"@material-ui/core/styles/withStyles\";\n\ninterface ITableRowData {\n content?: string;\n level?: number;\n exp?: number;\n}\n\ninterface IProps {\n name: string;\n color: string;\n classes?: ClassNameMap;\n data?: ITableRowData;\n children?: React.ReactElement;\n}\n\nexport const StatsRow = ({ name, color, classes = useStyles(), children, data }: IProps): React.ReactElement => {\n let content = \"\";\n\n if (data) {\n if (data.content !== undefined) {\n content = data.content;\n } else if (data.level !== undefined && data.exp !== undefined) {\n content = `${formatNumber(data.level, 0)} (${numeralWrapper.formatExp(data.exp)} exp)`;\n } else if (data.level !== undefined && data.exp === undefined) {\n content = `${formatNumber(data.level, 0)}`;\n }\n }\n\n return (\n \n \n {name}\n \n \n {content ? {content} : <>>}\n {children}\n \n \n );\n};\n","import { Crime } from \"./Crime\";\n\nimport { CONSTANTS } from \"../Constants\";\nimport { IMap } from \"../types\";\n\nimport { CrimeType } from \"../utils/WorkType\";\n\nexport const Crimes: IMap = {\n Shoplift: new Crime(\"Shoplift\", CrimeType.Shoplift, 2e3, 15e3, 1 / 20, 0.1, {\n dexterity_success_weight: 1,\n agility_success_weight: 1,\n\n dexterity_exp: 2,\n agility_exp: 2,\n }),\n\n RobStore: new Crime(\"Rob Store\", CrimeType.RobStore, 60e3, 400e3, 1 / 5, 0.5, {\n hacking_exp: 30,\n dexterity_exp: 45,\n agility_exp: 45,\n\n hacking_success_weight: 0.5,\n dexterity_success_weight: 2,\n agility_success_weight: 1,\n\n intelligence_exp: 7.5 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n\n Mug: new Crime(\"Mug\", CrimeType.Mug, 4e3, 36e3, 1 / 5, 0.25, {\n strength_exp: 3,\n defense_exp: 3,\n dexterity_exp: 3,\n agility_exp: 3,\n\n strength_success_weight: 1.5,\n defense_success_weight: 0.5,\n dexterity_success_weight: 1.5,\n agility_success_weight: 0.5,\n }),\n\n Larceny: new Crime(\"Larceny\", CrimeType.Larceny, 90e3, 800e3, 1 / 3, 1.5, {\n hacking_exp: 45,\n dexterity_exp: 60,\n agility_exp: 60,\n\n hacking_success_weight: 0.5,\n dexterity_success_weight: 1,\n agility_success_weight: 1,\n\n intelligence_exp: 15 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n\n DealDrugs: new Crime(\"Deal Drugs\", CrimeType.Drugs, 10e3, 120e3, 1, 0.5, {\n dexterity_exp: 5,\n agility_exp: 5,\n charisma_exp: 10,\n\n charisma_success_weight: 3,\n dexterity_success_weight: 2,\n agility_success_weight: 1,\n }),\n\n BondForgery: new Crime(\"Bond Forgery\", CrimeType.BondForgery, 300e3, 4.5e6, 1 / 2, 0.1, {\n hacking_exp: 100,\n dexterity_exp: 150,\n charisma_exp: 15,\n\n hacking_success_weight: 0.05,\n dexterity_success_weight: 1.25,\n\n intelligence_exp: 60 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n\n TraffickArms: new Crime(\"Traffick Arms\", CrimeType.TraffickArms, 40e3, 600e3, 2, 1, {\n strength_exp: 20,\n defense_exp: 20,\n dexterity_exp: 20,\n agility_exp: 20,\n charisma_exp: 40,\n\n charisma_success_weight: 1,\n strength_success_weight: 1,\n defense_success_weight: 1,\n dexterity_success_weight: 1,\n agility_success_weight: 1,\n }),\n\n Homicide: new Crime(\"Homicide\", CrimeType.Homicide, 3e3, 45e3, 1, 3, {\n strength_exp: 2,\n defense_exp: 2,\n dexterity_exp: 2,\n agility_exp: 2,\n\n strength_success_weight: 2,\n defense_success_weight: 2,\n dexterity_success_weight: 0.5,\n agility_success_weight: 0.5,\n\n kills: 1,\n }),\n\n GrandTheftAuto: new Crime(\"Grand Theft Auto\", CrimeType.GrandTheftAuto, 80e3, 1.6e6, 8, 5, {\n strength_exp: 20,\n defense_exp: 20,\n dexterity_exp: 20,\n agility_exp: 80,\n charisma_exp: 40,\n\n hacking_success_weight: 1,\n strength_success_weight: 1,\n dexterity_success_weight: 4,\n agility_success_weight: 2,\n charisma_success_weight: 2,\n\n intelligence_exp: 16 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n\n Kidnap: new Crime(\"Kidnap\", CrimeType.Kidnap, 120e3, 3.6e6, 5, 6, {\n strength_exp: 80,\n defense_exp: 80,\n dexterity_exp: 80,\n agility_exp: 80,\n charisma_exp: 80,\n\n charisma_success_weight: 1,\n strength_success_weight: 1,\n dexterity_success_weight: 1,\n agility_success_weight: 1,\n\n intelligence_exp: 26 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n\n Assassination: new Crime(\"Assassination\", CrimeType.Assassination, 300e3, 12e6, 8, 10, {\n strength_exp: 300,\n defense_exp: 300,\n dexterity_exp: 300,\n agility_exp: 300,\n\n strength_success_weight: 1,\n dexterity_success_weight: 2,\n agility_success_weight: 1,\n\n intelligence_exp: 65 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n\n kills: 1,\n }),\n\n Heist: new Crime(\"Heist\", CrimeType.Heist, 600e3, 120e6, 18, 15, {\n hacking_exp: 450,\n strength_exp: 450,\n defense_exp: 450,\n dexterity_exp: 450,\n agility_exp: 450,\n charisma_exp: 450,\n\n hacking_success_weight: 1,\n strength_success_weight: 1,\n defense_success_weight: 1,\n dexterity_success_weight: 1,\n agility_success_weight: 1,\n charisma_success_weight: 1,\n\n intelligence_exp: 130 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n};\n","/**\n * Helper functions that implement \"directory\" functionality in the Terminal.\n * These aren't \"real\" directories, it's more of a pseudo-directory implementation\n * that uses mainly string manipulation.\n *\n * This file contains functions that deal only with that string manipulation.\n * Functions that need to access/process Server-related things can be\n * found in ./DirectoryServerHelpers.ts\n */\n\n/**\n * Removes leading forward slash (\"/\") from a string.\n */\nexport function removeLeadingSlash(s: string): string {\n if (s.startsWith(\"/\")) {\n return s.slice(1);\n }\n\n return s;\n}\n\n/**\n * Removes trailing forward slash (\"/\") from a string.\n * Note that this will also remove the slash if it is the leading slash (i.e. if s = \"/\")\n */\nexport function removeTrailingSlash(s: string): string {\n if (s.endsWith(\"/\")) {\n return s.slice(0, -1);\n }\n\n return s;\n}\n\n/**\n * Checks whether a string is a valid filename. Only used for the filename itself,\n * not the entire filepath\n */\nexport function isValidFilename(filename: string): boolean {\n // Allows alphanumerics, hyphens, underscores, and percentage signs\n // Must have a file extension\n const regex = /^[.a-zA-Z0-9_-]+[.][a-zA-Z0-9]+(?:-\\d+(?:\\.\\d*)?%-INC)?$/;\n\n // match() returns null if no match is found\n return filename.match(regex) != null;\n}\n\n/**\n * Checks whether a string is a valid directory name. Only used for the directory itself,\n * not an entire path\n */\nexport function isValidDirectoryName(name: string): boolean {\n // A valid directory name:\n // Must be at least 1 character long\n // Can only include characters in the character set [-.%a-zA-Z0-9_]\n // Cannot end with a '.'\n const regex = /^.?[a-zA-Z0-9_-]+$/;\n\n // match() returns null if no match is found\n return name.match(regex) != null;\n}\n\n/**\n * Checks whether a string is a valid directory path.\n * This only checks if it has the proper formatting. It does NOT check\n * if the directories actually exist on Terminal\n */\nexport function isValidDirectoryPath(path: string): boolean {\n let t_path: string = path;\n\n if (t_path.length === 0) {\n return false;\n }\n if (t_path.length === 1) {\n return t_path === \"/\";\n }\n\n // A full path must have a leading slash, but we'll ignore it for the checks\n if (t_path.startsWith(\"/\")) {\n t_path = t_path.slice(1);\n } else {\n return false;\n }\n\n // Trailing slash does not matter\n t_path = removeTrailingSlash(t_path);\n\n // Check that every section of the path is a valid directory name\n const dirs = t_path.split(\"/\");\n for (const dir of dirs) {\n // Special case, \".\" and \"..\" are valid for path\n if (dir === \".\" || dir === \"..\") {\n continue;\n }\n if (!isValidDirectoryName(dir)) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Checks whether a string is a valid file path. This only checks if it has the\n * proper formatting. It dose NOT check if the file actually exists on Terminal\n */\nexport function isValidFilePath(path: string): boolean {\n if (path == null || typeof path !== \"string\") {\n return false;\n }\n const t_path = path;\n\n // Impossible for filename to have less than length of 3\n if (t_path.length < 3) {\n return false;\n }\n\n // Full filepath can't end with trailing slash because it must be a file\n if (t_path.endsWith(\"/\")) {\n return false;\n }\n\n // Everything after the last forward slash is the filename. Everything before\n // it is the file path\n const fnSeparator = t_path.lastIndexOf(\"/\");\n if (fnSeparator === -1) {\n return isValidFilename(t_path);\n }\n\n const fn = t_path.slice(fnSeparator + 1);\n const dirPath = t_path.slice(0, fnSeparator + 1);\n\n return isValidDirectoryPath(dirPath) && isValidFilename(fn);\n}\n\n/**\n * Returns a formatted string for the first parent directory in a filepath. For example:\n * /home/var/test/ -> home/\n * If there is no first parent directory, then it returns \"/\" for root\n */\nexport function getFirstParentDirectory(path: string): string {\n let t_path = path;\n t_path = removeLeadingSlash(t_path);\n t_path = removeTrailingSlash(t_path);\n\n if (t_path.lastIndexOf(\"/\") === -1) {\n return \"/\";\n }\n\n const dirs = t_path.split(\"/\");\n if (dirs.length === 0) {\n return \"/\";\n }\n\n return dirs[0] + \"/\";\n}\n\n/**\n * Given a filepath, returns a formatted string for all of the parent directories\n * in that filepath. For example:\n * /home/var/tes -> home/var/\n * /home/var/test/ -> home/var/test/\n * If there are no parent directories, it returns the empty string\n */\nexport function getAllParentDirectories(path: string): string {\n const t_path = path;\n const lastSlash = t_path.lastIndexOf(\"/\");\n if (lastSlash === -1) {\n return \"\";\n }\n\n return t_path.slice(0, lastSlash + 1);\n}\n\n/**\n * Given a destination that only contains a directory part, returns the\n * path to the source filename inside the new destination directory.\n * Otherwise, returns the path to the destination file.\n * @param destination The destination path or file name\n * @param source The source path\n * @param cwd The current working directory\n * @returns A file path which may be absolute or relative\n */\nexport function getDestinationFilepath(destination: string, source: string, cwd: string): string {\n const dstDir = evaluateDirectoryPath(destination, cwd);\n // If evaluating the directory for this destination fails, we have a filename or full path.\n if (dstDir === null) {\n return destination;\n } else {\n // Append the filename to the directory provided.\n const t_path = removeTrailingSlash(dstDir);\n const fileName = getFileName(source);\n return t_path + \"/\" + fileName;\n }\n}\n\n/**\n * Given a filepath, returns the file name (e.g. without directory parts)\n * For example:\n * /home/var/test.js -> test.js\n * ./var/test.js -> test.js\n * test.js -> test.js\n */\nexport function getFileName(path: string): string {\n const t_path = path;\n const lastSlash = t_path.lastIndexOf(\"/\");\n if (lastSlash === -1) {\n return t_path;\n }\n\n return t_path.slice(lastSlash + 1);\n}\n\n/**\n * Checks if a file path refers to a file in the root directory.\n */\nexport function isInRootDirectory(path: string): boolean {\n if (!isValidFilePath(path)) {\n return false;\n }\n if (path == null || path.length === 0) {\n return false;\n }\n\n return path.lastIndexOf(\"/\") <= 0;\n}\n\n/**\n * Evaluates a directory path, including the processing of linux dots.\n * Returns the full, proper path, or null if an invalid path is passed in\n */\nexport function evaluateDirectoryPath(path: string, currPath?: string): string | null {\n let t_path = path;\n\n // If the path begins with a slash, then its an absolute path. Otherwise its relative\n // For relative paths, we need to prepend the current directory\n if (!t_path.startsWith(\"/\") && currPath) {\n t_path = currPath + (currPath.endsWith(\"/\") ? \"\" : \"/\") + t_path;\n }\n\n if (!isValidDirectoryPath(t_path)) {\n return null;\n }\n\n // Trim leading/trailing slashes\n t_path = removeLeadingSlash(t_path);\n t_path = removeTrailingSlash(t_path);\n\n const dirs = t_path.split(\"/\");\n const reconstructedPath: string[] = [];\n\n for (const dir of dirs) {\n if (dir === \".\") {\n // Current directory, do nothing\n continue;\n } else if (dir === \"..\") {\n // Parent directory\n const res = reconstructedPath.pop();\n if (res == null) {\n return null; // Array was empty, invalid path\n }\n } else {\n reconstructedPath.push(dir);\n }\n }\n\n return \"/\" + reconstructedPath.join(\"/\");\n}\n\n/**\n * Evaluates a file path, including the processing of linux dots.\n * Returns the full, proper path, or null if an invalid path is passed in\n */\nexport function evaluateFilePath(path: string, currPath?: string): string | null {\n let t_path = path;\n\n // If the path begins with a slash, then its an absolute path. Otherwise its relative\n // For relative paths, we need to prepend the current directory\n if (!t_path.startsWith(\"/\") && currPath != null) {\n t_path = currPath + (currPath.endsWith(\"/\") ? \"\" : \"/\") + t_path;\n }\n\n if (!isValidFilePath(t_path)) {\n return null;\n }\n\n // Trim leading/trailing slashes\n t_path = removeLeadingSlash(t_path);\n\n const dirs = t_path.split(\"/\");\n const reconstructedPath: string[] = [];\n\n for (const dir of dirs) {\n if (dir === \".\") {\n // Current directory, do nothing\n continue;\n } else if (dir === \"..\") {\n // Parent directory\n const res = reconstructedPath.pop();\n if (res == null) {\n return null; // Array was empty, invalid path\n }\n } else {\n reconstructedPath.push(dir);\n }\n }\n\n return \"/\" + reconstructedPath.join(\"/\");\n}\n\nexport function areFilesEqual(f0: string, f1: string): boolean {\n if (!f0.startsWith(\"/\")) f0 = \"/\" + f0;\n if (!f1.startsWith(\"/\")) f1 = \"/\" + f1;\n return f0 === f1;\n}\n\nexport function areImportsEquals(f0: string, f1: string): boolean {\n if (!f0.endsWith(\".ns\") && !f0.endsWith(\".js\")) f0 = f0 + \".js\";\n if (!f1.endsWith(\".ns\") && !f1.endsWith(\".js\")) f1 = f1 + \".js\";\n return areFilesEqual(f0, f1);\n}\n","import { Terminal as TTerminal } from \"./Terminal/Terminal\";\n\nexport const Terminal = new TTerminal();\n","import * as React from \"react\";\n\nexport function trusted(f: () => void): (event: React.MouseEvent) => void {\n return function (event: React.MouseEvent): void {\n if (!event.isTrusted) return;\n f();\n };\n}\n","/* Holds IP of Special Servers */\nexport const SpecialServers: {\n [key: string]: string | undefined;\n\n Home: string;\n FulcrumSecretTechnologies: string;\n CyberSecServer: string;\n NiteSecServer: string;\n TheBlackHandServer: string;\n BitRunnersServer: string;\n TheDarkArmyServer: string;\n DaedalusServer: string;\n WorldDaemon: string;\n DarkWeb: string;\n} = {\n Home: \"home\",\n FulcrumSecretTechnologies: \"fulcrumassets\",\n CyberSecServer: \"CSEC\",\n NiteSecServer: \"avmnite-02h\",\n TheBlackHandServer: \"I.I.I.I\",\n BitRunnersServer: \"run4theh111z\",\n TheDarkArmyServer: \".\",\n DaedalusServer: \"The-Cave\",\n WorldDaemon: \"w0r1d_d43m0n\",\n DarkWeb: \"darkweb\",\n};\n","import React from \"react\";\nimport { Reviver, Generic_toJSON, Generic_fromJSON, IReviverValue } from \"../utils/JSONReviver\";\nimport { CONSTANTS } from \"../Constants\";\nimport { LocationName } from \"../Locations/data/LocationNames\";\nimport { numeralWrapper } from \"../ui/numeralFormat\";\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { Money } from \"../ui/React/Money\";\nimport { convertTimeMsToTimeElapsedString } from \"../utils/StringHelperFunctions\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { calculateClassEarnings as calculateClassEarningsRate } from \"./formulas/Class\";\nimport { Work, WorkType } from \"./Work\";\nimport { applyWorkStats, newWorkStats, sumWorkStats, WorkStats } from \"./WorkStats\";\n\nexport enum ClassType {\n StudyComputerScience = \"StudyComputerScience\",\n DataStructures = \"DataStructures\",\n Networks = \"Networks\",\n Algorithms = \"Algorithms\",\n\n Management = \"Management\",\n Leadership = \"Leadership\",\n\n GymStrength = \"GymStrength\",\n GymDefense = \"GymDefense\",\n GymDexterity = \"GymDexterity\",\n GymAgility = \"GymAgility\",\n}\n\nexport interface Class {\n youAreCurrently: string;\n type: ClassType;\n earnings: WorkStats;\n}\n\nexport const Classes: Record = {\n [ClassType.StudyComputerScience]: {\n youAreCurrently: \"studying Computer Science\",\n type: ClassType.StudyComputerScience,\n earnings: newWorkStats({ hackExp: 0.5, intExp: 0.01 }),\n },\n [ClassType.DataStructures]: {\n youAreCurrently: \"taking a Data Structures course\",\n type: ClassType.DataStructures,\n earnings: newWorkStats({\n money: -40,\n hackExp: 1,\n intExp: 0.01,\n }),\n },\n [ClassType.Networks]: {\n youAreCurrently: \"taking a Networks course\",\n type: ClassType.Networks,\n earnings: newWorkStats({\n money: -80,\n hackExp: 2,\n intExp: 0.01,\n }),\n },\n [ClassType.Algorithms]: {\n youAreCurrently: \"taking an Algorithms course\",\n type: ClassType.Algorithms,\n earnings: newWorkStats({\n money: -320,\n hackExp: 4,\n intExp: 0.01,\n }),\n },\n [ClassType.Management]: {\n youAreCurrently: \"taking a Management course\",\n type: ClassType.Management,\n earnings: newWorkStats({\n money: -160,\n chaExp: 2,\n intExp: 0.01,\n }),\n },\n [ClassType.Leadership]: {\n youAreCurrently: \"taking a Leadership course\",\n type: ClassType.Leadership,\n earnings: newWorkStats({\n money: -320,\n chaExp: 4,\n intExp: 0.01,\n }),\n },\n [ClassType.GymStrength]: {\n youAreCurrently: \"training your strength at a gym\",\n type: ClassType.GymStrength,\n earnings: newWorkStats({\n money: -120,\n strExp: 1,\n }),\n },\n [ClassType.GymDefense]: {\n youAreCurrently: \"training your defense at a gym\",\n type: ClassType.GymDefense,\n earnings: newWorkStats({\n money: -120,\n defExp: 1,\n }),\n },\n [ClassType.GymDexterity]: {\n youAreCurrently: \"training your dexterity at a gym\",\n type: ClassType.GymDexterity,\n earnings: newWorkStats({\n money: -120,\n dexExp: 1,\n }),\n },\n [ClassType.GymAgility]: {\n youAreCurrently: \"training your agility at a gym\",\n type: ClassType.GymAgility,\n earnings: newWorkStats({\n money: -120,\n agiExp: 1,\n }),\n },\n};\n\ninterface ClassWorkParams {\n classType: ClassType;\n location: LocationName;\n singularity: boolean;\n}\n\nexport const isClassWork = (w: Work | null): w is ClassWork => w !== null && w.type === WorkType.CLASS;\n\nexport class ClassWork extends Work {\n classType: ClassType;\n location: LocationName;\n earnings = newWorkStats();\n\n constructor(params?: ClassWorkParams) {\n super(WorkType.CLASS, params?.singularity ?? true);\n this.classType = params?.classType ?? ClassType.StudyComputerScience;\n this.location = params?.location ?? LocationName.Sector12RothmanUniversity;\n }\n\n isGym(): boolean {\n return [ClassType.GymAgility, ClassType.GymDefense, ClassType.GymDexterity, ClassType.GymStrength].includes(\n this.classType,\n );\n }\n\n getClass(): Class {\n return Classes[this.classType];\n }\n\n calculateRates(player: IPlayer): WorkStats {\n return calculateClassEarningsRate(player, this);\n }\n\n process(player: IPlayer, cycles: number): boolean {\n this.cyclesWorked += cycles;\n const rate = this.calculateRates(player);\n const earnings = applyWorkStats(player, rate, cycles, \"class\");\n this.earnings = sumWorkStats(this.earnings, earnings);\n return false;\n }\n\n finish(): void {\n if (!this.singularity) {\n dialogBoxCreate(\n <>\n After {this.getClass().youAreCurrently} for{\" \"}\n {convertTimeMsToTimeElapsedString(this.cyclesWorked * CONSTANTS._idleSpeed)}, \n you spent a total of . \n \n You earned a total of: \n {numeralWrapper.formatExp(this.earnings.hackExp)} hacking exp \n {numeralWrapper.formatExp(this.earnings.strExp)} strength exp \n {numeralWrapper.formatExp(this.earnings.defExp)} defense exp \n {numeralWrapper.formatExp(this.earnings.dexExp)} dexterity exp \n {numeralWrapper.formatExp(this.earnings.agiExp)} agility exp \n {numeralWrapper.formatExp(this.earnings.chaExp)} charisma exp\n \n >,\n );\n }\n }\n\n /**\n * Serialize the current object to a JSON save state.\n */\n toJSON(): IReviverValue {\n return Generic_toJSON(\"ClassWork\", this);\n }\n\n /**\n * Initiatizes a ClassWork object from a JSON save state.\n */\n static fromJSON(value: IReviverValue): ClassWork {\n return Generic_fromJSON(ClassWork, value.data);\n }\n}\n\nReviver.constructors.ClassWork = ClassWork;\n","import React, { useState, useEffect } from \"react\";\n\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { IEngine } from \"../IEngine\";\nimport { ITerminal } from \"../Terminal/ITerminal\";\nimport { installAugmentations } from \"../Augmentation/AugmentationHelpers\";\nimport { saveObject } from \"../SaveObject\";\nimport { onExport } from \"../ExportBonus\";\nimport { LocationName } from \"../Locations/data/LocationNames\";\nimport { Location } from \"../Locations/Location\";\nimport { Locations } from \"../Locations/Locations\";\nimport { ITutorial, iTutorialStart } from \"../InteractiveTutorial\";\nimport { InteractiveTutorialRoot } from \"./InteractiveTutorial/InteractiveTutorialRoot\";\nimport { ITutorialEvents } from \"./InteractiveTutorial/ITutorialEvents\";\n\nimport { Faction } from \"../Faction/Faction\";\nimport { prestigeAugmentation } from \"../Prestige\";\nimport { dialogBoxCreate } from \"./React/DialogBox\";\nimport { GetAllServers } from \"../Server/AllServers\";\nimport { Factions } from \"../Faction/Factions\";\nimport { buyStock, sellStock, shortStock, sellShort } from \"../StockMarket/BuyingAndSelling\";\nimport {\n cancelOrder,\n eventEmitterForUiReset,\n initStockMarketFn,\n placeOrder,\n StockMarket,\n} from \"../StockMarket/StockMarket\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\n\nimport { Page, IRouter, ScriptEditorRouteOptions } from \"./Router\";\nimport { Overview } from \"./React/Overview\";\nimport { SidebarRoot } from \"../Sidebar/ui/SidebarRoot\";\nimport { AugmentationsRoot } from \"../Augmentation/ui/AugmentationsRoot\";\nimport { DevMenuRoot } from \"../DevMenu\";\nimport { BladeburnerRoot } from \"../Bladeburner/ui/BladeburnerRoot\";\nimport { GangRoot } from \"../Gang/ui/GangRoot\";\nimport { CorporationRoot } from \"../Corporation/ui/CorporationRoot\";\nimport { InfiltrationRoot } from \"../Infiltration/ui/InfiltrationRoot\";\nimport { GraftingRoot } from \"../PersonObjects/Grafting/ui/GraftingRoot\";\nimport { WorkInProgressRoot } from \"./WorkInProgressRoot\";\nimport { GameOptionsRoot } from \"../GameOptions/ui/GameOptionsRoot\";\nimport { SleeveRoot } from \"../PersonObjects/Sleeve/ui/SleeveRoot\";\nimport { HacknetRoot } from \"../Hacknet/ui/HacknetRoot\";\nimport { GenericLocation } from \"../Locations/ui/GenericLocation\";\nimport { LocationCity } from \"../Locations/ui/City\";\nimport { ProgramsRoot } from \"../Programs/ui/ProgramsRoot\";\nimport { Root as ScriptEditorRoot } from \"../ScriptEditor/ui/ScriptEditorRoot\";\nimport { MilestonesRoot } from \"../Milestones/ui/MilestonesRoot\";\nimport { TerminalRoot } from \"../Terminal/ui/TerminalRoot\";\nimport { TutorialRoot } from \"../Tutorial/ui/TutorialRoot\";\nimport { ActiveScriptsRoot } from \"./ActiveScripts/ActiveScriptsRoot\";\nimport { FactionsRoot } from \"../Faction/ui/FactionsRoot\";\nimport { FactionRoot } from \"../Faction/ui/FactionRoot\";\nimport { CharacterStats } from \"./CharacterStats\";\nimport { TravelAgencyRoot } from \"../Locations/ui/TravelAgencyRoot\";\nimport { StockMarketRoot } from \"../StockMarket/ui/StockMarketRoot\";\nimport { BitverseRoot } from \"../BitNode/ui/BitverseRoot\";\nimport { StaneksGiftRoot } from \"../CotMG/ui/StaneksGiftRoot\";\nimport { staneksGift } from \"../CotMG/Helper\";\nimport { CharacterOverview } from \"./React/CharacterOverview\";\nimport { BladeburnerCinematic } from \"../Bladeburner/ui/BladeburnerCinematic\";\nimport { workerScripts } from \"../Netscript/WorkerScripts\";\nimport { Unclickable } from \"../Exploits/Unclickable\";\nimport { Snackbar, SnackbarProvider } from \"./React/Snackbar\";\nimport { LogBoxManager } from \"./React/LogBoxManager\";\nimport { AlertManager } from \"./React/AlertManager\";\nimport { PromptManager } from \"./React/PromptManager\";\nimport { InvitationModal } from \"../Faction/ui/InvitationModal\";\nimport { calculateAchievements } from \"../Achievements/Achievements\";\n\nimport { enterBitNode } from \"../RedPill\";\nimport { Context } from \"./Context\";\nimport { RecoveryMode, RecoveryRoot } from \"./React/RecoveryRoot\";\nimport { AchievementsRoot } from \"../Achievements/AchievementsRoot\";\nimport { ErrorBoundary } from \"./ErrorBoundary\";\nimport { Settings } from \"../Settings/Settings\";\nimport { ThemeBrowser } from \"../Themes/ui/ThemeBrowser\";\nimport { ImportSaveRoot } from \"./React/ImportSaveRoot\";\nimport { BypassWrapper } from \"./React/BypassWrapper\";\n\nimport _wrap from \"lodash/wrap\";\nimport _functions from \"lodash/functions\";\nimport { Apr1 } from \"./Apr1\";\nimport { isFactionWork } from \"../Work/FactionWork\";\n\nconst htmlLocation = location;\n\ninterface IProps {\n terminal: ITerminal;\n player: IPlayer;\n engine: IEngine;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n \"-ms-overflow-style\": \"none\" /* for Internet Explorer, Edge */,\n \"scrollbar-width\": \"none\" /* for Firefox */,\n margin: theme.spacing(0),\n flexGrow: 1,\n display: \"block\",\n padding: \"8px\",\n minHeight: \"100vh\",\n boxSizing: \"border-box\",\n },\n }),\n);\n\nconst uninitialized = (): void => {\n throw new Error(\"Router called before initialization\");\n};\n\nexport let Router: IRouter = {\n isInitialized: false,\n page: () => {\n throw new Error(\"Router called before initialization\");\n },\n allowRouting: uninitialized,\n toActiveScripts: uninitialized,\n toAugmentations: uninitialized,\n toBitVerse: uninitialized,\n toBladeburner: uninitialized,\n toStats: uninitialized,\n toCity: uninitialized,\n toCorporation: uninitialized,\n toCreateProgram: uninitialized,\n toDevMenu: uninitialized,\n toFaction: uninitialized,\n toFactions: uninitialized,\n toGameOptions: uninitialized,\n toGang: uninitialized,\n toHacknetNodes: uninitialized,\n toInfiltration: uninitialized,\n toJob: uninitialized,\n toMilestones: uninitialized,\n toGrafting: uninitialized,\n toScriptEditor: uninitialized,\n toSleeves: uninitialized,\n toStockMarket: uninitialized,\n toTerminal: uninitialized,\n toTravel: uninitialized,\n toTutorial: uninitialized,\n toWork: uninitialized,\n toBladeburnerCinematic: uninitialized,\n toLocation: uninitialized,\n toStaneksGift: uninitialized,\n toAchievements: uninitialized,\n toThemeBrowser: uninitialized,\n toImportSave: uninitialized,\n};\n\nfunction determineStartPage(player: IPlayer): Page {\n if (RecoveryMode) return Page.Recovery;\n if (player.currentWork !== null) return Page.Work;\n return Page.Terminal;\n}\n\nexport function GameRoot({ player, engine, terminal }: IProps): React.ReactElement {\n const classes = useStyles();\n const [{ files, vim }, setEditorOptions] = useState({ files: {}, vim: false });\n const [page, setPage] = useState(determineStartPage(player));\n const setRerender = useState(0)[1];\n const [augPage, setAugPage] = useState(false);\n const [faction, setFaction] = useState(\n isFactionWork(player.currentWork) ? Factions[player.currentWork.factionName] : (undefined as unknown as Faction),\n );\n if (faction === undefined && page === Page.Faction)\n throw new Error(\"Trying to go to a page without the proper setup\");\n\n const [flume, setFlume] = useState(false);\n const [quick, setQuick] = useState(false);\n const [location, setLocation] = useState(undefined as unknown as Location);\n if (location === undefined && (page === Page.Infiltration || page === Page.Location || page === Page.Job))\n throw new Error(\"Trying to go to a page without the proper setup\");\n\n const [cinematicText, setCinematicText] = useState(\"\");\n const [errorBoundaryKey, setErrorBoundaryKey] = useState(0);\n const [sidebarOpened, setSideBarOpened] = useState(Settings.IsSidebarOpened);\n\n const [importString, setImportString] = useState(undefined as unknown as string);\n const [importAutomatic, setImportAutomatic] = useState(false);\n if (importString === undefined && page === Page.ImportSave)\n throw new Error(\"Trying to go to a page without the proper setup\");\n\n const [allowRoutingCalls, setAllowRoutingCalls] = useState(true);\n\n function resetErrorBoundary(): void {\n setErrorBoundaryKey(errorBoundaryKey + 1);\n }\n\n function rerender(): void {\n setRerender((old) => old + 1);\n }\n useEffect(() => {\n return ITutorialEvents.subscribe(rerender);\n }, []);\n\n function killAllScripts(): void {\n for (const server of GetAllServers()) {\n server.runningScripts = [];\n }\n saveObject.saveGame();\n setTimeout(() => htmlLocation.reload(), 2000);\n }\n\n Router = {\n isInitialized: true,\n page: () => page,\n allowRouting: (value: boolean) => setAllowRoutingCalls(value),\n toActiveScripts: () => setPage(Page.ActiveScripts),\n toAugmentations: () => setPage(Page.Augmentations),\n toBladeburner: () => setPage(Page.Bladeburner),\n toStats: () => setPage(Page.Stats),\n toCorporation: () => setPage(Page.Corporation),\n toCreateProgram: () => setPage(Page.CreateProgram),\n toDevMenu: () => setPage(Page.DevMenu),\n toFaction: (faction: Faction, augPage = false) => {\n setAugPage(augPage);\n setPage(Page.Faction);\n if (faction) setFaction(faction);\n },\n toFactions: () => setPage(Page.Factions),\n toGameOptions: () => setPage(Page.Options),\n toGang: () => setPage(Page.Gang),\n toHacknetNodes: () => setPage(Page.Hacknet),\n toMilestones: () => setPage(Page.Milestones),\n toGrafting: () => setPage(Page.Grafting),\n toScriptEditor: (files: Record, options?: ScriptEditorRouteOptions) => {\n setEditorOptions({\n files,\n vim: !!options?.vim,\n });\n setPage(Page.ScriptEditor);\n },\n toSleeves: () => setPage(Page.Sleeves),\n toStockMarket: () => setPage(Page.StockMarket),\n toTerminal: () => setPage(Page.Terminal),\n toTutorial: () => setPage(Page.Tutorial),\n toJob: (location: Location) => {\n setLocation(location);\n setPage(Page.Job);\n },\n toCity: () => {\n setPage(Page.City);\n },\n toTravel: () => {\n player.gotoLocation(LocationName.TravelAgency);\n setPage(Page.Travel);\n },\n toBitVerse: (flume: boolean, quick: boolean) => {\n setFlume(flume);\n setQuick(quick);\n calculateAchievements();\n setPage(Page.BitVerse);\n },\n toInfiltration: (location: Location) => {\n setLocation(location);\n setPage(Page.Infiltration);\n },\n toWork: () => setPage(Page.Work),\n toBladeburnerCinematic: () => {\n setPage(Page.BladeburnerCinematic);\n setCinematicText(cinematicText);\n },\n toLocation: (location: Location) => {\n setLocation(location);\n setPage(Page.Location);\n },\n toStaneksGift: () => {\n setPage(Page.StaneksGift);\n },\n toAchievements: () => {\n setPage(Page.Achievements);\n },\n toThemeBrowser: () => {\n setPage(Page.ThemeBrowser);\n },\n toImportSave: (base64save: string, automatic = false) => {\n setImportString(base64save);\n setImportAutomatic(automatic);\n setPage(Page.ImportSave);\n },\n };\n\n useEffect(() => {\n // Wrap Router navigate functions to be able to disable the execution\n _functions(Router)\n .filter((fnName) => fnName.startsWith(\"to\"))\n .forEach((fnName) => {\n // @ts-ignore - tslint does not like this, couldn't find a way to make it cooperate\n Router[fnName] = _wrap(Router[fnName], (func, ...args) => {\n if (!allowRoutingCalls) {\n // Let's just log to console.\n console.error(`Routing is currently disabled - Attempted router.${fnName}()`);\n return;\n }\n\n // Call the function normally\n return func(...args);\n });\n });\n });\n\n useEffect(() => {\n if (page !== Page.Terminal) window.scrollTo(0, 0);\n });\n\n function softReset(): void {\n dialogBoxCreate(\"Soft Reset!\");\n installAugmentations(true);\n resetErrorBoundary();\n Router.toTerminal();\n }\n\n let mainPage = Cannot load;\n let withSidebar = true;\n let withPopups = true;\n let bypassGame = false;\n switch (page) {\n case Page.Recovery: {\n mainPage = ;\n withSidebar = false;\n withPopups = false;\n bypassGame = true;\n break;\n }\n case Page.BitVerse: {\n mainPage = ;\n withSidebar = false;\n withPopups = false;\n break;\n }\n case Page.Infiltration: {\n mainPage = ;\n withSidebar = false;\n withPopups = false;\n break;\n }\n case Page.BladeburnerCinematic: {\n mainPage = ;\n withSidebar = false;\n withPopups = false;\n break;\n }\n case Page.Work: {\n mainPage = ;\n withSidebar = false;\n break;\n }\n case Page.Terminal: {\n mainPage = ;\n break;\n }\n case Page.Sleeves: {\n mainPage = ;\n break;\n }\n case Page.StaneksGift: {\n mainPage = ;\n break;\n }\n case Page.Stats: {\n mainPage = ;\n break;\n }\n case Page.ScriptEditor: {\n mainPage = (\n \n );\n break;\n }\n case Page.ActiveScripts: {\n mainPage = ;\n break;\n }\n case Page.Hacknet: {\n mainPage = ;\n break;\n }\n case Page.CreateProgram: {\n mainPage = ;\n break;\n }\n case Page.Factions: {\n mainPage = ;\n break;\n }\n case Page.Faction: {\n mainPage = ;\n break;\n }\n case Page.Milestones: {\n mainPage = ;\n break;\n }\n case Page.Tutorial: {\n mainPage = (\n {\n prestigeAugmentation();\n Router.toTerminal();\n iTutorialStart();\n }}\n />\n );\n break;\n }\n case Page.DevMenu: {\n mainPage = ;\n break;\n }\n case Page.Gang: {\n mainPage = ;\n break;\n }\n case Page.Corporation: {\n mainPage = ;\n break;\n }\n case Page.Bladeburner: {\n mainPage = ;\n break;\n }\n case Page.Grafting: {\n mainPage = ;\n break;\n }\n case Page.Travel: {\n mainPage = ;\n break;\n }\n case Page.StockMarket: {\n mainPage = (\n \n );\n break;\n }\n case Page.City: {\n mainPage = ;\n break;\n }\n case Page.Job:\n case Page.Location: {\n mainPage = ;\n break;\n }\n case Page.Options: {\n mainPage = (\n saveObject.saveGame()}\n export={() => {\n // Apply the export bonus before saving the game\n onExport(player);\n saveObject.exportGame();\n }}\n forceKill={killAllScripts}\n softReset={softReset}\n />\n );\n break;\n }\n case Page.Augmentations: {\n mainPage = (\n {\n // Apply the export bonus before saving the game\n onExport(player);\n saveObject.exportGame();\n }}\n installAugmentationsFn={() => {\n installAugmentations();\n }}\n />\n );\n break;\n }\n case Page.Achievements: {\n mainPage = ;\n break;\n }\n case Page.ThemeBrowser: {\n mainPage = ;\n break;\n }\n case Page.ImportSave: {\n mainPage = ;\n withSidebar = false;\n withPopups = false;\n bypassGame = true;\n }\n }\n\n return (\n \n \n \n \n \n \n {!ITutorial.isRunning ? (\n saveObject.saveGame()} killScripts={killAllScripts} />\n ) : (\n \n )}\n \n {withSidebar ? (\n \n {\n setSideBarOpened(isOpened);\n Settings.IsSidebarOpened = isOpened;\n }}\n />\n {mainPage}\n \n ) : (\n {mainPage}\n )}\n \n {withPopups && (\n <>\n \n \n \n \n \n >\n )}\n \n \n \n \n \n \n );\n}\n","/**\n * Hacknet Servers - Reworked Hacknet Node mechanic for BitNode-9\n */\nimport { CONSTANTS } from \"../Constants\";\n\nimport { IHacknetNode } from \"./IHacknetNode\";\n\nimport { BaseServer } from \"../Server/BaseServer\";\nimport { RunningScript } from \"../Script/RunningScript\";\nimport { HacknetServerConstants } from \"./data/Constants\";\nimport {\n calculateHashGainRate,\n calculateLevelUpgradeCost,\n calculateRamUpgradeCost,\n calculateCoreUpgradeCost,\n calculateCacheUpgradeCost,\n} from \"./formulas/HacknetServers\";\n\nimport { createRandomIp } from \"../utils/IPAddress\";\n\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"../utils/JSONReviver\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\n\ninterface IConstructorParams {\n adminRights?: boolean;\n hostname: string;\n ip?: string;\n isConnectedTo?: boolean;\n maxRam?: number;\n organizationName?: string;\n}\n\nexport class HacknetServer extends BaseServer implements IHacknetNode {\n // Cache level. Affects hash Capacity\n cache = 1;\n\n // Number of cores. Improves hash production\n cores = 1;\n\n // Number of hashes that can be stored by this Hacknet Server\n hashCapacity = 0;\n\n // Hashes produced per second\n hashRate = 0;\n\n // Similar to Node level. Improves hash production\n level = 1;\n\n // How long this HacknetServer has existed, in seconds\n onlineTimeSeconds = 0;\n\n // Total number of hashes earned by this server\n totalHashesGenerated = 0;\n\n // Flag indicating wehther this is a purchased server\n purchasedByPlayer = true;\n\n constructor(params: IConstructorParams = { hostname: \"\", ip: createRandomIp() }) {\n super(params);\n\n this.maxRam = 1;\n this.updateHashCapacity();\n }\n\n calculateCacheUpgradeCost(levels: number): number {\n return calculateCacheUpgradeCost(this.cache, levels);\n }\n\n calculateCoreUpgradeCost(levels: number, costMult: number): number {\n return calculateCoreUpgradeCost(this.cores, levels, costMult);\n }\n\n calculateLevelUpgradeCost(levels: number, costMult: number): number {\n return calculateLevelUpgradeCost(this.level, levels, costMult);\n }\n\n calculateRamUpgradeCost(levels: number, costMult: number): number {\n return calculateRamUpgradeCost(this.maxRam, levels, costMult);\n }\n\n // Process this Hacknet Server in the game loop. Returns the number of hashes generated\n process(numCycles = 1): number {\n const seconds = (numCycles * CONSTANTS.MilliPerCycle) / 1000;\n this.onlineTimeSeconds += seconds;\n\n const hashes = this.hashRate * seconds;\n this.totalHashesGenerated += hashes;\n\n return hashes;\n }\n\n upgradeCache(levels: number): void {\n this.cache = Math.min(HacknetServerConstants.MaxCache, Math.round(this.cache + levels));\n this.updateHashCapacity();\n }\n\n upgradeCore(levels: number, prodMult: number): void {\n this.cores = Math.min(HacknetServerConstants.MaxCores, Math.round(this.cores + levels));\n this.updateHashRate(prodMult);\n this.cpuCores = this.cores;\n }\n\n upgradeLevel(levels: number, prodMult: number): void {\n this.level = Math.min(HacknetServerConstants.MaxLevel, Math.round(this.level + levels));\n this.updateHashRate(prodMult);\n }\n\n upgradeRam(levels: number, prodMult: number): boolean {\n for (let i = 0; i < levels; ++i) {\n this.maxRam *= 2;\n }\n this.maxRam = Math.min(HacknetServerConstants.MaxRam, Math.round(this.maxRam));\n this.updateHashRate(prodMult);\n\n return true;\n }\n\n // Whenever a script is run, we must update this server's hash rate\n runScript(script: RunningScript, prodMult?: number): void {\n super.runScript(script);\n if (prodMult != null && typeof prodMult === \"number\") {\n this.updateHashRate(prodMult);\n }\n }\n\n updateRamUsed(ram: number, player: IPlayer): void {\n super.updateRamUsed(ram, player);\n this.updateHashRate(player.mults.hacknet_node_money);\n }\n\n updateHashCapacity(): void {\n this.hashCapacity = 32 * Math.pow(2, this.cache);\n }\n\n updateHashRate(prodMult: number): void {\n this.hashRate = calculateHashGainRate(this.level, this.ramUsed, this.maxRam, this.cores, prodMult);\n\n if (isNaN(this.hashRate)) {\n this.hashRate = 0;\n console.error(\n `Error calculating Hacknet Server hash production. This is a bug. Please report to game dev`,\n false,\n );\n }\n }\n\n // Serialize the current object to a JSON save state\n toJSON(): IReviverValue {\n return Generic_toJSON(\"HacknetServer\", this);\n }\n\n // Initializes a HacknetServer Object from a JSON save state\n static fromJSON(value: IReviverValue): HacknetServer {\n return Generic_fromJSON(HacknetServer, value.data);\n }\n}\n\nReviver.constructors.HacknetServer = HacknetServer;\n","import React, { useEffect } from \"react\";\nimport { useSnackbar, SnackbarProvider as SB } from \"notistack\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { EventEmitter } from \"../../utils/EventEmitter\";\nimport Alert from \"@mui/material/Alert\";\nimport Paper from \"@mui/material/Paper\";\nimport { logBoxBaseZIndex } from \"./LogBoxManager\";\n\ninterface IProps {\n children: React.ReactNode | React.ReactNode[];\n}\n\nexport enum ToastVariant {\n SUCCESS = \"success\",\n WARNING = \"warning\",\n ERROR = \"error\",\n INFO = \"info\",\n}\n\nconst useStyles = makeStyles(() => ({\n snackbar: {\n // Log popup z-index increments, so let's add a padding to be well above them.\n zIndex: `${logBoxBaseZIndex + 1000} !important` as any,\n\n \"& .MuiAlert-icon\": {\n alignSelf: \"center\",\n },\n },\n}));\n\nexport function SnackbarProvider(props: IProps): React.ReactElement {\n const classes = useStyles();\n return (\n \n {props.children}\n \n );\n}\n\nexport const SnackbarEvents = new EventEmitter<[string | React.ReactNode, ToastVariant, number]>();\n\nexport function Snackbar(): React.ReactElement {\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n\n useEffect(() =>\n SnackbarEvents.subscribe((s, variant, duration) => {\n const id = enqueueSnackbar({s}, {\n content: (k, m) => {m},\n variant: variant,\n autoHideDuration: duration,\n onClick: () => closeSnackbar(id),\n });\n }),\n );\n return <>>;\n}\n","import { IMap } from \"../../types\";\nimport { LocationName } from \"../../Locations/data/LocationNames\";\n\nexport const StockSymbols: IMap = {};\n\n// Stocks for companies at which you can work\nStockSymbols[LocationName.AevumECorp] = \"ECP\";\nStockSymbols[LocationName.Sector12MegaCorp] = \"MGCP\";\nStockSymbols[LocationName.Sector12BladeIndustries] = \"BLD\";\nStockSymbols[LocationName.AevumClarkeIncorporated] = \"CLRK\";\nStockSymbols[LocationName.VolhavenOmniTekIncorporated] = \"OMTK\";\nStockSymbols[LocationName.Sector12FourSigma] = \"FSIG\";\nStockSymbols[LocationName.ChongqingKuaiGongInternational] = \"KGI\";\nStockSymbols[LocationName.AevumFulcrumTechnologies] = \"FLCM\";\nStockSymbols[LocationName.IshimaStormTechnologies] = \"STM\";\nStockSymbols[LocationName.NewTokyoDefComm] = \"DCOMM\";\nStockSymbols[LocationName.VolhavenHeliosLabs] = \"HLS\";\nStockSymbols[LocationName.NewTokyoVitaLife] = \"VITA\";\nStockSymbols[LocationName.Sector12IcarusMicrosystems] = \"ICRS\";\nStockSymbols[LocationName.Sector12UniversalEnergy] = \"UNV\";\nStockSymbols[LocationName.AevumAeroCorp] = \"AERO\";\nStockSymbols[LocationName.VolhavenOmniaCybersystems] = \"OMN\";\nStockSymbols[LocationName.ChongqingSolarisSpaceSystems] = \"SLRS\";\nStockSymbols[LocationName.NewTokyoGlobalPharmaceuticals] = \"GPH\";\nStockSymbols[LocationName.IshimaNovaMedical] = \"NVMD\";\nStockSymbols[LocationName.AevumWatchdogSecurity] = \"WDS\";\nStockSymbols[LocationName.VolhavenLexoCorp] = \"LXO\";\nStockSymbols[LocationName.AevumRhoConstruction] = \"RHOC\";\nStockSymbols[LocationName.Sector12AlphaEnterprises] = \"APHE\";\nStockSymbols[LocationName.VolhavenSysCoreSecurities] = \"SYSC\";\nStockSymbols[LocationName.VolhavenCompuTek] = \"CTK\";\nStockSymbols[LocationName.AevumNetLinkTechnologies] = \"NTLK\";\nStockSymbols[LocationName.IshimaOmegaSoftware] = \"OMGA\";\nStockSymbols[LocationName.Sector12FoodNStuff] = \"FNS\";\nStockSymbols[LocationName.Sector12JoesGuns] = \"JGN\";\n\n// Stocks for other companies\nStockSymbols[\"Sigma Cosmetics\"] = \"SGC\";\nStockSymbols[\"Catalyst Ventures\"] = \"CTYS\";\nStockSymbols[\"Microdyne Technologies\"] = \"MDYN\";\nStockSymbols[\"Titan Laboratories\"] = \"TITN\";\n","export const validScriptExtensions: Array = [`.js`, `.script`, `.ns`];\n\nexport function isScriptFilename(f: string): boolean {\n return validScriptExtensions.some((ext) => f.endsWith(ext));\n}\n","import { BitNodeMultipliers } from \"./BitNode/BitNodeMultipliers\";\nimport { IPlayer } from \"./PersonObjects/IPlayer\";\nimport { calculateIntelligenceBonus } from \"./PersonObjects/formulas/intelligence\";\nimport { Server } from \"./Server/Server\";\n\n/**\n * Returns the chance the player has to successfully hack a server\n */\nexport function calculateHackingChance(server: Server, player: IPlayer): number {\n const hackFactor = 1.75;\n const difficultyMult = (100 - server.hackDifficulty) / 100;\n const skillMult = hackFactor * player.hacking;\n const skillChance = (skillMult - server.requiredHackingSkill) / skillMult;\n const chance =\n skillChance * difficultyMult * player.mults.hacking_chance * calculateIntelligenceBonus(player.intelligence, 1);\n if (chance > 1) {\n return 1;\n }\n if (chance < 0) {\n return 0;\n }\n\n return chance;\n}\n\n/**\n * Returns the amount of hacking experience the player will gain upon\n * successfully hacking a server\n */\nexport function calculateHackingExpGain(server: Server, player: IPlayer): number {\n const baseExpGain = 3;\n const diffFactor = 0.3;\n if (server.baseDifficulty == null) {\n server.baseDifficulty = server.hackDifficulty;\n }\n let expGain = baseExpGain;\n expGain += server.baseDifficulty * diffFactor;\n\n return expGain * player.mults.hacking_exp * BitNodeMultipliers.HackExpGain;\n}\n\n/**\n * Returns the percentage of money that will be stolen from a server if\n * it is successfully hacked (returns the decimal form, not the actual percent value)\n */\nexport function calculatePercentMoneyHacked(server: Server, player: IPlayer): number {\n // Adjust if needed for balancing. This is the divisor for the final calculation\n const balanceFactor = 240;\n\n const difficultyMult = (100 - server.hackDifficulty) / 100;\n const skillMult = (player.hacking - (server.requiredHackingSkill - 1)) / player.hacking;\n const percentMoneyHacked =\n (difficultyMult * skillMult * player.mults.hacking_money * BitNodeMultipliers.ScriptHackMoney) / balanceFactor;\n if (percentMoneyHacked < 0) {\n return 0;\n }\n if (percentMoneyHacked > 1) {\n return 1;\n }\n\n return percentMoneyHacked;\n}\n\n/**\n * Returns time it takes to complete a hack on a server, in seconds\n */\nexport function calculateHackingTime(server: Server, player: IPlayer): number {\n const difficultyMult = server.requiredHackingSkill * server.hackDifficulty;\n\n const baseDiff = 500;\n const baseSkill = 50;\n const diffFactor = 2.5;\n let skillFactor = diffFactor * difficultyMult + baseDiff;\n // tslint:disable-next-line\n skillFactor /= player.hacking + baseSkill;\n\n const hackTimeMultiplier = 5;\n const hackingTime =\n (hackTimeMultiplier * skillFactor) /\n (player.mults.hacking_speed * calculateIntelligenceBonus(player.intelligence, 1));\n\n return hackingTime;\n}\n\n/**\n * Returns time it takes to complete a grow operation on a server, in seconds\n */\nexport function calculateGrowTime(server: Server, player: IPlayer): number {\n const growTimeMultiplier = 3.2; // Relative to hacking time. 16/5 = 3.2\n\n return growTimeMultiplier * calculateHackingTime(server, player);\n}\n\n/**\n * Returns time it takes to complete a weaken operation on a server, in seconds\n */\nexport function calculateWeakenTime(server: Server, player: IPlayer): number {\n const weakenTimeMultiplier = 4; // Relative to hacking time\n\n return weakenTimeMultiplier * calculateHackingTime(server, player);\n}\n","export enum FactionWorkType {\n HACKING = \"HACKING\",\n FIELD = \"FIELD\",\n SECURITY = \"SECURITY\",\n}\n","import { Reviver } from \"../utils/JSONReviver\";\n\nimport { IStaneksGift } from \"./IStaneksGift\";\nimport { StaneksGift } from \"./StaneksGift\";\n\nexport let staneksGift: IStaneksGift = new StaneksGift();\n\nexport function loadStaneksGift(saveString: string): void {\n if (saveString) {\n staneksGift = JSON.parse(saveString, Reviver);\n } else {\n staneksGift = new StaneksGift();\n }\n}\n\nexport function zeros(width: number, height: number): number[][] {\n const array = [];\n\n for (let i = 0; i < width; ++i) {\n array.push(Array(height).fill(0));\n }\n\n return array;\n}\n\nexport function calculateGrid(gift: IStaneksGift): number[][] {\n const newgrid = zeros(gift.width(), gift.height()) as unknown as number[][];\n for (let i = 0; i < gift.width(); i++) {\n for (let j = 0; j < gift.height(); j++) {\n const fragment = gift.fragmentAt(i, j);\n if (!fragment) continue;\n newgrid[i][j] = 1;\n }\n }\n\n return newgrid;\n}\n","import { IOrderBook } from \"./IOrderBook\";\nimport { IStockMarket } from \"./IStockMarket\";\nimport { Order } from \"./Order\";\nimport { processOrders } from \"./OrderProcessing\";\nimport { Stock } from \"./Stock\";\nimport { TicksPerCycle } from \"./StockMarketConstants\";\nimport { InitStockMetadata } from \"./data/InitStockMetadata\";\nimport { OrderTypes } from \"./data/OrderTypes\";\nimport { PositionTypes } from \"./data/PositionTypes\";\nimport { StockSymbols } from \"./data/StockSymbols\";\n\nimport { CONSTANTS } from \"../Constants\";\nimport { WorkerScript } from \"../Netscript/WorkerScript\";\nimport { IMap } from \"../types\";\nimport { EventEmitter } from \"../utils/EventEmitter\";\n\nimport { numeralWrapper } from \"../ui/numeralFormat\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { Reviver } from \"../utils/JSONReviver\";\n\nexport let StockMarket: IStockMarket = {\n lastUpdate: 0,\n Orders: {},\n storedCycles: 0,\n ticksUntilCycle: 0,\n} as IStockMarket; // Maps full stock name -> Stock object\nexport const SymbolToStockMap: IMap = {}; // Maps symbol -> Stock object\n\nexport function placeOrder(\n stock: Stock,\n shares: number,\n price: number,\n type: OrderTypes,\n position: PositionTypes,\n workerScript: WorkerScript | null = null,\n): boolean {\n if (!(stock instanceof Stock)) {\n if (workerScript) {\n workerScript.log(\"stock.placeOrder\", () => `Invalid stock: '${stock}'`);\n } else {\n dialogBoxCreate(`ERROR: Invalid stock passed to placeOrder() function`);\n }\n return false;\n }\n if (typeof shares !== \"number\" || typeof price !== \"number\") {\n if (workerScript) {\n workerScript.log(\"stock.placeOrder\", () => `Invalid arguments: shares='${shares}' price='${price}'`);\n } else {\n dialogBoxCreate(\"ERROR: Invalid numeric value provided for either 'shares' or 'price' argument\");\n }\n return false;\n }\n\n const order = new Order(stock.symbol, shares, price, type, position);\n if (StockMarket[\"Orders\"] == null) {\n const orders: IOrderBook = {};\n for (const name of Object.keys(StockMarket)) {\n const stk = StockMarket[name];\n if (!(stk instanceof Stock)) {\n continue;\n }\n orders[stk.symbol] = [];\n }\n StockMarket[\"Orders\"] = orders;\n }\n StockMarket[\"Orders\"][stock.symbol].push(order);\n\n // Process to see if it should be executed immediately\n const processOrderRefs = {\n stockMarket: StockMarket,\n symbolToStockMap: SymbolToStockMap,\n };\n processOrders(stock, order.type, order.pos, processOrderRefs);\n\n return true;\n}\n\n// Returns true if successfully cancels an order, false otherwise\nexport interface ICancelOrderParams {\n order?: Order;\n pos?: PositionTypes;\n price?: number;\n shares?: number;\n stock?: Stock;\n type?: OrderTypes;\n}\nexport function cancelOrder(params: ICancelOrderParams, workerScript: WorkerScript | null = null): boolean {\n if (StockMarket[\"Orders\"] == null) {\n return false;\n }\n if (params.order && params.order instanceof Order) {\n const order = params.order;\n // An 'Order' object is passed in\n const stockOrders = StockMarket[\"Orders\"][order.stockSymbol];\n for (let i = 0; i < stockOrders.length; ++i) {\n if (order == stockOrders[i]) {\n stockOrders.splice(i, 1);\n return true;\n }\n }\n return false;\n } else if (\n params.stock &&\n params.shares &&\n params.price &&\n params.type &&\n params.pos &&\n params.stock instanceof Stock\n ) {\n // Order properties are passed in. Need to look for the order\n const stockOrders = StockMarket[\"Orders\"][params.stock.symbol];\n const orderTxt = params.stock.symbol + \" - \" + params.shares + \" @ \" + numeralWrapper.formatMoney(params.price);\n for (let i = 0; i < stockOrders.length; ++i) {\n const order = stockOrders[i];\n if (\n params.shares === order.shares &&\n params.price === order.price &&\n params.type === order.type &&\n params.pos === order.pos\n ) {\n stockOrders.splice(i, 1);\n if (workerScript) {\n workerScript.scriptRef.log(\"Successfully cancelled order: \" + orderTxt);\n }\n return true;\n }\n }\n if (workerScript) {\n workerScript.scriptRef.log(\"Failed to cancel order: \" + orderTxt);\n }\n return false;\n }\n return false;\n}\n\nexport function loadStockMarket(saveString: string): void {\n if (saveString === \"\") {\n StockMarket = {\n lastUpdate: 0,\n Orders: {},\n storedCycles: 0,\n ticksUntilCycle: 0,\n } as IStockMarket;\n } else {\n StockMarket = JSON.parse(saveString, Reviver);\n }\n}\n\nexport function deleteStockMarket(): void {\n StockMarket = {\n lastUpdate: 0,\n Orders: {},\n storedCycles: 0,\n ticksUntilCycle: 0,\n } as IStockMarket;\n}\n\nexport function initStockMarket(): void {\n for (const stk of Object.keys(StockMarket)) {\n if (StockMarket.hasOwnProperty(stk)) {\n delete StockMarket[stk];\n }\n }\n\n for (const metadata of InitStockMetadata) {\n const name = metadata.name;\n StockMarket[name] = new Stock(metadata);\n }\n\n const orders: IOrderBook = {};\n for (const name of Object.keys(StockMarket)) {\n const stock = StockMarket[name];\n if (!(stock instanceof Stock)) {\n continue;\n }\n orders[stock.symbol] = [];\n }\n StockMarket[\"Orders\"] = orders;\n\n StockMarket.storedCycles = 0;\n StockMarket.lastUpdate = 0;\n StockMarket.ticksUntilCycle = TicksPerCycle;\n}\n\nexport function initSymbolToStockMap(): void {\n for (const name of Object.keys(StockSymbols)) {\n if (StockSymbols.hasOwnProperty(name)) {\n const stock = StockMarket[name];\n if (stock == null) {\n console.error(`Could not find Stock for ${name}`);\n continue;\n }\n const symbol = StockSymbols[name];\n SymbolToStockMap[symbol] = stock;\n }\n }\n}\n\nfunction stockMarketCycle(): void {\n for (const name of Object.keys(StockMarket)) {\n const stock = StockMarket[name];\n if (!(stock instanceof Stock)) {\n continue;\n }\n\n const roll = Math.random();\n if (roll < 0.45) {\n stock.b = !stock.b;\n stock.flipForecastForecast();\n }\n\n StockMarket.ticksUntilCycle = TicksPerCycle;\n }\n}\n\n// Stock prices updated every 6 seconds\nconst msPerStockUpdate = 6e3;\nconst cyclesPerStockUpdate = msPerStockUpdate / CONSTANTS.MilliPerCycle;\nexport function processStockPrices(numCycles = 1): void {\n if (StockMarket.storedCycles == null || isNaN(StockMarket.storedCycles)) {\n StockMarket.storedCycles = 0;\n }\n StockMarket.storedCycles += numCycles;\n\n if (StockMarket.storedCycles < cyclesPerStockUpdate) {\n return;\n }\n\n // We can process the update every 4 seconds as long as there are enough\n // stored cycles. This lets us account for offline time\n const timeNow = new Date().getTime();\n if (timeNow - StockMarket.lastUpdate < 4e3) {\n return;\n }\n\n StockMarket.lastUpdate = timeNow;\n StockMarket.storedCycles -= cyclesPerStockUpdate;\n\n // Cycle\n if (StockMarket.ticksUntilCycle == null || typeof StockMarket.ticksUntilCycle !== \"number\") {\n StockMarket.ticksUntilCycle = TicksPerCycle;\n }\n --StockMarket.ticksUntilCycle;\n if (StockMarket.ticksUntilCycle <= 0) {\n stockMarketCycle();\n }\n\n const v = Math.random();\n for (const name of Object.keys(StockMarket)) {\n const stock = StockMarket[name];\n if (!(stock instanceof Stock)) {\n continue;\n }\n let av = (v * stock.mv) / 100;\n if (isNaN(av)) {\n av = 0.02;\n }\n\n let chc = 50;\n if (stock.b) {\n chc = (chc + stock.otlkMag) / 100;\n } else {\n chc = (chc - stock.otlkMag) / 100;\n }\n if (stock.price >= stock.cap) {\n chc = 0.1; // \"Soft Limit\" on stock price. It could still go up but its unlikely\n stock.b = false;\n }\n if (isNaN(chc)) {\n chc = 0.5;\n }\n\n const c = Math.random();\n const processOrderRefs = {\n stockMarket: StockMarket,\n symbolToStockMap: SymbolToStockMap,\n };\n if (c < chc) {\n stock.changePrice(stock.price * (1 + av));\n processOrders(stock, OrderTypes.LimitBuy, PositionTypes.Short, processOrderRefs);\n processOrders(stock, OrderTypes.LimitSell, PositionTypes.Long, processOrderRefs);\n processOrders(stock, OrderTypes.StopBuy, PositionTypes.Long, processOrderRefs);\n processOrders(stock, OrderTypes.StopSell, PositionTypes.Short, processOrderRefs);\n } else {\n stock.changePrice(stock.price / (1 + av));\n processOrders(stock, OrderTypes.LimitBuy, PositionTypes.Long, processOrderRefs);\n processOrders(stock, OrderTypes.LimitSell, PositionTypes.Short, processOrderRefs);\n processOrders(stock, OrderTypes.StopBuy, PositionTypes.Short, processOrderRefs);\n processOrders(stock, OrderTypes.StopSell, PositionTypes.Long, processOrderRefs);\n }\n\n let otlkMagChange = stock.otlkMag * av;\n if (stock.otlkMag < 5) {\n if (stock.otlkMag <= 1) {\n otlkMagChange = 1;\n } else {\n otlkMagChange *= 10;\n }\n }\n stock.cycleForecast(otlkMagChange);\n stock.cycleForecastForecast(otlkMagChange / 2);\n\n // Shares required for price movement gradually approaches max over time\n stock.shareTxUntilMovement = Math.min(stock.shareTxUntilMovement + 10, stock.shareTxForMovement);\n }\n}\n\nexport function initStockMarketFn(): void {\n initStockMarket();\n initSymbolToStockMap();\n}\n\nexport const eventEmitterForUiReset = new EventEmitter<[]>();\n","// Constructs all CompanyPosition objects using the metadata in data/companypositions.ts\nimport { companyPositionMetadata } from \"./data/CompanyPositionsMetadata\";\nimport { CompanyPosition, IConstructorParams } from \"./CompanyPosition\";\nimport { IMap } from \"../types\";\n\nexport const CompanyPositions: IMap = {};\n\nfunction addCompanyPosition(params: IConstructorParams): void {\n if (CompanyPositions[params.name] != null) {\n console.warn(`Duplicate Company Position being defined: ${params.name}`);\n }\n CompanyPositions[params.name] = new CompanyPosition(params);\n}\n\ncompanyPositionMetadata.forEach((e) => {\n addCompanyPosition(e);\n});\n","import { StaticAugmentations } from \"../Augmentation/StaticAugmentations\";\nimport { Augmentation } from \"../Augmentation/Augmentation\";\nimport { PlayerOwnedAugmentation } from \"../Augmentation/PlayerOwnedAugmentation\";\nimport { AugmentationNames } from \"../Augmentation/data/AugmentationNames\";\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\n\nimport { Faction } from \"./Faction\";\nimport { Factions } from \"./Factions\";\nimport { Player } from \"../Player\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { Settings } from \"../Settings/Settings\";\nimport {\n getHackingWorkRepGain,\n getFactionSecurityWorkRepGain,\n getFactionFieldWorkRepGain,\n} from \"../PersonObjects/formulas/reputation\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { InvitationEvent } from \"./ui/InvitationModal\";\nimport { FactionNames } from \"./data/FactionNames\";\nimport { SFC32RNG } from \"../Casino/RNG\";\nimport { isFactionWork } from \"../Work/FactionWork\";\n\nexport function inviteToFaction(faction: Faction): void {\n Player.receiveInvite(faction.name);\n faction.alreadyInvited = true;\n if (!Settings.SuppressFactionInvites) {\n InvitationEvent.emit(faction);\n }\n}\n\nexport function joinFaction(faction: Faction): void {\n if (faction.isMember) return;\n faction.isMember = true;\n Player.factions.push(faction.name);\n const allFactions = Object.values(FactionNames).map((faction) => faction as string);\n Player.factions.sort((a, b) => allFactions.indexOf(a) - allFactions.indexOf(b));\n const factionInfo = faction.getInfo();\n\n //Determine what factions you are banned from now that you have joined this faction\n for (const enemy of factionInfo.enemies) {\n if (Factions[enemy] instanceof Faction) {\n Factions[enemy].isBanned = true;\n }\n }\n for (let i = 0; i < Player.factionInvitations.length; ++i) {\n if (Player.factionInvitations[i] == faction.name || Factions[Player.factionInvitations[i]].isBanned) {\n Player.factionInvitations.splice(i, 1);\n i--;\n }\n }\n}\n\n//Returns a boolean indicating whether the player has the prerequisites for the\n//specified Augmentation\nexport function hasAugmentationPrereqs(aug: Augmentation): boolean {\n return aug.prereqs.every((aug) => Player.hasAugmentation(aug));\n}\n\nexport function purchaseAugmentation(aug: Augmentation, fac: Faction, sing = false): string {\n const hasPrereqs = hasAugmentationPrereqs(aug);\n const augCosts = aug.getCost(Player);\n if (!hasPrereqs) {\n const txt = `You must first purchase or install ${aug.prereqs\n .filter((req) => !Player.hasAugmentation(req))\n .join(\",\")} before you can purchase this one.`;\n if (sing) {\n return txt;\n } else {\n dialogBoxCreate(txt);\n }\n } else if (augCosts.moneyCost !== 0 && Player.money < augCosts.moneyCost) {\n const txt = \"You don't have enough money to purchase \" + aug.name;\n if (sing) {\n return txt;\n }\n dialogBoxCreate(txt);\n } else if (fac.playerReputation < augCosts.repCost) {\n const txt = \"You don't have enough faction reputation to purchase \" + aug.name;\n if (sing) {\n return txt;\n }\n dialogBoxCreate(txt);\n } else if (augCosts.moneyCost === 0 || Player.money >= augCosts.moneyCost) {\n const queuedAugmentation = new PlayerOwnedAugmentation(aug.name);\n if (aug.name == AugmentationNames.NeuroFluxGovernor) {\n queuedAugmentation.level = aug.getLevel(Player);\n }\n Player.queuedAugmentations.push(queuedAugmentation);\n\n Player.loseMoney(augCosts.moneyCost, \"augmentations\");\n\n if (sing) {\n return \"You purchased \" + aug.name;\n } else if (!Settings.SuppressBuyAugmentationConfirmation) {\n dialogBoxCreate(\n \"You purchased \" +\n aug.name +\n \". Its enhancements will not take \" +\n \"effect until they are installed. To install your augmentations, go to the \" +\n \"'Augmentations' tab on the left-hand navigation menu. Purchasing additional \" +\n \"augmentations will now be more expensive.\",\n );\n }\n } else {\n dialogBoxCreate(\n \"Hmm, something went wrong when trying to purchase an Augmentation. \" +\n \"Please report this to the game developer with an explanation of how to \" +\n \"reproduce this.\",\n );\n }\n return \"\";\n}\n\nexport function processPassiveFactionRepGain(numCycles: number): void {\n for (const name of Object.keys(Factions)) {\n if (isFactionWork(Player.currentWork) && name === Player.currentWork.factionName) continue;\n if (!Factions.hasOwnProperty(name)) continue;\n const faction = Factions[name];\n if (!faction.isMember) continue;\n // No passive rep for special factions\n const info = faction.getInfo();\n if (!info.offersWork()) continue;\n // No passive rep for gangs.\n if (Player.getGangName() === name) continue;\n // 0 favor = 1%/s\n // 50 favor = 6%/s\n // 100 favor = 11%/s\n const favorMult = Math.min(0.1, faction.favor / 1000 + 0.01);\n // Find the best of all possible favor gain, minimum 1 rep / 2 minute.\n const hRep = getHackingWorkRepGain(Player, faction);\n const sRep = getFactionSecurityWorkRepGain(Player, faction);\n const fRep = getFactionFieldWorkRepGain(Player, faction);\n const rate = Math.max(hRep * favorMult, sRep * favorMult, fRep * favorMult, 1 / 120);\n\n faction.playerReputation += rate * numCycles * Player.mults.faction_rep * BitNodeMultipliers.FactionPassiveRepGain;\n }\n}\n\nexport const getFactionAugmentationsFiltered = (player: IPlayer, faction: Faction): string[] => {\n // If player has a gang with this faction, return (almost) all augmentations\n if (player.hasGangWith(faction.name)) {\n let augs = Object.values(StaticAugmentations);\n\n // Remove special augs\n augs = augs.filter((a) => !a.isSpecial && a.name !== AugmentationNames.CongruityImplant);\n\n if (player.bitNodeN === 2) {\n // TRP is not available outside of BN2 for Gangs\n augs.push(StaticAugmentations[AugmentationNames.TheRedPill]);\n }\n\n const rng = SFC32RNG(`BN${player.bitNodeN}.${player.sourceFileLvl(player.bitNodeN)}`);\n // Remove faction-unique augs that don't belong to this faction\n const uniqueFilter = (a: Augmentation): boolean => {\n // Keep all the non-unique one\n if (a.factions.length > 1) {\n return true;\n }\n // Keep all the ones that this faction has anyway.\n if (faction.augmentations.includes(a.name)) {\n return true;\n }\n\n return rng() >= 1 - BitNodeMultipliers.GangUniqueAugs;\n };\n augs = augs.filter(uniqueFilter);\n\n return augs.map((a) => a.name);\n }\n\n return faction.augmentations.slice();\n};\n","import { isString } from \"./utils/helpers/isString\";\nimport { GetServer } from \"./Server/AllServers\";\nimport { ScriptDeath } from \"./Netscript/ScriptDeath\";\nimport { WorkerScript } from \"./Netscript/WorkerScript\";\nimport { NetscriptContext } from \"./Netscript/APIWrapper\";\n\nexport function netscriptDelay(time: number, workerScript: WorkerScript): Promise {\n // Cancel any pre-existing netscriptDelay'ed function call\n // TODO: the rejection almost certainly ends up in the uncaught rejection handler.\n // Maybe reject with a stack-trace'd error message?\n if (workerScript.delayReject) workerScript.delayReject();\n\n return new Promise(function (resolve, reject) {\n workerScript.delay = window.setTimeout(() => {\n workerScript.delay = null;\n workerScript.delayReject = undefined;\n if (workerScript.env.stopFlag) reject(new ScriptDeath(workerScript));\n else resolve();\n }, time);\n workerScript.delayReject = reject;\n });\n}\n\nexport function makeRuntimeRejectMsg(workerScript: WorkerScript, msg: string): string {\n const server = GetServer(workerScript.hostname);\n if (server == null) {\n throw new Error(`WorkerScript constructed with invalid server ip: ${workerScript.hostname}`);\n }\n\n for (const scriptUrl of workerScript.scriptRef.dependencies) {\n // Return just the original msg if it's nullish so that we don't get a workerscript error\n msg = msg?.replace(new RegExp(scriptUrl.url, \"g\"), scriptUrl.filename) ?? msg;\n }\n\n return \"|DELIMITER|\" + server.hostname + \"|DELIMITER|\" + workerScript.name + \"|DELIMITER|\" + msg;\n}\n\nexport function resolveNetscriptRequestedThreads(ctx: NetscriptContext, requestedThreads?: number): number {\n const threads = ctx.workerScript.scriptRef.threads;\n if (!requestedThreads) {\n return isNaN(threads) || threads < 1 ? 1 : threads;\n }\n const requestedThreadsAsInt = requestedThreads | 0;\n if (isNaN(requestedThreads) || requestedThreadsAsInt < 1) {\n throw makeRuntimeRejectMsg(\n ctx.workerScript,\n `Invalid thread count passed to ${ctx.function}: ${requestedThreads}. Threads must be a positive number.`,\n );\n }\n if (requestedThreadsAsInt > threads) {\n throw makeRuntimeRejectMsg(\n ctx.workerScript,\n `Too many threads requested by ${ctx.function}. Requested: ${requestedThreads}. Has: ${threads}.`,\n );\n }\n return requestedThreadsAsInt;\n}\n\nexport function isScriptErrorMessage(msg: string): boolean {\n if (!isString(msg)) {\n return false;\n }\n const splitMsg = msg.split(\"|DELIMITER|\");\n return splitMsg.length == 4;\n}\n","/*\nThe game cannot block every possible exploits. Specially since one of them is\nthat you can just edit your save file and that's impragmatic to prevent.\n\nSo instead we have source file minus 1. It is not obtained by destroying a\nBitNode but instead it is awarded when the player finds innovative ways to break\nthe game, this serves 2 purpose, [one] the developpers don't have to spend time\ntrying to implement anti-cheat measures and [two] finding ways to break a\nhacking game is very much in the spirit of the game.\nSource-File minus 1 is extremely weak because it can be fully level up quickly.\n*/\n\nexport enum Exploit {\n Bypass = \"Bypass\",\n PrototypeTampering = \"PrototypeTampering\",\n Unclickable = \"Unclickable\",\n UndocumentedFunctionCall = \"UndocumentedFunctionCall\",\n TimeCompression = \"TimeCompression\",\n RealityAlteration = \"RealityAlteration\",\n N00dles = \"N00dles\",\n YoureNotMeantToAccessThis = \"YoureNotMeantToAccessThis\",\n TrueRecursion = \"TrueRecursion\",\n INeedARainbow = \"INeedARainbow\",\n // To the players reading this. Yes you're supposed to add EditSaveFile by\n // editing your save file, yes you could add them all, no we don't care\n // that's not the point.\n EditSaveFile = \"EditSaveFile\",\n}\n\nconst names: {\n [key: string]: string;\n} = {\n Bypass: \"by circumventing the ram cost of document.\",\n EditSaveFile: \"by editing your save file.\",\n PrototypeTampering: \"by tampering with Numbers prototype.\",\n TimeCompression: \"by compressing time.\",\n Unclickable: \"by clicking the unclickable.\",\n UndocumentedFunctionCall: \"by looking beyond the documentation.\",\n RealityAlteration: \"by altering reality to suit your whims.\",\n N00dles: \"by harnessing the power of the n00dles.\",\n YoureNotMeantToAccessThis: \"by accessing the dev menu.\",\n TrueRecursion: \"by truly recursing.\",\n INeedARainbow: \"by using the power of the rainbow.\",\n};\n\nexport function ExploitName(exploit: string): string {\n return names[exploit];\n}\n\nexport function sanitizeExploits(exploits: Exploit[]): Exploit[] {\n exploits = exploits.filter((e: Exploit) => Object.keys(Exploit).includes(e));\n return [...new Set(exploits)];\n}\n","import { loadAliases, loadGlobalAliases, Aliases, GlobalAliases } from \"./Alias\";\nimport { Companies, loadCompanies } from \"./Company/Companies\";\nimport { CONSTANTS } from \"./Constants\";\nimport { Factions, loadFactions } from \"./Faction/Factions\";\nimport { loadAllGangs, AllGangs } from \"./Gang/AllGangs\";\nimport { Player, loadPlayer } from \"./Player\";\nimport {\n saveAllServers,\n loadAllServers,\n GetAllServers,\n createUniqueRandomIp,\n AddToAllServers,\n GetServer,\n} from \"./Server/AllServers\";\nimport { Settings } from \"./Settings/Settings\";\nimport { loadStockMarket, StockMarket } from \"./StockMarket/StockMarket\";\nimport { staneksGift, loadStaneksGift } from \"./CotMG/Helper\";\n\nimport { SnackbarEvents, ToastVariant } from \"./ui/React/Snackbar\";\n\nimport * as ExportBonus from \"./ExportBonus\";\n\nimport { dialogBoxCreate } from \"./ui/React/DialogBox\";\nimport { Reviver, Generic_toJSON, Generic_fromJSON, IReviverValue } from \"./utils/JSONReviver\";\nimport { save } from \"./db\";\nimport { AwardNFG, v1APIBreak } from \"./utils/v1APIBreak\";\nimport { AugmentationNames } from \"./Augmentation/data/AugmentationNames\";\nimport { PlayerOwnedAugmentation } from \"./Augmentation/PlayerOwnedAugmentation\";\nimport { LocationName } from \"./Locations/data/LocationNames\";\nimport { SxProps } from \"@mui/system\";\nimport { PlayerObject } from \"./PersonObjects/Player/PlayerObject\";\nimport { pushGameSaved } from \"./Electron\";\nimport { defaultMonacoTheme } from \"./ScriptEditor/ui/themes\";\nimport { FactionNames } from \"./Faction/data/FactionNames\";\nimport { Faction } from \"./Faction/Faction\";\nimport { safetlyCreateUniqueServer } from \"./Server/ServerHelpers\";\nimport { SpecialServers } from \"./Server/data/SpecialServers\";\n\n/* SaveObject.js\n * Defines the object used to save/load games\n */\n\nexport interface SaveData {\n playerIdentifier: string;\n fileName: string;\n save: string;\n savedOn: number;\n}\n\nexport interface ImportData {\n base64: string;\n parsed: any;\n playerData?: ImportPlayerData;\n}\n\nexport interface ImportPlayerData {\n identifier: string;\n lastSave: number;\n totalPlaytime: number;\n\n money: number;\n hacking: number;\n\n augmentations: number;\n factions: number;\n achievements: number;\n\n bitNode: number;\n bitNodeLevel: number;\n sourceFiles: number;\n}\n\nclass BitburnerSaveObject {\n PlayerSave = \"\";\n AllServersSave = \"\";\n CompaniesSave = \"\";\n FactionsSave = \"\";\n AliasesSave = \"\";\n GlobalAliasesSave = \"\";\n StockMarketSave = \"\";\n SettingsSave = \"\";\n VersionSave = \"\";\n AllGangsSave = \"\";\n LastExportBonus = \"\";\n StaneksGiftSave = \"\";\n\n getSaveString(excludeRunningScripts = false): string {\n this.PlayerSave = JSON.stringify(Player);\n\n this.AllServersSave = saveAllServers(excludeRunningScripts);\n this.CompaniesSave = JSON.stringify(Companies);\n this.FactionsSave = JSON.stringify(Factions);\n this.AliasesSave = JSON.stringify(Aliases);\n this.GlobalAliasesSave = JSON.stringify(GlobalAliases);\n this.StockMarketSave = JSON.stringify(StockMarket);\n this.SettingsSave = JSON.stringify(Settings);\n this.VersionSave = JSON.stringify(CONSTANTS.VersionNumber);\n this.LastExportBonus = JSON.stringify(ExportBonus.LastExportBonus);\n this.StaneksGiftSave = JSON.stringify(staneksGift);\n\n if (Player.inGang()) {\n this.AllGangsSave = JSON.stringify(AllGangs);\n }\n const saveString = btoa(unescape(encodeURIComponent(JSON.stringify(this))));\n\n return saveString;\n }\n\n saveGame(emitToastEvent = true): Promise {\n const savedOn = new Date().getTime();\n Player.lastSave = savedOn;\n const saveString = this.getSaveString(Settings.ExcludeRunningScriptsFromSave);\n return new Promise((resolve, reject) => {\n save(saveString)\n .then(() => {\n const saveData: SaveData = {\n playerIdentifier: Player.identifier,\n fileName: this.getSaveFileName(),\n save: saveString,\n savedOn,\n };\n pushGameSaved(saveData);\n\n if (emitToastEvent) {\n SnackbarEvents.emit(\"Game Saved!\", ToastVariant.INFO, 2000);\n }\n return resolve();\n })\n .catch((err) => {\n console.error(err);\n return reject();\n });\n });\n }\n\n getSaveFileName(isRecovery = false): string {\n // Save file name is based on current timestamp and BitNode\n const epochTime = Math.round(Date.now() / 1000);\n const bn = Player.bitNodeN;\n let filename = `bitburnerSave_${epochTime}_BN${bn}x${Player.sourceFileLvl(bn) + 1}.json`;\n if (isRecovery) filename = \"RECOVERY\" + filename;\n return filename;\n }\n\n exportGame(): void {\n const saveString = this.getSaveString(Settings.ExcludeRunningScriptsFromSave);\n const filename = this.getSaveFileName();\n download(filename, saveString);\n }\n\n importGame(base64Save: string, reload = true): Promise {\n if (!base64Save || base64Save === \"\") throw new Error(\"Invalid import string\");\n return save(base64Save).then(() => {\n if (reload) setTimeout(() => location.reload(), 1000);\n return Promise.resolve();\n });\n }\n\n getImportStringFromFile(files: FileList | null): Promise {\n if (files === null) return Promise.reject(new Error(\"No file selected\"));\n const file = files[0];\n if (!file) return Promise.reject(new Error(\"Invalid file selected\"));\n\n const reader = new FileReader();\n const promise: Promise = new Promise((resolve, reject) => {\n reader.onload = function (this: FileReader, e: ProgressEvent) {\n const target = e.target;\n if (target === null) {\n return reject(new Error(\"Error importing file\"));\n }\n const result = target.result;\n if (typeof result !== \"string\") {\n return reject(new Error(\"FileReader event was not type string\"));\n }\n const contents = result;\n resolve(contents);\n };\n });\n reader.readAsText(file);\n return promise;\n }\n\n async getImportDataFromString(base64Save: string): Promise {\n if (!base64Save || base64Save === \"\") throw new Error(\"Invalid import string\");\n\n let newSave;\n try {\n newSave = window.atob(base64Save);\n newSave = newSave.trim();\n } catch (error) {\n console.error(error); // We'll handle below\n }\n\n if (!newSave || newSave === \"\") {\n return Promise.reject(new Error(\"Save game had not content or was not base64 encoded\"));\n }\n\n let parsedSave;\n try {\n parsedSave = JSON.parse(newSave);\n } catch (error) {\n console.error(error); // We'll handle below\n }\n\n if (!parsedSave || parsedSave.ctor !== \"BitburnerSaveObject\" || !parsedSave.data) {\n return Promise.reject(new Error(\"Save game did not seem valid\"));\n }\n\n const data: ImportData = {\n base64: base64Save,\n parsed: parsedSave,\n };\n\n const importedPlayer = PlayerObject.fromJSON(JSON.parse(parsedSave.data.PlayerSave));\n\n const playerData: ImportPlayerData = {\n identifier: importedPlayer.identifier,\n lastSave: importedPlayer.lastSave,\n totalPlaytime: importedPlayer.totalPlaytime,\n\n money: importedPlayer.money,\n hacking: importedPlayer.hacking,\n\n augmentations: importedPlayer.augmentations?.reduce((total, current) => (total += current.level), 0) ?? 0,\n factions: importedPlayer.factions?.length ?? 0,\n achievements: importedPlayer.achievements?.length ?? 0,\n\n bitNode: importedPlayer.bitNodeN,\n bitNodeLevel: importedPlayer.sourceFileLvl(Player.bitNodeN) + 1,\n sourceFiles: importedPlayer.sourceFiles?.reduce((total, current) => (total += current.lvl), 0) ?? 0,\n };\n\n data.playerData = playerData;\n return Promise.resolve(data);\n }\n\n toJSON(): IReviverValue {\n return Generic_toJSON(\"BitburnerSaveObject\", this);\n }\n\n static fromJSON(value: IReviverValue): BitburnerSaveObject {\n return Generic_fromJSON(BitburnerSaveObject, value.data);\n }\n}\n\n// Makes necessary changes to the loaded/imported data to ensure\n// the game stills works with new versions\nfunction evaluateVersionCompatibility(ver: string | number): void {\n // We have to do this because ts won't let us otherwise\n const anyPlayer = Player as any;\n if (typeof ver === \"string\") {\n // This version refactored the Company/job-related code\n if (ver <= \"0.41.2\") {\n // Player's company position is now a string\n if (anyPlayer.companyPosition != null && typeof anyPlayer.companyPosition !== \"string\") {\n anyPlayer.companyPosition = anyPlayer.companyPosition.data.positionName;\n if (anyPlayer.companyPosition == null) {\n anyPlayer.companyPosition = \"\";\n }\n }\n\n // The \"companyName\" property of all Companies is renamed to \"name\"\n for (const companyName of Object.keys(Companies)) {\n const company: any = Companies[companyName];\n if (company.name == 0 && company.companyName != null) {\n company.name = company.companyName;\n }\n\n if (company.companyPositions instanceof Array) {\n const pos: any = {};\n\n for (let i = 0; i < company.companyPositions.length; ++i) {\n pos[company.companyPositions[i]] = true;\n }\n company.companyPositions = pos;\n }\n }\n }\n\n // This version allowed players to hold multiple jobs\n if (ver < \"0.43.0\") {\n if (anyPlayer.companyName !== \"\" && anyPlayer.companyPosition != null && anyPlayer.companyPosition !== \"\") {\n anyPlayer.jobs[anyPlayer.companyName] = anyPlayer.companyPosition;\n }\n\n delete anyPlayer.companyPosition;\n }\n if (ver < \"0.56.0\") {\n for (const q of anyPlayer.queuedAugmentations) {\n if (q.name === \"Graphene BranchiBlades Upgrade\") {\n q.name = \"Graphene BrachiBlades Upgrade\";\n }\n }\n for (const q of anyPlayer.augmentations) {\n if (q.name === \"Graphene BranchiBlades Upgrade\") {\n q.name = \"Graphene BrachiBlades Upgrade\";\n }\n }\n }\n if (ver < \"0.56.1\") {\n if (anyPlayer.bladeburner === 0) {\n anyPlayer.bladeburner = null;\n }\n if (anyPlayer.gang === 0) {\n anyPlayer.gang = null;\n }\n if (anyPlayer.corporation === 0) {\n anyPlayer.corporation = null;\n }\n // convert all Messages to just filename to save space.\n const home = anyPlayer.getHomeComputer();\n for (let i = 0; i < home.messages.length; i++) {\n if (home.messages[i].filename) {\n home.messages[i] = home.messages[i].filename;\n }\n }\n }\n if (ver < \"0.58.0\") {\n const changes: [RegExp, string][] = [\n [/getStockSymbols/g, \"stock.getSymbols\"],\n [/getStockPrice/g, \"stock.getPrice\"],\n [/getStockAskPrice/g, \"stock.getAskPrice\"],\n [/getStockBidPrice/g, \"stock.getBidPrice\"],\n [/getStockPosition/g, \"stock.getPosition\"],\n [/getStockMaxShares/g, \"stock.getMaxShares\"],\n [/getStockPurchaseCost/g, \"stock.getPurchaseCost\"],\n [/getStockSaleGain/g, \"stock.getSaleGain\"],\n [/buyStock/g, \"stock.buy\"],\n [/sellStock/g, \"stock.sell\"],\n [/shortStock/g, \"stock.short\"],\n [/sellShort/g, \"stock.sellShort\"],\n [/placeOrder/g, \"stock.placeOrder\"],\n [/cancelOrder/g, \"stock.cancelOrder\"],\n [/getOrders/g, \"stock.getOrders\"],\n [/getStockVolatility/g, \"stock.getVolatility\"],\n [/getStockForecast/g, \"stock.getForecast\"],\n [/purchase4SMarketData/g, \"stock.purchase4SMarketData\"],\n [/purchase4SMarketDataTixApi/g, \"stock.purchase4SMarketDataTixApi\"],\n ];\n function convert(code: string): string {\n for (const change of changes) {\n code = code.replace(change[0], change[1]);\n }\n return code;\n }\n for (const server of GetAllServers()) {\n for (const script of server.scripts) {\n script.code = convert(script.code);\n }\n }\n }\n v1APIBreak();\n ver = 1;\n }\n if (typeof ver === \"number\") {\n if (ver < 2) {\n AwardNFG(10);\n Player.reapplyAllAugmentations(true);\n Player.reapplyAllSourceFiles();\n }\n if (ver < 3) {\n anyPlayer.money = parseFloat(anyPlayer.money);\n if (anyPlayer.corporation) {\n anyPlayer.corporation.funds = parseFloat(anyPlayer.corporation.funds);\n anyPlayer.corporation.revenue = parseFloat(anyPlayer.corporation.revenue);\n anyPlayer.corporation.expenses = parseFloat(anyPlayer.corporation.expenses);\n\n for (let i = 0; i < anyPlayer.corporation.divisions.length; ++i) {\n const ind = anyPlayer.corporation.divisions[i];\n ind.lastCycleRevenue = parseFloat(ind.lastCycleRevenue);\n ind.lastCycleExpenses = parseFloat(ind.lastCycleExpenses);\n ind.thisCycleRevenue = parseFloat(ind.thisCycleRevenue);\n ind.thisCycleExpenses = parseFloat(ind.thisCycleExpenses);\n }\n }\n }\n if (ver < 9) {\n if (StockMarket.hasOwnProperty(\"Joes Guns\")) {\n const s = StockMarket[\"Joes Guns\"];\n delete StockMarket[\"Joes Guns\"];\n StockMarket[LocationName.Sector12JoesGuns] = s;\n }\n }\n if (ver < 10) {\n // Augmentation name was changed in 0.56.0 but sleeves aug list was missed.\n if (anyPlayer.sleeves && anyPlayer.sleeves.length > 0) {\n for (const sleeve of anyPlayer.sleeves) {\n if (!sleeve.augmentations || sleeve.augmentations.length === 0) continue;\n for (const augmentation of sleeve.augmentations) {\n if (augmentation.name !== \"Graphene BranchiBlades Upgrade\") continue;\n augmentation.name = \"Graphene BrachiBlades Upgrade\";\n }\n }\n }\n }\n if (ver < 12) {\n if (anyPlayer.resleeves !== undefined) {\n delete anyPlayer.resleeves;\n }\n }\n if (ver < 15) {\n (Settings as any).EditorTheme = { ...defaultMonacoTheme };\n }\n //Fix contract names\n if (ver < 16) {\n Factions[FactionNames.ShadowsOfAnarchy] = new Faction(FactionNames.ShadowsOfAnarchy);\n //Iterate over all contracts on all servers\n for (const server of GetAllServers()) {\n for (const contract of server.contracts) {\n //Rename old \"HammingCodes: Integer to encoded Binary\" contracts\n //to \"HammingCodes: Integer to Encoded Binary\"\n if (contract.type == \"HammingCodes: Integer to encoded Binary\") {\n contract.type = \"HammingCodes: Integer to Encoded Binary\";\n }\n }\n }\n }\n\n // Fix bugged NFG accumulation in owned augmentations\n if (ver < 17) {\n let ownedNFGs = [...Player.augmentations];\n ownedNFGs = ownedNFGs.filter((aug) => aug.name === AugmentationNames.NeuroFluxGovernor);\n const newNFG = new PlayerOwnedAugmentation(AugmentationNames.NeuroFluxGovernor);\n newNFG.level = 0;\n\n for (const nfg of ownedNFGs) {\n newNFG.level += nfg.level;\n }\n\n Player.augmentations = [\n ...Player.augmentations.filter((aug) => aug.name !== AugmentationNames.NeuroFluxGovernor),\n newNFG,\n ];\n\n Player.reapplyAllAugmentations(true);\n Player.reapplyAllSourceFiles();\n }\n if (ver < 20) {\n // Create the darkweb for everyone but it won't be linked\n const dw = GetServer(SpecialServers.DarkWeb);\n if (!dw) {\n const darkweb = safetlyCreateUniqueServer({\n ip: createUniqueRandomIp(),\n hostname: SpecialServers.DarkWeb,\n organizationName: \"\",\n isConnectedTo: false,\n adminRights: false,\n purchasedByPlayer: false,\n maxRam: 1,\n });\n AddToAllServers(darkweb);\n }\n }\n if (ver < 21) {\n // 2.0.0 work rework\n AwardNFG(10);\n const create = anyPlayer[\"createProgramName\"];\n if (create) Player.getHomeComputer().pushProgram(create);\n const graft = anyPlayer[\"graftAugmentationName\"];\n if (graft) Player.augmentations.push({ name: graft, level: 1 });\n }\n }\n}\n\nfunction loadGame(saveString: string): boolean {\n createScamUpdateText();\n if (!saveString) return false;\n saveString = decodeURIComponent(escape(atob(saveString)));\n\n const saveObj = JSON.parse(saveString, Reviver);\n\n loadPlayer(saveObj.PlayerSave);\n loadAllServers(saveObj.AllServersSave);\n loadCompanies(saveObj.CompaniesSave);\n loadFactions(saveObj.FactionsSave);\n\n if (saveObj.hasOwnProperty(\"StaneksGiftSave\")) {\n loadStaneksGift(saveObj.StaneksGiftSave);\n } else {\n console.warn(`Could not load Staneks Gift from save`);\n loadStaneksGift(\"\");\n }\n if (saveObj.hasOwnProperty(\"AliasesSave\")) {\n try {\n loadAliases(saveObj.AliasesSave);\n } catch (e) {\n console.warn(`Could not load Aliases from save`);\n loadAliases(\"\");\n }\n } else {\n console.warn(`Save file did not contain an Aliases property`);\n loadAliases(\"\");\n }\n if (saveObj.hasOwnProperty(\"GlobalAliasesSave\")) {\n try {\n loadGlobalAliases(saveObj.GlobalAliasesSave);\n } catch (e) {\n console.warn(`Could not load GlobalAliases from save`);\n loadGlobalAliases(\"\");\n }\n } else {\n console.warn(`Save file did not contain a GlobalAliases property`);\n loadGlobalAliases(\"\");\n }\n if (saveObj.hasOwnProperty(\"StockMarketSave\")) {\n try {\n loadStockMarket(saveObj.StockMarketSave);\n } catch (e) {\n loadStockMarket(\"\");\n }\n } else {\n loadStockMarket(\"\");\n }\n if (saveObj.hasOwnProperty(\"SettingsSave\")) {\n try {\n Settings.load(saveObj.SettingsSave);\n } catch (e) {\n console.error(\"ERROR: Failed to parse Settings. Re-initing default values\");\n Settings.init();\n }\n } else {\n Settings.init();\n }\n if (saveObj.hasOwnProperty(\"LastExportBonus\")) {\n try {\n ExportBonus.setLastExportBonus(JSON.parse(saveObj.LastExportBonus));\n } catch (err) {\n ExportBonus.setLastExportBonus(new Date().getTime());\n console.error(\"ERROR: Failed to parse last export bonus Settings \" + err);\n }\n }\n if (Player.inGang() && saveObj.hasOwnProperty(\"AllGangsSave\")) {\n try {\n loadAllGangs(saveObj.AllGangsSave);\n } catch (e) {\n console.error(\"ERROR: Failed to parse AllGangsSave: \" + e);\n }\n }\n if (saveObj.hasOwnProperty(\"VersionSave\")) {\n try {\n const ver = JSON.parse(saveObj.VersionSave, Reviver);\n evaluateVersionCompatibility(ver);\n if (window.location.href.toLowerCase().includes(\"bitburner-beta\")) {\n // Beta branch, always show changes\n createBetaUpdateText();\n } else if (ver !== CONSTANTS.VersionNumber) {\n createNewUpdateText();\n }\n } catch (e) {\n createNewUpdateText();\n }\n } else {\n createNewUpdateText();\n }\n return true;\n}\n\nfunction createScamUpdateText(): void {\n if (navigator.userAgent.indexOf(\"wv\") !== -1 && navigator.userAgent.indexOf(\"Chrome/\") !== -1) {\n setInterval(() => {\n dialogBoxCreate(\"SCAM ALERT. This app is not official and you should uninstall it.\");\n }, 1000);\n }\n}\n\nconst resets: SxProps = {\n \"& h1, & h2, & h3, & h4, & p, & a, & ul\": {\n margin: 0,\n color: Settings.theme.primary,\n whiteSpace: \"initial\",\n },\n \"& ul\": {\n paddingLeft: \"1.5em\",\n lineHeight: 1.5,\n },\n};\n\nfunction createNewUpdateText(): void {\n setTimeout(\n () =>\n dialogBoxCreate(\n \"New update! \" +\n \"Please report any bugs/issues through the GitHub repository \" +\n \"or the Bitburner subreddit (reddit.com/r/bitburner).
\" +\n CONSTANTS.LatestUpdate,\n resets,\n ),\n 1000,\n );\n}\n\nfunction createBetaUpdateText(): void {\n dialogBoxCreate(\n \"You are playing on the beta environment! This branch of the game \" +\n \"features the latest developments in the game. This version may be unstable. \" +\n \"Please report any bugs/issues through the github repository (https://github.com/danielyxie/bitburner/issues) \" +\n \"or the Bitburner subreddit (reddit.com/r/bitburner).
\" +\n CONSTANTS.LatestUpdate,\n resets,\n );\n}\n\nfunction download(filename: string, content: string): void {\n const file = new Blob([content], { type: \"text/plain\" });\n const navigator = window.navigator as any;\n if (navigator.msSaveOrOpenBlob) {\n // IE10+\n navigator.msSaveOrOpenBlob(file, filename);\n } else {\n // Others\n const a = document.createElement(\"a\"),\n url = URL.createObjectURL(file);\n a.href = url;\n a.download = filename;\n document.body.appendChild(a);\n a.click();\n setTimeout(function () {\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n }, 0);\n }\n}\n\nReviver.constructors.BitburnerSaveObject = BitburnerSaveObject;\n\nexport { saveObject, loadGame, download };\n\nconst saveObject = new BitburnerSaveObject();\n","import { Augmentation } from \"./Augmentation\";\nimport { StaticAugmentations } from \"./StaticAugmentations\";\nimport { PlayerOwnedAugmentation, IPlayerOwnedAugmentation } from \"./PlayerOwnedAugmentation\";\nimport { AugmentationNames } from \"./data/AugmentationNames\";\n\nimport { CONSTANTS } from \"../Constants\";\nimport { Factions, factionExists } from \"../Faction/Factions\";\nimport { Player } from \"../Player\";\nimport { prestigeAugmentation } from \"../Prestige\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { clearObject } from \"../utils/helpers/clearObject\";\n\nimport { FactionNames } from \"../Faction/data/FactionNames\";\nimport {\n initBladeburnerAugmentations,\n initChurchOfTheMachineGodAugmentations,\n initGeneralAugmentations,\n initSoAAugmentations,\n initNeuroFluxGovernor,\n initUnstableCircadianModulator,\n} from \"./data/AugmentationCreator\";\nimport { Router } from \"../ui/GameRoot\";\nimport { mergeMultipliers } from \"../PersonObjects/Multipliers\";\n\nexport function AddToStaticAugmentations(aug: Augmentation): void {\n const name = aug.name;\n StaticAugmentations[name] = aug;\n}\n\nfunction createAugmentations(): void {\n [\n initNeuroFluxGovernor(),\n initUnstableCircadianModulator(),\n ...initGeneralAugmentations(),\n ...initSoAAugmentations(),\n ...(factionExists(FactionNames.Bladeburners) ? initBladeburnerAugmentations() : []),\n ...(factionExists(FactionNames.ChurchOfTheMachineGod) ? initChurchOfTheMachineGodAugmentations() : []),\n ].map(resetAugmentation);\n}\n\nfunction resetFactionAugmentations(): void {\n for (const name of Object.keys(Factions)) {\n if (Factions.hasOwnProperty(name)) {\n Factions[name].augmentations = [];\n }\n }\n}\n\nfunction initAugmentations(): void {\n resetFactionAugmentations();\n clearObject(StaticAugmentations);\n createAugmentations();\n Player.reapplyAllAugmentations();\n}\n\nexport function getBaseAugmentationPriceMultiplier(): number {\n return CONSTANTS.MultipleAugMultiplier * [1, 0.96, 0.94, 0.93][Player.sourceFileLvl(11)];\n}\nexport function getGenericAugmentationPriceMultiplier(): number {\n return Math.pow(getBaseAugmentationPriceMultiplier(), Player.queuedAugmentations.length);\n}\n\n//Resets an Augmentation during (re-initizliation)\nfunction resetAugmentation(aug: Augmentation): void {\n aug.addToFactions(aug.factions);\n const name = aug.name;\n if (augmentationExists(name)) {\n delete StaticAugmentations[name];\n }\n AddToStaticAugmentations(aug);\n}\n\nfunction applyAugmentation(aug: IPlayerOwnedAugmentation, reapply = false): void {\n const staticAugmentation = StaticAugmentations[aug.name];\n\n // Apply multipliers\n Player.mults = mergeMultipliers(Player.mults, staticAugmentation.mults);\n\n // Special logic for Congruity Implant\n if (aug.name === AugmentationNames.CongruityImplant && !reapply) {\n Player.entropy = 0;\n Player.applyEntropy(Player.entropy);\n }\n\n // Special logic for NeuroFlux Governor\n const ownedNfg = Player.augmentations.find((pAug) => pAug.name === AugmentationNames.NeuroFluxGovernor);\n if (aug.name === AugmentationNames.NeuroFluxGovernor && !reapply && ownedNfg) {\n ownedNfg.level = aug.level;\n return;\n }\n\n // Push onto Player's Augmentation list\n if (!reapply) {\n const ownedAug = new PlayerOwnedAugmentation(aug.name);\n\n Player.augmentations.push(ownedAug);\n }\n}\n\nfunction installAugmentations(force?: boolean): boolean {\n if (Player.queuedAugmentations.length == 0 && !force) {\n dialogBoxCreate(\"You have not purchased any Augmentations to install!\");\n return false;\n }\n let augmentationList = \"\";\n let nfgIndex = -1;\n for (let i = Player.queuedAugmentations.length - 1; i >= 0; i--) {\n if (Player.queuedAugmentations[i].name === AugmentationNames.NeuroFluxGovernor) {\n nfgIndex = i;\n break;\n }\n }\n for (let i = 0; i < Player.queuedAugmentations.length; ++i) {\n const ownedAug = Player.queuedAugmentations[i];\n const aug = StaticAugmentations[ownedAug.name];\n if (aug == null) {\n console.error(`Invalid augmentation: ${ownedAug.name}`);\n continue;\n }\n\n applyAugmentation(Player.queuedAugmentations[i]);\n if (ownedAug.name === AugmentationNames.NeuroFluxGovernor && i !== nfgIndex) continue;\n\n let level = \"\";\n if (ownedAug.name === AugmentationNames.NeuroFluxGovernor) {\n level = ` - ${ownedAug.level}`;\n }\n augmentationList += aug.name + level + \" \";\n }\n Player.queuedAugmentations = [];\n if (!force) {\n dialogBoxCreate(\n \"You slowly drift to sleep as scientists put you under in order \" +\n \"to install the following Augmentations: \" +\n augmentationList +\n \" You wake up in your home...you feel different...\",\n );\n }\n prestigeAugmentation();\n Router.toTerminal();\n return true;\n}\n\nfunction augmentationExists(name: string): boolean {\n return StaticAugmentations.hasOwnProperty(name);\n}\n\nexport function isRepeatableAug(aug: Augmentation): boolean {\n const augName = aug instanceof Augmentation ? aug.name : aug;\n return augName === AugmentationNames.NeuroFluxGovernor;\n}\n\nexport { installAugmentations, initAugmentations, applyAugmentation, augmentationExists };\n","import { codingContractTypesMetadata, DescriptionFunc, GeneratorFunc, SolverFunc } from \"./data/codingcontracttypes\";\n\nimport { IMap } from \"./types\";\n\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"./utils/JSONReviver\";\nimport { CodingContractEvent } from \"./ui/React/CodingContractModal\";\n\n/* tslint:disable:no-magic-numbers completed-docs max-classes-per-file no-console */\n\n/* Represents different types of problems that a Coding Contract can have */\nclass CodingContractType {\n /**\n * Function that generates a description of the problem\n */\n desc: DescriptionFunc;\n\n /**\n * Number that generally represents the problem's difficulty. Bigger numbers = harder\n */\n difficulty: number;\n\n /**\n * A function that randomly generates a valid 'data' for the problem\n */\n generate: GeneratorFunc;\n\n /**\n * Name of the type of problem\n */\n name: string;\n\n /**\n * The maximum number of tries the player gets on this kind of problem before it self-destructs\n */\n numTries: number;\n\n /**\n * Stores a function that checks if the provided answer is correct\n */\n solver: SolverFunc;\n\n constructor(\n name: string,\n desc: DescriptionFunc,\n gen: GeneratorFunc,\n solver: SolverFunc,\n diff: number,\n numTries: number,\n ) {\n this.name = name;\n this.desc = desc;\n this.generate = gen;\n this.solver = solver;\n this.difficulty = diff;\n this.numTries = numTries;\n }\n}\n\n/* Contract Types */\n// tslint:disable-next-line\nexport const CodingContractTypes: IMap = {};\n\nfor (const md of codingContractTypesMetadata) {\n // tslint:disable-next-line\n CodingContractTypes[md.name] = new CodingContractType(\n md.name,\n md.desc,\n md.gen,\n md.solver,\n md.difficulty,\n md.numTries,\n );\n}\n\n/**\n * Enum representing the different types of rewards a Coding Contract can give\n */\nexport enum CodingContractRewardType {\n FactionReputation,\n FactionReputationAll,\n CompanyReputation,\n Money, // This must always be the last reward type\n}\n\n/**\n * Enum representing the result when trying to solve the Contract\n */\nexport enum CodingContractResult {\n Success,\n Failure,\n Cancelled,\n}\n\n/**\n * A class that represents the type of reward a contract gives\n */\nexport interface ICodingContractReward {\n /* Name of Company/Faction name for reward, if applicable */\n name?: string;\n type: CodingContractRewardType;\n}\n\n/**\n * A Coding Contract is a file that poses a programming-related problem to the Player.\n * The player receives a reward if the problem is solved correctly\n */\nexport class CodingContract {\n /* Relevant data for the contract's problem */\n data: unknown;\n\n /* Contract's filename */\n fn: string;\n\n /* Describes the reward given if this Contract is solved. The reward is actually\n processed outside of this file */\n reward: ICodingContractReward | null;\n\n /* Number of times the Contract has been attempted */\n tries = 0;\n\n /* String representing the contract's type. Must match type in ContractTypes */\n type: string;\n\n constructor(fn = \"\", type = \"Find Largest Prime Factor\", reward: ICodingContractReward | null = null) {\n this.fn = fn;\n if (!this.fn.endsWith(\".cct\")) {\n this.fn += \".cct\";\n }\n\n // tslint:disable-next-line\n if (CodingContractTypes[type] == null) {\n throw new Error(`Error: invalid contract type: ${type} please contact developer`);\n }\n\n this.type = type;\n this.data = CodingContractTypes[type].generate();\n this.reward = reward;\n }\n\n getData(): unknown {\n return this.data;\n }\n\n getDescription(): string {\n return CodingContractTypes[this.type].desc(this.data);\n }\n\n getDifficulty(): number {\n return CodingContractTypes[this.type].difficulty;\n }\n\n getMaxNumTries(): number {\n return CodingContractTypes[this.type].numTries;\n }\n\n getType(): string {\n return CodingContractTypes[this.type].name;\n }\n\n isSolution(solution: string): boolean {\n return CodingContractTypes[this.type].solver(this.data, solution);\n }\n\n /**\n * Creates a popup to prompt the player to solve the problem\n */\n async prompt(): Promise {\n return new Promise((resolve) => {\n const props = {\n c: this,\n onClose: () => {\n resolve(CodingContractResult.Cancelled);\n },\n onAttempt: (val: string) => {\n if (this.isSolution(val)) {\n resolve(CodingContractResult.Success);\n } else {\n resolve(CodingContractResult.Failure);\n }\n },\n };\n CodingContractEvent.emit(props);\n });\n }\n\n /**\n * Serialize the current file to a JSON save state.\n */\n toJSON(): IReviverValue {\n return Generic_toJSON(\"CodingContract\", this);\n }\n\n /**\n * Initiatizes a CodingContract from a JSON save state.\n */\n static fromJSON(value: IReviverValue): CodingContract {\n return Generic_fromJSON(CodingContract, value.data);\n }\n}\n\nReviver.constructors.CodingContract = CodingContract;\n","export enum OrderTypes {\n LimitBuy = \"Limit Buy Order\",\n LimitSell = \"Limit Sell Order\",\n StopBuy = \"Stop Buy Order\",\n StopSell = \"Stop Sell Order\",\n}\n","import React from \"react\";\nimport { numeralWrapper } from \"../numeralFormat\";\nimport { Money } from \"./Money\";\n\nexport function MoneyRate({ money }: { money: number }): JSX.Element {\n return ;\n}\n","import { FragmentType } from \"./FragmentType\";\nimport { Shapes } from \"./data/Shapes\";\n\nexport const Fragments: Fragment[] = [];\n\nexport class Fragment {\n id: number;\n shape: boolean[][];\n type: FragmentType;\n power: number;\n limit: number;\n\n constructor(id: number, shape: boolean[][], type: FragmentType, power: number, limit: number) {\n this.id = id;\n this.shape = shape;\n this.type = type;\n this.power = power;\n this.limit = limit;\n }\n\n fullAt(x: number, y: number, rotation: number): boolean {\n if (y < 0) return false;\n if (y >= this.height(rotation)) return false;\n if (x < 0) return false;\n if (x >= this.width(rotation)) return false;\n // start xy, modifier xy\n let [sx, sy, mx, my] = [0, 0, 1, 1];\n if (rotation === 1) {\n [sx, sy, mx, my] = [this.width(rotation) - 1, 0, -1, 1];\n } else if (rotation === 2) {\n [sx, sy, mx, my] = [this.width(rotation) - 1, this.height(rotation) - 1, -1, -1];\n } else if (rotation === 3) {\n [sx, sy, mx, my] = [0, this.height(rotation) - 1, 1, -1];\n }\n let [qx, qy] = [sx + mx * x, sy + my * y];\n if (rotation % 2 === 1) [qx, qy] = [qy, qx];\n return this.shape[qy][qx];\n }\n\n width(rotation: number): number {\n if (rotation % 2 === 0) return this.shape[0].length;\n return this.shape.length;\n }\n\n height(rotation: number): number {\n if (rotation % 2 === 0) return this.shape.length;\n return this.shape[0].length;\n }\n\n // List of direct neighboors of this fragment.\n neighboors(rotation: number): number[][] {\n const candidates: number[][] = [];\n\n const add = (x: number, y: number): void => {\n if (this.fullAt(x, y, rotation)) return;\n if (candidates.some((coord) => coord[0] === x && coord[1] === y)) return;\n candidates.push([x, y]);\n };\n for (let y = 0; y < this.height(rotation); y++) {\n for (let x = 0; x < this.width(rotation); x++) {\n // This cell is full, add all it's neighboors.\n if (!this.fullAt(x, y, rotation)) continue;\n add(x - 1, y);\n add(x + 1, y);\n add(x, y - 1);\n add(x, y + 1);\n }\n }\n const cells: number[][] = [];\n for (const candidate of candidates) {\n if (cells.some((cell) => cell[0] === candidate[0] && cell[1] === candidate[1])) continue;\n cells.push(candidate);\n }\n\n return cells;\n }\n\n copy(): Fragment {\n return Object.assign({}, this);\n }\n}\n\nexport function FragmentById(id: number): Fragment | null {\n for (const fragment of Fragments) {\n if (fragment.id === id) return fragment;\n }\n return null;\n}\n\n(function () {\n const _ = false;\n const X = true;\n Fragments.push(\n new Fragment(\n 0, // id\n Shapes.S,\n FragmentType.Hacking, // type\n 1,\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 1, // id\n Shapes.Z,\n FragmentType.Hacking, // type\n 1,\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 5, // id\n Shapes.T,\n FragmentType.HackingSpeed, // type\n 1.3,\n 1, // limit\n ),\n );\n\n Fragments.push(\n new Fragment(\n 6, // id\n Shapes.I,\n FragmentType.HackingMoney, // type\n 2, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 7, // id\n Shapes.J,\n FragmentType.HackingGrow, // type\n 0.5, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 10, // id\n Shapes.T,\n FragmentType.Strength, // type\n 2, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 12, // id\n Shapes.L,\n FragmentType.Defense, // type\n 2, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 14, // id\n Shapes.L,\n FragmentType.Dexterity, // type\n 2, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 16, // id\n Shapes.S,\n FragmentType.Agility, // type\n 2, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 18, // id\n Shapes.S,\n FragmentType.Charisma, // type\n 3, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 20, // id\n Shapes.I,\n FragmentType.HacknetMoney, // type\n 1, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 21, // id\n Shapes.O,\n FragmentType.HacknetCost, // type\n 2, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 25, // id\n Shapes.J,\n FragmentType.Rep, // type\n 0.5, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 27, // id\n Shapes.J,\n FragmentType.WorkMoney, // type\n 10, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 28, // id\n Shapes.L,\n FragmentType.Crime, // type\n 2, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 30, // id\n Shapes.S,\n FragmentType.Bladeburner, // type\n 0.4, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 100, // id\n [\n // shape\n [_, X, X],\n [X, X, _],\n [_, X, _],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 101, // id\n [\n // shape\n [X, X, X, X],\n [X, _, _, _],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 102, // id\n [\n // shape\n [_, X, X, X],\n [X, X, _, _],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 103, // id\n [\n // shape\n [X, X, X, _],\n [_, _, X, X],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 104, // id\n [\n // shape\n [_, X, X],\n [_, X, _],\n [X, X, _],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 105, // id\n [\n // shape\n [_, _, X],\n [_, X, X],\n [X, X, _],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 106, // id\n [\n // shape\n [X, _, _],\n [X, X, X],\n [X, _, _],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 107, // id\n [\n // shape\n [_, X, _],\n [X, X, X],\n [_, X, _],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n})();\n\nexport const NoneFragment = new Fragment(-2, [], FragmentType.None, 0, Infinity);\nexport const DeleteFragment = new Fragment(-2, [], FragmentType.Delete, 0, Infinity);\n","import * as monaco from \"monaco-editor\";\nimport type { Monaco } from \"@monaco-editor/react\";\n\nexport interface IScriptEditorTheme {\n base: \"vs\" | \"vs-dark\" | \"hc-black\";\n inherit: boolean;\n common: {\n accent: string;\n bg: string;\n fg: string;\n };\n syntax: {\n tag: string;\n entity: string;\n string: string;\n regexp: string;\n markup: string;\n keyword: string;\n comment: string;\n constant: string;\n error: string;\n };\n ui: {\n line: string;\n panel: {\n bg: string;\n selected: string;\n border: string;\n };\n selection: {\n bg: string;\n };\n };\n}\n\nexport const defaultMonacoTheme: IScriptEditorTheme = {\n base: \"vs-dark\",\n inherit: true,\n common: {\n accent: \"B5CEA8\",\n bg: \"1E1E1E\",\n fg: \"D4D4D4\",\n },\n syntax: {\n tag: \"569CD6\",\n entity: \"569CD6\",\n string: \"CE9178\",\n regexp: \"646695\",\n markup: \"569CD6\",\n keyword: \"569CD6\",\n comment: \"6A9955\",\n constant: \"569CD6\",\n error: \"F44747\",\n },\n ui: {\n line: \"1E1E1E\",\n panel: {\n bg: \"252526\",\n selected: \"252526\",\n border: \"1E1E1E\",\n },\n selection: {\n bg: \"ADD6FF26\",\n },\n },\n};\n\n// Regex used for token color validation\n// https://github.com/microsoft/vscode/blob/973684056e67153952f495fce93bf50d0ec0b892/src/vs/editor/common/languages/supports/tokenization.ts#L153\nconst colorRegExp = /^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;\n\n// Recursively sanitize the theme data to prevent errors\n// Invalid data will be replaced with FF0000 (bright red)\nexport const sanitizeTheme = (theme: IScriptEditorTheme): void => {\n for (const [k, v] of Object.entries(theme)) {\n switch (k) {\n case \"base\":\n if (![\"vs-dark\", \"vs\"].includes(theme.base)) theme.base = \"vs-dark\";\n continue;\n case \"inherit\":\n if (typeof theme.inherit !== \"boolean\") theme.inherit = true;\n continue;\n }\n\n const repairBlock = (block: { [key: string]: object | string }): void => {\n for (const [k, v] of Object.entries(block)) {\n if (typeof v === \"object\") {\n repairBlock(v as { [key: string]: string });\n } else if (!v.match(colorRegExp)) block[k] = \"FF0000\";\n }\n };\n repairBlock(v);\n }\n};\n\nexport function makeTheme(theme: IScriptEditorTheme): monaco.editor.IStandaloneThemeData {\n const themeRules = [\n {\n token: \"\",\n background: theme.ui.line,\n foreground: theme.common.fg,\n },\n {\n token: \"identifier\",\n foreground: theme.common.accent,\n },\n {\n token: \"keyword\",\n foreground: theme.syntax.keyword,\n },\n {\n token: \"string\",\n foreground: theme.syntax.string,\n },\n {\n token: \"string.escape\",\n foreground: theme.syntax.regexp,\n },\n {\n token: \"comment\",\n foreground: theme.syntax.comment,\n },\n {\n token: \"constant\",\n foreground: theme.syntax.constant,\n },\n {\n token: \"entity\",\n foreground: theme.syntax.entity,\n },\n {\n token: \"type\",\n foreground: theme.syntax.tag,\n },\n {\n token: \"tag\",\n foreground: theme.syntax.tag,\n },\n {\n token: \"regexp\",\n foreground: theme.syntax.regexp,\n },\n {\n token: \"attribute\",\n foreground: theme.syntax.tag,\n },\n {\n token: \"constructor\",\n foreground: theme.syntax.markup,\n },\n {\n token: \"invalid\",\n foreground: theme.syntax.error,\n },\n {\n token: \"number\",\n foreground: theme.common.accent,\n },\n {\n token: \"delimiter\",\n foreground: theme.common.fg,\n },\n // Custom tokens\n {\n token: \"ns\",\n foreground: theme.syntax.tag,\n },\n {\n token: \"netscriptfunction\",\n foreground: theme.syntax.markup,\n },\n {\n token: \"otherkeywords\",\n foreground: theme.syntax.keyword,\n },\n {\n token: \"otherkeyvars\",\n foreground: theme.common.accent,\n },\n {\n token: \"this\",\n foreground: theme.syntax.tag,\n },\n ];\n\n const themeColors = Object.fromEntries(\n [\n [\"editor.background\", theme.common.bg],\n [\"editor.foreground\", theme.common.fg],\n [\"editor.lineHighlightBackground\", theme.ui.line],\n [\"editor.selectionBackground\", theme.ui.selection.bg],\n\n [\"editorSuggestWidget.background\", theme.ui.panel.bg],\n [\"editorSuggestWidget.border\", theme.ui.panel.border],\n [\"editorSuggestWidget.selectedBackground\", theme.ui.panel.selected],\n\n [\"editorHoverWidget.background\", theme.ui.panel.bg],\n [\"editorHoverWidget.border\", theme.ui.panel.border],\n\n [\"editorWidget.background\", theme.ui.panel.bg],\n [\"editorWidget.border\", theme.ui.panel.border],\n\n [\"input.background\", theme.ui.panel.bg],\n [\"input.border\", theme.ui.panel.border],\n ].map(([k, v]) => [k, \"#\" + v]),\n );\n\n return { base: theme.base, inherit: theme.inherit, rules: themeRules, colors: themeColors };\n}\n\nexport async function loadThemes(monaco: Monaco): Promise {\n monaco.editor.defineTheme(\"monokai\", {\n base: \"vs-dark\",\n inherit: true,\n rules: [\n {\n background: \"272822\",\n token: \"\",\n },\n {\n foreground: \"75715e\",\n token: \"comment\",\n },\n {\n foreground: \"e6db74\",\n token: \"string\",\n },\n {\n token: \"number\",\n foreground: \"ae81ff\",\n },\n {\n token: \"otherkeyvars\",\n foreground: \"ae81ff\",\n },\n {\n foreground: \"ae81ff\",\n token: \"function\",\n },\n {\n foreground: \"f92672\",\n token: \"keyword\",\n },\n {\n token: \"storage.type.function.js\",\n foreground: \"ae81ff\",\n },\n {\n token: \"ns\",\n foreground: \"97d92b\",\n },\n {\n token: \"netscriptfunction\",\n foreground: \"53d3e4\",\n },\n {\n token: \"otherkeywords\",\n foreground: \"53d3e4\",\n },\n {\n token: \"this\",\n foreground: \"fd971f\",\n },\n ],\n colors: {\n \"editor.foreground\": \"#F8F8F2\",\n \"editor.background\": \"#272822\",\n \"editor.selectionBackground\": \"#49483E\",\n \"editor.lineHighlightBackground\": \"#3E3D32\",\n \"editorCursor.foreground\": \"#F8F8F0\",\n \"editorWhitespace.foreground\": \"#3B3A32\",\n \"editorIndentGuide.activeBackground\": \"#9D550FB0\",\n \"editor.selectionHighlightBorder\": \"#222218\",\n },\n });\n\n monaco.editor.defineTheme(\"solarized-dark\", {\n base: \"vs-dark\",\n inherit: true,\n rules: [\n {\n background: \"002b36\",\n token: \"\",\n },\n {\n foreground: \"586e75\",\n token: \"comment\",\n },\n {\n foreground: \"00afaf\",\n token: \"string\",\n },\n {\n token: \"number\",\n foreground: \"00afaf\",\n },\n {\n token: \"otherkeyvars\",\n foreground: \"268bd2\",\n },\n {\n foreground: \"268bd2\",\n token: \"function\",\n },\n {\n foreground: \"859900\",\n token: \"keyword\",\n },\n {\n token: \"storage.type.function.js\",\n foreground: \"cb4b16\",\n },\n {\n token: \"ns\",\n foreground: \"cb4b16\",\n },\n {\n token: \"netscriptfunction\",\n foreground: \"268bd2\",\n },\n {\n token: \"otherkeywords\",\n foreground: \"268bd2\",\n },\n {\n token: \"type.identifier.js\",\n foreground: \"b58900\",\n },\n {\n token: \"delimiter.square.js\",\n foreground: \"0087ff\",\n },\n {\n token: \"delimiter.bracket.js\",\n foreground: \"0087ff\",\n },\n {\n token: \"this\",\n foreground: \"cb4b16\",\n },\n ],\n colors: {\n \"editor.foreground\": \"#839496\",\n \"editor.background\": \"#002b36\",\n \"editor.selectionBackground\": \"#073642\",\n \"editor.lineHighlightBackground\": \"#073642\",\n \"editorCursor.foreground\": \"#819090\",\n \"editorWhitespace.foreground\": \"#073642\",\n \"editorIndentGuide.activeBackground\": \"#9D550FB0\",\n \"editor.selectionHighlightBorder\": \"#222218\",\n },\n });\n\n monaco.editor.defineTheme(\"solarized-light\", {\n base: \"vs\",\n inherit: true,\n rules: [\n {\n foreground: \"657b83\",\n background: \"fdf6e3\",\n token: \"\",\n },\n {\n foreground: \"586e75\",\n token: \"comment\",\n },\n {\n foreground: \"2aa198\",\n token: \"string\",\n },\n {\n token: \"number\",\n foreground: \"2aa198\",\n },\n {\n token: \"otherkeyvars\",\n foreground: \"268bd2\",\n },\n {\n foreground: \"268bd2\",\n token: \"function\",\n },\n {\n foreground: \"859900\",\n token: \"keyword\",\n },\n {\n token: \"storage.type.function.js\",\n foreground: \"bc4b16\",\n },\n {\n token: \"ns\",\n foreground: \"cb4b16\",\n },\n {\n token: \"netscriptfunction\",\n foreground: \"268bd2\",\n },\n {\n token: \"otherkeywords\",\n foreground: \"268bd2\",\n },\n {\n token: \"type.identifier.js\",\n foreground: \"b58900\",\n },\n {\n token: \"delimiter.square.js\",\n foreground: \"0087ff\",\n },\n {\n token: \"delimiter.bracket.js\",\n foreground: \"0087ff\",\n },\n {\n token: \"this\",\n foreground: \"cb4b16\",\n },\n ],\n colors: {\n \"editor.foreground\": \"#657b83\",\n \"editor.background\": \"#fdf6e3\",\n \"editor.selectionBackground\": \"#eee8d5\",\n \"editor.lineHighlightBackground\": \"#eee8d5\",\n \"editorCursor.foreground\": \"#657b83\",\n \"editorWhitespace.foreground\": \"#eee8d5\",\n \"editorIndentGuide.activeBackground\": \"#eee8d5\",\n \"editor.selectionHighlightBorder\": \"#073642\",\n },\n });\n\n monaco.editor.defineTheme(\"dracula\", {\n base: \"vs-dark\",\n inherit: true,\n rules: [\n {\n background: \"282A36\",\n foreground: \"F8F8F2\",\n token: \"\",\n },\n {\n foreground: \"6272A4\",\n token: \"comment\",\n },\n {\n foreground: \"F1FA8C\",\n token: \"string\",\n },\n {\n token: \"number\",\n foreground: \"BD93F9\",\n },\n {\n token: \"otherkeyvars\",\n foreground: \"BD93F9\",\n },\n {\n foreground: \"FF79C6\",\n token: \"function\",\n },\n {\n foreground: \"FF79C6\",\n token: \"keyword\",\n },\n {\n token: \"storage.type.function.js\",\n foreground: \"FF79C6\",\n },\n {\n token: \"ns\",\n foreground: \"FFB86C\",\n fontStyle: \"italic\",\n },\n\n {\n token: \"netscriptfunction\",\n foreground: \"FF79C6\",\n },\n {\n token: \"otherkeywords\",\n foreground: \"FF68A7\",\n },\n {\n token: \"type.identifier.js\",\n foreground: \"7EE9FD\",\n fontStyle: \"italic\",\n },\n {\n token: \"delimiter.square.js\",\n foreground: \"FFD709\",\n },\n {\n token: \"delimiter.parenthesis.js\",\n foreground: \"FFD709\",\n },\n {\n token: \"delimiter.bracket.js\",\n foreground: \"FFD709\",\n },\n {\n token: \"this\",\n foreground: \"BD93F9\",\n fontStyle: \"italic\",\n },\n ],\n colors: {\n \"editor.foreground\": \"#F8F8F2\",\n \"editor.background\": \"#282A36\",\n \"editorLineNumber.foreground\": \"#6272A4\",\n \"editor.selectionBackground\": \"#44475A\",\n \"editor.selectionHighlightBackground\": \"#424450\",\n \"editor.foldBackground\": \"#21222C\",\n \"editor.wordHighlightBackground\": \"#8BE9FD50\",\n \"editor.wordHighlightStrongBackground\": \"#50FA7B50\",\n \"editor.findMatchBackground\": \"#FFB86C80\",\n \"editor.findMatchHighlightBackground\": \"#FFFFFF40\",\n \"editor.findRangeHighlightBackground\": \"#44475A75\",\n \"editor.hoverHighlightBackground\": \"#8BE9FD50\",\n \"editor.lineHighlightBorder\": \"#44475A\",\n \"editor.rangeHighlightBackground\": \"#BD93F915\",\n \"editor.snippetTabstopHighlightBackground\": \"#282A36\",\n \"editor.snippetTabstopHighlightBorder\": \"#6272A4\",\n \"editor.snippetFinalTabstopHighlightBackground\": \"#282A36\",\n \"editor.snippetFinalTabstopHighlightBorder\": \"#50FA7B\",\n },\n });\n\n monaco.editor.defineTheme(\"one-dark\", {\n base: \"vs-dark\",\n inherit: true,\n rules: [\n {\n token: \"\",\n background: \"333842\",\n foreground: \"ABB2BF\",\n },\n {\n token: \"comment\",\n foreground: \"5C6370\",\n },\n {\n token: \"string\",\n foreground: \"98C379\",\n },\n {\n token: \"number\",\n foreground: \"D19A66\",\n },\n {\n token: \"function\",\n foreground: \"C678DD\",\n },\n {\n token: \"keyword\",\n foreground: \"C678DD\",\n },\n {\n token: \"otherkeyvars\",\n foreground: \"D19A66\",\n },\n {\n token: \"otherkeywords\",\n foreground: \"C678DD\",\n },\n {\n token: \"ns\",\n foreground: \"E06C75\",\n },\n {\n token: \"netscriptfunction\",\n foreground: \"61AFEF\",\n },\n {\n token: \"type.identifier\",\n foreground: \"E5C07B\",\n },\n {\n token: \"delimiter\",\n foreground: \"ABB2BF\",\n },\n {\n token: \"this\",\n foreground: \"E06C75\",\n },\n ],\n colors: {\n \"editor.background\": \"#282C34\",\n \"editor.foreground\": \"#ABB2BF\",\n \"editor.lineHighlightBackground\": \"#99BBFF0A\",\n \"editor.selectionBackground\": \"#3E4451\",\n \"editor.findMatchHighlightBackground\": \"#528BFF3D\",\n \"editorCursor.foreground\": \"#528BFF\",\n \"editorHoverWidget.background\": \"#21252B\",\n \"editorHoverWidget.border\": \"#181A1F\",\n \"editorIndentGuide.background\": \"#ABB2BF26\",\n \"editorIndentGuide.activeBackground\": \"#626772\",\n \"editorLineNumber.foreground\": \"#636D83\",\n \"editorLineNumber.activeForeground\": \"#ABB2BF\",\n \"editorSuggestWidget.background\": \"#21252B\",\n \"editorSuggestWidget.border\": \"#181A1F\",\n \"editorSuggestWidget.selectedBackground\": \"#2C313A\",\n \"editorWhitespace.foreground\": \"#ABB2BF26\",\n \"editorWidget.background\": \"#21252B\",\n \"editorWidget.border\": \"#3A3F4B\",\n \"input.background\": \"#1B1D23\",\n \"input.border\": \"#181A1F\",\n \"peekView.border\": \"#528BFF\",\n \"peekViewResult.background\": \"#21252B\",\n \"peekViewResult.selectionBackground\": \"#2C313A\",\n \"peekViewTitle.background\": \"#1B1D23\",\n \"peekViewEditor.background\": \"#1B1D23\",\n \"scrollbarSlider.background\": \"#4E566680\",\n \"scrollbarSlider.activeBackground\": \"#747D9180\",\n \"scrollbarSlider.hoverBackground\": \"#5A637580\",\n },\n });\n}\n","/**\n * Generic Event Emitter class following a subscribe/publish paradigm.\n */\nfunction uuidv4(): string {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0,\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\nexport class EventEmitter {\n subscribers: { [key: string]: (...args: [...T]) => void | undefined } = {};\n\n subscribe(s: (...args: [...T]) => void): () => void {\n let uuid = uuidv4();\n while (this.subscribers[uuid] !== undefined) uuid = uuidv4();\n this.subscribers[uuid] = s;\n\n return () => {\n delete this.subscribers[uuid];\n };\n }\n\n emit(...args: [...T]): void {\n for (const s in this.subscribers) {\n const sub = this.subscribers[s];\n if (sub === undefined) continue;\n\n sub(...args);\n }\n }\n}\n","import React, { useState } from \"react\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport RemoveIcon from \"@mui/icons-material/Remove\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ClearIcon from \"@mui/icons-material/Clear\";\nimport DoubleArrowIcon from \"@mui/icons-material/DoubleArrow\";\nimport TextField from \"@mui/material/TextField\";\nimport Tooltip from \"@mui/material/Tooltip\";\n\ninterface IProps {\n label: string;\n placeholder: string;\n add: (x: number) => void;\n subtract: (x: number) => void;\n tons: () => void;\n reset: () => void;\n}\n\nexport function Adjuster(props: IProps): React.ReactElement {\n const [value, setValue] = useState(\"\");\n\n function onChange(event: React.ChangeEvent): void {\n if (event.target.value === \"\") setValue(\"\");\n else setValue(parseFloat(event.target.value));\n }\n\n const { label, placeholder, add, subtract, reset, tons } = props;\n return (\n <>\n \n \n \n \n \n \n \n add(typeof value !== \"string\" ? value : 0)} size=\"large\">\n \n \n \n >\n ),\n endAdornment: (\n <>\n \n subtract(typeof value !== \"string\" ? value : 0)} size=\"large\">\n \n \n \n \n \n \n \n \n >\n ),\n }}\n />\n >\n );\n}\n","import { KEY } from \"../utils/helpers/keyCodes\";\n\nexport function random(min: number, max: number): number {\n return Math.random() * (max - min) + min;\n}\n\nexport const upArrowSymbol = \"↑\";\nexport const downArrowSymbol = \"↓\";\nexport const leftArrowSymbol = \"←\";\nexport const rightArrowSymbol = \"→\";\n\nexport function getArrow(event: KeyboardEvent): string {\n switch (event.key) {\n case KEY.UP_ARROW:\n case KEY.W:\n return upArrowSymbol;\n case KEY.LEFT_ARROW:\n case KEY.A:\n return leftArrowSymbol;\n case KEY.DOWN_ARROW:\n case KEY.S:\n return downArrowSymbol;\n case KEY.RIGHT_ARROW:\n case KEY.D:\n return rightArrowSymbol;\n }\n return \"\";\n}\n\nexport function getInverseArrow(event: KeyboardEvent): string {\n switch (event.key) {\n case KEY.DOWN_ARROW:\n case KEY.S:\n return upArrowSymbol;\n case KEY.RIGHT_ARROW:\n case KEY.D:\n return leftArrowSymbol;\n case KEY.UP_ARROW:\n case KEY.W:\n return downArrowSymbol;\n case KEY.LEFT_ARROW:\n case KEY.A:\n return rightArrowSymbol;\n }\n return \"\";\n}\n","import { Operation, IOperationParams } from \"./Operation\";\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"../utils/JSONReviver\";\n\nexport class BlackOperation extends Operation {\n constructor(params: IOperationParams | null = null) {\n super(params);\n this.count = 1;\n }\n\n // To be implemented by subtypes\n getActionTimePenalty(): number {\n return 1.5;\n }\n\n getChaosCompetencePenalty(/*inst: IBladeburner, params: ISuccessChanceParams*/): number {\n return 1;\n }\n\n getChaosDifficultyBonus(/*inst: IBladeburner, params: ISuccessChanceParams*/): number {\n return 1;\n }\n\n toJSON(): IReviverValue {\n return Generic_toJSON(\"BlackOperation\", this);\n }\n\n static fromJSON(value: IReviverValue): Operation {\n return Generic_fromJSON(BlackOperation, value.data);\n }\n}\n\nReviver.constructors.BlackOperation = BlackOperation;\n","// Defines the ResearchTree that is common to all Corporation Industries\n// i.e. all Industries have these types of Research available to unlock\nimport { Research } from \"../Research\";\nimport { ResearchMap } from \"../ResearchMap\";\nimport { ResearchTree, Node } from \"../ResearchTree\";\n\nfunction makeNode(name: string): Node {\n const research: Research | null = ResearchMap[name];\n if (research == null) {\n throw new Error(`Invalid research name: ${name}`);\n }\n\n return new Node({ text: research.name, cost: research.cost });\n}\n\n// Creates the Nodes for the BaseResearchTree.\n// Return the Root Node\nfunction createBaseResearchTreeNodes(): Node {\n const rootNode: Node = makeNode(\"Hi-Tech R&D Laboratory\");\n const autoBrew: Node = makeNode(\"AutoBrew\");\n const autoParty: Node = makeNode(\"AutoPartyManager\");\n const autoDrugs: Node = makeNode(\"Automatic Drug Administration\");\n const bulkPurchasing: Node = makeNode(\"Bulk Purchasing\");\n const cph4: Node = makeNode(\"CPH4 Injections\");\n const drones: Node = makeNode(\"Drones\");\n const dronesAssembly: Node = makeNode(\"Drones - Assembly\");\n const dronesTransport: Node = makeNode(\"Drones - Transport\");\n const goJuice: Node = makeNode(\"Go-Juice\");\n const hrRecruitment: Node = makeNode(\"HRBuddy-Recruitment\");\n const hrTraining: Node = makeNode(\"HRBuddy-Training\");\n const joywire: Node = makeNode(\"JoyWire\");\n const marketta1: Node = makeNode(\"Market-TA.I\");\n const marketta2: Node = makeNode(\"Market-TA.II\");\n const overclock: Node = makeNode(\"Overclock\");\n const scAssemblers: Node = makeNode(\"Self-Correcting Assemblers\");\n const stimu: Node = makeNode(\"Sti.mu\");\n\n autoDrugs.addChild(goJuice);\n autoDrugs.addChild(cph4);\n\n drones.addChild(dronesAssembly);\n drones.addChild(dronesTransport);\n\n hrRecruitment.addChild(hrTraining);\n\n marketta1.addChild(marketta2);\n\n overclock.addChild(stimu);\n\n rootNode.addChild(autoBrew);\n rootNode.addChild(autoParty);\n rootNode.addChild(autoDrugs);\n rootNode.addChild(bulkPurchasing);\n rootNode.addChild(drones);\n rootNode.addChild(hrRecruitment);\n rootNode.addChild(joywire);\n rootNode.addChild(marketta1);\n rootNode.addChild(overclock);\n rootNode.addChild(scAssemblers);\n\n return rootNode;\n}\n\nexport function getBaseResearchTreeCopy(): ResearchTree {\n const baseResearchTree: ResearchTree = new ResearchTree();\n baseResearchTree.setRoot(createBaseResearchTreeNodes());\n\n return baseResearchTree;\n}\n\n// Base Research Tree for Industry's that make products\nexport function getProductIndustryResearchTreeCopy(): ResearchTree {\n const researchTree: ResearchTree = new ResearchTree();\n const root = createBaseResearchTreeNodes();\n\n const upgradeFulcrum = makeNode(\"uPgrade: Fulcrum\");\n const upgradeCapacity1 = makeNode(\"uPgrade: Capacity.I\");\n const upgradeCapacity2 = makeNode(\"uPgrade: Capacity.II\");\n const upgradeDashboard = makeNode(\"uPgrade: Dashboard\");\n\n upgradeCapacity1.addChild(upgradeCapacity2);\n upgradeFulcrum.addChild(upgradeCapacity1);\n upgradeFulcrum.addChild(upgradeDashboard);\n root.addChild(upgradeFulcrum);\n\n researchTree.setRoot(root);\n\n return researchTree;\n}\n","import { GetServer, createUniqueRandomIp, ipExists } from \"./AllServers\";\nimport { Server, IConstructorParams } from \"./Server\";\nimport { BaseServer } from \"./BaseServer\";\nimport { calculateServerGrowth } from \"./formulas/grow\";\n\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\nimport { CONSTANTS } from \"../Constants\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { Programs } from \"../Programs/Programs\";\nimport { LiteratureNames } from \"../Literature/data/LiteratureNames\";\n\nimport { isValidNumber } from \"../utils/helpers/isValidNumber\";\n\n/**\n * Constructs a new server, while also ensuring that the new server\n * does not have a duplicate hostname/ip.\n */\nexport function safetlyCreateUniqueServer(params: IConstructorParams): Server {\n let hostname: string = params.hostname.replace(/ /g, `-`);\n\n if (params.ip != null && ipExists(params.ip)) {\n params.ip = createUniqueRandomIp();\n }\n\n if (GetServer(hostname) != null) {\n hostname = `${hostname}-0`;\n\n // Use a for loop to ensure that we don't get suck in an infinite loop somehow\n for (let i = 0; i < 200; ++i) {\n hostname = hostname.replace(/-[0-9]+$/, `-${i}`);\n if (GetServer(hostname) == null) {\n break;\n }\n }\n }\n\n params.hostname = hostname;\n return new Server(params);\n}\n\n/**\n * Returns the number of \"growth cycles\" needed to grow the specified server by the\n * specified amount.\n * @param server - Server being grown\n * @param growth - How much the server is being grown by, in DECIMAL form (e.g. 1.5 rather than 50)\n * @param p - Reference to Player object\n * @returns Number of \"growth cycles\" needed\n */\nexport function numCycleForGrowth(server: Server, growth: number, p: IPlayer, cores = 1): number {\n let ajdGrowthRate = 1 + (CONSTANTS.ServerBaseGrowthRate - 1) / server.hackDifficulty;\n if (ajdGrowthRate > CONSTANTS.ServerMaxGrowthRate) {\n ajdGrowthRate = CONSTANTS.ServerMaxGrowthRate;\n }\n\n const serverGrowthPercentage = server.serverGrowth / 100;\n\n const coreBonus = 1 + (cores - 1) / 16;\n const cycles =\n Math.log(growth) /\n (Math.log(ajdGrowthRate) *\n p.mults.hacking_grow *\n serverGrowthPercentage *\n BitNodeMultipliers.ServerGrowthRate *\n coreBonus);\n\n return cycles;\n}\n\n/**\n * Replacement function for the above function that accounts for the +$1/thread functionality of grow\n * with parameters that are the same (for compatibility), but functionality is slightly different.\n * This function can ONLY be used to calculate the threads needed for a given server in its current state,\n * and so wouldn't be appropriate to use for formulas.exe or ns.growthAnalyze (as those are meant to\n * provide theoretical scenarios, or inverse hack respectively). Players COULD use this function with a\n * custom server object with the correct moneyAvailable and moneyMax amounts, combined with a multiplier\n * correctly calculated to bring the server to a new moneyAvailable (ie, passing in moneyAvailable 300 and x2\n * when you want the number of threads required to grow that particular server from 300 to 600), and this\n * function would pass back the correct number of threads. But the key thing is that it doesn't just\n * inverse/undo a hack (since the amount hacked from/to matters, not just the multiplier).\n * The above is also a rather unnecessarily obtuse way of thinking about it for a formulas.exe type of\n * application, so another function with different parameters is provided for that case below this one.\n * Instead this function is meant to hand-off from the old numCycleForGrowth function to the new one\n * where used internally for pro-rating or the like. Where you have applied a grow and want to determine\n * how many threads were needed for THAT SPECIFIC grow case using a multiplier.\n * Ideally, this function, and the original function above will be depreciated to use the methodology\n * and inputs of the new function below this one. Even for internal cases (it's actually easier to do so).\n * @param server - Server being grown\n * @param growth - How much the server money is expected to be multiplied by (e.g. 1.5 for *1.5 / +50%)\n * @param p - Reference to Player object\n * @returns Number of \"growth cycles\" needed\n */\nexport function numCycleForGrowthTransition(server: Server, growth: number, p: IPlayer, cores = 1): number {\n return numCycleForGrowthCorrected(server, server.moneyAvailable * growth, server.moneyAvailable, p, cores);\n}\n\n/**\n * This function calculates the number of threads needed to grow a server from one $amount to a higher $amount\n * (ie, how many threads to grow this server from $200 to $600 for example). Used primarily for a formulas (or possibly growthAnalyze)\n * type of application. It lets you \"theorycraft\" and easily ask what-if type questions. It's also the one that implements the\n * main thread calculation algorithm, and so is the function all helper functions should call.\n * It protects the inputs (so putting in INFINITY for targetMoney will use moneyMax, putting in a negative for start will use 0, etc.)\n * @param server - Server being grown\n * @param targetMoney - How much you want the server grown TO (not by), for instance, to grow from 200 to 600, input 600\n * @param startMoney - How much you are growing the server from, for instance, to grow from 200 to 600, input 200\n * @param p - Reference to Player object\n * @returns Number of \"growth cycles\" needed\n */\nexport function numCycleForGrowthCorrected(\n server: Server,\n targetMoney: number,\n startMoney: number,\n p: IPlayer,\n cores = 1,\n): number {\n if (startMoney < 0) {\n startMoney = 0;\n } // servers \"can't\" have less than 0 dollars on them\n if (targetMoney > server.moneyMax) {\n targetMoney = server.moneyMax;\n } // can't grow a server to more than its moneyMax\n if (targetMoney <= startMoney) {\n return 0;\n } // no growth --> no threads\n\n // exponential base adjusted by security\n const adjGrowthRate = 1 + (CONSTANTS.ServerBaseGrowthRate - 1) / server.hackDifficulty;\n const exponentialBase = Math.min(adjGrowthRate, CONSTANTS.ServerMaxGrowthRate); // cap growth rate\n\n // total of all grow thread multipliers\n const serverGrowthPercentage = server.serverGrowth / 100.0;\n const coreMultiplier = 1 + (cores - 1) / 16;\n const threadMultiplier =\n serverGrowthPercentage * p.mults.hacking_grow * coreMultiplier * BitNodeMultipliers.ServerGrowthRate;\n\n /* To understand what is done below we need to do some math. I hope the explanation is clear enough.\n * First of, the names will be shortened for ease of manipulation:\n * n:= targetMoney (n for new), o:= startMoney (o for old), b:= exponentialBase, t:= threadMultiplier, c:= cycles/threads\n * c is what we are trying to compute.\n *\n * After growing, the money on a server is n = (o + c) * b^(c*t)\n * c appears in an exponent and outside it, this is usually solved using the productLog/lambert's W special function\n * this function will be noted W in the following\n * The idea behind lambert's W function is W(x)*exp(W(x)) = x, or in other words, solving for y, y*exp(y) = x, as a function of x\n * This function is provided in some advanced math library but we will compute it ourself here.\n *\n * Let's get back to solving the equation. It cannot be rewrote using W immediately because the base of the exponentiation is b\n * b^(c*t) = exp(ln(b)*c*t) (this is how a^b is defined on reals, it matches the definition on integers)\n * so n = (o + c) * exp(ln(b)*c*t) , W still cannot be used directly. We want to eliminate the other terms in 'o + c' and 'ln(b)*c*t'.\n *\n * A change of variable will do. The idea is to add an equation introducing a new variable (w here) in the form c = f(w) (for some f)\n * With this equation we will eliminate all references to c, then solve for w and plug the result in the new equation to get c.\n * The change of variable performed here should get rid of the unwanted terms mentionned above, c = w/(ln(b)*t) - o should help.\n * This change of variable is allowed because whatever the value of c is, there is a value of w such that this equation holds:\n * w = (c + o)*ln(b)*t (see how we used the terms we wanted to eliminate in order to build this variable change)\n *\n * We get n = (o + w/(ln(b)*t) - o) * exp(ln(b)*(w/(ln(b)*t) - o)*t) [ = w/(ln(b)*t) * exp(w - ln(b)*o*t) ]\n * The change of variable exposed exp(w - o*ln(b)*t), we can rewrite that with exp(a - b) = exp(a)/exp(b) to isolate 'w*exp(w)'\n * n = w/(ln(b)*t) * exp(w)/exp(ln(b)*o*t) [ = w*exp(w) / (ln(b) * t * b^(o*t)) ]\n * Almost there, we just need to cancel the denominator on the right side of the equation:\n * n * ln(b) * t * b^(o*t) = w*exp(w), Thus w = W(n * ln(b) * t * b^(o*t))\n * Finally we invert the variable change: c = W(n * ln(b) * t * b^(o*t))/(ln(b)*t) - o\n *\n * There is still an issue left: b^(o*t) doesn't fit inside a double precision float\n * because the typical amount of money on servers is arround 10^6~10^9\n * We need to get an approximation of W without computing the power when o is huge\n * Thankfully an approximation giving ~30% error uses log immediately so we will use\n * W(n * ln(b) * t * b^(o*t)) ~= log(n * ln(b) * t * b^(o*t)) = log(n * ln(b) * t) + log(exp(ln(b) * o * t))\n * = log(n * ln(b) * t) + ln(b) * o * t\n * (thanks to Drak for the grow formula, f4113nb34st and Wolfram Alpha for the rewrite, dwRchyngqxs for the explanation)\n */\n const x = threadMultiplier * Math.log(exponentialBase);\n const y = startMoney * x + Math.log(targetMoney * x);\n /* Code for the approximation of lambert's W function is adapted from\n * https://git.savannah.gnu.org/cgit/gsl.git/tree/specfunc/lambert.c\n * using the articles [1] https://doi.org/10.1007/BF02124750 (algorithm above)\n * and [2] https://doi.org/10.1145/361952.361970 (initial approximation when x < 2.5)\n */\n let w;\n if (y < Math.log(2.5)) {\n /* exp(y) can be safely computed without overflow.\n * The relative error on the result is better when exp(y) < 2.5\n * using Padé rational fraction approximation [2](5)\n */\n const ey = Math.exp(y);\n w = (ey + (4 / 3) * ey * ey) / (1 + (7 / 3) * ey + (5 / 6) * ey * ey);\n } else {\n /* obtain initial approximation from rough asymptotic [1](4.18)\n * w = y [- log y when 0 <= y]\n */\n w = y;\n if (y > 0) w -= Math.log(y);\n }\n let cycles = w / x - startMoney;\n\n /* Iterative refinement, the goal is to correct c until |(o + c) * b^(c*t) - n| < 1\n * or the correction on the approximation is less than 1\n * The Newton-Raphson method will be used, this method is a classic to find roots of functions\n * (given f, find c such that f(c) = 0).\n *\n * The idea of this method is to take the horizontal position at which the horizontal axis\n * intersects with of the tangent of the function's curve as the next approximation.\n * It is equivalent to treating the curve as a line (it is called a first order approximation)\n * If the current approximation is c then the new approximated value is c - f(c)/f'(c)\n * (where f' is the derivative of f).\n *\n * In our case f(c) = (o + c) * b^(c*t) - n, f'(c) = d((o + c) * b^(c*t) - n)/dc\n * = (ln(b)*t * (c + o) + 1) * b^(c*t)\n * And the update step is c[new] = c[old] - ((o + c) * b^(c*t) - n)/((ln(b)*t * (o + c) + 1) * b^(c*t))\n *\n * The main question to ask when using this method is \"does it converges?\"\n * (are the approximations getting better?), if it does then it does quickly.\n * DOES IT CONVERGES? In the present case it does. The reason why doesn't help explaining the algorithm.\n * If you are intrested then check out the wikipedia page.\n */\n const bt = exponentialBase ** threadMultiplier;\n let corr = Infinity;\n // Two sided error because we do not want to get stuck if the error stays on the wrong side\n do {\n // c should be above 0 so Halley's method can't be used, we have to stick to Newton-Raphson\n const bct = bt ** cycles;\n const opc = startMoney + cycles;\n const diff = opc * bct - targetMoney;\n corr = diff / (opc * x + 1.0) / bct;\n cycles -= corr;\n } while (Math.abs(corr) >= 1);\n /* c is now within +/- 1 of the exact result.\n * We want the ceiling of the exact result, so the floor if the approximation is above,\n * the ceiling if the approximation is in the same unit as the exact result,\n * and the ceiling + 1 if the approximation is below.\n */\n const fca = Math.floor(cycles);\n if (targetMoney <= (startMoney + fca) * Math.pow(exponentialBase, fca * threadMultiplier)) {\n return fca;\n }\n const cca = Math.ceil(cycles);\n if (targetMoney <= (startMoney + cca) * Math.pow(exponentialBase, cca * threadMultiplier)) {\n return cca;\n }\n return cca + 1;\n}\n\n/**\n * This function calculates the number of threads needed to grow a server based on a pre-hack money and hackAmt\n * (ie, if you're hacking a server with $1e6 moneyAvail for 60%, this function will tell you how many threads to regrow it\n * A good replacement for the current ns.growthAnalyze if you want players to have more control/responsibility\n * @param server - Server being grown\n * @param hackProp - the proportion of money hacked (total, not per thread, like 0.60 for hacking 60% of available money)\n * @param prehackMoney - how much money the server had before being hacked (like 200000 for hacking a server that had $200000 on it at time of hacking)\n * @param p - Reference to Player object\n * @returns Number of \"growth cycles\" needed to reverse the described hack\n */\nexport function numCycleForGrowthByHackAmt(\n server: Server,\n hackProp: number,\n prehackMoney: number,\n p: IPlayer,\n cores = 1,\n): number {\n if (prehackMoney > server.moneyMax) prehackMoney = server.moneyMax;\n const posthackMoney = Math.floor(prehackMoney * Math.min(1, Math.max(0, 1 - hackProp)));\n return numCycleForGrowthCorrected(server, prehackMoney, posthackMoney, p, cores);\n}\n\n/**\n * This function calculates the number of threads needed to grow a server based on an expected growth multiplier assuming it will max out\n * (ie, if you expect to grow a server by 60% to reach maxMoney, this function will tell you how many threads to grow it)\n * PROBABLY the best replacement for the current ns.growthAnalyze to maintain existing scripts\n * @param server - Server being grown\n * @param growth - How much the server is being grown by, as a multiple in DECIMAL form (e.g. 1.5 rather than 50). Infinity is acceptable.\n * @param p - Reference to Player object\n * @returns Number of \"growth cycles\" needed\n */\nexport function numCycleForGrowthByMultiplier(server: Server, growth: number, p: IPlayer, cores = 1): number {\n if (growth < 1.0) growth = 1.0;\n const targetMoney = server.moneyMax;\n const startingMoney = server.moneyMax / growth;\n return numCycleForGrowthCorrected(server, targetMoney, startingMoney, p, cores);\n}\n\n//Applied server growth for a single server. Returns the percentage growth\nexport function processSingleServerGrowth(server: Server, threads: number, p: IPlayer, cores = 1): number {\n let serverGrowth = calculateServerGrowth(server, threads, p, cores);\n if (serverGrowth < 1) {\n console.warn(\"serverGrowth calculated to be less than 1\");\n serverGrowth = 1;\n }\n\n const oldMoneyAvailable = server.moneyAvailable;\n server.moneyAvailable += 1 * threads; // It can be grown even if it has no money\n server.moneyAvailable *= serverGrowth;\n\n // in case of data corruption\n if (isValidNumber(server.moneyMax) && isNaN(server.moneyAvailable)) {\n server.moneyAvailable = server.moneyMax;\n }\n\n // cap at max\n if (isValidNumber(server.moneyMax) && server.moneyAvailable > server.moneyMax) {\n server.moneyAvailable = server.moneyMax;\n }\n\n // if there was any growth at all, increase security\n if (oldMoneyAvailable !== server.moneyAvailable) {\n let usedCycles = numCycleForGrowthCorrected(server, server.moneyAvailable, oldMoneyAvailable, p, cores);\n // Growing increases server security twice as much as hacking\n usedCycles = Math.min(Math.max(0, Math.ceil(usedCycles)), threads);\n server.fortify(2 * CONSTANTS.ServerFortifyAmount * usedCycles);\n }\n return server.moneyAvailable / oldMoneyAvailable;\n}\n\nexport function prestigeHomeComputer(player: IPlayer, homeComp: Server): void {\n const hasBitflume = homeComp.programs.includes(Programs.BitFlume.name);\n\n homeComp.programs.length = 0; //Remove programs\n homeComp.runningScripts = [];\n homeComp.serversOnNetwork = [];\n homeComp.isConnectedTo = true;\n homeComp.ramUsed = 0;\n homeComp.programs.push(Programs.NukeProgram.name);\n if (hasBitflume) {\n homeComp.programs.push(Programs.BitFlume.name);\n }\n\n //Update RAM usage on all scripts\n homeComp.scripts.forEach(function (script) {\n script.updateRamUsage(player, homeComp.scripts);\n });\n\n homeComp.messages.length = 0; //Remove .lit and .msg files\n homeComp.messages.push(LiteratureNames.HackersStartingHandbook);\n}\n\n// Returns the i-th server on the specified server's network\n// A Server's serverOnNetwork property holds only the IPs. This function returns\n// the actual Server object\nexport function getServerOnNetwork(server: BaseServer, i: number): BaseServer | null {\n if (i > server.serversOnNetwork.length) {\n console.error(\"Tried to get server on network that was out of range\");\n return null;\n }\n\n return GetServer(server.serversOnNetwork[i]);\n}\n\nexport function isBackdoorInstalled(server: BaseServer): boolean {\n if (server instanceof Server) {\n return server.backdoorInstalled;\n }\n return false;\n}\n","export const SkillNames: {\n BladesIntuition: string;\n Cloak: string;\n Marksman: string;\n WeaponProficiency: string;\n ShortCircuit: string;\n DigitalObserver: string;\n Tracer: string;\n Overclock: string;\n Reaper: string;\n EvasiveSystem: string;\n Datamancer: string;\n CybersEdge: string;\n HandsOfMidas: string;\n Hyperdrive: string;\n} = {\n BladesIntuition: \"Blade's Intuition\",\n Cloak: \"Cloak\",\n Marksman: \"Marksman\",\n WeaponProficiency: \"Weapon Proficiency\",\n ShortCircuit: \"Short-Circuit\",\n DigitalObserver: \"Digital Observer\",\n Tracer: \"Tracer\",\n Overclock: \"Overclock\",\n Reaper: \"Reaper\",\n EvasiveSystem: \"Evasive System\",\n Datamancer: \"Datamancer\",\n CybersEdge: \"Cyber's Edge\",\n HandsOfMidas: \"Hands of Midas\",\n Hyperdrive: \"Hyperdrive\",\n};\n","import * as React from \"react\";\nimport { numeralWrapper } from \"../numeralFormat\";\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n reputation: {\n color: theme.colors.rep,\n },\n }),\n);\n\nexport function Reputation({ reputation }: { reputation: number | string }): React.ReactElement {\n const classes = useStyles();\n return (\n \n {typeof reputation === \"number\" ? numeralWrapper.formatReputation(reputation) : reputation}\n \n );\n}\n","import React, { useContext } from \"react\";\nimport { IGang } from \"../IGang\";\n\nexport const Context: {\n Gang: React.Context;\n} = {\n Gang: React.createContext({} as IGang),\n};\n\nexport const useGang = (): IGang => useContext(Context.Gang);\n","/**\n * Stops an actively-running script (represented by a WorkerScript object)\n * and removes it from the global pool of active scripts.\n */\nimport { ScriptDeath } from \"./ScriptDeath\";\nimport { WorkerScript } from \"./WorkerScript\";\nimport { workerScripts } from \"./WorkerScripts\";\nimport { WorkerScriptStartStopEventEmitter } from \"./WorkerScriptStartStopEventEmitter\";\n\nimport { RunningScript } from \"../Script/RunningScript\";\nimport { GetServer } from \"../Server/AllServers\";\n\nimport { compareArrays } from \"../utils/helpers/compareArrays\";\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { AddRecentScript } from \"./RecentScripts\";\nimport { Player } from \"../Player\";\n\nexport function killWorkerScript(runningScriptObj: RunningScript, hostname: string, rerenderUi?: boolean): boolean;\nexport function killWorkerScript(workerScript: WorkerScript): boolean;\nexport function killWorkerScript(pid: number): boolean;\nexport function killWorkerScript(\n script: RunningScript | WorkerScript | number,\n hostname?: string,\n rerenderUi?: boolean,\n): boolean {\n if (rerenderUi == null || typeof rerenderUi !== \"boolean\") {\n rerenderUi = true;\n }\n\n if (script instanceof WorkerScript) {\n stopAndCleanUpWorkerScript(script);\n\n return true;\n } else if (script instanceof RunningScript && typeof hostname === \"string\") {\n // Try to kill by PID\n const res = killWorkerScriptByPid(script.pid, rerenderUi);\n if (res) {\n return res;\n }\n\n // If for some reason that doesn't work, we'll try the old way\n for (const ws of workerScripts.values()) {\n if (ws.name == script.filename && ws.hostname == hostname && compareArrays(ws.args, script.args)) {\n stopAndCleanUpWorkerScript(ws, rerenderUi);\n\n return true;\n }\n }\n\n return false;\n } else if (typeof script === \"number\") {\n return killWorkerScriptByPid(script, rerenderUi);\n } else {\n console.error(`killWorkerScript() called with invalid argument:`);\n console.error(script);\n return false;\n }\n}\n\nfunction killWorkerScriptByPid(pid: number, rerenderUi = true): boolean {\n const ws = workerScripts.get(pid);\n if (ws instanceof WorkerScript) {\n stopAndCleanUpWorkerScript(ws, rerenderUi);\n\n return true;\n }\n\n return false;\n}\n\nfunction stopAndCleanUpWorkerScript(workerScript: WorkerScript, rerenderUi = true): void {\n if (typeof workerScript.atExit === \"function\") {\n try {\n workerScript.atExit();\n } catch (e: unknown) {\n dialogBoxCreate(\n `Error trying to call atExit for script ${workerScript.name} on ${workerScript.hostname} ${\n workerScript.scriptRef.args\n } ${String(e)}`,\n );\n }\n workerScript.atExit = undefined;\n }\n workerScript.env.stopFlag = true;\n killNetscriptDelay(workerScript);\n removeWorkerScript(workerScript, rerenderUi);\n}\n\n/**\n * Helper function that removes the script being killed from the global pool.\n * Also handles other cleanup-time operations\n *\n * @param {WorkerScript} - Identifier for WorkerScript. Either the object itself, or\n * its index in the global workerScripts array\n */\nfunction removeWorkerScript(workerScript: WorkerScript, rerenderUi = true): void {\n const ip = workerScript.hostname;\n const name = workerScript.name;\n\n // Get the server on which the script runs\n const server = GetServer(ip);\n if (server == null) {\n console.error(`Could not find server on which this script is running: ${ip}`);\n return;\n }\n\n // Delete the RunningScript object from that server\n for (let i = 0; i < server.runningScripts.length; ++i) {\n const runningScript = server.runningScripts[i];\n if (runningScript.filename === name && compareArrays(runningScript.args, workerScript.args)) {\n server.runningScripts.splice(i, 1);\n break;\n }\n }\n\n // Recalculate ram used on that server\n\n server.updateRamUsed(0, Player);\n for (const rs of server.runningScripts) server.updateRamUsed(server.ramUsed + rs.ramUsage * rs.threads, Player);\n\n // Delete script from global pool (workerScripts)\n workerScripts.delete(workerScript.pid);\n // const res = workerScripts.delete(workerScript.pid);\n // if (!res) {\n // console.warn(`removeWorkerScript() called with WorkerScript that wasn't in the global map:`);\n // console.warn(workerScript);\n // }\n AddRecentScript(workerScript);\n\n if (rerenderUi) {\n WorkerScriptStartStopEventEmitter.emit();\n }\n}\n\n/**\n * Helper function that interrupts a script's delay if it is in the middle of a\n * timed, blocked operation (like hack(), sleep(), etc.). This allows scripts to\n * be killed immediately even if they're in the middle of one of those long operations\n */\nfunction killNetscriptDelay(workerScript: WorkerScript): void {\n if (workerScript instanceof WorkerScript) {\n if (workerScript.delay) {\n clearTimeout(workerScript.delay);\n if (workerScript.delayReject) {\n workerScript.delayReject(new ScriptDeath(workerScript));\n }\n }\n }\n}\n","import * as React from \"react\";\nimport { numeralWrapper } from \"../../ui/numeralFormat\";\nimport { ICorporation } from \"../ICorporation\";\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n unbuyable: {\n color: theme.palette.action.disabled,\n },\n money: {\n color: theme.colors.money,\n },\n }),\n);\n\ninterface IProps {\n money: number;\n corp: ICorporation;\n}\n\nexport function MoneyCost(props: IProps): React.ReactElement {\n const classes = useStyles();\n if (!(props.corp.funds > props.money))\n return {numeralWrapper.formatMoney(props.money)};\n\n return {numeralWrapper.formatMoney(props.money)};\n}\n","/**\n * Checks whether the value passed in can be considered a string.\n * @param value The value to check if it is a string.\n */\nexport function isString(value: unknown): value is string {\n return typeof value === \"string\" || value instanceof String;\n}\n","import { FormControlLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\n\ninterface IProps {\n checked: boolean;\n onChange: (newValue: boolean, error?: string) => void;\n text: React.ReactNode;\n tooltip: React.ReactNode;\n}\n\nexport function OptionSwitch({ checked, onChange, text, tooltip }: IProps): React.ReactElement {\n const [value, setValue] = useState(checked);\n\n function handleSwitchChange(event: React.ChangeEvent): void {\n setValue(event.target.checked);\n }\n\n useEffect(() => onChange(value), [value]);\n\n return (\n }\n label={\n {tooltip}}>\n {text}\n \n }\n />\n );\n}\n","import React from \"react\";\nimport { BitNodeMultipliers, IBitNodeMultipliers } from \"./BitNodeMultipliers\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { IMap } from \"../types\";\nimport { FactionNames } from \"../Faction/data/FactionNames\";\nimport { CityName } from \"../Locations/data/CityNames\";\n\nclass BitNode {\n // A short description, or tagline, about the BitNode\n desc: string;\n\n // A long, detailed overview of the BitNode\n info: JSX.Element;\n\n // Name of BitNode\n name: string;\n\n // BitNode number\n number: number;\n\n difficulty: 0 | 1 | 2;\n\n constructor(n: number, difficulty: 0 | 1 | 2, name: string, desc = \"\", info: JSX.Element = <>>) {\n this.number = n;\n this.difficulty = difficulty;\n this.name = name;\n this.desc = desc;\n this.info = info;\n }\n}\n\nexport const BitNodes: IMap = {};\n\nBitNodes[\"BitNode1\"] = new BitNode(\n 1,\n 0,\n \"Source Genesis\",\n \"The original BitNode\",\n (\n <>\n The first BitNode created by the Enders to imprison the minds of humans. It became the prototype and\n testing-grounds for all of the BitNodes that followed.\n \n \n This is the first BitNode that you play through. It has no special modifications or mechanics.\n \n \n Destroying this BitNode will give you Source-File 1, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File lets the player start with 32GB of RAM on his/her home computer when\n entering a new BitNode, and also increases all of the player's multipliers by:\n \n \n Level 1: 16%\n \n Level 2: 24%\n \n Level 3: 28%\n >\n ),\n);\nBitNodes[\"BitNode2\"] = new BitNode(\n 2,\n 0,\n \"Rise of the Underworld\",\n \"From the shadows, they rose\", //Gangs\n (\n <>\n From the shadows, they rose.\n \n \n Organized crime groups quickly filled the void of power left behind from the collapse of Western government in the\n 2050s. As society and civilization broke down, people quickly succumbed to the innate human impulse of evil and\n savagery. The organized crime factions quickly rose to the top of the modern world.\n \n \n Certain Factions ({FactionNames.SlumSnakes}, {FactionNames.Tetrads}, {FactionNames.TheSyndicate},{\" \"}\n {FactionNames.TheDarkArmy}, {FactionNames.SpeakersForTheDead}, {FactionNames.NiteSec}, {FactionNames.TheBlackHand}\n ) give the player the ability to form and manage their own gangs. These gangs will earn the player money and\n reputation with the corresponding Faction\n \n Every Augmentation in the game will be available through the Factions listed above\n \n \n Destroying this BitNode will give you Source-File 2, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File allows you to form gangs in other BitNodes once your karma decreases\n to a certain value. It also increases the player's crime success rate, crime money, and charisma multipliers by:\n \n \n Level 1: 24%\n \n Level 2: 36%\n \n Level 3: 42%\n >\n ),\n);\nBitNodes[\"BitNode3\"] = new BitNode(\n 3,\n 0,\n \"Corporatocracy\",\n \"The Price of Civilization\",\n (\n <>\n Our greatest illusion is that a healthy society can revolve around a single-minded pursuit of wealth.\n \n \n Sometime in the early 21st century economic and political globalization turned the world into a corporatocracy,\n and it never looked back. Now, the privileged elite will happily bankrupt their own countrymen, decimate their own\n community, and evict their neighbors from houses in their desperate bid to increase their wealth.\n \n \n In this BitNode you can create and manage your own corporation. Running a successful corporation has the potential\n of generating massive profits.\n \n \n Destroying this BitNode will give you Source-File 3, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File lets you create corporations on other BitNodes (although some\n BitNodes will disable this mechanic). This Source-File also increases your charisma and company salary multipliers\n by:\n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nBitNodes[\"BitNode4\"] = new BitNode(\n 4,\n 1,\n \"The Singularity\",\n \"The Man and the Machine\",\n (\n <>\n The Singularity has arrived. The human race is gone, replaced by artificially superintelligent beings that are\n more machine than man. \n \n \n In this BitNode you will gain access to a new set of Netscript Functions known as Singularity Functions. These\n functions allow you to control most aspects of the game through scripts, including working for factions/companies,\n purchasing/installing Augmentations, and creating programs.\n \n \n Destroying this BitNode will give you Source-File 4, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File lets you access and use the Singularity Functions in other BitNodes.\n Each level of this Source-File reduces the RAM cost of singularity functions.\n >\n ),\n);\nBitNodes[\"BitNode5\"] = new BitNode(\n 5,\n 1,\n \"Artificial Intelligence\",\n \"Posthuman\",\n (\n <>\n They said it couldn't be done. They said the human brain, along with its consciousness and intelligence, couldn't\n be replicated. They said the complexity of the brain results from unpredictable, nonlinear interactions that\n couldn't be modeled by 1's and 0's. They were wrong.\n \n \n Destroying this BitNode will give you Source-File 5, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File grants you a special new stat called Intelligence. Intelligence is\n unique because it is permanent and persistent (it never gets reset back to 1). However gaining Intelligence\n experience is much slower than other stats. Higher Intelligence levels will boost your production for many actions\n in the game. \n \n In addition, this Source-File will unlock the getBitNodeMultipliers() Netscript function and let you start with\n Formulas.exe, and will also raise all of your hacking-related multipliers by:\n \n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nBitNodes[\"BitNode6\"] = new BitNode(\n 6,\n 1,\n FactionNames.Bladeburners,\n \"Like Tears in Rain\",\n (\n <>\n In the middle of the 21st century, {FactionNames.OmniTekIncorporated} began designing and manufacturing advanced\n synthetic androids, or Synthoids for short. They achieved a major technological breakthrough in the sixth\n generation of their Synthoid design, called MK-VI, by developing a hyperintelligent AI. Many argue that this was\n the first sentient AI ever created. This resulted in Synthoid models that were stronger, faster, and more\n intelligent than the humans that had created them.\n \n \n In this BitNode you will be able to access the {FactionNames.Bladeburners} Division at the NSA, which provides a\n new mechanic for progression.\n \n \n Destroying this BitNode will give you Source-File 6, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File allows you to access the NSA's {FactionNames.Bladeburners} Division\n in other BitNodes. In addition, this Source-File will raise both the level and experience gain rate of all your\n combat stats by:\n \n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nBitNodes[\"BitNode7\"] = new BitNode(\n 7,\n 2,\n `${FactionNames.Bladeburners} 2079`,\n \"More human than humans\",\n (\n <>\n In the middle of the 21st century, you were doing cutting-edge work at {FactionNames.OmniTekIncorporated} as part\n of the AI design team for advanced synthetic androids, or Synthoids for short. You helped achieve a major\n technological breakthrough in the sixth generation of the company's Synthoid design, called MK-VI, by developing a\n hyperintelligent AI. Many argue that this was the first sentient AI ever created. This resulted in Synthoid models\n that were stronger, faster, and more intelligent than the humans that had created them.\n \n \n In this BitNode you will be able to access the {FactionNames.Bladeburners} API, which allows you to access{\" \"}\n {FactionNames.Bladeburners}\n functionality through Netscript.\n \n \n Destroying this BitNode will give you Source-File 7, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File allows you to access the {FactionNames.Bladeburners} Netscript API in\n other BitNodes. In addition, this Source-File will increase all of your {FactionNames.Bladeburners} multipliers\n by:\n \n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nBitNodes[\"BitNode8\"] = new BitNode(\n 8,\n 2,\n \"Ghost of Wall Street\",\n \"Money never sleeps\",\n (\n <>\n You are trying to make a name for yourself as an up-and-coming hedge fund manager on Wall Street.\n \n \n In this BitNode:\n \n \n You start with $250 million\n \n You start with a WSE membership and access to the TIX API\n \n You are able to short stocks and place different types of orders (limit/stop)\n \n \n Destroying this BitNode will give you Source-File 8, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File grants the following benefits:\n \n \n Level 1: Permanent access to WSE and TIX API\n \n Level 2: Ability to short stocks in other BitNodes\n \n Level 3: Ability to use limit/stop orders in other BitNodes\n \n \n This Source-File also increases your hacking growth multipliers by:\n \n Level 1: 12%\n \n Level 2: 18%\n \n Level 3: 21%\n >\n ),\n);\nBitNodes[\"BitNode9\"] = new BitNode(\n 9,\n 2,\n \"Hacktocracy\",\n \"Hacknet Unleashed\",\n (\n <>\n When {FactionNames.FulcrumSecretTechnologies} released their open-source Linux distro Chapeau, it quickly became\n the OS of choice for the underground hacking community. Chapeau became especially notorious for powering the\n Hacknet, a global, decentralized network used for nefarious purposes. {FactionNames.FulcrumSecretTechnologies}{\" \"}\n quickly abandoned the project and dissociated themselves from it.\n \n \n This BitNode unlocks the Hacknet Server, an upgraded version of the Hacknet Node. Hacknet Servers generate hashes,\n which can be spent on a variety of different upgrades.\n \n \n Destroying this BitNode will give you Source-File 9, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File grants the following benefits:\n \n \n Level 1: Permanently unlocks the Hacknet Server in other BitNodes\n \n Level 2: You start with 128GB of RAM on your home computer when entering a new BitNode\n \n Level 3: Grants a highly-upgraded Hacknet Server when entering a new BitNode\n \n \n (Note that the Level 3 effect of this Source-File only applies when entering a new BitNode, NOT when installing\n Augmentations)\n \n \n This Source-File also increases your hacknet multipliers by:\n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nBitNodes[\"BitNode10\"] = new BitNode(\n 10,\n 2,\n \"Digital Carbon\",\n \"Your body is not who you are\",\n (\n <>\n In 2084, VitaLife unveiled to the world the Persona Core, a technology that allowed people to digitize their\n consciousness. Their consciousness could then be transferred into Synthoids or other bodies by trasmitting the\n digitized data. Human bodies became nothing more than 'sleeves' for the human consciousness. Mankind had finally\n achieved immortality - at least for those that could afford it.\n \n \n This BitNode unlocks Sleeve technology. Sleeve technology allows you to:\n \n \n 1. Grafting: Visit VitaLife in New Tokyo to be able to obtain Augmentations without needing to install\n \n 2. Duplicate Sleeves: Duplicate your consciousness into Synthoids, allowing you to perform different tasks\n synchronously.\n \n \n Destroying this BitNode will give you Source-File 10, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File unlocks Sleeve technology in other BitNodes. Each level of this\n Source-File also grants you a Duplicate Sleeve\n >\n ),\n);\nBitNodes[\"BitNode11\"] = new BitNode(\n 11,\n 1,\n \"The Big Crash\",\n \"Okay. Sell it all.\",\n (\n <>\n The 2050s was defined by the massive amounts of violent civil unrest and anarchic rebellion that rose all around\n the world. It was this period of disorder that eventually lead to the governmental reformation of many global\n superpowers, most notably the USA and China. But just as the world was slowly beginning to recover from these dark\n times, financial catastrophe hit.\n \n \n In many countries, the high cost of trying to deal with the civil disorder bankrupted the governments. In all of\n this chaos and confusion, hackers were able to steal billions of dollars from the world's largest electronic\n banks, prompting an international banking crisis as governments were unable to bail out insolvent banks. Now, the\n world is slowly crumbling in the middle of the biggest economic crisis of all time.\n \n \n Destroying this BitNode will give you Source-File 11, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File makes it so that company favor increases BOTH the player's salary and\n reputation gain rate at that company by 1% per favor (rather than just the reputation gain). This Source-File also\n increases the player's company salary and reputation gain multipliers by:\n \n \n Level 1: 32%\n \n Level 2: 48%\n \n Level 3: 56%\n \n \n It also reduces the price increase for every aug bought by:\n \n \n Level 1: 4%\n \n Level 2: 6%\n \n Level 3: 7%\n >\n ),\n);\nBitNodes[\"BitNode12\"] = new BitNode(\n 12,\n 0,\n \"The Recursion\",\n \"Repeat.\",\n (\n <>\n To iterate is human, to recurse divine.\n \n \n Every time this BitNode is destroyed, it becomes slightly harder. Destroying this BitNode will give you\n Source-File 12, or if you already have this Source-File it will upgrade its level. There is no maximum level for\n Source-File 12. Each level of Source-File 12 lets you start any BitNodes with NeuroFlux Governor equal to the\n level of this source file.\n >\n ),\n);\nBitNodes[\"BitNode13\"] = new BitNode(\n 13,\n 2,\n \"They're lunatics\",\n \"1 step back, 2 steps forward\",\n (\n <>\n With the invention of Augmentations in the 2040s a religious group known as the{\" \"}\n {FactionNames.ChurchOfTheMachineGod} has rallied far more support than anyone would have hoped.\n \n \n Their leader, Allison \"Mother\" Stanek is said to have created her own Augmentation whose power goes beyond any\n other. Find her in {CityName.Chongqing} and gain her trust.\n \n \n Destroying this BitNode will give you Source-File 13, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File lets the {FactionNames.ChurchOfTheMachineGod} appear in other\n BitNodes.\n \n \n Each level of this Source-File increases the size of Stanek's Gift.\n >\n ),\n);\n\nexport const defaultMultipliers: IBitNodeMultipliers = {\n HackingLevelMultiplier: 1,\n StrengthLevelMultiplier: 1,\n DefenseLevelMultiplier: 1,\n DexterityLevelMultiplier: 1,\n AgilityLevelMultiplier: 1,\n CharismaLevelMultiplier: 1,\n\n ServerGrowthRate: 1,\n ServerMaxMoney: 1,\n ServerStartingMoney: 1,\n ServerStartingSecurity: 1,\n ServerWeakenRate: 1,\n\n HomeComputerRamCost: 1,\n\n PurchasedServerCost: 1,\n PurchasedServerSoftcap: 1,\n PurchasedServerLimit: 1,\n PurchasedServerMaxRam: 1,\n\n CompanyWorkMoney: 1,\n CrimeMoney: 1,\n HacknetNodeMoney: 1,\n ManualHackMoney: 1,\n ScriptHackMoney: 1,\n ScriptHackMoneyGain: 1,\n CodingContractMoney: 1,\n\n ClassGymExpGain: 1,\n CompanyWorkExpGain: 1,\n CrimeExpGain: 1,\n FactionWorkExpGain: 1,\n HackExpGain: 1,\n\n FactionPassiveRepGain: 1,\n FactionWorkRepGain: 1,\n RepToDonateToFaction: 1,\n\n AugmentationMoneyCost: 1,\n AugmentationRepCost: 1,\n\n InfiltrationMoney: 1,\n InfiltrationRep: 1,\n\n FourSigmaMarketDataCost: 1,\n FourSigmaMarketDataApiCost: 1,\n\n CorporationValuation: 1,\n CorporationSoftcap: 1,\n\n BladeburnerRank: 1,\n BladeburnerSkillCost: 1,\n\n GangSoftcap: 1,\n GangUniqueAugs: 1,\n\n DaedalusAugsRequirement: 30,\n\n StaneksGiftPowerMultiplier: 1,\n StaneksGiftExtraSize: 0,\n\n WorldDaemonDifficulty: 1,\n};\n\nObject.freeze(defaultMultipliers);\n\nexport function getBitNodeMultipliers(n: number, lvl: number): IBitNodeMultipliers {\n const mults = Object.assign({}, defaultMultipliers);\n switch (n) {\n case 1: {\n return mults;\n }\n case 2: {\n return Object.assign(mults, {\n HackingLevelMultiplier: 0.8,\n ServerGrowthRate: 0.8,\n ServerMaxMoney: 0.2,\n ServerStartingMoney: 0.4,\n CrimeMoney: 3,\n InfiltrationMoney: 3,\n FactionWorkRepGain: 0.5,\n FactionPassiveRepGain: 0,\n StaneksGiftPowerMultiplier: 2,\n StaneksGiftExtraSize: -6,\n PurchasedServerSoftcap: 1.3,\n CorporationSoftcap: 0.9,\n WorldDaemonDifficulty: 5,\n });\n }\n case 3: {\n return Object.assign(mults, {\n HackingLevelMultiplier: 0.8,\n RepToDonateToFaction: 0.5,\n AugmentationRepCost: 3,\n AugmentationMoneyCost: 3,\n ServerMaxMoney: 0.2,\n ServerStartingMoney: 0.2,\n ServerGrowthRate: 0.2,\n ScriptHackMoney: 0.2,\n CompanyWorkMoney: 0.25,\n CrimeMoney: 0.25,\n HacknetNodeMoney: 0.25,\n HomeComputerRamCost: 1.5,\n PurchasedServerCost: 2,\n StaneksGiftPowerMultiplier: 0.75,\n StaneksGiftExtraSize: -2,\n PurchasedServerSoftcap: 1.3,\n GangSoftcap: 0.9,\n WorldDaemonDifficulty: 2,\n GangUniqueAugs: 0.5,\n });\n }\n case 4: {\n return Object.assign(mults, {\n ServerMaxMoney: 0.15,\n ServerStartingMoney: 0.75,\n ScriptHackMoney: 0.2,\n CompanyWorkMoney: 0.1,\n CrimeMoney: 0.2,\n HacknetNodeMoney: 0.05,\n CompanyWorkExpGain: 0.5,\n ClassGymExpGain: 0.5,\n FactionWorkExpGain: 0.5,\n HackExpGain: 0.4,\n CrimeExpGain: 0.5,\n FactionWorkRepGain: 0.75,\n StaneksGiftPowerMultiplier: 1.5,\n StaneksGiftExtraSize: 0,\n PurchasedServerSoftcap: 1.2,\n WorldDaemonDifficulty: 3,\n GangUniqueAugs: 0.5,\n });\n }\n case 5: {\n return Object.assign(mults, {\n ServerMaxMoney: 2,\n ServerStartingSecurity: 2,\n ServerStartingMoney: 0.5,\n ScriptHackMoney: 0.15,\n HacknetNodeMoney: 0.2,\n CrimeMoney: 0.5,\n InfiltrationRep: 1.5,\n InfiltrationMoney: 1.5,\n AugmentationMoneyCost: 2,\n HackExpGain: 0.5,\n CorporationValuation: 0.5,\n StaneksGiftPowerMultiplier: 1.3,\n StaneksGiftExtraSize: 0,\n PurchasedServerSoftcap: 1.2,\n WorldDaemonDifficulty: 1.5,\n GangUniqueAugs: 0.5,\n });\n }\n case 6: {\n return Object.assign(mults, {\n HackingLevelMultiplier: 0.35,\n ServerMaxMoney: 0.4,\n ServerStartingMoney: 0.5,\n ServerStartingSecurity: 1.5,\n ScriptHackMoney: 0.75,\n CompanyWorkMoney: 0.5,\n CrimeMoney: 0.75,\n InfiltrationMoney: 0.75,\n CorporationValuation: 0.2,\n HacknetNodeMoney: 0.2,\n HackExpGain: 0.25,\n DaedalusAugsRequirement: 35,\n PurchasedServerSoftcap: 2,\n StaneksGiftPowerMultiplier: 0.5,\n StaneksGiftExtraSize: 2,\n GangSoftcap: 0.7,\n CorporationSoftcap: 0.9,\n WorldDaemonDifficulty: 2,\n GangUniqueAugs: 0.2,\n });\n }\n case 7: {\n return Object.assign(mults, {\n BladeburnerRank: 0.6,\n BladeburnerSkillCost: 2,\n AugmentationMoneyCost: 3,\n HackingLevelMultiplier: 0.35,\n ServerMaxMoney: 0.4,\n ServerStartingMoney: 0.5,\n ServerStartingSecurity: 1.5,\n ScriptHackMoney: 0.5,\n CompanyWorkMoney: 0.5,\n CrimeMoney: 0.75,\n InfiltrationMoney: 0.75,\n CorporationValuation: 0.2,\n HacknetNodeMoney: 0.2,\n HackExpGain: 0.25,\n FourSigmaMarketDataCost: 2,\n FourSigmaMarketDataApiCost: 2,\n DaedalusAugsRequirement: 35,\n PurchasedServerSoftcap: 2,\n StaneksGiftPowerMultiplier: 0.9,\n StaneksGiftExtraSize: -1,\n GangSoftcap: 0.7,\n CorporationSoftcap: 0.9,\n WorldDaemonDifficulty: 2,\n GangUniqueAugs: 0.2,\n });\n }\n case 8: {\n return Object.assign(mults, {\n ScriptHackMoney: 0.3,\n ScriptHackMoneyGain: 0,\n ManualHackMoney: 0,\n CompanyWorkMoney: 0,\n CrimeMoney: 0,\n HacknetNodeMoney: 0,\n InfiltrationMoney: 0,\n RepToDonateToFaction: 0,\n CorporationValuation: 0,\n CodingContractMoney: 0,\n StaneksGiftExtraSize: -99,\n PurchasedServerSoftcap: 4,\n GangSoftcap: 0,\n CorporationSoftcap: 0,\n GangUniqueAugs: 0,\n });\n }\n case 9: {\n return Object.assign(mults, {\n HackingLevelMultiplier: 0.5,\n StrengthLevelMultiplier: 0.45,\n DefenseLevelMultiplier: 0.45,\n DexterityLevelMultiplier: 0.45,\n AgilityLevelMultiplier: 0.45,\n CharismaLevelMultiplier: 0.45,\n PurchasedServerLimit: 0,\n HomeComputerRamCost: 5,\n CrimeMoney: 0.5,\n ScriptHackMoney: 0.1,\n HackExpGain: 0.05,\n ServerStartingMoney: 0.1,\n ServerMaxMoney: 0.1,\n ServerStartingSecurity: 2.5,\n CorporationValuation: 0.5,\n FourSigmaMarketDataCost: 5,\n FourSigmaMarketDataApiCost: 4,\n BladeburnerRank: 0.9,\n BladeburnerSkillCost: 1.2,\n StaneksGiftPowerMultiplier: 0.5,\n StaneksGiftExtraSize: 2,\n GangSoftcap: 0.8,\n CorporationSoftcap: 0.7,\n WorldDaemonDifficulty: 2,\n GangUniqueAugs: 0.25,\n });\n }\n case 10: {\n return Object.assign(mults, {\n HackingLevelMultiplier: 0.35,\n StrengthLevelMultiplier: 0.4,\n DefenseLevelMultiplier: 0.4,\n DexterityLevelMultiplier: 0.4,\n AgilityLevelMultiplier: 0.4,\n CharismaLevelMultiplier: 0.4,\n CompanyWorkMoney: 0.5,\n CrimeMoney: 0.5,\n HacknetNodeMoney: 0.5,\n ManualHackMoney: 0.5,\n ScriptHackMoney: 0.5,\n CodingContractMoney: 0.5,\n InfiltrationMoney: 0.5,\n CorporationValuation: 0.5,\n AugmentationMoneyCost: 5,\n AugmentationRepCost: 2,\n HomeComputerRamCost: 1.5,\n PurchasedServerCost: 5,\n PurchasedServerLimit: 0.6,\n PurchasedServerMaxRam: 0.5,\n BladeburnerRank: 0.8,\n StaneksGiftPowerMultiplier: 0.75,\n StaneksGiftExtraSize: -3,\n PurchasedServerSoftcap: 1.1,\n GangSoftcap: 0.9,\n CorporationSoftcap: 0.9,\n WorldDaemonDifficulty: 2,\n GangUniqueAugs: 0.25,\n });\n }\n case 11: {\n return Object.assign(mults, {\n HackingLevelMultiplier: 0.6,\n HackExpGain: 0.5,\n ServerMaxMoney: 0.1,\n ServerStartingMoney: 0.1,\n ServerGrowthRate: 0.2,\n ServerWeakenRate: 2,\n CrimeMoney: 3,\n CompanyWorkMoney: 0.5,\n HacknetNodeMoney: 0.1,\n AugmentationMoneyCost: 2,\n InfiltrationMoney: 2.5,\n InfiltrationRep: 2.5,\n CorporationValuation: 0.1,\n CodingContractMoney: 0.25,\n FourSigmaMarketDataCost: 4,\n FourSigmaMarketDataApiCost: 4,\n PurchasedServerSoftcap: 2,\n CorporationSoftcap: 0.9,\n WorldDaemonDifficulty: 1.5,\n GangUniqueAugs: 0.75,\n });\n }\n case 12: {\n const inc = Math.pow(1.02, lvl);\n const dec = 1 / inc;\n\n return Object.assign(mults, {\n DaedalusAugsRequirement: Math.floor(Math.min(mults.DaedalusAugsRequirement + inc, 40)),\n\n HackingLevelMultiplier: dec,\n StrengthLevelMultiplier: dec,\n DefenseLevelMultiplier: dec,\n DexterityLevelMultiplier: dec,\n AgilityLevelMultiplier: dec,\n CharismaLevelMultiplier: dec,\n\n ServerMaxMoney: dec,\n ServerStartingMoney: dec,\n ServerGrowthRate: dec,\n ServerWeakenRate: dec,\n\n //Does not scale, otherwise security might start at 300+\n ServerStartingSecurity: 1.5,\n\n HomeComputerRamCost: inc,\n\n PurchasedServerCost: inc,\n PurchasedServerLimit: dec,\n PurchasedServerMaxRam: dec,\n PurchasedServerSoftcap: inc,\n\n ManualHackMoney: dec,\n ScriptHackMoney: dec,\n CompanyWorkMoney: dec,\n CrimeMoney: dec,\n HacknetNodeMoney: dec,\n CodingContractMoney: dec,\n\n CompanyWorkExpGain: dec,\n ClassGymExpGain: dec,\n FactionWorkExpGain: dec,\n HackExpGain: dec,\n CrimeExpGain: dec,\n\n FactionWorkRepGain: dec,\n FactionPassiveRepGain: dec,\n RepToDonateToFaction: inc,\n\n AugmentationRepCost: inc,\n AugmentationMoneyCost: inc,\n\n InfiltrationMoney: dec,\n InfiltrationRep: dec,\n\n FourSigmaMarketDataCost: inc,\n FourSigmaMarketDataApiCost: inc,\n\n CorporationValuation: dec,\n\n BladeburnerRank: dec,\n BladeburnerSkillCost: inc,\n\n StaneksGiftPowerMultiplier: inc,\n StaneksGiftExtraSize: inc,\n GangSoftcap: 0.8,\n CorporationSoftcap: 0.8,\n WorldDaemonDifficulty: inc,\n\n GangUniqueAugs: dec,\n });\n }\n case 13: {\n return Object.assign(mults, {\n PurchasedServerSoftcap: 1.6,\n\n HackingLevelMultiplier: 0.25,\n StrengthLevelMultiplier: 0.7,\n DefenseLevelMultiplier: 0.7,\n DexterityLevelMultiplier: 0.7,\n AgilityLevelMultiplier: 0.7,\n\n ServerMaxMoney: 0.45,\n ServerStartingMoney: 0.75,\n\n ServerStartingSecurity: 3,\n\n ScriptHackMoney: 0.2,\n CompanyWorkMoney: 0.4,\n CrimeMoney: 0.4,\n HacknetNodeMoney: 0.4,\n CodingContractMoney: 0.4,\n\n CompanyWorkExpGain: 0.5,\n ClassGymExpGain: 0.5,\n FactionWorkExpGain: 0.5,\n HackExpGain: 0.1,\n CrimeExpGain: 0.5,\n\n FactionWorkRepGain: 0.6,\n\n FourSigmaMarketDataCost: 10,\n FourSigmaMarketDataApiCost: 10,\n\n CorporationValuation: 0.001,\n\n BladeburnerRank: 0.45,\n BladeburnerSkillCost: 2,\n StaneksGiftPowerMultiplier: 2,\n StaneksGiftExtraSize: 1,\n GangSoftcap: 0.3,\n CorporationSoftcap: 0.3,\n WorldDaemonDifficulty: 3,\n GangUniqueAugs: 0.1,\n });\n }\n default: {\n throw new Error(\"Invalid BitNodeN\");\n }\n }\n}\n\nexport function initBitNodeMultipliers(p: IPlayer): void {\n Object.assign(BitNodeMultipliers, getBitNodeMultipliers(p.bitNodeN, p.sourceFileLvl(p.bitNodeN)));\n}\n","import { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { IReviverValue } from \"../utils/JSONReviver\";\n\nexport abstract class Work {\n type: WorkType;\n singularity: boolean;\n cyclesWorked: number;\n\n constructor(type: WorkType, singularity: boolean) {\n this.type = type;\n this.singularity = singularity;\n this.cyclesWorked = 0;\n }\n\n abstract process(player: IPlayer, cycles: number): boolean;\n abstract finish(player: IPlayer, cancelled: boolean): void;\n abstract toJSON(): IReviverValue;\n}\n\nexport enum WorkType {\n CRIME = \"CRIME\",\n CLASS = \"CLASS\",\n CREATE_PROGRAM = \"CREATE_PROGRAM\",\n GRAFTING = \"GRAFTING\",\n FACTION = \"FACTION\",\n COMPANY = \"COMPANY\",\n}\n","import { IMinMaxRange } from \"../types\";\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"../utils/JSONReviver\";\nimport { getRandomInt } from \"../utils/helpers/getRandomInt\";\n\nexport const StockForecastInfluenceLimit = 5;\n\nexport interface IConstructorParams {\n b: boolean;\n initPrice: number | IMinMaxRange;\n marketCap: number;\n mv: number | IMinMaxRange;\n name: string;\n otlkMag: number;\n spreadPerc: number | IMinMaxRange;\n shareTxForMovement: number | IMinMaxRange;\n symbol: string;\n}\n\nconst defaultConstructorParams: IConstructorParams = {\n b: true,\n initPrice: 10e3,\n marketCap: 1e12,\n mv: 1,\n name: \"\",\n otlkMag: 0,\n spreadPerc: 0,\n shareTxForMovement: 1e6,\n symbol: \"\",\n};\n\n// Helper function that convert a IMinMaxRange to a number\nfunction toNumber(n: number | IMinMaxRange): number {\n let value: number;\n switch (typeof n) {\n case \"number\": {\n return n;\n }\n case \"object\": {\n const range = n;\n value = getRandomInt(range.min, range.max);\n break;\n }\n default:\n throw Error(`Do not know how to convert the type '${typeof n}' to a number`);\n }\n\n if (typeof n === \"object\" && typeof n.divisor === \"number\") {\n return value / n.divisor;\n }\n\n return value;\n}\n\n/**\n * Represents the valuation of a company in the World Stock Exchange.\n */\nexport class Stock {\n /**\n * Bear or bull (more likely to go up or down, based on otlkMag)\n */\n b: boolean;\n\n /**\n * Maximum price of a stock (per share)\n */\n readonly cap: number;\n\n /**\n * Stocks previous share price\n */\n lastPrice: number;\n\n /**\n * Maximum number of shares that player can own (both long and short combined)\n */\n readonly maxShares: number;\n\n /**\n * Maximum volatility\n */\n readonly mv: number;\n\n /**\n * Name of the company that the stock is for\n */\n readonly name: string;\n\n /**\n * Outlook magnitude. Represents the stock's forecast and likelihood\n * of increasing/decreasing (based on whether its in bear or bull mode)\n */\n otlkMag: number;\n\n /**\n * Forecast of outlook magnitude. Essentially a second-order forecast.\n * Unlike 'otlkMag', this number is on an absolute scale from 0-100 (rather than 0-50)\n */\n otlkMagForecast: number;\n\n /**\n * Average price of stocks that the player owns in the LONG position\n */\n playerAvgPx: number;\n\n /**\n * Average price of stocks that the player owns in the SHORT position\n */\n playerAvgShortPx: number;\n\n /**\n * Number of shares the player owns in the LONG position\n */\n playerShares: number;\n\n /**\n * Number of shares the player owns in the SHORT position\n */\n playerShortShares: number;\n\n /**\n * Stock's share price\n */\n price: number;\n\n /**\n * How many shares need to be transacted in order to trigger a price movement\n */\n readonly shareTxForMovement: number;\n\n /**\n * How many share transactions remaining until a price movement occurs\n * (separately tracked for upward and downward movements)\n */\n shareTxUntilMovement: number;\n\n /**\n * Spread percentage. The bid/ask prices for this stock are N% above or below\n * the \"real price\" to emulate spread.\n */\n readonly spreadPerc: number;\n\n /**\n * The stock's ticker symbol\n */\n readonly symbol: string;\n\n /**\n * Total number of shares of this stock\n * This is different than maxShares, as this is like authorized stock while\n * maxShares is outstanding stock.\n */\n readonly totalShares: number;\n\n constructor(p: IConstructorParams = defaultConstructorParams) {\n this.name = p.name;\n this.symbol = p.symbol;\n this.price = toNumber(p.initPrice);\n this.lastPrice = this.price;\n this.playerShares = 0;\n this.playerAvgPx = 0;\n this.playerShortShares = 0;\n this.playerAvgShortPx = 0;\n this.mv = toNumber(p.mv);\n this.b = p.b;\n this.otlkMag = p.otlkMag;\n this.otlkMagForecast = this.getAbsoluteForecast();\n this.cap = getRandomInt(this.price * 1e3, this.price * 25e3);\n this.spreadPerc = toNumber(p.spreadPerc);\n this.shareTxForMovement = toNumber(p.shareTxForMovement);\n this.shareTxUntilMovement = this.shareTxForMovement;\n\n // Total shares is determined by market cap, and is rounded to nearest 100k\n const totalSharesUnrounded: number = p.marketCap / this.price;\n this.totalShares = Math.round(totalSharesUnrounded / 1e5) * 1e5;\n\n // Max Shares (Outstanding shares) is a percentage of total shares\n const outstandingSharePercentage = 0.2;\n this.maxShares = Math.round((this.totalShares * outstandingSharePercentage) / 1e5) * 1e5;\n }\n\n /**\n * Safely set the stock's second-order forecast to a new value\n */\n changeForecastForecast(newff: number): void {\n this.otlkMagForecast = newff;\n if (this.otlkMagForecast > 100) {\n this.otlkMagForecast = 100;\n } else if (this.otlkMagForecast < 0) {\n this.otlkMagForecast = 0;\n }\n }\n\n /**\n * Set the stock to a new price. Also updates the stock's previous price tracker\n */\n changePrice(newPrice: number): void {\n this.lastPrice = this.price;\n this.price = newPrice;\n }\n\n /**\n * Change the stock's forecast during a stock market 'tick'.\n * The way a stock's forecast changes depends on various internal properties,\n * but is ultimately determined by RNG\n */\n cycleForecast(changeAmt = 0.1): void {\n const increaseChance = this.getForecastIncreaseChance();\n\n if (Math.random() < increaseChance) {\n // Forecast increases\n if (this.b) {\n this.otlkMag += changeAmt;\n } else {\n this.otlkMag -= changeAmt;\n }\n } else if (this.b) {\n // Forecast decreases\n this.otlkMag -= changeAmt;\n } else {\n this.otlkMag += changeAmt;\n }\n\n this.otlkMag = Math.min(this.otlkMag, 50);\n if (this.otlkMag < 0) {\n this.otlkMag *= -1;\n this.b = !this.b;\n }\n }\n\n /**\n * Change's the stock's second-order forecast during a stock market 'tick'.\n * The change for the second-order forecast to increase is 50/50\n */\n cycleForecastForecast(changeAmt = 0.1): void {\n if (Math.random() < 0.5) {\n this.changeForecastForecast(this.otlkMagForecast + changeAmt);\n } else {\n this.changeForecastForecast(this.otlkMagForecast - changeAmt);\n }\n }\n\n /**\n * \"Flip\" the stock's second-order forecast. This can occur during a\n * stock market \"cycle\" (determined by RNG). It is used to simulate\n * RL stock market cycles and introduce volatility\n */\n flipForecastForecast(): void {\n const diff = this.otlkMagForecast - 50;\n this.otlkMagForecast = 50 + -1 * diff;\n }\n\n /**\n * Returns the stock's absolute forecast, which is a number between 0-100\n */\n getAbsoluteForecast(): number {\n return this.b ? 50 + this.otlkMag : 50 - this.otlkMag;\n }\n\n /**\n * Return the price at which YOUR stock is bought (market ask price). Accounts for spread\n */\n getAskPrice(): number {\n return this.price * (1 + this.spreadPerc / 100);\n }\n\n /**\n * Return the price at which YOUR stock is sold (market bid price). Accounts for spread\n */\n getBidPrice(): number {\n return this.price * (1 - this.spreadPerc / 100);\n }\n\n /**\n * Returns the chance (0-1 decimal) that a stock has of having its forecast increase\n */\n getForecastIncreaseChance(): number {\n const diff = this.otlkMagForecast - this.getAbsoluteForecast();\n\n return (50 + Math.min(Math.max(diff, -45), 45)) / 100;\n }\n\n /**\n * Changes a stock's forecast. This is used when the stock is influenced\n * by a transaction. The stock's forecast always goes towards 50, but the\n * movement is capped by a certain threshold/limit\n */\n influenceForecast(change: number): void {\n if (this.otlkMag > StockForecastInfluenceLimit) {\n this.otlkMag = Math.max(StockForecastInfluenceLimit, this.otlkMag - change);\n }\n }\n\n /**\n * Changes a stock's second-order forecast. This is used when the stock is\n * influenced by a transaction. The stock's second-order forecast always\n * goes towards 50.\n */\n influenceForecastForecast(change: number): void {\n if (this.otlkMagForecast > 50) {\n this.otlkMagForecast -= change;\n this.otlkMagForecast = Math.max(50, this.otlkMagForecast);\n } else if (this.otlkMagForecast < 50) {\n this.otlkMagForecast += change;\n this.otlkMagForecast = Math.min(50, this.otlkMagForecast);\n }\n }\n\n /**\n * Serialize the Stock to a JSON save state.\n */\n toJSON(): IReviverValue {\n return Generic_toJSON(\"Stock\", this);\n }\n\n /**\n * Initializes a Stock from a JSON save state\n */\n static fromJSON(value: IReviverValue): Stock {\n return Generic_fromJSON(Stock, value.data);\n }\n}\n\nReviver.constructors.Stock = Stock;\n","/**\n * Map of all Cities in the game\n * Key = City Name, Value = City object\n */\nimport { City } from \"./City\";\nimport { IMap } from \"../types\";\n\nexport const Cities: IMap = {};\n","import { BitNodeMultipliers } from \"../../BitNode/BitNodeMultipliers\";\nimport { HacknetServerConstants } from \"../data/Constants\";\n\nexport function calculateHashGainRate(\n level: number,\n ramUsed: number,\n maxRam: number,\n cores: number,\n mult: number,\n): number {\n const baseGain = HacknetServerConstants.HashesPerLevel * level;\n const ramMultiplier = Math.pow(1.07, Math.log2(maxRam));\n const coreMultiplier = 1 + (cores - 1) / 5;\n const ramRatio = 1 - ramUsed / maxRam;\n\n return baseGain * ramMultiplier * coreMultiplier * ramRatio * mult * BitNodeMultipliers.HacknetNodeMoney;\n}\n\nexport function calculateLevelUpgradeCost(startingLevel: number, extraLevels = 1, costMult = 1): number {\n const sanitizedLevels = Math.round(extraLevels);\n if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {\n return 0;\n }\n\n if (startingLevel >= HacknetServerConstants.MaxLevel) {\n return Infinity;\n }\n\n const mult = HacknetServerConstants.UpgradeLevelMult;\n let totalMultiplier = 0;\n let currLevel = startingLevel;\n for (let i = 0; i < sanitizedLevels; ++i) {\n totalMultiplier += Math.pow(mult, currLevel);\n ++currLevel;\n }\n\n return 10 * HacknetServerConstants.BaseCost * totalMultiplier * costMult;\n}\n\nexport function calculateRamUpgradeCost(startingRam: number, extraLevels = 1, costMult = 1): number {\n const sanitizedLevels = Math.round(extraLevels);\n if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {\n return 0;\n }\n\n if (startingRam >= HacknetServerConstants.MaxRam) {\n return Infinity;\n }\n\n let totalCost = 0;\n let numUpgrades = Math.round(Math.log2(startingRam));\n let currentRam = startingRam;\n for (let i = 0; i < sanitizedLevels; ++i) {\n const baseCost = currentRam * HacknetServerConstants.RamBaseCost;\n const mult = Math.pow(HacknetServerConstants.UpgradeRamMult, numUpgrades);\n\n totalCost += baseCost * mult;\n\n currentRam *= 2;\n ++numUpgrades;\n }\n totalCost *= costMult;\n\n return totalCost;\n}\n\nexport function calculateCoreUpgradeCost(startingCores: number, extraLevels = 1, costMult = 1): number {\n const sanitizedLevels = Math.round(extraLevels);\n if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {\n return 0;\n }\n\n if (startingCores >= HacknetServerConstants.MaxCores) {\n return Infinity;\n }\n\n const mult = HacknetServerConstants.UpgradeCoreMult;\n let totalCost = 0;\n let currentCores = startingCores;\n for (let i = 0; i < sanitizedLevels; ++i) {\n totalCost += Math.pow(mult, currentCores - 1);\n ++currentCores;\n }\n totalCost *= HacknetServerConstants.CoreBaseCost;\n totalCost *= costMult;\n\n return totalCost;\n}\n\nexport function calculateCacheUpgradeCost(startingCache: number, extraLevels = 1): number {\n const sanitizedLevels = Math.round(extraLevels);\n if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {\n return 0;\n }\n\n if (startingCache >= HacknetServerConstants.MaxCache) {\n return Infinity;\n }\n\n const mult = HacknetServerConstants.UpgradeCacheMult;\n let totalCost = 0;\n let currentCache = startingCache;\n for (let i = 0; i < sanitizedLevels; ++i) {\n totalCost += Math.pow(mult, currentCache - 1);\n ++currentCache;\n }\n totalCost *= HacknetServerConstants.CacheBaseCost;\n\n return totalCost;\n}\n\nexport function calculateServerCost(n: number, mult = 1): number {\n if (n - 1 >= HacknetServerConstants.MaxServers) {\n return Infinity;\n }\n\n return HacknetServerConstants.BaseCost * Math.pow(HacknetServerConstants.PurchaseMult, n - 1) * mult;\n}\n","import { IMap } from \"./types\";\nimport { Terminal } from \"./Terminal\";\n\nexport let Aliases: IMap = {};\nexport let GlobalAliases: IMap = {};\n\nexport function loadAliases(saveString: string): void {\n if (saveString === \"\") {\n Aliases = {};\n } else {\n Aliases = JSON.parse(saveString);\n }\n}\n\nexport function loadGlobalAliases(saveString: string): void {\n if (saveString === \"\") {\n GlobalAliases = {};\n } else {\n GlobalAliases = JSON.parse(saveString);\n }\n}\n\n// Prints all aliases to terminal\nexport function printAliases(): void {\n for (const name of Object.keys(Aliases)) {\n if (Aliases.hasOwnProperty(name)) {\n Terminal.print(\"alias \" + name + \"=\" + Aliases[name]);\n }\n }\n for (const name of Object.keys(GlobalAliases)) {\n if (GlobalAliases.hasOwnProperty(name)) {\n Terminal.print(\"global alias \" + name + \"=\" + GlobalAliases[name]);\n }\n }\n}\n\n// Returns true if successful, false otherwise\nexport function parseAliasDeclaration(dec: string, global = false): boolean {\n const re = /^([\\w|!%,@-]+)=((\"(.+)\")|('(.+)'))$/;\n const matches = dec.match(re);\n if (matches == null || matches.length != 7) {\n return false;\n }\n\n if (global) {\n addGlobalAlias(matches[1], matches[4] || matches[6]);\n } else {\n addAlias(matches[1], matches[4] || matches[6]);\n }\n return true;\n}\n\nfunction addAlias(name: string, value: string): void {\n if (name in GlobalAliases) {\n delete GlobalAliases[name];\n }\n Aliases[name] = value.trim();\n}\n\nfunction addGlobalAlias(name: string, value: string): void {\n if (name in Aliases) {\n delete Aliases[name];\n }\n GlobalAliases[name] = value.trim();\n}\n\nfunction getAlias(name: string): string | null {\n if (Aliases.hasOwnProperty(name)) {\n return Aliases[name];\n }\n\n return null;\n}\n\nfunction getGlobalAlias(name: string): string | null {\n if (GlobalAliases.hasOwnProperty(name)) {\n return GlobalAliases[name];\n }\n return null;\n}\n\nexport function removeAlias(name: string): boolean {\n if (Aliases.hasOwnProperty(name)) {\n delete Aliases[name];\n return true;\n }\n\n if (GlobalAliases.hasOwnProperty(name)) {\n delete GlobalAliases[name];\n return true;\n }\n\n return false;\n}\n\n/**\n * Returns the original string with any aliases substituted in.\n * Aliases are only applied to \"whole words\", one level deep\n */\nexport function substituteAliases(origCommand: string): string {\n const commandArray = origCommand.split(\" \");\n if (commandArray.length > 0) {\n // For the alias and unalias commands, dont substite\n if (commandArray[0] === \"unalias\" || commandArray[0] === \"alias\") {\n return commandArray.join(\" \");\n }\n\n let somethingSubstituted = true;\n let depth = 0;\n\n while (somethingSubstituted && depth < 10) {\n depth++;\n somethingSubstituted = false;\n const alias = getAlias(commandArray[0])?.split(\" \");\n if (alias != null) {\n somethingSubstituted = true;\n commandArray.splice(0, 1, ...alias);\n //commandArray[0] = alias;\n }\n for (let i = 0; i < commandArray.length; ++i) {\n const alias = getGlobalAlias(commandArray[i])?.split(\" \");\n if (alias != null) {\n somethingSubstituted = true;\n commandArray.splice(i, 1, ...alias);\n i += alias.length - 1;\n //commandArray[i] = alias;\n }\n }\n }\n }\n return commandArray.join(\" \");\n}\n","/**\n * Map of all Locations in the game\n * Key = Location name, value = Location object\n */\nimport { City } from \"./City\";\nimport { Cities } from \"./Cities\";\nimport { Location, IConstructorParams } from \"./Location\";\nimport { CityName } from \"./data/CityNames\";\nimport { LocationsMetadata } from \"./data/LocationsMetadata\";\n\nimport { IMap } from \"../types\";\n\nexport const Locations: IMap = {};\n\n/**\n * Here, we'll initialize both Locations and Cities data. These can both\n * be initialized from the `LocationsMetadata`\n */\nfunction constructLocation(p: IConstructorParams): Location {\n if (!p.name) {\n throw new Error(`Invalid constructor parameters for Location. No 'name' property`);\n }\n\n if (Locations[p.name] instanceof Location) {\n console.warn(`Property with name ${p.name} already exists and is being overwritten`);\n }\n\n Locations[p.name] = new Location(p);\n\n return Locations[p.name];\n}\n\n// First construct all cities\nCities[CityName.Aevum] = new City(CityName.Aevum);\nCities[CityName.Chongqing] = new City(CityName.Chongqing);\nCities[CityName.Ishima] = new City(CityName.Ishima);\nCities[CityName.NewTokyo] = new City(CityName.NewTokyo);\nCities[CityName.Sector12] = new City(CityName.Sector12);\nCities[CityName.Volhaven] = new City(CityName.Volhaven);\n\nCities[CityName.Aevum].asciiArt = `\n [aevum police headquarters] 26 \n o \n I \\\\ [bachman & associates] \n \\\\ 56 B \n x \\\\ [summit university] \n \\\\ \\\\ 28 \n \\\\ [snap fitness gym] x o--L-----------N \n K \\\\ / \n \\\\ \\\\ Q [casino] \n x 58 \\\\ / [travel agency] \n \\\\ 94 95 o \n 90 x 59 o------o | \n \\\\ / \\\\ | 98 102 103 \n o--------O------x----o 93 96 o-----+------------o o----o \n \\\\ | \\\\ / \n [hospital] \\\\ 61 [ecorp] x 31 99 o-F-o 101 \n o | \n | o---E-- | [fulcrum tech.] \n x 62 / A [aerocorp] \n [crush fitness gym] | / | \n | / | \n o--------D------+--o o \n | |\\\\ [rho construction] \n H [netlink tech.] | J \n | | \\\\ \n | 34 x \\\\ \n [clarke inc.] C | \\\\ [world stock exchange] \n | | \\\\ \n | | o-M-------R--------o \n[galactic cybersystems] G 35 x \n | [watchdog security] \n | \n 67 o \n \n [the slums] P `;\nCities[CityName.Chongqing].asciiArt = `\n | \n 75 o \n \\\\ \n o 76 \n 7 | | \n | + 77 \n [world stock exchange] F | \n \\\\ o 78 [kuaigong international] \n \\\\ / \n 38 o----x--x------x------A------G-- \n / 39 | 41 [church] \n 37 o + 79 o--x--x-C-0 \n / | / \n / x-----+-----x-----0 [hospital] \n[solaris space system] B | \n | + 80 \n | | \n 34 o E [travel agency] \n | \n | \n x 82 \n [the slums] D `;\nCities[CityName.Ishima].asciiArt = `\n o 59 \n o o | \n [storm tech.] | | G [world stock exchange] \n | | 28 | \n 23 o--C------o--------+----x----o | \n / / 25 | 27 \\\\ x 57 \n / / | \\\\ | \n / / | \\\\ | \n o 22 o | \\\\| 29/56 \n | | o \n | [hospital] D / \\\\ 3 2 1 \n o | / \\\\ o-------x------o \n / o / \\\\ / \n 48 o / 55 x \\\\ / \n \\\\ / / x [glitch] \n \\\\ / [nova medical] / 4/30 \\\\ \n 49 x A \\\\ H \n / \\\\ / \\\\ \n / \\\\ [travel agency] F o 31 \n / \\\\ 51 / \n / o----B------x-----o \n o 50 52 \n [omega soft.] \n [the slums] E `;\nCities[CityName.NewTokyo].asciiArt = `\n \n \n o \n \\\\ \n [arcade] E [defcomm] \n \\\\ \n o--x---A--x--o [travel agency] \n 7 8 10 H \n [vitalife] o 12 [global pharmaceuticals] \n | \n o--D-x----x-------x-C-+--------x--x-B-x---x-o \n 21 22 23 \\\\ 24 25 26 27 \n \\\\ \n [noodle bar] x 14 \n \\\\ \n \\\\ \n [hospital] o 15 [world stock exchange] \n | \n o--x--F--x-----x-----x---+---x----x--I--x-o \n | \n | \n o 17 \n \n \n \n G [the slums] \n `;\nCities[CityName.Sector12].asciiArt = `\n 78 o 97 \n o [icarus microsystems] / \n N [powerhouse gym] o I \n 1 | | / \n o-----+---x----o 4 A [alpha ent.] o-------o / \n | 3 \\\\ | \\\\ / \n | \\\\ | [iron gym] x 95 \n (79) x \\\\ | / \\\\ \n | o-E----+----x----J--o 10 / o----T--o \n | | 8 \\\\ 94 x \n 80 x [city hall] | x 11 / [world stock exchange]\n | | \\\\ / \n | C [cia] \\\\ / \n Q [hospital] | F P [universal energy] \n | o [deltaone] \\\\ / \n | 35 o---------x 13/92/36 \n L [megacorp] 33 / / \\\\ \n | o------------o 34 / \\\\ \n (29) | / [carmichael sec.] D \\\\ \n o-----+-----x------o / O [rothman university] \n | 31 32 [nsa] M \n | / \n B [blade industries] H \n | / [four sigma] \n | [joe's guns] / \n | / \n 85 o--G--------K--------S-------o 88 [the slums] R \n \n [foodnstuff] [travel agency] `;\nCities[CityName.Volhaven].asciiArt = `\n [omnia cybersystems] \n 17 66 68 \n o o------G-------o \n \\\\ / \\\\ \n \\\\ o 65 o 69 \n [syscore sec.] H | | \n \\\\ | | [millenium fitness gym] \n \\\\ | 21 22 23 24 | 26 \n o----+--x--x----x---x---+-----x-------D-----o \n 19 | | 28 \n | F [omnitek inc.] \n [hospital] J 63 o \n | / 72 \n 3 | 5 6 / 9 \n o--------+----x-----x----+----------M-------o \n / | | \n / 61 x [helios labs] B [world stock exchange] \n [travel agency] L | | \n / | o \n / E [nwo] / 75 \n / [computek] | / \n / A-------o------I-----o \n 1 o | | \n | [zb] o 77 \n [lexocorp] C \n | \n o \n 57 \n \n \n [the slums] K `;\n\n// Then construct all locations, and add them to the cities as we go.\nfor (const metadata of LocationsMetadata) {\n const loc = constructLocation(metadata);\n\n const cityName = loc.city;\n if (cityName === null) {\n // Generic location, add to all cities\n for (const city of Object.keys(Cities)) {\n Cities[city].addLocation(loc.name);\n }\n } else {\n Cities[cityName].addLocation(loc.name);\n }\n}\n","import { IPlayer } from \"../PersonObjects/IPlayer\";\n\nexport interface WorkStats {\n money: number;\n reputation: number;\n hackExp: number;\n strExp: number;\n defExp: number;\n dexExp: number;\n agiExp: number;\n chaExp: number;\n intExp: number;\n}\n\ninterface newWorkStatsParams {\n money?: number;\n reputation?: number;\n hackExp?: number;\n strExp?: number;\n defExp?: number;\n dexExp?: number;\n agiExp?: number;\n chaExp?: number;\n intExp?: number;\n}\n\nexport const newWorkStats = (params?: newWorkStatsParams): WorkStats => {\n return {\n money: params?.money ?? 0,\n reputation: params?.reputation ?? 0,\n hackExp: params?.hackExp ?? 0,\n strExp: params?.strExp ?? 0,\n defExp: params?.defExp ?? 0,\n dexExp: params?.dexExp ?? 0,\n agiExp: params?.agiExp ?? 0,\n chaExp: params?.chaExp ?? 0,\n intExp: params?.intExp ?? 0,\n };\n};\n\nexport const sumWorkStats = (w0: WorkStats, w1: WorkStats): WorkStats => {\n return {\n money: w0.money + w1.money,\n reputation: w0.reputation + w1.reputation,\n hackExp: w0.hackExp + w1.hackExp,\n strExp: w0.strExp + w1.strExp,\n defExp: w0.defExp + w1.defExp,\n dexExp: w0.dexExp + w1.dexExp,\n agiExp: w0.agiExp + w1.agiExp,\n chaExp: w0.chaExp + w1.chaExp,\n intExp: w0.intExp + w1.intExp,\n };\n};\n\nexport const scaleWorkStats = (w: WorkStats, n: number): WorkStats => {\n return {\n money: w.money * n,\n reputation: w.reputation * n,\n hackExp: w.hackExp * n,\n strExp: w.strExp * n,\n defExp: w.defExp * n,\n dexExp: w.dexExp * n,\n agiExp: w.agiExp * n,\n chaExp: w.chaExp * n,\n intExp: w.intExp * n,\n };\n};\n\nexport const applyWorkStats = (player: IPlayer, workStats: WorkStats, cycles: number, source: string): WorkStats => {\n const gains = {\n money: workStats.money * cycles,\n reputation: 0,\n hackExp: workStats.hackExp * cycles,\n strExp: workStats.strExp * cycles,\n defExp: workStats.defExp * cycles,\n dexExp: workStats.dexExp * cycles,\n agiExp: workStats.agiExp * cycles,\n chaExp: workStats.chaExp * cycles,\n intExp: workStats.intExp * cycles,\n };\n player.gainHackingExp(gains.hackExp);\n player.gainStrengthExp(gains.strExp);\n player.gainDefenseExp(gains.defExp);\n player.gainDexterityExp(gains.dexExp);\n player.gainAgilityExp(gains.agiExp);\n player.gainCharismaExp(gains.chaExp);\n player.gainIntelligenceExp(gains.intExp);\n player.gainMoney(gains.money, source);\n return gains;\n};\n","/**\n * Lore / world building literature files that can be found on servers.\n * These files can be read by the player\n */\nexport class Literature {\n title: string;\n fn: string;\n txt: string;\n\n constructor(title: string, filename: string, txt: string) {\n this.title = title;\n this.fn = filename;\n this.txt = txt;\n }\n}\n","import React, { useState } from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport Tooltip from \"@mui/material/Tooltip\";\n\ntype IProps = {\n value: string;\n color?: string;\n variant?:\n | \"button\"\n | \"caption\"\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"subtitle1\"\n | \"subtitle2\"\n | \"body1\"\n | \"body2\"\n | \"overline\"\n | \"inherit\"\n | undefined;\n};\n\nexport function CopyableText(props: IProps): React.ReactElement {\n const [open, setOpen] = useState(false);\n\n function copy(): void {\n const copyText = document.createElement(\"textarea\");\n copyText.value = props.value;\n document.body.appendChild(copyText);\n copyText.select();\n copyText.setSelectionRange(0, 1e10);\n document.execCommand(\"copy\");\n document.body.removeChild(copyText);\n setOpen(true);\n setTimeout(() => setOpen(false), 1000);\n }\n\n return (\n Copied!}>\n \n {props.value}\n \n \n );\n}\n","import React from \"react\";\nimport { createTheme, ThemeProvider, Theme, StyledEngineProvider } from \"@mui/material/styles\";\nimport { EventEmitter } from \"../../utils/EventEmitter\";\nimport { Settings } from \"../../Settings/Settings\";\n\nexport const ThemeEvents = new EventEmitter<[]>();\n\ndeclare module \"@mui/material/styles\" {\n interface Theme {\n colors: {\n hp: React.CSSProperties[\"color\"];\n money: React.CSSProperties[\"color\"];\n hack: React.CSSProperties[\"color\"];\n combat: React.CSSProperties[\"color\"];\n cha: React.CSSProperties[\"color\"];\n int: React.CSSProperties[\"color\"];\n rep: React.CSSProperties[\"color\"];\n backgroundprimary: React.CSSProperties[\"color\"];\n backgroundsecondary: React.CSSProperties[\"color\"];\n button: React.CSSProperties[\"color\"];\n successlight: React.CSSProperties[\"color\"];\n success: React.CSSProperties[\"color\"];\n successdark: React.CSSProperties[\"color\"];\n white: React.CSSProperties[\"color\"];\n black: React.CSSProperties[\"color\"];\n };\n }\n interface ThemeOptions {\n colors: {\n hp: React.CSSProperties[\"color\"];\n money: React.CSSProperties[\"color\"];\n hack: React.CSSProperties[\"color\"];\n combat: React.CSSProperties[\"color\"];\n cha: React.CSSProperties[\"color\"];\n int: React.CSSProperties[\"color\"];\n rep: React.CSSProperties[\"color\"];\n backgroundprimary: React.CSSProperties[\"color\"];\n backgroundsecondary: React.CSSProperties[\"color\"];\n button: React.CSSProperties[\"color\"];\n successlight: React.CSSProperties[\"color\"];\n success: React.CSSProperties[\"color\"];\n successdark: React.CSSProperties[\"color\"];\n white: React.CSSProperties[\"color\"];\n black: React.CSSProperties[\"color\"];\n };\n }\n}\n\nlet theme: Theme;\n\nexport function refreshTheme(): void {\n theme = createTheme({\n colors: {\n hp: Settings.theme.hp,\n money: Settings.theme.money,\n hack: Settings.theme.hack,\n combat: Settings.theme.combat,\n cha: Settings.theme.cha,\n int: Settings.theme.int,\n rep: Settings.theme.rep,\n backgroundprimary: Settings.theme.backgroundprimary,\n backgroundsecondary: Settings.theme.backgroundsecondary,\n button: Settings.theme.button,\n successlight: Settings.theme.successlight,\n success: Settings.theme.success,\n successdark: Settings.theme.successdark,\n white: Settings.theme.white,\n black: Settings.theme.black,\n },\n palette: {\n primary: {\n light: Settings.theme.primarylight,\n main: Settings.theme.primary,\n dark: Settings.theme.primarydark,\n },\n secondary: {\n light: Settings.theme.secondarylight,\n main: Settings.theme.secondary,\n dark: Settings.theme.secondarydark,\n },\n error: {\n light: Settings.theme.errorlight,\n main: Settings.theme.error,\n dark: Settings.theme.errordark,\n },\n info: {\n light: Settings.theme.infolight,\n main: Settings.theme.info,\n dark: Settings.theme.infodark,\n },\n warning: {\n light: Settings.theme.warninglight,\n main: Settings.theme.warning,\n dark: Settings.theme.warningdark,\n },\n success: {\n light: Settings.theme.successlight,\n main: Settings.theme.success,\n dark: Settings.theme.successdark,\n },\n background: {\n default: Settings.theme.backgroundprimary,\n paper: Settings.theme.well,\n },\n action: {\n disabled: Settings.theme.disabled,\n },\n },\n typography: {\n fontFamily: Settings.styles.fontFamily,\n button: {\n textTransform: \"none\",\n },\n },\n components: {\n MuiInputBase: {\n styleOverrides: {\n root: {\n backgroundColor: Settings.theme.well,\n color: Settings.theme.primary,\n },\n input: {\n \"&::placeholder\": {\n userSelect: \"none\",\n color: Settings.theme.primarydark,\n },\n },\n },\n },\n\n MuiInput: {\n styleOverrides: {\n root: {\n backgroundColor: Settings.theme.well,\n borderBottomColor: \"#fff\",\n },\n underline: {\n \"&:hover\": {\n borderBottomColor: Settings.theme.primarydark,\n },\n \"&:before\": {\n borderBottomColor: Settings.theme.primary,\n },\n \"&:after\": {\n borderBottomColor: Settings.theme.primarylight,\n },\n },\n },\n },\n\n MuiInputLabel: {\n styleOverrides: {\n root: {\n color: Settings.theme.primarydark, // why is this switched?\n userSelect: \"none\",\n \"&:before\": {\n color: Settings.theme.primarylight,\n },\n },\n },\n },\n\n MuiButtonGroup: {\n styleOverrides: {\n root: {\n \"& .MuiButton-root:not(:last-of-type)\": {\n marginRight: \"1px\",\n },\n },\n },\n },\n\n MuiButton: {\n styleOverrides: {\n root: {\n backgroundColor: Settings.theme.button,\n border: \"1px solid \" + Settings.theme.well,\n // color: Settings.theme.primary,\n \"&:hover\": {\n backgroundColor: Settings.theme.backgroundsecondary,\n },\n\n borderRadius: 0,\n },\n },\n },\n MuiSelect: {\n styleOverrides: {\n icon: {\n color: Settings.theme.primary,\n },\n },\n defaultProps: {\n variant: \"standard\",\n },\n },\n MuiTextField: {\n defaultProps: {\n variant: \"standard\",\n },\n },\n MuiTypography: {\n defaultProps: {\n color: \"primary\",\n },\n styleOverrides: {\n root: {\n lineHeight: Settings.styles.lineHeight,\n },\n },\n },\n MuiMenu: {\n styleOverrides: {\n list: {\n backgroundColor: Settings.theme.well,\n },\n },\n },\n MuiMenuItem: {\n styleOverrides: {\n root: {\n color: Settings.theme.primary,\n },\n },\n },\n MuiAccordionSummary: {\n styleOverrides: {\n root: {\n backgroundColor: \"#111\",\n },\n },\n },\n MuiAccordionDetails: {\n styleOverrides: {\n root: {\n backgroundColor: Settings.theme.backgroundsecondary,\n },\n },\n },\n MuiIconButton: {\n styleOverrides: {\n root: {\n color: Settings.theme.primary,\n },\n },\n },\n MuiTooltip: {\n styleOverrides: {\n tooltip: {\n fontSize: \"1em\",\n color: Settings.theme.primary,\n backgroundColor: Settings.theme.well,\n borderRadius: 0,\n border: \"2px solid white\",\n maxWidth: \"100vh\",\n },\n },\n defaultProps: {\n disableInteractive: true,\n },\n },\n MuiSlider: {\n styleOverrides: {\n valueLabel: {\n color: Settings.theme.primary,\n backgroundColor: Settings.theme.well,\n },\n },\n },\n MuiDrawer: {\n styleOverrides: {\n paper: {\n \"&::-webkit-scrollbar\": {\n // webkit\n display: \"none\",\n },\n scrollbarWidth: \"none\", // firefox\n backgroundColor: Settings.theme.backgroundsecondary,\n },\n paperAnchorDockedLeft: {\n borderRight: \"1px solid \" + Settings.theme.welllight,\n },\n },\n },\n MuiDivider: {\n styleOverrides: {\n root: {\n backgroundColor: Settings.theme.welllight,\n },\n },\n },\n MuiFormControlLabel: {\n styleOverrides: {\n root: {\n color: Settings.theme.primary,\n },\n },\n },\n MuiSwitch: {\n styleOverrides: {\n switchBase: {\n color: Settings.theme.primarydark,\n },\n track: {\n backgroundColor: Settings.theme.welllight,\n },\n },\n },\n MuiPaper: {\n styleOverrides: {\n root: {\n borderRadius: 0,\n backgroundColor: Settings.theme.backgroundsecondary,\n border: \"1px solid \" + Settings.theme.welllight,\n },\n },\n },\n MuiTablePagination: {\n styleOverrides: {\n select: {\n color: Settings.theme.primary,\n },\n selectLabel: {\n color: Settings.theme.primary,\n },\n displayedRows: {\n color: Settings.theme.primary,\n },\n },\n },\n MuiTab: {\n styleOverrides: {\n textColorPrimary: {\n color: Settings.theme.secondary,\n \"&.Mui-selected\": {\n color: Settings.theme.primary,\n },\n },\n root: {\n backgroundColor: Settings.theme.backgroundsecondary,\n border: \"1px solid \" + Settings.theme.well,\n margin: \"3px\",\n\n \"&.Mui-selected\": {\n backgroundColor: Settings.theme.button,\n },\n },\n },\n },\n MuiTabs: {\n styleOverrides: {\n scrollButtons: {\n backgroundColor: Settings.theme.backgroundsecondary,\n color: Settings.theme.secondary,\n margin: \"3px\",\n opacity: 1,\n width: \"fit-content\",\n\n \"&.Mui-disabled\": {\n opacity: 0.5,\n },\n },\n },\n defaultProps: {\n TabIndicatorProps: {\n style: {\n display: \"none\",\n },\n },\n },\n },\n MuiAlert: {\n styleOverrides: {\n root: {\n backgroundColor: Settings.theme.black,\n borderRadius: 0,\n border: \"1px solid \" + Settings.theme.well,\n },\n standardSuccess: {\n color: Settings.theme.successlight,\n },\n standardError: {\n color: Settings.theme.errorlight,\n },\n standardWarning: {\n color: Settings.theme.warninglight,\n },\n standardInfo: {\n color: Settings.theme.infolight,\n },\n },\n },\n },\n });\n\n document.body.style.backgroundColor = theme.colors.backgroundprimary?.toString() ?? \"black\";\n}\nrefreshTheme();\n\ninterface IProps {\n children: JSX.Element[] | JSX.Element;\n}\n\nexport const TTheme = ({ children }: IProps): React.ReactElement => (\n \n {children}\n \n);\n","// Enums that defined allowed values for setting configuration\n\n/**\n * Allowed values for the 'OwnedAugmentationsOrder' setting\n */\nexport enum PurchaseAugmentationsOrderSetting {\n Cost,\n Default,\n Reputation,\n Purchasable,\n}\n\n/**\n * Allowed values for the 'OwnedAugmentationsOrder' setting\n */\nexport enum OwnedAugmentationsOrderSetting {\n Alphabetically,\n AcquirementTime,\n}\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { EventEmitter } from \"../../utils/EventEmitter\";\nimport { RunningScript } from \"../../Script/RunningScript\";\nimport { killWorkerScript } from \"../../Netscript/killWorkerScript\";\nimport Typography from \"@mui/material/Typography\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport Paper from \"@mui/material/Paper\";\nimport Draggable, { DraggableEvent } from \"react-draggable\";\nimport { ResizableBox } from \"react-resizable\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport ArrowForwardIosIcon from \"@mui/icons-material/ArrowForwardIos\";\nimport { workerScripts } from \"../../Netscript/WorkerScripts\";\nimport { startWorkerScript } from \"../../NetscriptWorker\";\nimport { GetServer } from \"../../Server/AllServers\";\nimport { findRunningScript } from \"../../Script/ScriptHelpers\";\nimport { Player } from \"../../Player\";\nimport { debounce } from \"lodash\";\nimport { Settings } from \"../../Settings/Settings\";\nimport { ANSIITypography } from \"./ANSIITypography\";\nimport { ScriptArg } from \"../../Netscript/ScriptArg\";\n\nlet layerCounter = 0;\n\nexport const LogBoxEvents = new EventEmitter<[RunningScript]>();\nexport const LogBoxCloserEvents = new EventEmitter<[number]>();\nexport const LogBoxClearEvents = new EventEmitter<[]>();\n\ninterface Log {\n id: string;\n script: RunningScript;\n}\n\nlet logs: Log[] = [];\n\nexport function LogBoxManager(): React.ReactElement {\n const setRerender = useState(true)[1];\n function rerender(): void {\n setRerender((o) => !o);\n }\n useEffect(\n () =>\n LogBoxEvents.subscribe((script: RunningScript) => {\n const id = script.server + \"-\" + script.filename + script.args.map((x: ScriptArg): string => `${x}`).join(\"-\");\n if (logs.find((l) => l.id === id)) return;\n logs.push({\n id: id,\n script: script,\n });\n rerender();\n }),\n [],\n );\n\n //Event used by ns.closeTail to close tail windows\n useEffect(\n () =>\n LogBoxCloserEvents.subscribe((pid: number) => {\n closePid(pid);\n }),\n [],\n );\n\n useEffect(() =>\n LogBoxClearEvents.subscribe(() => {\n logs = [];\n rerender();\n }),\n );\n\n //Close tail windows by their id\n function close(id: string): void {\n logs = logs.filter((l) => l.id !== id);\n rerender();\n }\n\n //Close tail windows by their pid\n function closePid(pid: number): void {\n logs = logs.filter((log) => log.script.pid != pid);\n rerender();\n }\n\n return (\n <>\n {logs.map((log) => (\n close(log.id)} />\n ))}\n >\n );\n}\n\ninterface IProps {\n script: RunningScript;\n id: string;\n onClose: () => void;\n}\n\nconst useStyles = makeStyles(() =>\n createStyles({\n logs: {\n overflowY: \"scroll\",\n overflowX: \"hidden\",\n scrollbarWidth: \"auto\",\n flexDirection: \"column-reverse\",\n whiteSpace: \"pre-wrap\",\n wordWrap: \"break-word\",\n },\n titleButton: {\n padding: \"1px 0\",\n height: \"100%\",\n },\n }),\n);\n\nexport const logBoxBaseZIndex = 1500;\n\nfunction LogWindow(props: IProps): React.ReactElement {\n const draggableRef = useRef(null);\n const rootRef = useRef(null);\n const [script, setScript] = useState(props.script);\n const classes = useStyles();\n const container = useRef(null);\n const setRerender = useState(false)[1];\n const [minimized, setMinimized] = useState(false);\n function rerender(): void {\n setRerender((old) => !old);\n }\n\n // useEffect(\n // () =>\n // WorkerScriptStartStopEventEmitter.subscribe(() => {\n // setTimeout(() => {\n // const server = GetServer(script.server);\n // if (server === null) return;\n // const exisitingScript = findRunningScript(script.filename, script.args, server);\n // if (exisitingScript) {\n // exisitingScript.logs = script.logs.concat(exisitingScript.logs)\n // setScript(exisitingScript)\n // }\n // rerender();\n // }, 100)\n // }),\n // [],\n // );\n\n useEffect(() => {\n updateLayer();\n const id = setInterval(rerender, 1000);\n return () => clearInterval(id);\n }, []);\n\n function kill(): void {\n killWorkerScript(script, script.server, true);\n }\n\n function run(): void {\n const server = GetServer(script.server);\n if (server === null) return;\n const s = findRunningScript(script.filename, script.args, server);\n if (s === null) {\n startWorkerScript(Player, script, server);\n } else {\n setScript(s);\n }\n }\n\n function updateLayer(): void {\n const c = container.current;\n if (c === null) return;\n c.style.zIndex = logBoxBaseZIndex + layerCounter + \"\";\n layerCounter++;\n rerender();\n }\n\n function title(full = false): string {\n const maxLength = 30;\n const t = `${script.filename} ${script.args.map((x: ScriptArg): string => `${x}`).join(\" \")}`;\n if (full || t.length <= maxLength) {\n return t;\n }\n return t.slice(0, maxLength - 3) + \"...\";\n }\n\n function minimize(): void {\n setMinimized(!minimized);\n }\n\n function lineColor(s: string): \"error\" | \"success\" | \"warn\" | \"info\" | \"primary\" {\n if (s.match(/(^\\[[^\\]]+\\] )?ERROR/) || s.match(/(^\\[[^\\]]+\\] )?FAIL/)) {\n return \"error\";\n }\n if (s.match(/(^\\[[^\\]]+\\] )?SUCCESS/)) {\n return \"success\";\n }\n if (s.match(/(^\\[[^\\]]+\\] )?WARN/)) {\n return \"warn\";\n }\n if (s.match(/(^\\[[^\\]]+\\] )?INFO/)) {\n return \"info\";\n }\n return \"primary\";\n }\n\n // And trigger fakeDrag when the window is resized\n useEffect(() => {\n window.addEventListener(\"resize\", onResize);\n return () => {\n window.removeEventListener(\"resize\", onResize);\n };\n }, []);\n\n const onResize = debounce((): void => {\n const node = draggableRef?.current;\n if (!node) return;\n\n if (!isOnScreen(node)) {\n resetPosition();\n }\n }, 100);\n\n const isOnScreen = (node: HTMLDivElement): boolean => {\n const bounds = node.getBoundingClientRect();\n\n return !(bounds.right < 0 || bounds.bottom < 0 || bounds.left > innerWidth || bounds.top > outerWidth);\n };\n\n const resetPosition = (): void => {\n const node = rootRef?.current;\n if (!node) return;\n const state = node.state as { x: number; y: number };\n state.x = 0;\n state.y = 0;\n node.setState(state);\n };\n\n const boundToBody = (e: DraggableEvent): void | false => {\n if (\n e instanceof MouseEvent &&\n (e.clientX < 0 || e.clientY < 0 || e.clientX > innerWidth || e.clientY > innerHeight)\n )\n return false;\n };\n\n // Max [width, height]\n const minConstraints: [number, number] = [250, 33];\n\n return (\n \n \n \n \n \n }\n >\n <>\n \n \n {title(true)}\n \n\n \n {!workerScripts.has(script.pid) ? (\n \n ) : (\n \n )}\n \n \n \n \n\n \n \n {script.logs.map(\n (line: string, i: number): JSX.Element => (\n \n \n \n \n ),\n )}\n \n \n >\n \n \n \n );\n}\n","import { IMap } from \"../types\";\n\n// Map of material (by name) to their sizes (how much space it takes in warehouse)\nexport const MaterialSizes: IMap = {\n Water: 0.05,\n Energy: 0.01,\n Food: 0.03,\n Plants: 0.05,\n Metal: 0.1,\n Hardware: 0.06,\n Chemicals: 0.05,\n Drugs: 0.02,\n Robots: 0.5,\n AICores: 0.1,\n RealEstate: 0.005,\n \"Real Estate\": 0.005,\n \"AI Cores\": 0.1,\n};\n","export function calculateSkill(exp: number, mult = 1): number {\n return Math.max(Math.floor(mult * (32 * Math.log(exp + 534.5) - 200)), 1);\n}\n\nexport function calculateExp(skill: number, mult = 1): number {\n return Math.exp((skill / mult + 200) / 32) - 534.6;\n}\n\nexport function calculateSkillProgress(exp: number, mult = 1): ISkillProgress {\n const currentSkill = calculateSkill(exp, mult);\n const nextSkill = currentSkill + 1;\n\n let baseExperience = calculateExp(currentSkill, mult);\n if (baseExperience < 0) baseExperience = 0;\n\n let nextExperience = calculateExp(nextSkill, mult);\n if (nextExperience < 0) nextExperience = 0;\n\n const normalize = (value: number): number => ((value - baseExperience) * 100) / (nextExperience - baseExperience);\n let progress = nextExperience - baseExperience !== 0 ? normalize(exp) : 99.99;\n\n // Clamp progress: When sleeves are working out, the player gets way too much progress\n if (progress < 0) progress = 0;\n if (progress > 100) progress = 100;\n\n // Clamp floating point imprecisions\n let currentExperience = exp - baseExperience;\n let remainingExperience = nextExperience - exp;\n if (currentExperience < 0) currentExperience = 0;\n if (remainingExperience < 0) remainingExperience = 0;\n\n return {\n currentSkill,\n nextSkill,\n baseExperience,\n experience: exp,\n nextExperience,\n currentExperience,\n remainingExperience,\n progress,\n };\n}\n\nexport interface ISkillProgress {\n currentSkill: number;\n nextSkill: number;\n baseExperience: number;\n experience: number;\n nextExperience: number;\n currentExperience: number;\n remainingExperience: number;\n progress: number;\n}\n\nexport function getEmptySkillProgress(): ISkillProgress {\n return {\n currentSkill: 0,\n nextSkill: 0,\n baseExperience: 0,\n experience: 0,\n nextExperience: 0,\n currentExperience: 0,\n remainingExperience: 0,\n progress: 0,\n };\n}\n","export interface IMults {\n hack?: number;\n str?: number;\n def?: number;\n dex?: number;\n agi?: number;\n cha?: number;\n}\n\nexport enum UpgradeType {\n Weapon = \"w\",\n Armor = \"a\",\n Vehicle = \"v\",\n Rootkit = \"r\",\n Augmentation = \"g\",\n}\n\n/**\n * Defines the parameters that can be used to initialize and describe a GangMemberUpgrade\n * (defined in Gang.js)\n */\ninterface IGangMemberUpgradeMetadata {\n cost: number;\n mults: IMults;\n name: string;\n upgType: UpgradeType;\n}\n\n/**\n * Array of metadata for all Gang Member upgrades. Used to construct the global GangMemberUpgrade\n * objects in Gang.js\n */\nexport const gangMemberUpgradesMetadata: IGangMemberUpgradeMetadata[] = [\n {\n cost: 1e6,\n mults: { str: 1.04, def: 1.04 },\n name: \"Baseball Bat\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 12e6,\n mults: { str: 1.08, def: 1.08, dex: 1.08 },\n name: \"Katana\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 25e6,\n mults: { str: 1.1, def: 1.1, dex: 1.1, agi: 1.1 },\n name: \"Glock 18C\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 50e6,\n mults: { str: 1.12, def: 1.1, agi: 1.1 },\n name: \"P90C\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 60e6,\n mults: { str: 1.2, def: 1.15 },\n name: \"Steyr AUG\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 100e6,\n mults: { str: 1.25, def: 1.2 },\n name: \"AK-47\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 150e6,\n mults: { str: 1.3, def: 1.25 },\n name: \"M15A10 Assault Rifle\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 225e6,\n mults: { str: 1.3, dex: 1.25, agi: 1.3 },\n name: \"AWM Sniper Rifle\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 2e6,\n mults: { def: 1.04 },\n name: \"Bulletproof Vest\",\n upgType: UpgradeType.Armor,\n },\n {\n cost: 5e6,\n mults: { def: 1.08 },\n name: \"Full Body Armor\",\n upgType: UpgradeType.Armor,\n },\n {\n cost: 25e6,\n mults: { def: 1.15, agi: 1.15 },\n name: \"Liquid Body Armor\",\n upgType: UpgradeType.Armor,\n },\n {\n cost: 40e6,\n mults: { def: 1.2 },\n name: \"Graphene Plating Armor\",\n upgType: UpgradeType.Armor,\n },\n {\n cost: 3e6,\n mults: { agi: 1.04, cha: 1.04 },\n name: \"Ford Flex V20\",\n upgType: UpgradeType.Vehicle,\n },\n {\n cost: 9e6,\n mults: { agi: 1.08, cha: 1.08 },\n name: \"ATX1070 Superbike\",\n upgType: UpgradeType.Vehicle,\n },\n {\n cost: 18e6,\n mults: { agi: 1.12, cha: 1.12 },\n name: \"Mercedes-Benz S9001\",\n upgType: UpgradeType.Vehicle,\n },\n {\n cost: 30e6,\n mults: { agi: 1.16, cha: 1.16 },\n name: \"White Ferrari\",\n upgType: UpgradeType.Vehicle,\n },\n {\n cost: 5e6,\n mults: { hack: 1.05 },\n name: \"NUKE Rootkit\",\n upgType: UpgradeType.Rootkit,\n },\n {\n cost: 25e6,\n mults: { hack: 1.1 },\n name: \"Soulstealer Rootkit\",\n upgType: UpgradeType.Rootkit,\n },\n {\n cost: 75e6,\n mults: { hack: 1.15 },\n name: \"Demon Rootkit\",\n upgType: UpgradeType.Rootkit,\n },\n {\n cost: 40e6,\n mults: { hack: 1.12 },\n name: \"Hmap Node\",\n upgType: UpgradeType.Rootkit,\n },\n {\n cost: 75e6,\n mults: { hack: 1.15 },\n name: \"Jack the Ripper\",\n upgType: UpgradeType.Rootkit,\n },\n {\n cost: 10e9,\n mults: { str: 1.3, dex: 1.3 },\n name: \"Bionic Arms\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 10e9,\n mults: { agi: 1.6 },\n name: \"Bionic Legs\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 15e9,\n mults: { str: 1.15, def: 1.15, dex: 1.15, agi: 1.15 },\n name: \"Bionic Spine\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 20e9,\n mults: { str: 1.4, def: 1.4 },\n name: \"BrachiBlades\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 12e9,\n mults: { str: 1.2, def: 1.2 },\n name: \"Nanofiber Weave\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 25e9,\n mults: { str: 1.5, agi: 1.5 },\n name: \"Synthetic Heart\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 15e9,\n mults: { str: 1.3, def: 1.3 },\n name: \"Synfibril Muscle\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 5e9,\n mults: { hack: 1.05 },\n name: \"BitWire\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 10e9,\n mults: { hack: 1.15 },\n name: \"Neuralstimulator\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 7.5e9,\n mults: { hack: 1.1 },\n name: \"DataJack\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 50e9,\n mults: { str: 1.7, def: 1.7 },\n name: \"Graphene Bone Lacings\",\n upgType: UpgradeType.Augmentation,\n },\n];\n","import { FactionInfo, FactionInfos } from \"./FactionInfo\";\nimport { favorToRep, repToFavor } from \"./formulas/favor\";\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"../utils/JSONReviver\";\n\nexport class Faction {\n /**\n * Flag signalling whether the player has already received an invitation\n * to this faction\n */\n alreadyInvited = false;\n\n /**\n * Holds names of all augmentations that this Faction offers\n */\n augmentations: string[] = [];\n\n /**\n * Amount of favor the player has with this faction.\n */\n favor = 0;\n\n /**\n * Flag signalling whether player has been banned from this faction\n */\n isBanned = false;\n\n /**\n * Flag signalling whether player is a member of this faction\n */\n isMember = false;\n\n /**\n * Name of faction\n */\n name = \"\";\n\n /**\n * Amount of reputation player has with this faction\n */\n playerReputation = 0;\n\n constructor(name = \"\") {\n this.name = name;\n }\n\n getInfo(): FactionInfo {\n const info = FactionInfos[this.name];\n if (info == null) {\n throw new Error(\n `Missing faction from FactionInfos: ${this.name} this probably means the faction got corrupted somehow`,\n );\n }\n\n return info;\n }\n\n gainFavor(): void {\n if (this.favor == null) {\n this.favor = 0;\n }\n this.favor += this.getFavorGain();\n }\n\n //Returns an array with [How much favor would be gained, how much rep would be left over]\n getFavorGain(): number {\n if (this.favor == null) {\n this.favor = 0;\n }\n const storedRep = Math.max(0, favorToRep(this.favor));\n const totalRep = storedRep + this.playerReputation;\n const newFavor = repToFavor(totalRep);\n return newFavor - this.favor;\n }\n\n /**\n * Serialize the current object to a JSON save state.\n */\n toJSON(): IReviverValue {\n return Generic_toJSON(\"Faction\", this);\n }\n\n /**\n * Initiatizes a Faction object from a JSON save state.\n */\n static fromJSON(value: IReviverValue): Faction {\n return Generic_fromJSON(Faction, value.data);\n }\n}\n\nReviver.constructors.Faction = Faction;\n","import { FactionNames } from \"../../Faction/data/FactionNames\";\n\nexport const GangConstants: {\n GangRespectToReputationRatio: number;\n MaximumGangMembers: number;\n CyclesPerTerritoryAndPowerUpdate: number;\n AscensionMultiplierRatio: number;\n Names: string[];\n GangKarmaRequirement: number;\n} = {\n // Respect is divided by this to get rep gain\n GangRespectToReputationRatio: 75,\n MaximumGangMembers: 12,\n CyclesPerTerritoryAndPowerUpdate: 100,\n // Portion of upgrade multiplier that is kept after ascending\n AscensionMultiplierRatio: 0.15,\n // Names of possible Gangs\n Names: [\n FactionNames.SlumSnakes,\n FactionNames.Tetrads,\n FactionNames.TheSyndicate,\n FactionNames.TheDarkArmy,\n FactionNames.SpeakersForTheDead,\n FactionNames.NiteSec,\n FactionNames.TheBlackHand,\n ],\n GangKarmaRequirement: -54000,\n};\n","import { WorkerScript } from \"./WorkerScript\";\n\n/**\n * Script death marker.\n *\n * IMPORTANT: the game engine should not base any of it's decisions on the data\n * carried in a ScriptDeath instance.\n *\n * This is because ScriptDeath instances are thrown through player code when a\n * script is killed. Which grants the player access to the class and the ability\n * to construct new instances with arbitrary data.\n */\nexport class ScriptDeath {\n /** Process ID number. */\n pid: number;\n\n /** Filename of the script. */\n name: string;\n\n /** IP Address on which the script was running */\n hostname: string;\n\n /** Status message in case of script error. */\n errorMessage = \"\";\n\n constructor(ws: WorkerScript) {\n this.pid = ws.pid;\n this.name = ws.name;\n this.hostname = ws.hostname;\n this.errorMessage = ws.errorMessage;\n\n Object.freeze(this);\n }\n}\n\nObject.freeze(ScriptDeath);\nObject.freeze(ScriptDeath.prototype);\n","/**\n * Functions for handling WorkerScripts, which are the underlying mechanism\n * that allows for scripts to run\n */\nimport { killWorkerScript } from \"./Netscript/killWorkerScript\";\nimport { ScriptDeath } from \"./Netscript/ScriptDeath\";\nimport { WorkerScript } from \"./Netscript/WorkerScript\";\nimport { workerScripts } from \"./Netscript/WorkerScripts\";\nimport { WorkerScriptStartStopEventEmitter } from \"./Netscript/WorkerScriptStartStopEventEmitter\";\nimport { generateNextPid } from \"./Netscript/Pid\";\n\nimport { CONSTANTS } from \"./Constants\";\nimport { Interpreter } from \"./ThirdParty/JSInterpreter\";\nimport { isScriptErrorMessage, makeRuntimeRejectMsg } from \"./NetscriptEvaluator\";\nimport { NetscriptFunctions } from \"./NetscriptFunctions\";\nimport { executeJSScript, Node } from \"./NetscriptJSEvaluator\";\nimport { NetscriptPort, IPort } from \"./NetscriptPort\";\nimport { RunningScript } from \"./Script/RunningScript\";\nimport { getRamUsageFromRunningScript } from \"./Script/RunningScriptHelpers\";\nimport { scriptCalculateOfflineProduction } from \"./Script/ScriptHelpers\";\nimport { Script } from \"./Script/Script\";\nimport { GetAllServers } from \"./Server/AllServers\";\nimport { BaseServer } from \"./Server/BaseServer\";\nimport { Settings } from \"./Settings/Settings\";\n\nimport { generate } from \"escodegen\";\n\nimport { dialogBoxCreate } from \"./ui/React/DialogBox\";\nimport { arrayToString } from \"./utils/helpers/arrayToString\";\nimport { roundToTwo } from \"./utils/helpers/roundToTwo\";\nimport { isString } from \"./utils/helpers/isString\";\nimport { sprintf } from \"sprintf-js\";\n\nimport { parse } from \"acorn\";\nimport { simple as walksimple } from \"acorn-walk\";\nimport { areFilesEqual } from \"./Terminal/DirectoryHelpers\";\nimport { Player } from \"./Player\";\nimport { Terminal } from \"./Terminal\";\nimport { IPlayer } from \"./PersonObjects/IPlayer\";\nimport { ScriptArg } from \"./Netscript/ScriptArg\";\n\n// Netscript Ports are instantiated here\nexport const NetscriptPorts: IPort[] = [];\nfor (let i = 0; i < CONSTANTS.NumNetscriptPorts; ++i) {\n NetscriptPorts.push(NetscriptPort());\n}\n\nexport function prestigeWorkerScripts(): void {\n for (const ws of workerScripts.values()) {\n ws.env.stopFlag = true;\n killWorkerScript(ws);\n }\n for (const port of NetscriptPorts) {\n port.clear();\n }\n\n WorkerScriptStartStopEventEmitter.emit();\n workerScripts.clear();\n}\n\n// JS script promises need a little massaging to have the same guarantees as netscript\n// promises. This does said massaging and kicks the script off. It returns a promise\n// that resolves or rejects when the corresponding worker script is done.\nfunction startNetscript2Script(player: IPlayer, workerScript: WorkerScript): Promise {\n workerScript.running = true;\n\n // The name of the currently running netscript function, to prevent concurrent\n // calls to hack, grow, etc.\n let runningFn: string | null = null;\n\n // We need to go through the environment and wrap each function in such a way that it\n // can be called at most once at a time. This will prevent situations where multiple\n // hack promises are outstanding, for example.\n function wrap(propName: string, f: (...args: unknown[]) => Promise): (...args: unknown[]) => Promise {\n // This function unfortunately cannot be an async function, because we don't\n // know if the original one was, and there's no way to tell.\n return function (...args: unknown[]) {\n // Wrap every netscript function with a check for the stop flag.\n // This prevents cases where we never stop because we are only calling\n // netscript functions that don't check this.\n // This is not a problem for legacy Netscript because it also checks the\n // stop flag in the evaluator.\n if (workerScript.env.stopFlag) {\n throw new ScriptDeath(workerScript);\n }\n\n if (propName === \"asleep\") return f(...args); // OK for multiple simultaneous calls to sleep.\n\n const msg =\n \"Concurrent calls to Netscript functions are not allowed! \" +\n \"Did you forget to await hack(), grow(), or some other \" +\n \"promise-returning function? (Currently running: %s tried to run: %s)\";\n if (runningFn) {\n workerScript.errorMessage = makeRuntimeRejectMsg(workerScript, sprintf(msg, runningFn, propName));\n throw new ScriptDeath(workerScript);\n }\n runningFn = propName;\n\n // If the function throws an error, clear the runningFn flag first, and then re-throw it\n // This allows people to properly catch errors thrown by NS functions without getting\n // the concurrent call error above\n let result;\n try {\n result = f(...args);\n } catch (e: unknown) {\n runningFn = null;\n throw e;\n }\n\n if (result && result.finally !== undefined) {\n return result.finally(function () {\n runningFn = null;\n });\n } else {\n runningFn = null;\n return result;\n }\n };\n }\n\n function wrapObject(vars: unknown, ...tree: string[]): void {\n const isObject = (x: unknown): x is { [key: string]: unknown } => typeof x === \"object\";\n if (!isObject(vars)) throw new Error(\"wrong argument sent to wrapObject\");\n for (const prop of Object.keys(vars)) {\n let e = vars[prop];\n switch (typeof e) {\n case \"function\": {\n e = wrap([...tree, prop].join(\".\"), e as any);\n break;\n }\n case \"object\": {\n if (Array.isArray(e)) continue;\n wrapObject(e, ...tree, prop);\n break;\n }\n }\n }\n }\n wrapObject(workerScript.env.vars);\n\n // Note: the environment that we pass to the JS script only needs to contain the functions visible\n // to that script, which env.vars does at this point.\n return new Promise((resolve, reject) => {\n executeJSScript(player, workerScript.getServer().scripts, workerScript)\n .then(() => {\n resolve();\n })\n .catch((e) => reject(e));\n }).catch((e) => {\n if (e instanceof Error) {\n if (e instanceof SyntaxError) {\n workerScript.errorMessage = makeRuntimeRejectMsg(workerScript, e.message + \" (sorry we can't be more helpful)\");\n } else {\n workerScript.errorMessage = makeRuntimeRejectMsg(\n workerScript,\n e.message + ((e.stack && \"\\nstack:\\n\" + e.stack.toString()) || \"\"),\n );\n }\n throw new ScriptDeath(workerScript);\n } else if (isScriptErrorMessage(e)) {\n workerScript.errorMessage = e;\n throw new ScriptDeath(workerScript);\n } else if (e instanceof ScriptDeath) {\n throw e;\n }\n\n // Don't know what to do with it, let's try making an error message out of it\n workerScript.errorMessage = makeRuntimeRejectMsg(workerScript, \"\" + e);\n throw new ScriptDeath(workerScript);\n });\n}\n\nfunction startNetscript1Script(workerScript: WorkerScript): Promise {\n const code = workerScript.code;\n workerScript.running = true;\n\n //Process imports\n let codeWithImports, codeLineOffset;\n try {\n const importProcessingRes = processNetscript1Imports(code, workerScript);\n codeWithImports = importProcessingRes.code;\n codeLineOffset = importProcessingRes.lineOffset;\n } catch (e: unknown) {\n dialogBoxCreate(\"Error processing Imports in \" + workerScript.name + \": \" + String(e));\n workerScript.env.stopFlag = true;\n workerScript.running = false;\n killWorkerScript(workerScript);\n return Promise.resolve();\n }\n\n const interpreterInitialization = function (int: Interpreter, scope: unknown): void {\n //Add the Netscript environment\n const ns = NetscriptFunctions(workerScript);\n for (const name of Object.keys(ns)) {\n const entry = ns[name];\n if (typeof entry === \"function\") {\n //Async functions need to be wrapped. See JS-Interpreter documentation\n const asyncFuncs = [\"hack\", \"grow\", \"weaken\", \"sleep\", \"prompt\", \"manualHack\", \"scp\", \"write\", \"share\", \"wget\"];\n\n if (asyncFuncs.includes(name)) {\n const tempWrapper = function (...args: unknown[]): void {\n const fnArgs = [];\n\n //All of the Object/array elements are in JSInterpreter format, so\n //we have to convert them back to native format to pass them to these fns\n for (let i = 0; i < args.length - 1; ++i) {\n if (typeof args[i] === \"object\" || Array.isArray(args[i])) {\n fnArgs.push(int.pseudoToNative(args[i]));\n } else {\n fnArgs.push(args[i]);\n }\n }\n const callb = args[args.length - 1];\n const fnPromise = entry(...fnArgs);\n fnPromise\n .then(function (res: unknown) {\n if (typeof callb === \"function\") {\n callb(res);\n }\n })\n .catch(function (err: unknown) {\n if (typeof err === \"string\") {\n console.error(err);\n const errorTextArray = err.split(\"|DELIMITER|\");\n const hostname = errorTextArray[1];\n const scriptName = errorTextArray[2];\n const errorMsg = errorTextArray[3];\n let msg = `${scriptName}@${hostname} `;\n msg += \" \";\n msg += errorMsg;\n dialogBoxCreate(msg);\n workerScript.env.stopFlag = true;\n workerScript.running = false;\n killWorkerScript(workerScript);\n return Promise.resolve();\n }\n });\n };\n int.setProperty(scope, name, int.createAsyncFunction(tempWrapper));\n } else if (\n name === \"sprintf\" ||\n name === \"vsprintf\" ||\n name === \"scp\" ||\n name == \"write\" ||\n name === \"tryWrite\" ||\n name === \"run\" ||\n name === \"exec\"\n ) {\n const tempWrapper = function (...args: unknown[]): void {\n const fnArgs = [];\n\n //All of the Object/array elements are in JSInterpreter format, so\n //we have to convert them back to native format to pass them to these fns\n for (let i = 0; i < args.length; ++i) {\n if (typeof args[i] === \"object\" || Array.isArray(args[i])) {\n fnArgs.push(int.pseudoToNative(args[i]));\n } else {\n fnArgs.push(args[i]);\n }\n }\n\n return entry(...fnArgs);\n };\n int.setProperty(scope, name, int.createNativeFunction(tempWrapper));\n } else {\n const tempWrapper = function (...args: unknown[]): unknown {\n const res = entry(...args);\n\n if (res == null) {\n return res;\n } else if (res.constructor === Array || res === Object(res)) {\n //Objects and Arrays must be converted to the interpreter's format\n return int.nativeToPseudo(res);\n } else {\n return res;\n }\n };\n int.setProperty(scope, name, int.createNativeFunction(tempWrapper));\n }\n } else {\n //bladeburner, or anything else\n int.setProperty(scope, name, int.nativeToPseudo(entry));\n }\n }\n\n //Add the arguments\n int.setProperty(scope, \"args\", int.nativeToPseudo(workerScript.args));\n };\n\n let interpreter: Interpreter;\n try {\n interpreter = new Interpreter(codeWithImports, interpreterInitialization, codeLineOffset);\n } catch (e: unknown) {\n dialogBoxCreate(\"Syntax ERROR in \" + workerScript.name + \": \" + String(e));\n workerScript.env.stopFlag = true;\n workerScript.running = false;\n killWorkerScript(workerScript);\n return Promise.resolve();\n }\n\n return new Promise(function (resolve, reject) {\n function runInterpreter(): void {\n try {\n if (workerScript.env.stopFlag) {\n return reject(new ScriptDeath(workerScript));\n }\n\n let more = true;\n let i = 0;\n while (i < 3 && more) {\n more = more && interpreter.step();\n i++;\n }\n\n if (more) {\n setTimeout(runInterpreter, Settings.CodeInstructionRunTime);\n } else {\n resolve();\n }\n } catch (_e: unknown) {\n let e = String(_e);\n if (!isScriptErrorMessage(e)) {\n e = makeRuntimeRejectMsg(workerScript, e);\n }\n workerScript.errorMessage = e;\n return reject(new ScriptDeath(workerScript));\n }\n }\n\n try {\n runInterpreter();\n } catch (e: unknown) {\n if (isString(e)) {\n workerScript.errorMessage = e;\n return reject(new ScriptDeath(workerScript));\n } else if (e instanceof ScriptDeath) {\n return reject(e);\n } else {\n console.error(e);\n return reject(new ScriptDeath(workerScript));\n }\n }\n });\n}\n\n/* Since the JS Interpreter used for Netscript 1.0 only supports ES5, the keyword\n 'import' throws an error. However, since we want to support import funtionality\n we'll implement it ourselves by parsing the Nodes in the AST out.\n\n @param code - The script's code\n @returns {Object} {\n code: Newly-generated code with imported functions\n lineOffset: Net number of lines of code added/removed due to imported functions\n Should typically be positive\n }\n*/\nfunction processNetscript1Imports(code: string, workerScript: WorkerScript): { code: string; lineOffset: number } {\n //allowReserved prevents 'import' from throwing error in ES5\n const ast: Node = parse(code, {\n ecmaVersion: 9,\n allowReserved: true,\n sourceType: \"module\",\n });\n\n const server = workerScript.getServer();\n if (server == null) {\n throw new Error(\"Failed to find underlying Server object for script\");\n }\n\n function getScript(scriptName: string): Script | null {\n for (let i = 0; i < server.scripts.length; ++i) {\n if (server.scripts[i].filename === scriptName) {\n return server.scripts[i];\n }\n }\n return null;\n }\n\n let generatedCode = \"\"; // Generated Javascript Code\n let hasImports = false;\n\n // Walk over the tree and process ImportDeclaration nodes\n walksimple(ast, {\n ImportDeclaration: (node: Node) => {\n hasImports = true;\n let scriptName = node.source.value;\n if (scriptName.startsWith(\"./\")) {\n scriptName = scriptName.slice(2);\n }\n const script = getScript(scriptName);\n if (script == null) {\n throw new Error(\"'Import' failed due to invalid script: \" + scriptName);\n }\n const scriptAst = parse(script.code, {\n ecmaVersion: 9,\n allowReserved: true,\n sourceType: \"module\",\n });\n\n if (node.specifiers.length === 1 && node.specifiers[0].type === \"ImportNamespaceSpecifier\") {\n // import * as namespace from script\n const namespace = node.specifiers[0].local.name;\n const fnNames: string[] = []; //Names only\n const fnDeclarations: Node[] = []; //FunctionDeclaration Node objects\n walksimple(scriptAst, {\n FunctionDeclaration: (node: Node) => {\n fnNames.push(node.id.name);\n fnDeclarations.push(node);\n },\n });\n\n //Now we have to generate the code that would create the namespace\n generatedCode += `var ${namespace};\\n(function (namespace) {\\n`;\n\n //Add the function declarations\n fnDeclarations.forEach((fn: Node) => {\n generatedCode += generate(fn);\n generatedCode += \"\\n\";\n });\n\n //Add functions to namespace\n fnNames.forEach((fnName) => {\n generatedCode += \"namespace.\" + fnName + \" = \" + fnName;\n generatedCode += \"\\n\";\n });\n\n //Finish\n generatedCode += `})(${namespace} || (\" + namespace + \" = {}));\\n`;\n } else {\n //import {...} from script\n\n //Get array of all fns to import\n const fnsToImport: string[] = [];\n node.specifiers.forEach((e: Node) => {\n fnsToImport.push(e.local.name);\n });\n\n //Walk through script and get FunctionDeclaration code for all specified fns\n const fnDeclarations: Node[] = [];\n walksimple(scriptAst, {\n FunctionDeclaration: (node: Node) => {\n if (fnsToImport.includes(node.id.name)) {\n fnDeclarations.push(node);\n }\n },\n });\n\n //Convert FunctionDeclarations into code\n fnDeclarations.forEach((fn: Node) => {\n generatedCode += generate(fn);\n generatedCode += \"\\n\";\n });\n }\n },\n });\n\n //If there are no imports, just return the original code\n if (!hasImports) {\n return { code: code, lineOffset: 0 };\n }\n\n //Remove ImportDeclarations from AST. These ImportDeclarations must be in top-level\n let linesRemoved = 0;\n if (ast.type !== \"Program\" || ast.body == null) {\n throw new Error(\"Code could not be properly parsed\");\n }\n for (let i = ast.body.length - 1; i >= 0; --i) {\n if (ast.body[i].type === \"ImportDeclaration\") {\n ast.body.splice(i, 1);\n ++linesRemoved;\n }\n }\n\n //Calculated line offset\n const lineOffset = (generatedCode.match(/\\n/g) || []).length - linesRemoved;\n\n //Convert the AST back into code\n code = generate(ast);\n\n //Add the imported code and re-generate in ES5 (JS Interpreter for NS1 only supports ES5);\n code = generatedCode + code;\n\n const res = {\n code: code,\n lineOffset: lineOffset,\n };\n return res;\n}\n\n/**\n * Used to start a RunningScript (by creating and starting its\n * corresponding WorkerScript), and add the RunningScript to the server on which\n * it is active\n */\nexport function startWorkerScript(\n player: IPlayer,\n runningScript: RunningScript,\n server: BaseServer,\n parent?: WorkerScript,\n): number {\n if (createAndAddWorkerScript(player, runningScript, server, parent)) {\n // Push onto runningScripts.\n // This has to come after createAndAddWorkerScript() because that fn updates RAM usage\n server.runScript(runningScript);\n\n // Once the WorkerScript is constructed in createAndAddWorkerScript(), the RunningScript\n // object should have a PID assigned to it, so we return that\n return runningScript.pid;\n }\n\n return 0;\n}\n\n/**\n * Given a RunningScript object, constructs its corresponding WorkerScript,\n * adds it to the global 'workerScripts' pool, and begins executing it.\n * @param {RunningScript} runningScriptObj - Script that's being run\n * @param {Server} server - Server on which the script is to be run\n * returns {boolean} indicating whether or not the workerScript was successfully added\n */\nfunction createAndAddWorkerScript(\n player: IPlayer,\n runningScriptObj: RunningScript,\n server: BaseServer,\n parent?: WorkerScript,\n): boolean {\n // Update server's ram usage\n let threads = 1;\n if (runningScriptObj.threads && !isNaN(runningScriptObj.threads)) {\n threads = runningScriptObj.threads;\n } else {\n runningScriptObj.threads = 1;\n }\n const oneRamUsage = getRamUsageFromRunningScript(runningScriptObj);\n const ramUsage = roundToTwo(oneRamUsage * threads);\n const ramAvailable = server.maxRam - server.ramUsed;\n if (ramUsage > ramAvailable + 0.001) {\n dialogBoxCreate(\n `Not enough RAM to run script ${runningScriptObj.filename} with args ` +\n `${arrayToString(runningScriptObj.args)}. This likely occurred because you re-loaded ` +\n `the game and the script's RAM usage increased (either because of an update to the game or ` +\n `your changes to the script.)`,\n );\n return false;\n }\n\n server.updateRamUsed(roundToTwo(server.ramUsed + ramUsage), Player);\n\n // Get the pid\n const pid = generateNextPid();\n if (pid === -1) {\n throw new Error(\n `Failed to start script because could not find available PID. This is most ` +\n `because you have too many scripts running.`,\n );\n }\n\n // Create the WorkerScript. NOTE: WorkerScript ctor will set the underlying\n // RunningScript's PID as well\n const workerScript = new WorkerScript(runningScriptObj, pid, NetscriptFunctions);\n workerScript.ramUsage = oneRamUsage;\n\n // Add the WorkerScript to the global pool\n workerScripts.set(pid, workerScript);\n WorkerScriptStartStopEventEmitter.emit();\n\n // Start the script's execution\n let scriptExecution: Promise | null = null; // Script's resulting promise\n if (workerScript.name.endsWith(\".js\") || workerScript.name.endsWith(\".ns\")) {\n scriptExecution = startNetscript2Script(player, workerScript);\n } else {\n scriptExecution = startNetscript1Script(workerScript);\n if (!(scriptExecution instanceof Promise)) {\n return false;\n }\n }\n\n // Once the code finishes (either resolved or rejected, doesnt matter), set its\n // running status to false\n scriptExecution\n .then(function () {\n workerScript.running = false;\n workerScript.env.stopFlag = true;\n // On natural death, the earnings are transfered to the parent if it still exists.\n if (parent !== undefined) {\n if (parent.running) {\n parent.scriptRef.onlineExpGained += runningScriptObj.onlineExpGained;\n parent.scriptRef.onlineMoneyMade += runningScriptObj.onlineMoneyMade;\n }\n }\n\n killWorkerScript(workerScript);\n workerScript.log(\"\", () => \"Script finished running\");\n })\n .catch(function (e) {\n if (e instanceof Error) {\n dialogBoxCreate(\"Script runtime unknown error. This is a bug please contact game developer\");\n console.error(\"Evaluating workerscript returns an Error. THIS SHOULDN'T HAPPEN: \" + e.toString());\n return;\n } else if (e instanceof ScriptDeath) {\n if (isScriptErrorMessage(workerScript.errorMessage)) {\n const errorTextArray = workerScript.errorMessage.split(\"|DELIMITER|\");\n if (errorTextArray.length != 4) {\n console.error(\"ERROR: Something wrong with Error text in evaluator...\");\n console.error(\"Error text: \" + workerScript.errorMessage);\n return;\n }\n const hostname = errorTextArray[1];\n const scriptName = errorTextArray[2];\n const errorMsg = errorTextArray[3];\n\n let msg = `RUNTIME ERROR ${scriptName}@${hostname} (PID - ${workerScript.pid}) `;\n if (workerScript.args.length > 0) {\n msg += `Args: ${arrayToString(workerScript.args)} `;\n }\n msg += \" \";\n msg += errorMsg;\n\n dialogBoxCreate(msg);\n workerScript.log(\"\", () => \"Script crashed with runtime error\");\n } else {\n workerScript.log(\"\", () => \"Script killed\");\n return; // Already killed, so stop here\n }\n } else if (isScriptErrorMessage(e)) {\n dialogBoxCreate(\"Script runtime unknown error. This is a bug please contact game developer\");\n console.error(\n \"ERROR: Evaluating workerscript returns only error message rather than WorkerScript object. THIS SHOULDN'T HAPPEN: \" +\n e.toString(),\n );\n return;\n } else {\n dialogBoxCreate(\"An unknown script died for an unknown reason. This is a bug please contact game dev\");\n console.error(e);\n }\n\n killWorkerScript(workerScript);\n });\n\n return true;\n}\n\n/**\n * Updates the online running time stat of all running scripts\n */\nexport function updateOnlineScriptTimes(numCycles = 1): void {\n const time = (numCycles * CONSTANTS._idleSpeed) / 1000; //seconds\n for (const ws of workerScripts.values()) {\n ws.scriptRef.onlineRunningTime += time;\n }\n}\n\n/**\n * Called when the game is loaded. Loads all running scripts (from all servers)\n * into worker scripts so that they will start running\n */\nexport function loadAllRunningScripts(player: IPlayer): void {\n const skipScriptLoad = window.location.href.toLowerCase().indexOf(\"?noscripts\") !== -1;\n if (skipScriptLoad) {\n Terminal.warn(\"Skipped loading player scripts during startup\");\n console.info(\"Skipping the load of any scripts during startup\");\n }\n for (const server of GetAllServers()) {\n // Reset each server's RAM usage to 0\n server.ramUsed = 0;\n\n // Reset modules on all scripts\n for (let i = 0; i < server.scripts.length; ++i) {\n server.scripts[i].markUpdated();\n }\n\n if (skipScriptLoad) {\n // Start game with no scripts\n server.runningScripts.length = 0;\n } else {\n for (let j = 0; j < server.runningScripts.length; ++j) {\n const fileName = server.runningScripts[j].filename;\n createAndAddWorkerScript(player, server.runningScripts[j], server);\n\n if (!server.runningScripts[j]) {\n // createAndAddWorkerScript can modify the server.runningScripts array if a script is invalid\n console.error(`createAndAddWorkerScript removed ${fileName} from ${server}`);\n continue;\n }\n\n // Offline production\n scriptCalculateOfflineProduction(server.runningScripts[j]);\n }\n }\n }\n}\n\n/**\n * Run a script from inside another script (run(), exec(), spawn(), etc.)\n */\nexport function runScriptFromScript(\n player: IPlayer,\n caller: string,\n server: BaseServer,\n scriptname: string,\n args: ScriptArg[],\n workerScript: WorkerScript,\n threads = 1,\n): number {\n // Sanitize arguments\n if (!(workerScript instanceof WorkerScript)) {\n return 0;\n }\n\n if (typeof scriptname !== \"string\" || !Array.isArray(args)) {\n workerScript.log(caller, () => `Invalid arguments: scriptname='${scriptname} args='${args}'`);\n console.error(`runScriptFromScript() failed due to invalid arguments`);\n return 0;\n }\n\n args.forEach((arg, i) => {\n if (typeof arg !== \"string\" && typeof arg !== \"number\" && typeof arg !== \"boolean\")\n throw new Error(\n \"Only strings, numbers, and booleans can be passed as arguments to other scripts.\\n\" +\n `${scriptname} argument index ${i} is of type ${typeof arg} and value ${JSON.stringify(arg)}`,\n );\n });\n\n // Check if the script is already running\n const runningScriptObj = server.getRunningScript(scriptname, args);\n if (runningScriptObj != null) {\n workerScript.log(caller, () => `'${scriptname}' is already running on '${server.hostname}'`);\n return 0;\n }\n\n // 'null/undefined' arguments are not allowed\n for (let i = 0; i < args.length; ++i) {\n if (args[i] == null) {\n workerScript.log(caller, () => \"Cannot execute a script with null/undefined as an argument\");\n return 0;\n }\n }\n\n // Check if the script exists and if it does run it\n for (let i = 0; i < server.scripts.length; ++i) {\n if (!areFilesEqual(server.scripts[i].filename, scriptname)) continue;\n // Check for admin rights and that there is enough RAM availble to run\n const script = server.scripts[i];\n let ramUsage = script.ramUsage;\n threads = Math.floor(Number(threads));\n if (threads === 0) {\n return 0;\n }\n ramUsage = ramUsage * threads;\n const ramAvailable = server.maxRam - server.ramUsed;\n\n if (server.hasAdminRights == false) {\n workerScript.log(caller, () => `You do not have root access on '${server.hostname}'`);\n return 0;\n } else if (ramUsage > ramAvailable + 0.001) {\n workerScript.log(\n caller,\n () =>\n `Cannot run script '${scriptname}' (t=${threads}) on '${server.hostname}' because there is not enough available RAM!`,\n );\n return 0;\n }\n // Able to run script\n workerScript.log(\n caller,\n () => `'${scriptname}' on '${server.hostname}' with ${threads} threads and args: ${arrayToString(args)}.`,\n );\n const runningScriptObj = new RunningScript(script, args);\n runningScriptObj.threads = threads;\n runningScriptObj.server = server.hostname;\n\n return startWorkerScript(player, runningScriptObj, server, workerScript);\n }\n\n workerScript.log(caller, () => `Could not find script '${scriptname}' on '${server.hostname}'`);\n return 0;\n}\n","/**\n * Global pool of all active scripts (scripts that are currently running)\n */\nimport { WorkerScript } from \"./WorkerScript\";\n\nexport const workerScripts: Map = new Map();\n","import React from \"react\";\n\nimport { Table, TableCell } from \"./Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport { Table as MuiTable } from \"@mui/material\";\nimport TableRow from \"@mui/material/TableRow\";\nimport Typography from \"@mui/material/Typography\";\n\ninterface IProps {\n rows: React.ReactNode[][];\n title?: string;\n wide?: boolean;\n}\n\nexport function StatsTable({ rows, title, wide }: IProps): React.ReactElement {\n const T = wide ? MuiTable : Table;\n return (\n <>\n {title && {title}}\n \n \n {rows.map((row: React.ReactNode[], i: number) => (\n \n {row.map((elem: React.ReactNode, i: number) => (\n \n {elem}\n \n ))}\n \n ))}\n \n \n >\n );\n}\n","import { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"../utils/JSONReviver\";\nimport { Export } from \"./Export\";\n\ninterface IConstructorParams {\n name?: string;\n}\n\nexport class Material {\n // Name of material\n name = \"InitName\";\n\n // Amount of material owned\n qty = 0;\n\n // Material's \"quality\". Unbounded\n qlt = 0;\n\n // How much demand the Material has in the market, and the range of possible\n // values for this \"demand\"\n dmd = 0;\n dmdR: number[] = [0, 0];\n\n // How much competition there is for this Material in the market, and the range\n // of possible values for this \"competition\"\n cmp = 0;\n cmpR: number[] = [0, 0];\n\n // Maximum volatility of this Materials stats\n mv = 0;\n\n // Markup. Determines how high of a price you can charge on the material\n // compared to the market price without suffering loss in # of sales\n // Quality is divided by this to determine markup limits\n // e,g, If mku is 10 and quality is 100 then you can markup prices by 100/10 = 10\n mku = 0;\n\n // How much of this material is being bought, sold, imported and produced every second\n buy = 0;\n sll = 0;\n prd = 0;\n imp = 0;\n\n // Exports of this material to another warehouse/industry\n exp: Export[] = [];\n\n // Total amount of this material exported in the last cycle\n totalExp = 0;\n\n // Cost / sec to buy this material. AKA Market Price\n bCost = 0;\n\n // Cost / sec to sell this material\n sCost: string | number = 0;\n\n // Flags to keep track of whether production and/or sale of this material is limited\n // [Whether production/sale is limited, limit amount]\n prdman: [boolean, number] = [false, 0]; // Production\n sllman: [boolean, string | number] = [false, 0]; // Sale\n\n // Flags that signal whether automatic sale pricing through Market TA is enabled\n marketTa1 = false;\n marketTa2 = false;\n marketTa2Price = 0;\n\n // Determines the maximum amount of this material that can be sold in one market cycle\n maxsll = 0;\n\n constructor(params: IConstructorParams = {}) {\n if (params.name) {\n this.name = params.name;\n }\n this.init();\n }\n\n getMarkupLimit(): number {\n return this.qlt / this.mku;\n }\n\n init(): void {\n switch (this.name) {\n case \"Water\":\n this.dmd = 75;\n this.dmdR = [65, 85];\n this.cmp = 50;\n this.cmpR = [40, 60];\n this.bCost = 1500;\n this.mv = 0.2;\n this.mku = 6;\n break;\n case \"Energy\":\n this.dmd = 90;\n this.dmdR = [80, 99];\n this.cmp = 80;\n this.cmpR = [65, 95];\n this.bCost = 2000;\n this.mv = 0.2;\n this.mku = 6;\n break;\n case \"Food\":\n this.dmd = 80;\n this.dmdR = [70, 90];\n this.cmp = 60;\n this.cmpR = [35, 85];\n this.bCost = 5000;\n this.mv = 1;\n this.mku = 3;\n break;\n case \"Plants\":\n this.dmd = 70;\n this.dmdR = [20, 90];\n this.cmp = 50;\n this.cmpR = [30, 70];\n this.bCost = 3000;\n this.mv = 0.6;\n this.mku = 3.75;\n break;\n case \"Metal\":\n this.dmd = 80;\n this.dmdR = [75, 85];\n this.cmp = 70;\n this.cmpR = [60, 80];\n this.bCost = 2650;\n this.mv = 1;\n this.mku = 6;\n break;\n case \"Hardware\":\n this.dmd = 85;\n this.dmdR = [80, 90];\n this.cmp = 80;\n this.cmpR = [65, 95];\n this.bCost = 8e3;\n this.mv = 0.5; //Less mv bc its processed twice\n this.mku = 1;\n break;\n case \"Chemicals\":\n this.dmd = 55;\n this.dmdR = [40, 70];\n this.cmp = 60;\n this.cmpR = [40, 80];\n this.bCost = 9e3;\n this.mv = 1.2;\n this.mku = 2;\n break;\n case \"Real Estate\":\n this.dmd = 50;\n this.dmdR = [5, 99];\n this.cmp = 50;\n this.cmpR = [25, 75];\n this.bCost = 80e3;\n this.mv = 1.5; //Less mv bc its processed twice\n this.mku = 1.5;\n break;\n case \"Drugs\":\n this.dmd = 60;\n this.dmdR = [45, 75];\n this.cmp = 70;\n this.cmpR = [40, 99];\n this.bCost = 40e3;\n this.mv = 1.6;\n this.mku = 1;\n break;\n case \"Robots\":\n this.dmd = 90;\n this.dmdR = [80, 99];\n this.cmp = 90;\n this.cmpR = [80, 99];\n this.bCost = 75e3;\n this.mv = 0.5; //Less mv bc its processed twice\n this.mku = 1;\n break;\n case \"AI Cores\":\n this.dmd = 90;\n this.dmdR = [80, 99];\n this.cmp = 90;\n this.cmpR = [80, 99];\n this.bCost = 15e3;\n this.mv = 0.8; //Less mv bc its processed twice\n this.mku = 0.5;\n break;\n case \"Scientific Research\":\n case \"InitName\":\n break;\n default:\n console.error(`Invalid material type in init(): ${this.name}`);\n break;\n }\n }\n\n // Process change in demand, competition, and buy cost of this material\n processMarket(): void {\n // The price will change in accordance with demand and competition.\n // e.g. If demand goes up, then so does price. If competition goes up, price goes down\n const priceVolatility: number = (Math.random() * this.mv) / 300;\n const priceChange: number = 1 + priceVolatility;\n\n //This 1st random check determines whether competition increases or decreases\n const compVolatility: number = (Math.random() * this.mv) / 100;\n const compChange: number = 1 + compVolatility;\n if (Math.random() < 0.5) {\n this.cmp *= compChange;\n if (this.cmp > this.cmpR[1]) {\n this.cmp = this.cmpR[1];\n }\n this.bCost *= 1 / priceChange; // Competition increases, so price goes down\n } else {\n this.cmp *= 1 / compChange;\n if (this.cmp < this.cmpR[0]) {\n this.cmp = this.cmpR[0];\n }\n this.bCost *= priceChange; // Competition decreases, so price goes up\n }\n\n // This 2nd random check determines whether demand increases or decreases\n const dmdVolatility: number = (Math.random() * this.mv) / 100;\n const dmdChange: number = 1 + dmdVolatility;\n if (Math.random() < 0.5) {\n this.dmd *= dmdChange;\n if (this.dmd > this.dmdR[1]) {\n this.dmd = this.dmdR[1];\n }\n this.bCost *= priceChange; // Demand increases, so price goes up\n } else {\n this.dmd *= 1 / dmdChange;\n if (this.dmd < this.dmdR[0]) {\n this.dmd = this.dmdR[0];\n }\n this.bCost *= 1 / priceChange;\n }\n }\n\n // Serialize the current object to a JSON save state.\n toJSON(): IReviverValue {\n return Generic_toJSON(\"Material\", this);\n }\n\n // Initiatizes a Material object from a JSON save state.\n static fromJSON(value: IReviverValue): Material {\n return Generic_fromJSON(Material, value.data);\n }\n}\n\nReviver.constructors.Material = Material;\n","import { BitNodeMultipliers } from \"../../BitNode/BitNodeMultipliers\";\nimport { GangMember } from \"../GangMember\";\nimport { GangMemberTask } from \"../GangMemberTask\";\n\nexport interface FormulaGang {\n respect: number;\n territory: number;\n wantedLevel: number;\n}\n\nexport function calculateWantedPenalty(gang: FormulaGang): number {\n return gang.respect / (gang.respect + gang.wantedLevel);\n}\n\nexport function calculateRespectGain(gang: FormulaGang, member: GangMember, task: GangMemberTask): number {\n if (task.baseRespect === 0) return 0;\n let statWeight =\n (task.hackWeight / 100) * member.hack +\n (task.strWeight / 100) * member.str +\n (task.defWeight / 100) * member.def +\n (task.dexWeight / 100) * member.dex +\n (task.agiWeight / 100) * member.agi +\n (task.chaWeight / 100) * member.cha;\n statWeight -= 4 * task.difficulty;\n if (statWeight <= 0) return 0;\n const territoryMult = Math.max(0.005, Math.pow(gang.territory * 100, task.territory.respect) / 100);\n const territoryPenalty = (0.2 * gang.territory + 0.8) * BitNodeMultipliers.GangSoftcap;\n if (isNaN(territoryMult) || territoryMult <= 0) return 0;\n const respectMult = calculateWantedPenalty(gang);\n return Math.pow(11 * task.baseRespect * statWeight * territoryMult * respectMult, territoryPenalty);\n}\n\nexport function calculateWantedLevelGain(gang: FormulaGang, member: GangMember, task: GangMemberTask): number {\n if (task.baseWanted === 0) return 0;\n let statWeight =\n (task.hackWeight / 100) * member.hack +\n (task.strWeight / 100) * member.str +\n (task.defWeight / 100) * member.def +\n (task.dexWeight / 100) * member.dex +\n (task.agiWeight / 100) * member.agi +\n (task.chaWeight / 100) * member.cha;\n statWeight -= 3.5 * task.difficulty;\n if (statWeight <= 0) return 0;\n const territoryMult = Math.max(0.005, Math.pow(gang.territory * 100, task.territory.wanted) / 100);\n if (isNaN(territoryMult) || territoryMult <= 0) return 0;\n if (task.baseWanted < 0) {\n return 0.4 * task.baseWanted * statWeight * territoryMult;\n }\n const calc = (7 * task.baseWanted) / Math.pow(3 * statWeight * territoryMult, 0.8);\n\n // Put an arbitrary cap on this to prevent wanted level from rising too fast if the\n // denominator is very small. Might want to rethink formula later\n return Math.min(100, calc);\n}\n\nexport function calculateMoneyGain(gang: FormulaGang, member: GangMember, task: GangMemberTask): number {\n if (task.baseMoney === 0) return 0;\n let statWeight =\n (task.hackWeight / 100) * member.hack +\n (task.strWeight / 100) * member.str +\n (task.defWeight / 100) * member.def +\n (task.dexWeight / 100) * member.dex +\n (task.agiWeight / 100) * member.agi +\n (task.chaWeight / 100) * member.cha;\n\n statWeight -= 3.2 * task.difficulty;\n if (statWeight <= 0) return 0;\n const territoryMult = Math.max(0.005, Math.pow(gang.territory * 100, task.territory.money) / 100);\n if (isNaN(territoryMult) || territoryMult <= 0) return 0;\n const respectMult = calculateWantedPenalty(gang);\n const territoryPenalty = (0.2 * gang.territory + 0.8) * BitNodeMultipliers.GangSoftcap;\n return Math.pow(5 * task.baseMoney * statWeight * territoryMult * respectMult, territoryPenalty);\n}\n\nexport function calculateAscensionPointsGain(exp: number): number {\n return Math.max(exp - 1000, 0);\n}\n\nexport function calculateAscensionMult(points: number): number {\n return Math.max(Math.pow(points / 2000, 0.5), 1);\n}\n","import { Paper } from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\nimport { AugmentationNames } from \"../../Augmentation/data/AugmentationNames\";\nimport { use } from \"../../ui/Context\";\nimport { ProgressBar } from \"../../ui/React/Progress\";\n\ninterface IProps {\n millis: number;\n onExpire: () => void;\n noPaper?: boolean;\n}\n\nexport function GameTimer(props: IProps): React.ReactElement {\n const player = use.Player();\n const [v, setV] = useState(100);\n const totalMillis = (player.hasAugmentation(AugmentationNames.WKSharmonizer, true) ? 1.3 : 1) * props.millis;\n\n const tick = 200;\n useEffect(() => {\n const intervalId = setInterval(() => {\n setV((old) => {\n if (old <= 0) props.onExpire();\n return old - (tick / totalMillis) * 100;\n });\n }, tick);\n return () => {\n clearInterval(intervalId);\n };\n }, []);\n\n // https://stackoverflow.com/questions/55593367/disable-material-uis-linearprogress-animation\n // TODO(hydroflame): there's like a bug where it triggers the end before the\n // bar physically reaches the end\n return props.noPaper ? (\n \n ) : (\n \n \n \n );\n}\n","import { Reviver, Generic_toJSON, Generic_fromJSON, IReviverValue } from \"../utils/JSONReviver\";\nimport { IBladeburner } from \"./IBladeburner\";\nimport { IActionIdentifier } from \"./IActionIdentifier\";\nimport { ActionIdentifier } from \"./ActionIdentifier\";\nimport { ActionTypes } from \"./data/ActionTypes\";\nimport { Growths } from \"./data/Growths\";\nimport { BlackOperations } from \"./BlackOperations\";\nimport { BlackOperation } from \"./BlackOperation\";\nimport { Operation } from \"./Operation\";\nimport { Contract } from \"./Contract\";\nimport { GeneralActions } from \"./GeneralActions\";\nimport { formatNumber } from \"../utils/StringHelperFunctions\";\nimport { Skills } from \"./Skills\";\nimport { Skill } from \"./Skill\";\nimport { City } from \"./City\";\nimport { IAction } from \"./IAction\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { createTaskTracker, ITaskTracker } from \"../PersonObjects/ITaskTracker\";\nimport { IPerson } from \"../PersonObjects/IPerson\";\nimport { IRouter } from \"../ui/Router\";\nimport { ConsoleHelpText } from \"./data/Help\";\nimport { exceptionAlert } from \"../utils/helpers/exceptionAlert\";\nimport { getRandomInt } from \"../utils/helpers/getRandomInt\";\nimport { BladeburnerConstants } from \"./data/Constants\";\nimport { numeralWrapper } from \"../ui/numeralFormat\";\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\nimport { addOffset } from \"../utils/helpers/addOffset\";\nimport { Faction } from \"../Faction/Faction\";\nimport { Factions, factionExists } from \"../Faction/Factions\";\nimport { calculateHospitalizationCost } from \"../Hospital/Hospital\";\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { Settings } from \"../Settings/Settings\";\nimport { AugmentationNames } from \"../Augmentation/data/AugmentationNames\";\nimport { getTimestamp } from \"../utils/helpers/getTimestamp\";\nimport { joinFaction } from \"../Faction/FactionHelpers\";\nimport { WorkerScript } from \"../Netscript/WorkerScript\";\nimport { FactionNames } from \"../Faction/data/FactionNames\";\nimport { KEY } from \"../utils/helpers/keyCodes\";\n\ninterface BlackOpsAttempt {\n error?: string;\n isAvailable?: boolean;\n action?: BlackOperation;\n}\n\nexport class Bladeburner implements IBladeburner {\n numHosp = 0;\n moneyLost = 0;\n rank = 0;\n maxRank = 0;\n\n skillPoints = 0;\n totalSkillPoints = 0;\n\n teamSize = 0;\n sleeveSize = 0;\n teamLost = 0;\n hpLost = 0;\n\n storedCycles = 0;\n\n randomEventCounter: number = getRandomInt(240, 600);\n\n actionTimeToComplete = 0;\n actionTimeCurrent = 0;\n actionTimeOverflow = 0;\n\n action: IActionIdentifier = new ActionIdentifier({\n type: ActionTypes[\"Idle\"],\n });\n\n cities: Record = {};\n city: string = BladeburnerConstants.CityNames[2];\n skills: Record = {};\n skillMultipliers: Record = {};\n staminaBonus = 0;\n maxStamina = 0;\n stamina = 0;\n contracts: Record = {};\n operations: Record = {};\n blackops: Record = {};\n logging = {\n general: true,\n contracts: true,\n ops: true,\n blackops: true,\n events: true,\n };\n automateEnabled = false;\n automateActionHigh: IActionIdentifier = new ActionIdentifier({\n type: ActionTypes[\"Idle\"],\n });\n automateThreshHigh = 0;\n automateActionLow: IActionIdentifier = new ActionIdentifier({\n type: ActionTypes[\"Idle\"],\n });\n automateThreshLow = 0;\n consoleHistory: string[] = [];\n consoleLogs: string[] = [\"Bladeburner Console\", \"Type 'help' to see console commands\"];\n\n constructor(player?: IPlayer) {\n for (let i = 0; i < BladeburnerConstants.CityNames.length; ++i) {\n this.cities[BladeburnerConstants.CityNames[i]] = new City(BladeburnerConstants.CityNames[i]);\n }\n\n this.updateSkillMultipliers(); // Calls resetSkillMultipliers()\n\n // Max Stamina is based on stats and Bladeburner-specific bonuses\n if (player) this.calculateMaxStamina(player);\n this.stamina = this.maxStamina;\n this.create();\n }\n\n getCurrentCity(): City {\n const city = this.cities[this.city];\n if (!(city instanceof City)) {\n throw new Error(\"Bladeburner.getCurrentCity() did not properly return a City object\");\n }\n return city;\n }\n\n calculateStaminaPenalty(): number {\n return Math.min(1, this.stamina / (0.5 * this.maxStamina));\n }\n\n canAttemptBlackOp(actionId: IActionIdentifier): BlackOpsAttempt {\n // Safety measure - don't repeat BlackOps that are already done\n if (this.blackops[actionId.name] != null) {\n return { error: \"Tried to start a Black Operation that had already been completed\" };\n }\n\n const action = this.getActionObject(actionId);\n if (!(action instanceof BlackOperation)) throw new Error(`Action should be BlackOperation but isn't`);\n if (action == null) throw new Error(\"Failed to get BlackOperation object for: \" + actionId.name);\n\n if (action.reqdRank > this.rank) {\n return { error: \"Tried to start a Black Operation without the rank requirement\" };\n }\n\n // Can't start a BlackOp if you haven't done the one before it\n const blackops = [];\n for (const nm of Object.keys(BlackOperations)) {\n if (BlackOperations.hasOwnProperty(nm)) {\n blackops.push(nm);\n }\n }\n blackops.sort(function (a, b) {\n return BlackOperations[a].reqdRank - BlackOperations[b].reqdRank; // Sort black ops in intended order\n });\n\n const i = blackops.indexOf(actionId.name);\n if (i === -1) {\n return { error: `Invalid Black Op: '${name}'` };\n }\n\n if (i > 0 && this.blackops[blackops[i - 1]] == null) {\n return { error: `Preceding Black Op must be completed before starting '${actionId.name}'.` };\n }\n\n return { isAvailable: true, action };\n }\n\n startAction(person: IPerson, actionId: IActionIdentifier): void {\n if (actionId == null) return;\n this.action = actionId;\n this.actionTimeCurrent = 0;\n switch (actionId.type) {\n case ActionTypes[\"Idle\"]:\n this.actionTimeToComplete = 0;\n break;\n case ActionTypes[\"Contract\"]:\n try {\n const action = this.getActionObject(actionId);\n if (action == null) {\n throw new Error(\"Failed to get Contract Object for: \" + actionId.name);\n }\n if (action.count < 1) {\n return this.resetAction();\n }\n this.actionTimeToComplete = action.getActionTime(this, person);\n } catch (e: unknown) {\n exceptionAlert(e);\n }\n break;\n case ActionTypes[\"Operation\"]: {\n try {\n const action = this.getActionObject(actionId);\n if (action == null) {\n throw new Error(\"Failed to get Operation Object for: \" + actionId.name);\n }\n if (action.count < 1) {\n return this.resetAction();\n }\n if (actionId.name === \"Raid\" && this.getCurrentCity().comms === 0) {\n return this.resetAction();\n }\n this.actionTimeToComplete = action.getActionTime(this, person);\n } catch (e: unknown) {\n exceptionAlert(e);\n }\n break;\n }\n case ActionTypes[\"BlackOp\"]:\n case ActionTypes[\"BlackOperation\"]: {\n try {\n const testBlackOp = this.canAttemptBlackOp(actionId);\n if (!testBlackOp.isAvailable) {\n this.resetAction();\n this.log(`Error: ${testBlackOp.error}`);\n break;\n }\n if (testBlackOp.action === undefined) {\n throw new Error(\"action should not be null\");\n }\n this.actionTimeToComplete = testBlackOp.action.getActionTime(this, person);\n } catch (e: unknown) {\n exceptionAlert(e);\n }\n break;\n }\n case ActionTypes[\"Recruitment\"]:\n this.actionTimeToComplete = this.getRecruitmentTime(person);\n break;\n case ActionTypes[\"Training\"]:\n case ActionTypes[\"FieldAnalysis\"]:\n case ActionTypes[\"Field Analysis\"]:\n this.actionTimeToComplete = 30;\n break;\n case ActionTypes[\"Diplomacy\"]:\n case ActionTypes[\"Hyperbolic Regeneration Chamber\"]:\n case ActionTypes[\"Incite Violence\"]:\n this.actionTimeToComplete = 60;\n break;\n default:\n throw new Error(\"Invalid Action Type in startAction(Bladeburner,player, ): \" + actionId.type);\n }\n }\n\n upgradeSkill(skill: Skill): void {\n // This does NOT handle deduction of skill points\n const skillName = skill.name;\n if (this.skills[skillName]) {\n ++this.skills[skillName];\n } else {\n this.skills[skillName] = 1;\n }\n if (isNaN(this.skills[skillName]) || this.skills[skillName] < 0) {\n throw new Error(\"Level of Skill \" + skillName + \" is invalid: \" + this.skills[skillName]);\n }\n this.updateSkillMultipliers();\n }\n\n executeConsoleCommands(player: IPlayer, commands: string): void {\n try {\n // Console History\n if (this.consoleHistory[this.consoleHistory.length - 1] != commands) {\n this.consoleHistory.push(commands);\n if (this.consoleHistory.length > 50) {\n this.consoleHistory.splice(0, 1);\n }\n }\n\n const arrayOfCommands = commands.split(\";\");\n for (let i = 0; i < arrayOfCommands.length; ++i) {\n this.executeConsoleCommand(player, arrayOfCommands[i]);\n }\n } catch (e: unknown) {\n exceptionAlert(e);\n }\n }\n\n postToConsole(input: string, saveToLogs = true): void {\n const MaxConsoleEntries = 100;\n if (saveToLogs) {\n this.consoleLogs.push(input);\n if (this.consoleLogs.length > MaxConsoleEntries) {\n this.consoleLogs.shift();\n }\n }\n }\n\n log(input: string): void {\n // Adds a timestamp and then just calls postToConsole\n this.postToConsole(`[${getTimestamp()}] ${input}`);\n }\n\n resetAction(): void {\n this.action = new ActionIdentifier({ type: ActionTypes.Idle });\n this.actionTimeCurrent = 0;\n this.actionTimeToComplete = 0;\n }\n\n clearConsole(): void {\n this.consoleLogs.length = 0;\n }\n\n prestige(): void {\n this.resetAction();\n const bladeburnerFac = Factions[FactionNames.Bladeburners];\n if (this.rank >= BladeburnerConstants.RankNeededForFaction) {\n joinFaction(bladeburnerFac);\n }\n }\n\n storeCycles(numCycles = 0): void {\n this.storedCycles += numCycles;\n }\n\n // working on\n getActionIdFromTypeAndName(type = \"\", name = \"\"): IActionIdentifier | null {\n if (type === \"\" || name === \"\") {\n return null;\n }\n const action = new ActionIdentifier();\n const convertedType = type.toLowerCase().trim();\n const convertedName = name.toLowerCase().trim();\n switch (convertedType) {\n case \"contract\":\n case \"contracts\":\n case \"contr\":\n action.type = ActionTypes[\"Contract\"];\n if (this.contracts.hasOwnProperty(name)) {\n action.name = name;\n return action;\n }\n return null;\n case \"operation\":\n case \"operations\":\n case \"op\":\n case \"ops\":\n action.type = ActionTypes[\"Operation\"];\n if (this.operations.hasOwnProperty(name)) {\n action.name = name;\n return action;\n }\n return null;\n case \"blackoperation\":\n case \"black operation\":\n case \"black operations\":\n case \"black op\":\n case \"black ops\":\n case \"blackop\":\n case \"blackops\":\n action.type = ActionTypes[\"BlackOp\"];\n if (BlackOperations.hasOwnProperty(name)) {\n action.name = name;\n return action;\n }\n return null;\n case \"general\":\n case \"general action\":\n case \"gen\":\n break;\n default:\n return null;\n }\n\n if (convertedType.startsWith(\"gen\")) {\n switch (convertedName) {\n case \"training\":\n action.type = ActionTypes[\"Training\"];\n action.name = \"Training\";\n break;\n case \"recruitment\":\n case \"recruit\":\n action.type = ActionTypes[\"Recruitment\"];\n action.name = \"Recruitment\";\n break;\n case \"field analysis\":\n case \"fieldanalysis\":\n action.type = ActionTypes[\"Field Analysis\"];\n action.name = \"Field Analysis\";\n break;\n case \"diplomacy\":\n action.type = ActionTypes[\"Diplomacy\"];\n action.name = \"Diplomacy\";\n break;\n case \"hyperbolic regeneration chamber\":\n action.type = ActionTypes[\"Hyperbolic Regeneration Chamber\"];\n action.name = \"Hyperbolic Regeneration Chamber\";\n break;\n case \"incite violence\":\n action.type = ActionTypes[\"Incite Violence\"];\n action.name = \"Incite Violence\";\n break;\n default:\n return null;\n }\n return action;\n }\n\n return null;\n }\n\n executeStartConsoleCommand(player: IPlayer, args: string[]): void {\n if (args.length !== 3) {\n this.postToConsole(\"Invalid usage of 'start' console command: start [type] [name]\");\n this.postToConsole(\"Use 'help start' for more info\");\n return;\n }\n const name = args[2];\n switch (args[1].toLowerCase()) {\n case \"general\":\n case \"gen\":\n if (GeneralActions[name] != null) {\n this.action.type = ActionTypes[name];\n this.action.name = name;\n this.startAction(player, this.action);\n } else {\n this.postToConsole(\"Invalid action name specified: \" + args[2]);\n }\n break;\n case \"contract\":\n case \"contracts\":\n if (this.contracts[name] != null) {\n this.action.type = ActionTypes.Contract;\n this.action.name = name;\n this.startAction(player, this.action);\n } else {\n this.postToConsole(\"Invalid contract name specified: \" + args[2]);\n }\n break;\n case \"ops\":\n case \"op\":\n case \"operations\":\n case \"operation\":\n if (this.operations[name] != null) {\n this.action.type = ActionTypes.Operation;\n this.action.name = name;\n this.startAction(player, this.action);\n } else {\n this.postToConsole(\"Invalid Operation name specified: \" + args[2]);\n }\n break;\n case \"blackops\":\n case \"blackop\":\n case \"black operations\":\n case \"black operation\":\n if (BlackOperations[name] != null) {\n this.action.type = ActionTypes.BlackOperation;\n this.action.name = name;\n this.startAction(player, this.action);\n } else {\n this.postToConsole(\"Invalid BlackOp name specified: \" + args[2]);\n }\n break;\n default:\n this.postToConsole(\"Invalid action/event type specified: \" + args[1]);\n this.postToConsole(\"Examples of valid action/event identifiers are: [general, contract, op, blackop]\");\n break;\n }\n }\n\n executeSkillConsoleCommand(args: string[]): void {\n switch (args.length) {\n case 1: {\n // Display Skill Help Command\n this.postToConsole(\"Invalid usage of 'skill' console command: skill [action] [name]\");\n this.postToConsole(\"Use 'help skill' for more info\");\n break;\n }\n case 2: {\n if (args[1].toLowerCase() === \"list\") {\n // List all skills and their level\n this.postToConsole(\"Skills: \");\n const skillNames = Object.keys(Skills);\n for (let i = 0; i < skillNames.length; ++i) {\n const skill = Skills[skillNames[i]];\n let level = 0;\n if (this.skills[skill.name] != null) {\n level = this.skills[skill.name];\n }\n this.postToConsole(skill.name + \": Level \" + formatNumber(level, 0));\n }\n this.postToConsole(\" \");\n this.postToConsole(\"Effects: \");\n const multKeys = Object.keys(this.skillMultipliers);\n for (let i = 0; i < multKeys.length; ++i) {\n const mult = this.skillMultipliers[multKeys[i]];\n if (mult && mult !== 1) {\n const mults = formatNumber(mult, 3);\n switch (multKeys[i]) {\n case \"successChanceAll\":\n this.postToConsole(\"Total Success Chance: x\" + mults);\n break;\n case \"successChanceStealth\":\n this.postToConsole(\"Stealth Success Chance: x\" + mults);\n break;\n case \"successChanceKill\":\n this.postToConsole(\"Retirement Success Chance: x\" + mults);\n break;\n case \"successChanceContract\":\n this.postToConsole(\"Contract Success Chance: x\" + mults);\n break;\n case \"successChanceOperation\":\n this.postToConsole(\"Operation Success Chance: x\" + mults);\n break;\n case \"successChanceEstimate\":\n this.postToConsole(\"Synthoid Data Estimate: x\" + mults);\n break;\n case \"actionTime\":\n this.postToConsole(\"Action Time: x\" + mults);\n break;\n case \"effHack\":\n this.postToConsole(\"Hacking Skill: x\" + mults);\n break;\n case \"effStr\":\n this.postToConsole(\"Strength: x\" + mults);\n break;\n case \"effDef\":\n this.postToConsole(\"Defense: x\" + mults);\n break;\n case \"effDex\":\n this.postToConsole(\"Dexterity: x\" + mults);\n break;\n case \"effAgi\":\n this.postToConsole(\"Agility: x\" + mults);\n break;\n case \"effCha\":\n this.postToConsole(\"Charisma: x\" + mults);\n break;\n case \"effInt\":\n this.postToConsole(\"Intelligence: x\" + mults);\n break;\n case \"stamina\":\n this.postToConsole(\"Stamina: x\" + mults);\n break;\n default:\n console.warn(`Unrecognized SkillMult Key: ${multKeys[i]}`);\n break;\n }\n }\n }\n } else {\n this.postToConsole(\"Invalid usage of 'skill' console command: skill [action] [name]\");\n this.postToConsole(\"Use 'help skill' for more info\");\n }\n break;\n }\n case 3: {\n const skillName = args[2];\n const skill = Skills[skillName];\n if (skill == null || !(skill instanceof Skill)) {\n this.postToConsole(\"Invalid skill name (Note that it is case-sensitive): \" + skillName);\n break;\n }\n if (args[1].toLowerCase() === \"list\") {\n let level = 0;\n if (this.skills[skill.name] !== undefined) {\n level = this.skills[skill.name];\n }\n this.postToConsole(skill.name + \": Level \" + formatNumber(level));\n } else if (args[1].toLowerCase() === \"level\") {\n let currentLevel = 0;\n if (this.skills[skillName] && !isNaN(this.skills[skillName])) {\n currentLevel = this.skills[skillName];\n }\n const pointCost = skill.calculateCost(currentLevel);\n if (skill.maxLvl !== 0 && currentLevel >= skill.maxLvl) {\n this.postToConsole(`This skill ${skill.name} is already at max level (${currentLevel}/${skill.maxLvl}).`);\n } else if (this.skillPoints >= pointCost) {\n this.skillPoints -= pointCost;\n this.upgradeSkill(skill);\n this.log(skill.name + \" upgraded to Level \" + this.skills[skillName]);\n } else {\n this.postToConsole(\n \"You do not have enough Skill Points to upgrade this. You need \" + formatNumber(pointCost, 0),\n );\n }\n } else {\n this.postToConsole(\"Invalid usage of 'skill' console command: skill [action] [name]\");\n this.postToConsole(\"Use 'help skill' for more info\");\n }\n break;\n }\n default: {\n this.postToConsole(\"Invalid usage of 'skill' console command: skill [action] [name]\");\n this.postToConsole(\"Use 'help skill' for more info\");\n break;\n }\n }\n }\n\n executeLogConsoleCommand(args: string[]): void {\n if (args.length < 3) {\n this.postToConsole(\"Invalid usage of log command: log [enable/disable] [action/event]\");\n this.postToConsole(\"Use 'help log' for more details and examples\");\n return;\n }\n\n let flag = true;\n if (args[1].toLowerCase().includes(\"d\")) {\n flag = false;\n } // d for disable\n\n switch (args[2].toLowerCase()) {\n case \"general\":\n case \"gen\":\n this.logging.general = flag;\n this.log(\"Logging \" + (flag ? \"enabled\" : \"disabled\") + \" for general actions\");\n break;\n case \"contract\":\n case \"contracts\":\n this.logging.contracts = flag;\n this.log(\"Logging \" + (flag ? \"enabled\" : \"disabled\") + \" for Contracts\");\n break;\n case \"ops\":\n case \"op\":\n case \"operations\":\n case \"operation\":\n this.logging.ops = flag;\n this.log(\"Logging \" + (flag ? \"enabled\" : \"disabled\") + \" for Operations\");\n break;\n case \"blackops\":\n case \"blackop\":\n case \"black operations\":\n case \"black operation\":\n this.logging.blackops = flag;\n this.log(\"Logging \" + (flag ? \"enabled\" : \"disabled\") + \" for BlackOps\");\n break;\n case \"event\":\n case \"events\":\n this.logging.events = flag;\n this.log(\"Logging \" + (flag ? \"enabled\" : \"disabled\") + \" for events\");\n break;\n case \"all\":\n this.logging.general = flag;\n this.logging.contracts = flag;\n this.logging.ops = flag;\n this.logging.blackops = flag;\n this.logging.events = flag;\n this.log(\"Logging \" + (flag ? \"enabled\" : \"disabled\") + \" for everything\");\n break;\n default:\n this.postToConsole(\"Invalid action/event type specified: \" + args[2]);\n this.postToConsole(\n \"Examples of valid action/event identifiers are: [general, contracts, ops, blackops, events]\",\n );\n break;\n }\n }\n\n executeHelpConsoleCommand(args: string[]): void {\n if (args.length === 1) {\n for (const line of ConsoleHelpText.helpList) {\n this.postToConsole(line);\n }\n } else {\n for (let i = 1; i < args.length; ++i) {\n if (!(args[i] in ConsoleHelpText)) continue;\n const helpText = ConsoleHelpText[args[i]];\n for (const line of helpText) {\n this.postToConsole(line);\n }\n }\n }\n }\n\n executeAutomateConsoleCommand(args: string[]): void {\n if (args.length !== 2 && args.length !== 4) {\n this.postToConsole(\n \"Invalid use of 'automate' command: automate [var] [val] [hi/low]. Use 'help automate' for more info\",\n );\n return;\n }\n\n // Enable/Disable\n if (args.length === 2) {\n const flag = args[1];\n if (flag.toLowerCase() === \"status\") {\n this.postToConsole(\"Automation: \" + (this.automateEnabled ? \"enabled\" : \"disabled\"));\n this.postToConsole(\n \"When your stamina drops to \" +\n formatNumber(this.automateThreshLow, 0) +\n \", you will automatically switch to \" +\n this.automateActionLow.name +\n \". When your stamina recovers to \" +\n formatNumber(this.automateThreshHigh, 0) +\n \", you will automatically \" +\n \"switch to \" +\n this.automateActionHigh.name +\n \".\",\n );\n } else if (flag.toLowerCase().includes(\"en\")) {\n if (\n !(this.automateActionLow instanceof ActionIdentifier) ||\n !(this.automateActionHigh instanceof ActionIdentifier)\n ) {\n return this.log(\"Failed to enable automation. Actions were not set\");\n }\n this.automateEnabled = true;\n this.log(\"Bladeburner automation enabled\");\n } else if (flag.toLowerCase().includes(\"d\")) {\n this.automateEnabled = false;\n this.log(\"Bladeburner automation disabled\");\n } else {\n this.log(\"Invalid argument for 'automate' console command: \" + args[1]);\n }\n return;\n }\n\n // Set variables\n if (args.length === 4) {\n const variable = args[1].toLowerCase(); // allows Action Type to be with or without capitalisation.\n const val = args[2];\n\n let highLow = false; // True for high, false for low\n if (args[3].toLowerCase().includes(\"hi\")) {\n highLow = true;\n }\n\n switch (variable) {\n case \"general\":\n case \"gen\":\n if (GeneralActions[val] != null) {\n const action = new ActionIdentifier({\n type: ActionTypes[val],\n name: val,\n });\n if (highLow) {\n this.automateActionHigh = action;\n } else {\n this.automateActionLow = action;\n }\n this.log(\"Automate (\" + (highLow ? \"HIGH\" : \"LOW\") + \") action set to \" + val);\n } else {\n this.postToConsole(\"Invalid action name specified: \" + val);\n }\n break;\n case \"contract\":\n case \"contracts\":\n if (this.contracts[val] != null) {\n const action = new ActionIdentifier({\n type: ActionTypes.Contract,\n name: val,\n });\n if (highLow) {\n this.automateActionHigh = action;\n } else {\n this.automateActionLow = action;\n }\n this.log(\"Automate (\" + (highLow ? \"HIGH\" : \"LOW\") + \") action set to \" + val);\n } else {\n this.postToConsole(\"Invalid contract name specified: \" + val);\n }\n break;\n case \"ops\":\n case \"op\":\n case \"operations\":\n case \"operation\":\n if (this.operations[val] != null) {\n const action = new ActionIdentifier({\n type: ActionTypes.Operation,\n name: val,\n });\n if (highLow) {\n this.automateActionHigh = action;\n } else {\n this.automateActionLow = action;\n }\n this.log(\"Automate (\" + (highLow ? \"HIGH\" : \"LOW\") + \") action set to \" + val);\n } else {\n this.postToConsole(\"Invalid Operation name specified: \" + val);\n }\n break;\n case \"stamina\":\n if (isNaN(parseFloat(val))) {\n this.postToConsole(\"Invalid value specified for stamina threshold (must be numeric): \" + val);\n } else {\n if (highLow) {\n this.automateThreshHigh = Number(val);\n } else {\n this.automateThreshLow = Number(val);\n }\n this.log(\"Automate (\" + (highLow ? \"HIGH\" : \"LOW\") + \") stamina threshold set to \" + val);\n }\n break;\n default:\n break;\n }\n\n return;\n }\n }\n\n parseCommandArguments(command: string): string[] {\n /**\n * Returns an array with command and its arguments in each index.\n * e.g. skill \"blade's intuition\" foo returns [skill, blade's intuition, foo]\n * The input to the fn will be trimmed and will have all whitespace replaced w/ a single space\n */\n const args = [];\n let start = 0;\n let i = 0;\n while (i < command.length) {\n const c = command.charAt(i);\n if (c === '\"') {\n // Double quotes\n const endQuote = command.indexOf('\"', i + 1);\n if (endQuote !== -1 && (endQuote === command.length - 1 || command.charAt(endQuote + 1) === KEY.SPACE)) {\n args.push(command.substr(i + 1, endQuote - i - 1));\n if (endQuote === command.length - 1) {\n start = i = endQuote + 1;\n } else {\n start = i = endQuote + 2; // Skip the space\n }\n continue;\n }\n } else if (c === \"'\") {\n // Single quotes, same thing as above\n const endQuote = command.indexOf(\"'\", i + 1);\n if (endQuote !== -1 && (endQuote === command.length - 1 || command.charAt(endQuote + 1) === KEY.SPACE)) {\n args.push(command.substr(i + 1, endQuote - i - 1));\n if (endQuote === command.length - 1) {\n start = i = endQuote + 1;\n } else {\n start = i = endQuote + 2; // Skip the space\n }\n continue;\n }\n } else if (c === KEY.SPACE) {\n args.push(command.substr(start, i - start));\n start = i + 1;\n }\n ++i;\n }\n if (start !== i) {\n args.push(command.substr(start, i - start));\n }\n return args;\n }\n\n executeConsoleCommand(player: IPlayer, command: string): void {\n command = command.trim();\n command = command.replace(/\\s\\s+/g, \" \"); // Replace all whitespace w/ a single space\n\n const args = this.parseCommandArguments(command);\n if (args.length <= 0) return; // Log an error?\n\n switch (args[0].toLowerCase()) {\n case \"automate\":\n this.executeAutomateConsoleCommand(args);\n break;\n case \"clear\":\n case \"cls\":\n this.clearConsole();\n break;\n case \"help\":\n this.executeHelpConsoleCommand(args);\n break;\n case \"log\":\n this.executeLogConsoleCommand(args);\n break;\n case \"skill\":\n this.executeSkillConsoleCommand(args);\n break;\n case \"start\":\n this.executeStartConsoleCommand(player, args);\n break;\n case \"stop\":\n this.resetAction();\n break;\n default:\n this.postToConsole(\"Invalid console command\");\n break;\n }\n }\n\n triggerMigration(sourceCityName: string): void {\n let destCityName = BladeburnerConstants.CityNames[getRandomInt(0, 5)];\n while (destCityName === sourceCityName) {\n destCityName = BladeburnerConstants.CityNames[getRandomInt(0, 5)];\n }\n const destCity = this.cities[destCityName];\n const sourceCity = this.cities[sourceCityName];\n if (destCity == null || sourceCity == null) {\n throw new Error(\"Failed to find City with name: \" + destCityName);\n }\n const rand = Math.random();\n let percentage = getRandomInt(3, 15) / 100;\n\n if (rand < 0.05 && sourceCity.comms > 0) {\n // 5% chance for community migration\n percentage *= getRandomInt(2, 4); // Migration increases population change\n --sourceCity.comms;\n ++destCity.comms;\n }\n const count = Math.round(sourceCity.pop * percentage);\n sourceCity.pop -= count;\n destCity.pop += count;\n }\n\n triggerPotentialMigration(sourceCityName: string, chance: number): void {\n if (chance == null || isNaN(chance)) {\n console.error(\"Invalid 'chance' parameter passed into Bladeburner.triggerPotentialMigration()\");\n }\n if (chance > 1) {\n chance /= 100;\n }\n if (Math.random() < chance) {\n this.triggerMigration(sourceCityName);\n }\n }\n\n randomEvent(): void {\n const chance = Math.random();\n\n // Choose random source/destination city for events\n const sourceCityName = BladeburnerConstants.CityNames[getRandomInt(0, 5)];\n const sourceCity = this.cities[sourceCityName];\n if (!(sourceCity instanceof City)) {\n throw new Error(\"sourceCity was not a City object in Bladeburner.randomEvent()\");\n }\n\n let destCityName = BladeburnerConstants.CityNames[getRandomInt(0, 5)];\n while (destCityName === sourceCityName) {\n destCityName = BladeburnerConstants.CityNames[getRandomInt(0, 5)];\n }\n const destCity = this.cities[destCityName];\n\n if (!(sourceCity instanceof City) || !(destCity instanceof City)) {\n throw new Error(\"sourceCity/destCity was not a City object in Bladeburner.randomEvent()\");\n }\n\n if (chance <= 0.05) {\n // New Synthoid Community, 5%\n ++sourceCity.comms;\n const percentage = getRandomInt(10, 20) / 100;\n const count = Math.round(sourceCity.pop * percentage);\n sourceCity.pop += count;\n if (this.logging.events) {\n this.log(\"Intelligence indicates that a new Synthoid community was formed in a city\");\n }\n } else if (chance <= 0.1) {\n // Synthoid Community Migration, 5%\n if (sourceCity.comms <= 0) {\n // If no comms in source city, then instead trigger a new Synthoid community event\n ++sourceCity.comms;\n const percentage = getRandomInt(10, 20) / 100;\n const count = Math.round(sourceCity.pop * percentage);\n sourceCity.pop += count;\n if (this.logging.events) {\n this.log(\"Intelligence indicates that a new Synthoid community was formed in a city\");\n }\n } else {\n --sourceCity.comms;\n ++destCity.comms;\n\n // Change pop\n const percentage = getRandomInt(10, 20) / 100;\n const count = Math.round(sourceCity.pop * percentage);\n sourceCity.pop -= count;\n destCity.pop += count;\n\n if (this.logging.events) {\n this.log(\n \"Intelligence indicates that a Synthoid community migrated from \" + sourceCityName + \" to some other city\",\n );\n }\n }\n } else if (chance <= 0.3) {\n // New Synthoids (non community), 20%\n const percentage = getRandomInt(8, 24) / 100;\n const count = Math.round(sourceCity.pop * percentage);\n sourceCity.pop += count;\n if (this.logging.events) {\n this.log(\n \"Intelligence indicates that the Synthoid population of \" + sourceCityName + \" just changed significantly\",\n );\n }\n } else if (chance <= 0.5) {\n // Synthoid migration (non community) 20%\n this.triggerMigration(sourceCityName);\n if (this.logging.events) {\n this.log(\n \"Intelligence indicates that a large number of Synthoids migrated from \" +\n sourceCityName +\n \" to some other city\",\n );\n }\n } else if (chance <= 0.7) {\n // Synthoid Riots (+chaos), 20%\n sourceCity.chaos += 1;\n sourceCity.chaos *= 1 + getRandomInt(5, 20) / 100;\n if (this.logging.events) {\n this.log(\"Tensions between Synthoids and humans lead to riots in \" + sourceCityName + \"! Chaos increased\");\n }\n } else if (chance <= 0.9) {\n // Less Synthoids, 20%\n const percentage = getRandomInt(8, 20) / 100;\n const count = Math.round(sourceCity.pop * percentage);\n sourceCity.pop -= count;\n if (this.logging.events) {\n this.log(\n \"Intelligence indicates that the Synthoid population of \" + sourceCityName + \" just changed significantly\",\n );\n }\n }\n // 10% chance of nothing happening\n }\n\n /**\n * Return stat to be gained from Contracts, Operations, and Black Operations\n * @param action(Action obj) - Derived action class\n * @param success(bool) - Whether action was successful\n */\n getActionStats(action: IAction, success: boolean): ITaskTracker {\n const difficulty = action.getDifficulty();\n\n /**\n * Gain multiplier based on difficulty. If it changes then the\n * same variable calculated in completeAction() needs to change too\n */\n const difficultyMult =\n Math.pow(difficulty, BladeburnerConstants.DiffMultExponentialFactor) +\n difficulty / BladeburnerConstants.DiffMultLinearFactor;\n\n const time = this.actionTimeToComplete;\n const successMult = success ? 1 : 0.5;\n\n const unweightedGain = time * BladeburnerConstants.BaseStatGain * successMult * difficultyMult;\n const unweightedIntGain = time * BladeburnerConstants.BaseIntGain * successMult * difficultyMult;\n const skillMult = this.skillMultipliers.expGain;\n\n return {\n hack: unweightedGain * action.weights.hack * skillMult,\n str: unweightedGain * action.weights.str * skillMult,\n def: unweightedGain * action.weights.def * skillMult,\n dex: unweightedGain * action.weights.dex * skillMult,\n agi: unweightedGain * action.weights.agi * skillMult,\n cha: unweightedGain * action.weights.cha * skillMult,\n int: unweightedIntGain * action.weights.int * skillMult,\n money: 0,\n };\n }\n\n getDiplomacyEffectiveness(person: IPerson): number {\n // Returns a decimal by which the city's chaos level should be multiplied (e.g. 0.98)\n const CharismaLinearFactor = 1e3;\n const CharismaExponentialFactor = 0.045;\n\n const charismaEff = Math.pow(person.charisma, CharismaExponentialFactor) + person.charisma / CharismaLinearFactor;\n return (100 - charismaEff) / 100;\n }\n\n getRecruitmentSuccessChance(person: IPerson): number {\n return Math.pow(person.charisma, 0.45) / (this.teamSize - this.sleeveSize + 1);\n }\n\n getRecruitmentTime(person: IPerson): number {\n const effCharisma = person.charisma * this.skillMultipliers.effCha;\n const charismaFactor = Math.pow(effCharisma, 0.81) + effCharisma / 90;\n return Math.max(10, Math.round(BladeburnerConstants.BaseRecruitmentTimeNeeded - charismaFactor));\n }\n\n sleeveSupport(joining: boolean): void {\n if (joining) {\n this.sleeveSize += 1;\n this.teamSize += 1;\n } else {\n this.sleeveSize -= 1;\n this.teamSize -= 1;\n }\n }\n\n resetSkillMultipliers(): void {\n this.skillMultipliers = {\n successChanceAll: 1,\n successChanceStealth: 1,\n successChanceKill: 1,\n successChanceContract: 1,\n successChanceOperation: 1,\n successChanceEstimate: 1,\n actionTime: 1,\n effHack: 1,\n effStr: 1,\n effDef: 1,\n effDex: 1,\n effAgi: 1,\n effCha: 1,\n effInt: 1,\n stamina: 1,\n money: 1,\n expGain: 1,\n };\n }\n\n updateSkillMultipliers(): void {\n this.resetSkillMultipliers();\n for (const skillName of Object.keys(this.skills)) {\n if (this.skills.hasOwnProperty(skillName)) {\n const skill = Skills[skillName];\n if (skill == null) {\n throw new Error(\"Could not find Skill Object for: \" + skillName);\n }\n const level = this.skills[skillName];\n if (level == null || level <= 0) {\n continue;\n } //Not upgraded\n\n const multiplierNames = Object.keys(this.skillMultipliers);\n for (let i = 0; i < multiplierNames.length; ++i) {\n const multiplierName = multiplierNames[i];\n if (skill.getMultiplier(multiplierName) != null && !isNaN(skill.getMultiplier(multiplierName))) {\n const value = skill.getMultiplier(multiplierName) * level;\n let multiplierValue = 1 + value / 100;\n if (multiplierName === \"actionTime\") {\n multiplierValue = 1 - value / 100;\n }\n this.skillMultipliers[multiplierName] *= multiplierValue;\n }\n }\n }\n }\n }\n\n completeOperation(success: boolean, player: IPlayer): void {\n if (this.action.type !== ActionTypes.Operation) {\n throw new Error(\"completeOperation() called even though current action is not an Operation\");\n }\n const action = this.getActionObject(this.action);\n if (action == null) {\n throw new Error(\"Failed to get Contract/Operation Object for: \" + this.action.name);\n }\n\n // Calculate team losses\n const teamCount = action.teamCount;\n if (teamCount >= 1) {\n let max;\n if (success) {\n max = Math.ceil(teamCount / 2);\n } else {\n max = Math.floor(teamCount);\n }\n const losses = getRandomInt(0, max);\n this.teamSize -= losses;\n if (this.teamSize < this.sleeveSize) {\n const sup = player.sleeves.filter((x) => x.bbAction == \"Support main sleeve\");\n for (let i = 0; i > this.teamSize - this.sleeveSize; i--) {\n const r = Math.floor(Math.random() * sup.length);\n sup[r].takeDamage(sup[r].max_hp);\n sup.splice(r, 1);\n }\n this.teamSize += this.sleeveSize;\n }\n this.teamLost += losses;\n if (this.logging.ops && losses > 0) {\n this.log(\"Lost \" + formatNumber(losses, 0) + \" team members during this \" + action.name);\n }\n }\n\n const city = this.getCurrentCity();\n switch (action.name) {\n case \"Investigation\":\n if (success) {\n city.improvePopulationEstimateByPercentage(0.4 * this.skillMultipliers.successChanceEstimate);\n } else {\n this.triggerPotentialMigration(this.city, 0.1);\n }\n break;\n case \"Undercover Operation\":\n if (success) {\n city.improvePopulationEstimateByPercentage(0.8 * this.skillMultipliers.successChanceEstimate);\n } else {\n this.triggerPotentialMigration(this.city, 0.15);\n }\n break;\n case \"Sting Operation\":\n if (success) {\n city.changePopulationByPercentage(-0.1, {\n changeEstEqually: true,\n nonZero: true,\n });\n }\n city.changeChaosByCount(0.1);\n break;\n case \"Raid\":\n if (success) {\n city.changePopulationByPercentage(-1, {\n changeEstEqually: true,\n nonZero: true,\n });\n --city.comms;\n } else {\n const change = getRandomInt(-10, -5) / 10;\n city.changePopulationByPercentage(change, {\n nonZero: true,\n changeEstEqually: false,\n });\n }\n city.changeChaosByPercentage(getRandomInt(1, 5));\n break;\n case \"Stealth Retirement Operation\":\n if (success) {\n city.changePopulationByPercentage(-0.5, {\n changeEstEqually: true,\n nonZero: true,\n });\n }\n city.changeChaosByPercentage(getRandomInt(-3, -1));\n break;\n case \"Assassination\":\n if (success) {\n city.changePopulationByCount(-1, { estChange: -1, estOffset: 0 });\n }\n city.changeChaosByPercentage(getRandomInt(-5, 5));\n break;\n default:\n throw new Error(\"Invalid Action name in completeOperation: \" + this.action.name);\n }\n }\n\n getActionObject(actionId: IActionIdentifier): IAction | null {\n /**\n * Given an ActionIdentifier object, returns the corresponding\n * GeneralAction, Contract, Operation, or BlackOperation object\n */\n switch (actionId.type) {\n case ActionTypes[\"Contract\"]:\n return this.contracts[actionId.name];\n case ActionTypes[\"Operation\"]:\n return this.operations[actionId.name];\n case ActionTypes[\"BlackOp\"]:\n case ActionTypes[\"BlackOperation\"]:\n return BlackOperations[actionId.name];\n case ActionTypes[\"Training\"]:\n return GeneralActions[\"Training\"];\n case ActionTypes[\"Field Analysis\"]:\n return GeneralActions[\"Field Analysis\"];\n case ActionTypes[\"Recruitment\"]:\n return GeneralActions[\"Recruitment\"];\n case ActionTypes[\"Diplomacy\"]:\n return GeneralActions[\"Diplomacy\"];\n case ActionTypes[\"Hyperbolic Regeneration Chamber\"]:\n return GeneralActions[\"Hyperbolic Regeneration Chamber\"];\n case ActionTypes[\"Incite Violence\"]:\n return GeneralActions[\"Incite Violence\"];\n default:\n return null;\n }\n }\n\n completeContract(success: boolean, actionIdent: IActionIdentifier): void {\n if (actionIdent.type !== ActionTypes.Contract) {\n throw new Error(\"completeContract() called even though current action is not a Contract\");\n }\n const city = this.getCurrentCity();\n if (success) {\n switch (actionIdent.name) {\n case \"Tracking\":\n // Increase estimate accuracy by a relatively small amount\n city.improvePopulationEstimateByCount(getRandomInt(100, 1e3));\n break;\n case \"Bounty Hunter\":\n city.changePopulationByCount(-1, { estChange: -1, estOffset: 0 });\n city.changeChaosByCount(0.02);\n break;\n case \"Retirement\":\n city.changePopulationByCount(-1, { estChange: -1, estOffset: 0 });\n city.changeChaosByCount(0.04);\n break;\n default:\n throw new Error(\"Invalid Action name in completeContract: \" + actionIdent.name);\n }\n }\n }\n\n completeAction(player: IPlayer, person: IPerson, actionIdent: IActionIdentifier, isPlayer = true): ITaskTracker {\n let retValue = createTaskTracker();\n switch (actionIdent.type) {\n case ActionTypes[\"Contract\"]:\n case ActionTypes[\"Operation\"]: {\n try {\n const isOperation = actionIdent.type === ActionTypes[\"Operation\"];\n const action = this.getActionObject(actionIdent);\n if (action == null) {\n throw new Error(\"Failed to get Contract/Operation Object for: \" + actionIdent.name);\n }\n const difficulty = action.getDifficulty();\n const difficultyMultiplier =\n Math.pow(difficulty, BladeburnerConstants.DiffMultExponentialFactor) +\n difficulty / BladeburnerConstants.DiffMultLinearFactor;\n const rewardMultiplier = Math.pow(action.rewardFac, action.level - 1);\n\n if (isPlayer) {\n // Stamina loss is based on difficulty\n this.stamina -= BladeburnerConstants.BaseStaminaLoss * difficultyMultiplier;\n if (this.stamina < 0) {\n this.stamina = 0;\n }\n }\n\n // Process Contract/Operation success/failure\n if (action.attempt(this, person)) {\n retValue = this.getActionStats(action, true);\n ++action.successes;\n --action.count;\n\n // Earn money for contracts\n let moneyGain = 0;\n if (!isOperation) {\n moneyGain = BladeburnerConstants.ContractBaseMoneyGain * rewardMultiplier * this.skillMultipliers.money;\n retValue.money = moneyGain;\n }\n\n if (isOperation) {\n action.setMaxLevel(BladeburnerConstants.OperationSuccessesPerLevel);\n } else {\n action.setMaxLevel(BladeburnerConstants.ContractSuccessesPerLevel);\n }\n if (action.rankGain) {\n const gain = addOffset(action.rankGain * rewardMultiplier * BitNodeMultipliers.BladeburnerRank, 10);\n this.changeRank(person, gain);\n if (isOperation && this.logging.ops) {\n this.log(\n `${person.whoAmI()}: ` +\n action.name +\n \" successfully completed! Gained \" +\n formatNumber(gain, 3) +\n \" rank\",\n );\n } else if (!isOperation && this.logging.contracts) {\n this.log(\n `${person.whoAmI()}: ` +\n action.name +\n \" contract successfully completed! Gained \" +\n formatNumber(gain, 3) +\n \" rank and \" +\n numeralWrapper.formatMoney(moneyGain),\n );\n }\n }\n isOperation ? this.completeOperation(true, player) : this.completeContract(true, actionIdent);\n } else {\n retValue = this.getActionStats(action, false);\n ++action.failures;\n let loss = 0,\n damage = 0;\n if (action.rankLoss) {\n loss = addOffset(action.rankLoss * rewardMultiplier, 10);\n this.changeRank(person, -1 * loss);\n }\n if (action.hpLoss) {\n damage = action.hpLoss * difficultyMultiplier;\n damage = Math.ceil(addOffset(damage, 10));\n this.hpLost += damage;\n const cost = calculateHospitalizationCost(player, damage);\n if (person.takeDamage(damage)) {\n ++this.numHosp;\n this.moneyLost += cost;\n }\n }\n let logLossText = \"\";\n if (loss > 0) {\n logLossText += \"Lost \" + formatNumber(loss, 3) + \" rank. \";\n }\n if (damage > 0) {\n logLossText += \"Took \" + formatNumber(damage, 0) + \" damage.\";\n }\n if (isOperation && this.logging.ops) {\n this.log(`${person.whoAmI()}: ` + action.name + \" failed! \" + logLossText);\n } else if (!isOperation && this.logging.contracts) {\n this.log(`${person.whoAmI()}: ` + action.name + \" contract failed! \" + logLossText);\n }\n isOperation ? this.completeOperation(false, player) : this.completeContract(false, actionIdent);\n }\n if (action.autoLevel) {\n action.level = action.maxLevel;\n } // Autolevel\n } catch (e: unknown) {\n exceptionAlert(e);\n }\n break;\n }\n case ActionTypes[\"BlackOp\"]:\n case ActionTypes[\"BlackOperation\"]: {\n try {\n const action = this.getActionObject(actionIdent);\n if (action == null || !(action instanceof BlackOperation)) {\n throw new Error(\"Failed to get BlackOperation Object for: \" + actionIdent.name);\n }\n const difficulty = action.getDifficulty();\n const difficultyMultiplier =\n Math.pow(difficulty, BladeburnerConstants.DiffMultExponentialFactor) +\n difficulty / BladeburnerConstants.DiffMultLinearFactor;\n\n // Stamina loss is based on difficulty\n this.stamina -= BladeburnerConstants.BaseStaminaLoss * difficultyMultiplier;\n if (this.stamina < 0) {\n this.stamina = 0;\n }\n\n // Team loss variables\n const teamCount = action.teamCount;\n let teamLossMax;\n\n if (action.attempt(this, person)) {\n retValue = this.getActionStats(action, true);\n action.count = 0;\n this.blackops[action.name] = true;\n let rankGain = 0;\n if (action.rankGain) {\n rankGain = addOffset(action.rankGain * BitNodeMultipliers.BladeburnerRank, 10);\n this.changeRank(person, rankGain);\n }\n teamLossMax = Math.ceil(teamCount / 2);\n\n if (this.logging.blackops) {\n this.log(\n `${person.whoAmI()}: ` + action.name + \" successful! Gained \" + formatNumber(rankGain, 1) + \" rank\",\n );\n }\n } else {\n retValue = this.getActionStats(action, false);\n let rankLoss = 0;\n let damage = 0;\n if (action.rankLoss) {\n rankLoss = addOffset(action.rankLoss, 10);\n this.changeRank(person, -1 * rankLoss);\n }\n if (action.hpLoss) {\n damage = action.hpLoss * difficultyMultiplier;\n damage = Math.ceil(addOffset(damage, 10));\n const cost = calculateHospitalizationCost(player, damage);\n if (person.takeDamage(damage)) {\n ++this.numHosp;\n this.moneyLost += cost;\n }\n }\n teamLossMax = Math.floor(teamCount);\n\n if (this.logging.blackops) {\n this.log(\n `${person.whoAmI()}: ` +\n action.name +\n \" failed! Lost \" +\n formatNumber(rankLoss, 1) +\n \" rank and took \" +\n formatNumber(damage, 0) +\n \" damage\",\n );\n }\n }\n\n this.resetAction(); // Stop regardless of success or fail\n\n // Calculate team lossses\n if (teamCount >= 1) {\n const losses = getRandomInt(1, teamLossMax);\n this.teamSize -= losses;\n if (this.teamSize < this.sleeveSize) {\n const sup = player.sleeves.filter((x) => x.bbAction == \"Support main sleeve\");\n for (let i = 0; i > this.teamSize - this.sleeveSize; i--) {\n const r = Math.floor(Math.random() * sup.length);\n sup[r].takeDamage(sup[r].max_hp);\n sup.splice(r, 1);\n }\n this.teamSize += this.sleeveSize;\n }\n this.teamLost += losses;\n if (this.logging.blackops) {\n this.log(`${person.whoAmI()}: You lost ${formatNumber(losses, 0)} team members during ${action.name}`);\n }\n }\n } catch (e: unknown) {\n exceptionAlert(e);\n }\n break;\n }\n case ActionTypes[\"Training\"]: {\n this.stamina -= 0.5 * BladeburnerConstants.BaseStaminaLoss;\n const strExpGain = 30 * person.mults.strength_exp,\n defExpGain = 30 * person.mults.defense_exp,\n dexExpGain = 30 * person.mults.dexterity_exp,\n agiExpGain = 30 * person.mults.agility_exp,\n staminaGain = 0.04 * this.skillMultipliers.stamina;\n retValue.str = strExpGain;\n retValue.def = defExpGain;\n retValue.dex = dexExpGain;\n retValue.agi = agiExpGain;\n this.staminaBonus += staminaGain;\n if (this.logging.general) {\n this.log(\n `${person.whoAmI()}: ` +\n \"Training completed. Gained: \" +\n formatNumber(strExpGain, 1) +\n \" str exp, \" +\n formatNumber(defExpGain, 1) +\n \" def exp, \" +\n formatNumber(dexExpGain, 1) +\n \" dex exp, \" +\n formatNumber(agiExpGain, 1) +\n \" agi exp, \" +\n formatNumber(staminaGain, 3) +\n \" max stamina\",\n );\n }\n break;\n }\n case ActionTypes[\"FieldAnalysis\"]:\n case ActionTypes[\"Field Analysis\"]: {\n // Does not use stamina. Effectiveness depends on hacking, int, and cha\n let eff =\n 0.04 * Math.pow(person.hacking, 0.3) +\n 0.04 * Math.pow(person.intelligence, 0.9) +\n 0.02 * Math.pow(person.charisma, 0.3);\n eff *= person.mults.bladeburner_analysis;\n if (isNaN(eff) || eff < 0) {\n throw new Error(\"Field Analysis Effectiveness calculated to be NaN or negative\");\n }\n const hackingExpGain = 20 * person.mults.hacking_exp;\n const charismaExpGain = 20 * person.mults.charisma_exp;\n const rankGain = 0.1 * BitNodeMultipliers.BladeburnerRank;\n retValue.hack = hackingExpGain;\n retValue.cha = charismaExpGain;\n retValue.int = BladeburnerConstants.BaseIntGain;\n this.changeRank(person, rankGain);\n this.getCurrentCity().improvePopulationEstimateByPercentage(eff * this.skillMultipliers.successChanceEstimate);\n if (this.logging.general) {\n this.log(\n `${person.whoAmI()}: ` +\n `Field analysis completed. Gained ${formatNumber(rankGain, 2)} rank, ` +\n `${formatNumber(hackingExpGain, 1)} hacking exp, and ` +\n `${formatNumber(charismaExpGain, 1)} charisma exp`,\n );\n }\n break;\n }\n case ActionTypes[\"Recruitment\"]: {\n const successChance = this.getRecruitmentSuccessChance(person);\n const recruitTime = this.getRecruitmentTime(person) * 1000;\n if (Math.random() < successChance) {\n const expGain = 2 * BladeburnerConstants.BaseStatGain * recruitTime;\n retValue.cha = expGain;\n ++this.teamSize;\n if (this.logging.general) {\n this.log(\n `${person.whoAmI()}: ` +\n \"Successfully recruited a team member! Gained \" +\n formatNumber(expGain, 1) +\n \" charisma exp\",\n );\n }\n } else {\n const expGain = BladeburnerConstants.BaseStatGain * recruitTime;\n retValue.cha = expGain;\n if (this.logging.general) {\n this.log(\n `${person.whoAmI()}: ` +\n \"Failed to recruit a team member. Gained \" +\n formatNumber(expGain, 1) +\n \" charisma exp\",\n );\n }\n }\n break;\n }\n case ActionTypes[\"Diplomacy\"]: {\n const eff = this.getDiplomacyEffectiveness(person);\n this.getCurrentCity().chaos *= eff;\n if (this.getCurrentCity().chaos < 0) {\n this.getCurrentCity().chaos = 0;\n }\n if (this.logging.general) {\n this.log(\n `${person.whoAmI()}: Diplomacy completed. Chaos levels in the current city fell by ${numeralWrapper.formatPercentage(\n 1 - eff,\n )}`,\n );\n }\n break;\n }\n case ActionTypes[\"Hyperbolic Regeneration Chamber\"]: {\n person.regenerateHp(BladeburnerConstants.HrcHpGain);\n\n const staminaGain = this.maxStamina * (BladeburnerConstants.HrcStaminaGain / 100);\n this.stamina = Math.min(this.maxStamina, this.stamina + staminaGain);\n if (this.logging.general) {\n this.log(\n `${person.whoAmI()}: Rested in Hyperbolic Regeneration Chamber. Restored ${\n BladeburnerConstants.HrcHpGain\n } HP and gained ${numeralWrapper.formatStamina(staminaGain)} stamina`,\n );\n }\n break;\n }\n case ActionTypes[\"Incite Violence\"]: {\n for (const contract of Object.keys(this.contracts)) {\n const growthF = Growths[contract];\n if (!growthF) throw new Error(\"trying to generate count for action that doesn't exist? \" + contract);\n this.contracts[contract].count += (60 * 3 * growthF()) / BladeburnerConstants.ActionCountGrowthPeriod;\n }\n for (const operation of Object.keys(this.operations)) {\n const growthF = Growths[operation];\n if (!growthF) throw new Error(\"trying to generate count for action that doesn't exist? \" + operation);\n this.operations[operation].count += (60 * 3 * growthF()) / BladeburnerConstants.ActionCountGrowthPeriod;\n }\n if (this.logging.general) {\n this.log(`${person.whoAmI()}: Incited violence in the synthoid communities.`);\n }\n for (const cityName of Object.keys(this.cities)) {\n const city = this.cities[cityName];\n city.chaos += 10;\n city.chaos += city.chaos / (Math.log(city.chaos) / Math.log(10));\n }\n break;\n }\n default:\n console.error(`Bladeburner.completeAction() called for invalid action: ${actionIdent.type}`);\n break;\n }\n return retValue;\n }\n\n infiltrateSynthoidCommunities(p: IPlayer): void {\n const infilSleeves = p.sleeves.filter((s) => s.bbAction === \"Infiltrate synthoids\").length;\n const amt = Math.pow(infilSleeves, -0.5) / 2;\n for (const contract of Object.keys(this.contracts)) {\n this.contracts[contract].count += amt;\n }\n for (const operation of Object.keys(this.operations)) {\n this.operations[operation].count += amt;\n }\n if (this.logging.general) {\n this.log(`Sleeve: Infiltrate the synthoid communities.`);\n }\n }\n\n changeRank(person: IPerson, change: number): void {\n if (isNaN(change)) {\n throw new Error(\"NaN passed into Bladeburner.changeRank()\");\n }\n this.rank += change;\n if (this.rank < 0) {\n this.rank = 0;\n }\n this.maxRank = Math.max(this.rank, this.maxRank);\n\n const bladeburnersFactionName = FactionNames.Bladeburners;\n if (factionExists(bladeburnersFactionName)) {\n const bladeburnerFac = Factions[bladeburnersFactionName];\n if (!(bladeburnerFac instanceof Faction)) {\n throw new Error(\n `Could not properly get ${FactionNames.Bladeburners} Faction object in ${FactionNames.Bladeburners} UI Overview Faction button`,\n );\n }\n if (bladeburnerFac.isMember) {\n const favorBonus = 1 + bladeburnerFac.favor / 100;\n bladeburnerFac.playerReputation +=\n BladeburnerConstants.RankToFactionRepFactor * change * person.mults.faction_rep * favorBonus;\n }\n }\n\n // Gain skill points\n const rankNeededForSp = (this.totalSkillPoints + 1) * BladeburnerConstants.RanksPerSkillPoint;\n if (this.maxRank >= rankNeededForSp) {\n // Calculate how many skill points to gain\n const gainedSkillPoints = Math.floor(\n (this.maxRank - rankNeededForSp) / BladeburnerConstants.RanksPerSkillPoint + 1,\n );\n this.skillPoints += gainedSkillPoints;\n this.totalSkillPoints += gainedSkillPoints;\n }\n }\n\n processAction(router: IRouter, player: IPlayer, seconds: number): void {\n if (this.action.type === ActionTypes[\"Idle\"]) return;\n if (this.actionTimeToComplete <= 0) {\n throw new Error(`Invalid actionTimeToComplete value: ${this.actionTimeToComplete}, type; ${this.action.type}`);\n }\n if (!(this.action instanceof ActionIdentifier)) {\n throw new Error(\"Bladeburner.action is not an ActionIdentifier Object\");\n }\n\n // If the previous action went past its completion time, add to the next action\n // This is not added inmediatly in case the automation changes the action\n this.actionTimeCurrent += seconds + this.actionTimeOverflow;\n this.actionTimeOverflow = 0;\n if (this.actionTimeCurrent >= this.actionTimeToComplete) {\n this.actionTimeOverflow = this.actionTimeCurrent - this.actionTimeToComplete;\n const action = this.getActionObject(this.action);\n const retValue = this.completeAction(player, player, this.action);\n player.gainMoney(retValue.money, \"bladeburner\");\n player.gainStats(retValue);\n // Operation Daedalus\n if (action == null) {\n throw new Error(\"Failed to get BlackOperation Object for: \" + this.action.name);\n } else if (this.action.type != ActionTypes[\"BlackOperation\"] && this.action.type != ActionTypes[\"BlackOp\"]) {\n this.startAction(player, this.action); // Repeat action\n }\n }\n }\n\n calculateStaminaGainPerSecond(player: IPlayer): number {\n const effAgility = player.agility * this.skillMultipliers.effAgi;\n const maxStaminaBonus = this.maxStamina / BladeburnerConstants.MaxStaminaToGainFactor;\n const gain = (BladeburnerConstants.StaminaGainPerSecond + maxStaminaBonus) * Math.pow(effAgility, 0.17);\n return gain * (this.skillMultipliers.stamina * player.mults.bladeburner_stamina_gain);\n }\n\n calculateMaxStamina(player: IPlayer): void {\n const effAgility = player.agility * this.skillMultipliers.effAgi;\n const maxStamina =\n (Math.pow(effAgility, 0.8) + this.staminaBonus) *\n this.skillMultipliers.stamina *\n player.mults.bladeburner_max_stamina;\n if (this.maxStamina !== maxStamina) {\n const oldMax = this.maxStamina;\n this.maxStamina = maxStamina;\n this.stamina = (this.maxStamina * this.stamina) / oldMax;\n }\n if (isNaN(maxStamina)) {\n throw new Error(\"Max Stamina calculated to be NaN in Bladeburner.calculateMaxStamina()\");\n }\n }\n\n create(): void {\n this.contracts[\"Tracking\"] = new Contract({\n name: \"Tracking\",\n baseDifficulty: 125,\n difficultyFac: 1.02,\n rewardFac: 1.041,\n rankGain: 0.3,\n hpLoss: 0.5,\n count: getRandomInt(25, 150),\n weights: {\n hack: 0,\n str: 0.05,\n def: 0.05,\n dex: 0.35,\n agi: 0.35,\n cha: 0.1,\n int: 0.05,\n },\n decays: {\n hack: 0,\n str: 0.91,\n def: 0.91,\n dex: 0.91,\n agi: 0.91,\n cha: 0.9,\n int: 1,\n },\n isStealth: true,\n });\n this.contracts[\"Bounty Hunter\"] = new Contract({\n name: \"Bounty Hunter\",\n baseDifficulty: 250,\n difficultyFac: 1.04,\n rewardFac: 1.085,\n rankGain: 0.9,\n hpLoss: 1,\n count: getRandomInt(5, 150),\n weights: {\n hack: 0,\n str: 0.15,\n def: 0.15,\n dex: 0.25,\n agi: 0.25,\n cha: 0.1,\n int: 0.1,\n },\n decays: {\n hack: 0,\n str: 0.91,\n def: 0.91,\n dex: 0.91,\n agi: 0.91,\n cha: 0.8,\n int: 0.9,\n },\n isKill: true,\n });\n this.contracts[\"Retirement\"] = new Contract({\n name: \"Retirement\",\n baseDifficulty: 200,\n difficultyFac: 1.03,\n rewardFac: 1.065,\n rankGain: 0.6,\n hpLoss: 1,\n count: getRandomInt(5, 150),\n weights: {\n hack: 0,\n str: 0.2,\n def: 0.2,\n dex: 0.2,\n agi: 0.2,\n cha: 0.1,\n int: 0.1,\n },\n decays: {\n hack: 0,\n str: 0.91,\n def: 0.91,\n dex: 0.91,\n agi: 0.91,\n cha: 0.8,\n int: 0.9,\n },\n isKill: true,\n });\n\n this.operations[\"Investigation\"] = new Operation({\n name: \"Investigation\",\n baseDifficulty: 400,\n difficultyFac: 1.03,\n rewardFac: 1.07,\n reqdRank: 25,\n rankGain: 2.2,\n rankLoss: 0.2,\n count: getRandomInt(1, 100),\n weights: {\n hack: 0.25,\n str: 0.05,\n def: 0.05,\n dex: 0.2,\n agi: 0.1,\n cha: 0.25,\n int: 0.1,\n },\n decays: {\n hack: 0.85,\n str: 0.9,\n def: 0.9,\n dex: 0.9,\n agi: 0.9,\n cha: 0.7,\n int: 0.9,\n },\n isStealth: true,\n });\n this.operations[\"Undercover Operation\"] = new Operation({\n name: \"Undercover Operation\",\n baseDifficulty: 500,\n difficultyFac: 1.04,\n rewardFac: 1.09,\n reqdRank: 100,\n rankGain: 4.4,\n rankLoss: 0.4,\n hpLoss: 2,\n count: getRandomInt(1, 100),\n weights: {\n hack: 0.2,\n str: 0.05,\n def: 0.05,\n dex: 0.2,\n agi: 0.2,\n cha: 0.2,\n int: 0.1,\n },\n decays: {\n hack: 0.8,\n str: 0.9,\n def: 0.9,\n dex: 0.9,\n agi: 0.9,\n cha: 0.7,\n int: 0.9,\n },\n isStealth: true,\n });\n this.operations[\"Sting Operation\"] = new Operation({\n name: \"Sting Operation\",\n baseDifficulty: 650,\n difficultyFac: 1.04,\n rewardFac: 1.095,\n reqdRank: 500,\n rankGain: 5.5,\n rankLoss: 0.5,\n hpLoss: 2.5,\n count: getRandomInt(1, 150),\n weights: {\n hack: 0.25,\n str: 0.05,\n def: 0.05,\n dex: 0.25,\n agi: 0.1,\n cha: 0.2,\n int: 0.1,\n },\n decays: {\n hack: 0.8,\n str: 0.85,\n def: 0.85,\n dex: 0.85,\n agi: 0.85,\n cha: 0.7,\n int: 0.9,\n },\n isStealth: true,\n });\n this.operations[\"Raid\"] = new Operation({\n name: \"Raid\",\n baseDifficulty: 800,\n difficultyFac: 1.045,\n rewardFac: 1.1,\n reqdRank: 3000,\n rankGain: 55,\n rankLoss: 2.5,\n hpLoss: 50,\n count: getRandomInt(1, 150),\n weights: {\n hack: 0.1,\n str: 0.2,\n def: 0.2,\n dex: 0.2,\n agi: 0.2,\n cha: 0,\n int: 0.1,\n },\n decays: {\n hack: 0.7,\n str: 0.8,\n def: 0.8,\n dex: 0.8,\n agi: 0.8,\n cha: 0,\n int: 0.9,\n },\n isKill: true,\n });\n this.operations[\"Stealth Retirement Operation\"] = new Operation({\n name: \"Stealth Retirement Operation\",\n baseDifficulty: 1000,\n difficultyFac: 1.05,\n rewardFac: 1.11,\n reqdRank: 20e3,\n rankGain: 22,\n rankLoss: 2,\n hpLoss: 10,\n count: getRandomInt(1, 150),\n weights: {\n hack: 0.1,\n str: 0.1,\n def: 0.1,\n dex: 0.3,\n agi: 0.3,\n cha: 0,\n int: 0.1,\n },\n decays: {\n hack: 0.7,\n str: 0.8,\n def: 0.8,\n dex: 0.8,\n agi: 0.8,\n cha: 0,\n int: 0.9,\n },\n isStealth: true,\n isKill: true,\n });\n this.operations[\"Assassination\"] = new Operation({\n name: \"Assassination\",\n baseDifficulty: 1500,\n difficultyFac: 1.06,\n rewardFac: 1.14,\n reqdRank: 50e3,\n rankGain: 44,\n rankLoss: 4,\n hpLoss: 5,\n count: getRandomInt(1, 150),\n weights: {\n hack: 0.1,\n str: 0.1,\n def: 0.1,\n dex: 0.3,\n agi: 0.3,\n cha: 0,\n int: 0.1,\n },\n decays: {\n hack: 0.6,\n str: 0.8,\n def: 0.8,\n dex: 0.8,\n agi: 0.8,\n cha: 0,\n int: 0.8,\n },\n isStealth: true,\n isKill: true,\n });\n }\n\n process(router: IRouter, player: IPlayer): void {\n // Edge race condition when the engine checks the processing counters and attempts to route before the router is initialized.\n if (!router.isInitialized) return;\n\n // If the Player starts doing some other actions, set action to idle and alert\n if (!player.hasAugmentation(AugmentationNames.BladesSimulacrum, true) && player.currentWork) {\n if (this.action.type !== ActionTypes[\"Idle\"]) {\n let msg = \"Your Bladeburner action was cancelled because you started doing something else.\";\n if (this.automateEnabled) {\n msg += `
Your automation was disabled as well. You will have to re-enable it through the Bladeburner console`;\n this.automateEnabled = false;\n }\n if (!Settings.SuppressBladeburnerPopup) {\n dialogBoxCreate(msg);\n }\n }\n this.resetAction();\n }\n\n // If the Player has no Stamina, set action to idle\n if (this.stamina <= 0) {\n this.log(\"Your Bladeburner action was cancelled because your stamina hit 0\");\n this.resetAction();\n }\n\n // A 'tick' for this mechanic is one second (= 5 game cycles)\n if (this.storedCycles >= BladeburnerConstants.CyclesPerSecond) {\n let seconds = Math.floor(this.storedCycles / BladeburnerConstants.CyclesPerSecond);\n seconds = Math.min(seconds, 5); // Max of 5 'ticks'\n this.storedCycles -= seconds * BladeburnerConstants.CyclesPerSecond;\n\n // Stamina\n this.calculateMaxStamina(player);\n this.stamina += this.calculateStaminaGainPerSecond(player) * seconds;\n this.stamina = Math.min(this.maxStamina, this.stamina);\n\n // Count increase for contracts/operations\n for (const contract of Object.values(this.contracts)) {\n const growthF = Growths[contract.name];\n if (growthF === undefined) throw new Error(`growth formula for action '${contract.name}' is undefined`);\n contract.count += (seconds * growthF()) / BladeburnerConstants.ActionCountGrowthPeriod;\n }\n for (const op of Object.values(this.operations)) {\n const growthF = Growths[op.name];\n if (growthF === undefined) throw new Error(`growth formula for action '${op.name}' is undefined`);\n if (growthF !== undefined) {\n op.count += (seconds * growthF()) / BladeburnerConstants.ActionCountGrowthPeriod;\n }\n }\n\n // Chaos goes down very slowly\n for (const cityName of BladeburnerConstants.CityNames) {\n const city = this.cities[cityName];\n if (!(city instanceof City)) {\n throw new Error(\"Invalid City object when processing passive chaos reduction in Bladeburner.process\");\n }\n city.chaos -= 0.0001 * seconds;\n city.chaos = Math.max(0, city.chaos);\n }\n\n // Random Events\n this.randomEventCounter -= seconds;\n if (this.randomEventCounter <= 0) {\n this.randomEvent();\n // Add instead of setting because we might have gone over the required time for the event\n this.randomEventCounter += getRandomInt(240, 600);\n }\n\n this.processAction(router, player, seconds);\n\n // Automation\n if (this.automateEnabled) {\n // Note: Do NOT set this.action = this.automateActionHigh/Low since it creates a reference\n if (this.stamina <= this.automateThreshLow) {\n if (this.action.name !== this.automateActionLow.name || this.action.type !== this.automateActionLow.type) {\n this.action = new ActionIdentifier({\n type: this.automateActionLow.type,\n name: this.automateActionLow.name,\n });\n this.startAction(player, this.action);\n }\n } else if (this.stamina >= this.automateThreshHigh) {\n if (this.action.name !== this.automateActionHigh.name || this.action.type !== this.automateActionHigh.type) {\n this.action = new ActionIdentifier({\n type: this.automateActionHigh.type,\n name: this.automateActionHigh.name,\n });\n this.startAction(player, this.action);\n }\n }\n }\n }\n }\n\n getTypeAndNameFromActionId(actionId: IActionIdentifier): {\n type: string;\n name: string;\n } {\n const res = { type: \"\", name: \"\" };\n const types = Object.keys(ActionTypes);\n for (let i = 0; i < types.length; ++i) {\n if (actionId.type === ActionTypes[types[i]]) {\n res.type = types[i];\n break;\n }\n }\n const gen = [\n \"Training\",\n \"Recruitment\",\n \"FieldAnalysis\",\n \"Field Analysis\",\n \"Diplomacy\",\n \"Hyperbolic Regeneration Chamber\",\n \"Incite Violence\",\n ];\n if (gen.includes(res.type)) {\n res.type = \"General\";\n }\n\n if (res.type == null) {\n res.type = \"Idle\";\n }\n\n res.name = actionId.name != null ? actionId.name : \"Idle\";\n return res;\n }\n\n getContractNamesNetscriptFn(): string[] {\n return Object.keys(this.contracts);\n }\n\n getOperationNamesNetscriptFn(): string[] {\n return Object.keys(this.operations);\n }\n\n getBlackOpNamesNetscriptFn(): string[] {\n return Object.keys(BlackOperations);\n }\n\n getGeneralActionNamesNetscriptFn(): string[] {\n return Object.keys(GeneralActions);\n }\n\n getSkillNamesNetscriptFn(): string[] {\n return Object.keys(Skills);\n }\n\n startActionNetscriptFn(player: IPlayer, type: string, name: string, workerScript: WorkerScript): boolean {\n const errorLogText = `Invalid action: type='${type}' name='${name}'`;\n const actionId = this.getActionIdFromTypeAndName(type, name);\n if (actionId == null) {\n workerScript.log(\"bladeburner.startAction\", () => errorLogText);\n return false;\n }\n\n // Special logic for Black Ops\n if (actionId.type === ActionTypes[\"BlackOp\"]) {\n const canRunOp = this.canAttemptBlackOp(actionId);\n if (!canRunOp.isAvailable) {\n workerScript.log(\"bladeburner.startAction\", () => canRunOp.error + \"\");\n return false;\n }\n }\n\n try {\n this.startAction(player, actionId);\n workerScript.log(\n \"bladeburner.startAction\",\n () => `Starting bladeburner action with type '${type}' and name '${name}'`,\n );\n return true;\n } catch (e: unknown) {\n console.error(e);\n this.resetAction();\n workerScript.log(\"bladeburner.startAction\", () => errorLogText);\n return false;\n }\n }\n\n getActionTimeNetscriptFn(person: IPerson, type: string, name: string): number | string {\n const actionId = this.getActionIdFromTypeAndName(type, name);\n if (actionId == null) {\n return \"bladeburner.getActionTime\";\n }\n\n const actionObj = this.getActionObject(actionId);\n if (actionObj == null) {\n return \"bladeburner.getActionTime\";\n }\n switch (actionId.type) {\n case ActionTypes[\"Contract\"]:\n case ActionTypes[\"Operation\"]:\n case ActionTypes[\"BlackOp\"]:\n case ActionTypes[\"BlackOperation\"]:\n return actionObj.getActionTime(this, person) * 1000;\n case ActionTypes[\"Training\"]:\n case ActionTypes[\"Field Analysis\"]:\n case ActionTypes[\"FieldAnalysis\"]:\n return 30000;\n case ActionTypes[\"Recruitment\"]:\n return this.getRecruitmentTime(person) * 1000;\n case ActionTypes[\"Diplomacy\"]:\n case ActionTypes[\"Hyperbolic Regeneration Chamber\"]:\n case ActionTypes[\"Incite Violence\"]:\n return 60000;\n default:\n return \"bladeburner.getActionTime\";\n }\n }\n\n getActionEstimatedSuccessChanceNetscriptFn(person: IPerson, type: string, name: string): [number, number] | string {\n const actionId = this.getActionIdFromTypeAndName(type, name);\n if (actionId == null) {\n return \"bladeburner.getActionEstimatedSuccessChance\";\n }\n\n const actionObj = this.getActionObject(actionId);\n if (actionObj == null) {\n return \"bladeburner.getActionEstimatedSuccessChance\";\n }\n switch (actionId.type) {\n case ActionTypes[\"Contract\"]:\n case ActionTypes[\"Operation\"]:\n case ActionTypes[\"BlackOp\"]:\n case ActionTypes[\"BlackOperation\"]:\n return actionObj.getEstSuccessChance(this, person);\n case ActionTypes[\"Training\"]:\n case ActionTypes[\"Field Analysis\"]:\n case ActionTypes[\"FieldAnalysis\"]:\n case ActionTypes[\"Diplomacy\"]:\n case ActionTypes[\"Hyperbolic Regeneration Chamber\"]:\n case ActionTypes[\"Incite Violence\"]:\n return [1, 1];\n case ActionTypes[\"Recruitment\"]: {\n const recChance = this.getRecruitmentSuccessChance(person);\n return [recChance, recChance];\n }\n default:\n return \"bladeburner.getActionEstimatedSuccessChance\";\n }\n }\n\n getActionCountRemainingNetscriptFn(type: string, name: string, workerScript: WorkerScript): number {\n const errorLogText = `Invalid action: type='${type}' name='${name}'`;\n const actionId = this.getActionIdFromTypeAndName(type, name);\n if (actionId == null) {\n workerScript.log(\"bladeburner.getActionCountRemaining\", () => errorLogText);\n return -1;\n }\n\n const actionObj = this.getActionObject(actionId);\n if (actionObj == null) {\n workerScript.log(\"bladeburner.getActionCountRemaining\", () => errorLogText);\n return -1;\n }\n\n switch (actionId.type) {\n case ActionTypes[\"Contract\"]:\n case ActionTypes[\"Operation\"]:\n return Math.floor(actionObj.count);\n case ActionTypes[\"BlackOp\"]:\n case ActionTypes[\"BlackOperation\"]:\n if (this.blackops[name] != null) {\n return 0;\n } else {\n return 1;\n }\n case ActionTypes[\"Training\"]:\n case ActionTypes[\"Recruitment\"]:\n case ActionTypes[\"Field Analysis\"]:\n case ActionTypes[\"FieldAnalysis\"]:\n case ActionTypes[\"Diplomacy\"]:\n case ActionTypes[\"Hyperbolic Regeneration Chamber\"]:\n case ActionTypes[\"Incite Violence\"]:\n return Infinity;\n default:\n workerScript.log(\"bladeburner.getActionCountRemaining\", () => errorLogText);\n return -1;\n }\n }\n\n getSkillLevelNetscriptFn(skillName: string, workerScript: WorkerScript): number {\n if (skillName === \"\" || !Skills.hasOwnProperty(skillName)) {\n workerScript.log(\"bladeburner.getSkillLevel\", () => `Invalid skill: '${skillName}'`);\n return -1;\n }\n\n if (this.skills[skillName] == null) {\n return 0;\n } else {\n return this.skills[skillName];\n }\n }\n\n getSkillUpgradeCostNetscriptFn(skillName: string, workerScript: WorkerScript): number {\n if (skillName === \"\" || !Skills.hasOwnProperty(skillName)) {\n workerScript.log(\"bladeburner.getSkillUpgradeCost\", () => `Invalid skill: '${skillName}'`);\n return -1;\n }\n\n const skill = Skills[skillName];\n if (this.skills[skillName] == null) {\n return skill.calculateCost(0);\n } else {\n return skill.calculateCost(this.skills[skillName]);\n }\n }\n\n upgradeSkillNetscriptFn(skillName: string, workerScript: WorkerScript): boolean {\n const errorLogText = `Invalid skill: '${skillName}'`;\n if (!Skills.hasOwnProperty(skillName)) {\n workerScript.log(\"bladeburner.upgradeSkill\", () => errorLogText);\n return false;\n }\n\n const skill = Skills[skillName];\n let currentLevel = 0;\n if (this.skills[skillName] && !isNaN(this.skills[skillName])) {\n currentLevel = this.skills[skillName];\n }\n const cost = skill.calculateCost(currentLevel);\n\n if (skill.maxLvl && currentLevel >= skill.maxLvl) {\n workerScript.log(\"bladeburner.upgradeSkill\", () => `Skill '${skillName}' is already maxed.`);\n return false;\n }\n\n if (this.skillPoints < cost) {\n workerScript.log(\n \"bladeburner.upgradeSkill\",\n () =>\n `You do not have enough skill points to upgrade ${skillName} (You have ${this.skillPoints}, you need ${cost})`,\n );\n return false;\n }\n\n this.skillPoints -= cost;\n this.upgradeSkill(skill);\n workerScript.log(\"bladeburner.upgradeSkill\", () => `'${skillName}' upgraded to level ${this.skills[skillName]}`);\n return true;\n }\n\n getTeamSizeNetscriptFn(type: string, name: string, workerScript: WorkerScript): number {\n if (type === \"\" && name === \"\") {\n return this.teamSize;\n }\n\n const errorLogText = `Invalid action: type='${type}' name='${name}'`;\n const actionId = this.getActionIdFromTypeAndName(type, name);\n if (actionId == null) {\n workerScript.log(\"bladeburner.getTeamSize\", () => errorLogText);\n return -1;\n }\n\n const actionObj = this.getActionObject(actionId);\n if (actionObj == null) {\n workerScript.log(\"bladeburner.getTeamSize\", () => errorLogText);\n return -1;\n }\n\n if (\n actionId.type === ActionTypes[\"Operation\"] ||\n actionId.type === ActionTypes[\"BlackOp\"] ||\n actionId.type === ActionTypes[\"BlackOperation\"]\n ) {\n return actionObj.teamCount;\n } else {\n return 0;\n }\n }\n\n setTeamSizeNetscriptFn(type: string, name: string, size: number, workerScript: WorkerScript): number {\n const errorLogText = `Invalid action: type='${type}' name='${name}'`;\n const actionId = this.getActionIdFromTypeAndName(type, name);\n if (actionId == null) {\n workerScript.log(\"bladeburner.setTeamSize\", () => errorLogText);\n return -1;\n }\n\n if (\n actionId.type !== ActionTypes[\"Operation\"] &&\n actionId.type !== ActionTypes[\"BlackOp\"] &&\n actionId.type !== ActionTypes[\"BlackOperation\"]\n ) {\n workerScript.log(\"bladeburner.setTeamSize\", () => \"Only valid for 'Operations' and 'BlackOps'\");\n return -1;\n }\n\n const actionObj = this.getActionObject(actionId);\n if (actionObj == null) {\n workerScript.log(\"bladeburner.setTeamSize\", () => errorLogText);\n return -1;\n }\n\n let sanitizedSize = Math.round(size);\n if (isNaN(sanitizedSize) || sanitizedSize < 0) {\n workerScript.log(\"bladeburner.setTeamSize\", () => `Invalid size: ${size}`);\n return -1;\n }\n if (this.teamSize < sanitizedSize) {\n sanitizedSize = this.teamSize;\n }\n actionObj.teamCount = sanitizedSize;\n workerScript.log(\"bladeburner.setTeamSize\", () => `Team size for '${name}' set to ${sanitizedSize}.`);\n return sanitizedSize;\n }\n\n joinBladeburnerFactionNetscriptFn(workerScript: WorkerScript): boolean {\n const bladeburnerFac = Factions[FactionNames.Bladeburners];\n if (bladeburnerFac.isMember) {\n return true;\n } else if (this.rank >= BladeburnerConstants.RankNeededForFaction) {\n joinFaction(bladeburnerFac);\n workerScript.log(\"bladeburner.joinBladeburnerFaction\", () => `Joined ${FactionNames.Bladeburners} faction.`);\n return true;\n } else {\n workerScript.log(\n \"bladeburner.joinBladeburnerFaction\",\n () => `You do not have the required rank (${this.rank}/${BladeburnerConstants.RankNeededForFaction}).`,\n );\n return false;\n }\n }\n\n /**\n * Serialize the current object to a JSON save state.\n */\n toJSON(): IReviverValue {\n return Generic_toJSON(\"Bladeburner\", this);\n }\n\n /**\n * Initiatizes a Bladeburner object from a JSON save state.\n */\n static fromJSON(value: IReviverValue): Bladeburner {\n return Generic_fromJSON(Bladeburner, value.data);\n }\n}\n\nReviver.constructors.Bladeburner = Bladeburner;\n","import { BitNodeMultipliers } from \"../../BitNode/BitNodeMultipliers\";\nimport { HacknetNodeConstants } from \"../data/Constants\";\n\nexport function calculateMoneyGainRate(level: number, ram: number, cores: number, mult: number): number {\n const gainPerLevel = HacknetNodeConstants.MoneyGainPerLevel;\n\n const levelMult = level * gainPerLevel;\n const ramMult = Math.pow(1.035, ram - 1);\n const coresMult = (cores + 5) / 6;\n return levelMult * ramMult * coresMult * mult * BitNodeMultipliers.HacknetNodeMoney;\n}\n\nexport function calculateLevelUpgradeCost(startingLevel: number, extraLevels = 1, costMult = 1): number {\n const sanitizedLevels = Math.round(extraLevels);\n if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {\n return 0;\n }\n\n if (startingLevel >= HacknetNodeConstants.MaxLevel) {\n return Infinity;\n }\n\n const mult = HacknetNodeConstants.UpgradeLevelMult;\n let totalMultiplier = 0;\n let currLevel = startingLevel;\n for (let i = 0; i < sanitizedLevels; ++i) {\n totalMultiplier += HacknetNodeConstants.LevelBaseCost * Math.pow(mult, currLevel);\n ++currLevel;\n }\n\n return (HacknetNodeConstants.BaseCost / 2) * totalMultiplier * costMult;\n}\n\nexport function calculateRamUpgradeCost(startingRam: number, extraLevels = 1, costMult = 1): number {\n const sanitizedLevels = Math.round(extraLevels);\n if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {\n return 0;\n }\n\n if (startingRam >= HacknetNodeConstants.MaxRam) {\n return Infinity;\n }\n\n let totalCost = 0;\n let numUpgrades = Math.round(Math.log2(startingRam));\n let currentRam = startingRam;\n\n for (let i = 0; i < sanitizedLevels; ++i) {\n const baseCost = currentRam * HacknetNodeConstants.RamBaseCost;\n const mult = Math.pow(HacknetNodeConstants.UpgradeRamMult, numUpgrades);\n\n totalCost += baseCost * mult;\n\n currentRam *= 2;\n ++numUpgrades;\n }\n\n totalCost *= costMult;\n\n return totalCost;\n}\n\nexport function calculateCoreUpgradeCost(startingCore: number, extraLevels = 1, costMult = 1): number {\n const sanitizedCores = Math.round(extraLevels);\n if (isNaN(sanitizedCores) || sanitizedCores < 1) {\n return 0;\n }\n\n if (startingCore >= HacknetNodeConstants.MaxCores) {\n return Infinity;\n }\n\n const coreBaseCost = HacknetNodeConstants.CoreBaseCost;\n const mult = HacknetNodeConstants.UpgradeCoreMult;\n let totalCost = 0;\n let currentCores = startingCore;\n for (let i = 0; i < sanitizedCores; ++i) {\n totalCost += coreBaseCost * Math.pow(mult, currentCores - 1);\n ++currentCores;\n }\n\n totalCost *= costMult;\n\n return totalCost;\n}\n\nexport function calculateNodeCost(n: number, mult = 1): number {\n if (n <= 0) {\n return 0;\n }\n return HacknetNodeConstants.BaseCost * Math.pow(HacknetNodeConstants.PurchaseNextMult, n - 1) * mult;\n}\n","import * as React from \"react\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\n\nconst gainLimit = 10e9;\n\nexport function win(p: IPlayer, n: number): void {\n p.gainMoney(n, \"casino\");\n}\n\nexport function reachedLimit(p: IPlayer): boolean {\n const reached = p.getCasinoWinnings() > gainLimit;\n if (reached) {\n dialogBoxCreate(<>Alright cheater get out of here. You're not allowed here anymore.>);\n }\n return reached;\n}\n\nexport class Game extends React.Component {\n win(p: IPlayer, n: number): void {\n p.gainMoney(n, \"casino\");\n }\n\n reachedLimit(p: IPlayer): boolean {\n const reached = p.getCasinoWinnings() > gainLimit;\n if (reached) {\n dialogBoxCreate(<>Alright cheater get out of here. You're not allowed here anymore.>);\n }\n return reached;\n }\n}\n","const _ = false;\nconst X = true;\nexport const Shapes: {\n O: boolean[][];\n I: boolean[][];\n L: boolean[][];\n J: boolean[][];\n S: boolean[][];\n Z: boolean[][];\n T: boolean[][];\n} = {\n O: [\n [X, X],\n [X, X],\n ],\n I: [[X, X, X, X]],\n L: [\n [_, _, X],\n [X, X, X],\n ],\n J: [\n [X, _, _],\n [X, X, X],\n ],\n S: [\n [_, X, X],\n [X, X, _],\n ],\n Z: [\n [X, X, _],\n [_, X, X],\n ],\n T: [\n [X, X, X],\n [_, X, _],\n ],\n};\n","interface DifficultySetting {\n [key: string]: number;\n}\n\ninterface DifficultySettings {\n Trivial: DifficultySetting;\n Normal: DifficultySetting;\n Hard: DifficultySetting;\n Impossible: DifficultySetting;\n}\n\n// I could use `any` to simply some of this but I also want to take advantage\n// of the type safety that typescript provides. I'm just not sure how in this\n// case.\nexport function interpolate(settings: DifficultySettings, n: number, out: DifficultySetting): DifficultySetting {\n // interpolates between 2 difficulties.\n function lerpD(a: DifficultySetting, b: DifficultySetting, t: number): DifficultySetting {\n // interpolates between 2 numbers.\n function lerp(x: number, y: number, t: number): number {\n return (1 - t) * x + t * y;\n }\n for (const key of Object.keys(a)) {\n out[key] = lerp(a[key], b[key], t);\n }\n return a;\n }\n if (n < 0) return lerpD(settings.Trivial, settings.Trivial, 0);\n if (n >= 0 && n < 1) return lerpD(settings.Trivial, settings.Normal, n);\n if (n >= 1 && n < 2) return lerpD(settings.Normal, settings.Hard, n - 1);\n if (n >= 2 && n < 3) return lerpD(settings.Hard, settings.Impossible, n - 2);\n return lerpD(settings.Impossible, settings.Impossible, 0);\n}\n","import React, { useEffect } from \"react\";\n\ninterface IProps {\n onKeyDown: (this: Document, event: KeyboardEvent) => void;\n onFailure: (options?: { automated: boolean }) => void;\n}\n\nexport function KeyHandler(props: IProps): React.ReactElement {\n useEffect(() => {\n function press(this: Document, event: KeyboardEvent): void {\n if (!event.isTrusted) return;\n const f = props.onKeyDown.bind(this);\n f(event);\n }\n document.addEventListener(\"keydown\", press);\n return () => document.removeEventListener(\"keydown\", press);\n });\n\n // invisible autofocused element that eats all the keypress for the minigames.\n return <>>;\n}\n","import React from \"react\";\nimport { Work, WorkType } from \"./Work\";\nimport { Reviver, Generic_toJSON, Generic_fromJSON, IReviverValue } from \"../utils/JSONReviver\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { FactionNames } from \"../Faction/data/FactionNames\";\nimport { Factions } from \"../Faction/Factions\";\nimport { Faction } from \"../Faction/Faction\";\nimport { applyWorkStats, WorkStats } from \"./WorkStats\";\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { Reputation } from \"../ui/React/Reputation\";\nimport {\n getFactionFieldWorkRepGain,\n getFactionSecurityWorkRepGain,\n getHackingWorkRepGain,\n} from \"../PersonObjects/formulas/reputation\";\nimport { CONSTANTS } from \"../Constants\";\nimport { AugmentationNames } from \"../Augmentation/data/AugmentationNames\";\nimport { calculateFactionExp } from \"./formulas/Faction\";\nimport { FactionWorkType } from \"./data/FactionWorkType\";\n\ninterface FactionWorkParams {\n singularity: boolean;\n factionWorkType: FactionWorkType;\n faction: string;\n}\n\nexport const isFactionWork = (w: Work | null): w is FactionWork => w !== null && w.type === WorkType.FACTION;\n\nexport class FactionWork extends Work {\n factionWorkType: FactionWorkType;\n factionName: string;\n\n constructor(params?: FactionWorkParams) {\n super(WorkType.FACTION, params?.singularity ?? true);\n this.factionWorkType = params?.factionWorkType ?? FactionWorkType.HACKING;\n this.factionName = params?.faction ?? FactionNames.Sector12;\n }\n\n getFaction(): Faction {\n const f = Factions[this.factionName];\n if (!f) throw new Error(`Faction work started with invalid / unknown faction: '${this.factionName}'`);\n return f;\n }\n\n getReputationRate(player: IPlayer): number {\n const faction = this.getFaction();\n const repFormulas = {\n [FactionWorkType.HACKING]: getHackingWorkRepGain,\n [FactionWorkType.FIELD]: getFactionFieldWorkRepGain,\n [FactionWorkType.SECURITY]: getFactionSecurityWorkRepGain,\n };\n const rep = repFormulas[this.factionWorkType](player, faction);\n let focusBonus = 1;\n if (!player.hasAugmentation(AugmentationNames.NeuroreceptorManager)) {\n focusBonus = player.focus ? 1 : CONSTANTS.BaseFocusBonus;\n }\n return rep * focusBonus;\n }\n\n getExpRates(player: IPlayer): WorkStats {\n return calculateFactionExp(player, this.factionWorkType);\n }\n\n process(player: IPlayer, cycles: number): boolean {\n this.cyclesWorked += cycles;\n this.getFaction().playerReputation += this.getReputationRate(player) * cycles;\n\n const rate = this.getExpRates(player);\n applyWorkStats(player, rate, cycles, \"class\");\n\n return false;\n }\n\n finish(): void {\n if (!this.singularity) {\n dialogBoxCreate(\n <>\n You worked for {this.getFaction().name}.\n \n They now have a total of reputation.\n >,\n );\n }\n }\n\n /**\n * Serialize the current object to a JSON save state.\n */\n toJSON(): IReviverValue {\n return Generic_toJSON(\"FactionWork\", this);\n }\n\n /**\n * Initiatizes a FactionWork object from a JSON save state.\n */\n static fromJSON(value: IReviverValue): FactionWork {\n return Generic_fromJSON(FactionWork, value.data);\n }\n}\n\nReviver.constructors.FactionWork = FactionWork;\n","import * as React from \"react\";\nimport { numeralWrapper } from \"../numeralFormat\";\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n money: {\n color: theme.colors.money,\n },\n }),\n);\n\nexport function Hashes({ hashes }: { hashes: number | string }): React.ReactElement {\n const classes = useStyles();\n return (\n {typeof hashes === \"number\" ? numeralWrapper.formatHashes(hashes) : hashes}\n );\n}\n","/**\n * Hacknet Node Class\n *\n * Hacknet Nodes are specialized machines that passively earn the player money over time.\n * They can be upgraded to increase their production\n */\nimport { IHacknetNode } from \"./IHacknetNode\";\n\nimport { CONSTANTS } from \"../Constants\";\n\nimport {\n calculateMoneyGainRate,\n calculateLevelUpgradeCost,\n calculateCoreUpgradeCost,\n calculateRamUpgradeCost,\n} from \"./formulas/HacknetNodes\";\nimport { HacknetNodeConstants } from \"./data/Constants\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"../utils/JSONReviver\";\nimport { ObjectValidator, minMax } from \"../utils/Validator\";\n\nexport class HacknetNode implements IHacknetNode {\n static validationData: ObjectValidator = {\n cores: minMax(1, 1, HacknetNodeConstants.MaxCores),\n level: minMax(1, 1, HacknetNodeConstants.MaxLevel),\n ram: minMax(1, 1, HacknetNodeConstants.MaxRam),\n onlineTimeSeconds: minMax(0, 0, Infinity),\n totalMoneyGenerated: minMax(0, 0, Infinity),\n };\n\n // Node's number of cores\n cores = 1;\n\n // Node's Level\n level = 1;\n\n // Node's production per second\n moneyGainRatePerSecond = 0;\n\n // Identifier for Node. Includes the full \"name\" (hacknet-node-N)\n name: string;\n\n // How long this Node has existed, in seconds\n onlineTimeSeconds = 0;\n\n // Node's RAM (GB)\n ram = 1;\n\n // Total money earned by this Node\n totalMoneyGenerated = 0;\n\n constructor(name = \"\", prodMult = 1) {\n this.name = name;\n\n this.updateMoneyGainRate(prodMult);\n }\n\n // Get the cost to upgrade this Node's number of cores\n calculateCoreUpgradeCost(levels = 1, costMult: number): number {\n return calculateCoreUpgradeCost(this.cores, levels, costMult);\n }\n\n // Get the cost to upgrade this Node's level\n calculateLevelUpgradeCost(levels = 1, costMult: number): number {\n return calculateLevelUpgradeCost(this.level, levels, costMult);\n }\n\n // Get the cost to upgrade this Node's RAM\n calculateRamUpgradeCost(levels = 1, costMult: number): number {\n return calculateRamUpgradeCost(this.ram, levels, costMult);\n }\n\n // Process this Hacknet Node in the game loop.\n // Returns the amount of money generated\n process(numCycles = 1): number {\n const seconds = (numCycles * CONSTANTS.MilliPerCycle) / 1000;\n let gain = this.moneyGainRatePerSecond * seconds;\n if (isNaN(gain)) {\n console.error(`Hacknet Node ${this.name} calculated earnings of NaN`);\n gain = 0;\n }\n\n this.totalMoneyGenerated += gain;\n this.onlineTimeSeconds += seconds;\n\n return gain;\n }\n\n // Upgrade this Node's number of cores, if possible\n // Returns a boolean indicating whether new cores were successfully bought\n upgradeCore(levels = 1, prodMult: number): void {\n this.cores = Math.min(HacknetNodeConstants.MaxCores, Math.round(this.cores + levels));\n this.updateMoneyGainRate(prodMult);\n }\n\n // Upgrade this Node's level, if possible\n // Returns a boolean indicating whether the level was successfully updated\n upgradeLevel(levels = 1, prodMult: number): void {\n this.level = Math.min(HacknetNodeConstants.MaxLevel, Math.round(this.level + levels));\n this.updateMoneyGainRate(prodMult);\n }\n\n // Upgrade this Node's RAM, if possible\n // Returns a boolean indicating whether the RAM was successfully upgraded\n upgradeRam(levels = 1, prodMult: number): void {\n for (let i = 0; i < levels; ++i) {\n this.ram *= 2; // Ram is always doubled\n }\n this.ram = Math.round(this.ram); // Handle any floating point precision issues\n this.updateMoneyGainRate(prodMult);\n }\n\n // Re-calculate this Node's production and update the moneyGainRatePerSecond prop\n updateMoneyGainRate(prodMult: number): void {\n this.moneyGainRatePerSecond = calculateMoneyGainRate(this.level, this.ram, this.cores, prodMult);\n if (isNaN(this.moneyGainRatePerSecond)) {\n this.moneyGainRatePerSecond = 0;\n dialogBoxCreate(\"Error in calculating Hacknet Node production. Please report to game developer\");\n }\n }\n\n /**\n * Serialize the current object to a JSON save state.\n */\n toJSON(): IReviverValue {\n return Generic_toJSON(\"HacknetNode\", this);\n }\n\n /**\n * Initiatizes a HacknetNode object from a JSON save state.\n */\n static fromJSON(value: IReviverValue): HacknetNode {\n return Generic_fromJSON(HacknetNode, value.data);\n }\n}\n\nReviver.constructors.HacknetNode = HacknetNode;\n","/**\n * Implements functions for purchasing servers or purchasing more RAM for\n * the home computer\n */\nimport { AddToAllServers, createUniqueRandomIp } from \"./AllServers\";\nimport { safetlyCreateUniqueServer } from \"./ServerHelpers\";\n\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\nimport { CONSTANTS } from \"../Constants\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { isPowerOfTwo } from \"../utils/helpers/isPowerOfTwo\";\n\n// Returns the cost of purchasing a server with the given RAM\n// Returns Infinity for invalid 'ram' arguments\n/**\n * @param ram Amount of RAM on purchased server (GB)\n * @returns Cost of purchasing the given server. Returns infinity for invalid arguments\n */\nexport function getPurchaseServerCost(ram: number): number {\n const sanitizedRam = Math.round(ram);\n if (isNaN(sanitizedRam) || !isPowerOfTwo(sanitizedRam) || !(Math.sign(sanitizedRam) === 1)) {\n return Infinity;\n }\n\n if (sanitizedRam > getPurchaseServerMaxRam()) {\n return Infinity;\n }\n\n const upg = Math.max(0, Math.log(sanitizedRam) / Math.log(2) - 6);\n\n return (\n sanitizedRam *\n CONSTANTS.BaseCostFor1GBOfRamServer *\n BitNodeMultipliers.PurchasedServerCost *\n Math.pow(BitNodeMultipliers.PurchasedServerSoftcap, upg)\n );\n}\n\nexport function getPurchaseServerLimit(): number {\n return Math.round(CONSTANTS.PurchasedServerLimit * BitNodeMultipliers.PurchasedServerLimit);\n}\n\nexport function getPurchaseServerMaxRam(): number {\n const ram = Math.round(CONSTANTS.PurchasedServerMaxRam * BitNodeMultipliers.PurchasedServerMaxRam);\n\n // Round this to the nearest power of 2\n return 1 << (31 - Math.clz32(ram));\n}\n\n// Manually purchase a server (NOT through Netscript)\nexport function purchaseServer(hostname: string, ram: number, cost: number, p: IPlayer): void {\n //Check if player has enough money\n if (!p.canAfford(cost)) {\n dialogBoxCreate(\"You don't have enough money to purchase this server!\");\n return;\n }\n\n //Maximum server limit\n if (p.purchasedServers.length >= getPurchaseServerLimit()) {\n dialogBoxCreate(\n \"You have reached the maximum limit of \" +\n getPurchaseServerLimit() +\n \" servers. \" +\n \"You cannot purchase any more. You can \" +\n \"delete some of your purchased servers using the deleteServer() Netscript function in a script\",\n );\n return;\n }\n\n if (hostname == \"\") {\n dialogBoxCreate(\"You must enter a hostname for your new server!\");\n return;\n }\n\n // Create server\n const newServ = safetlyCreateUniqueServer({\n adminRights: true,\n hostname: hostname,\n ip: createUniqueRandomIp(),\n isConnectedTo: false,\n maxRam: ram,\n organizationName: \"\",\n purchasedByPlayer: true,\n });\n AddToAllServers(newServ);\n\n // Add to Player's purchasedServers array\n p.purchasedServers.push(newServ.hostname);\n\n // Connect new server to home computer\n const homeComputer = p.getHomeComputer();\n homeComputer.serversOnNetwork.push(newServ.hostname);\n newServ.serversOnNetwork.push(homeComputer.hostname);\n\n p.loseMoney(cost, \"servers\");\n\n dialogBoxCreate(\"Server successfully purchased with hostname \" + newServ.hostname);\n}\n\n// Manually upgrade RAM on home computer (NOT through Netscript)\nexport function purchaseRamForHomeComputer(p: IPlayer): void {\n const cost = p.getUpgradeHomeRamCost();\n if (!p.canAfford(cost)) {\n dialogBoxCreate(\"You do not have enough money to purchase additional RAM for your home computer\");\n return;\n }\n\n const homeComputer = p.getHomeComputer();\n if (homeComputer.maxRam >= CONSTANTS.HomeComputerMaxRam) {\n dialogBoxCreate(`You cannot upgrade your home computer RAM because it is at its maximum possible value`);\n return;\n }\n\n homeComputer.maxRam *= 2;\n p.loseMoney(cost, \"servers\");\n}\n","import { dialogBoxCreate } from \"./ui/React/DialogBox\";\nimport { BaseServer } from \"./Server/BaseServer\";\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"./utils/JSONReviver\";\nimport { removeLeadingSlash, isInRootDirectory } from \"./Terminal/DirectoryHelpers\";\n\n/**\n * Represents a plain text file that is typically stored on a server.\n */\nexport class TextFile {\n /**\n * The full file name.\n */\n fn: string;\n\n /**\n * The content of the file.\n */\n text: string;\n\n /**\n * The full file name.\n */\n get filename(): string {\n return this.fn;\n }\n\n /**\n * The full file name.\n */\n set filename(value: string) {\n this.fn = value;\n }\n\n constructor(fn = \"\", txt = \"\") {\n this.fn = (fn.endsWith(\".txt\") ? fn : `${fn}.txt`).replace(/\\s+/g, \"\");\n this.text = txt;\n }\n\n /**\n * Concatenates the raw values to the end of current content.\n */\n append(txt: string): void {\n this.text += txt;\n }\n\n /**\n * Serves the file to the user as a downloadable resource through the browser.\n */\n download(): void {\n const filename: string = this.fn;\n const file: Blob = new Blob([this.text], { type: \"text/plain\" });\n /* tslint:disable-next-line:strict-boolean-expressions */\n const navigator = window.navigator as any;\n if (navigator.msSaveOrOpenBlob) {\n // IE10+\n navigator.msSaveOrOpenBlob(file, filename);\n } else {\n // Others\n const a: HTMLAnchorElement = document.createElement(\"a\");\n const url: string = URL.createObjectURL(file);\n a.href = url;\n a.download = this.fn;\n document.body.appendChild(a);\n a.click();\n setTimeout(() => {\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n }, 0);\n }\n }\n\n /**\n * Retrieve the content of the file.\n */\n read(): string {\n return this.text;\n }\n\n /**\n * Shows the content to the user via the game's dialog box.\n */\n show(): void {\n dialogBoxCreate(`${this.fn}
${this.text}`);\n }\n\n /**\n * Serialize the current file to a JSON save state.\n */\n toJSON(): IReviverValue {\n return Generic_toJSON(\"TextFile\", this);\n }\n\n /**\n * Replaces the current content with the text provided.\n */\n write(txt: string): void {\n this.text = txt;\n }\n\n /**\n * Initiatizes a TextFile from a JSON save state.\n */\n static fromJSON(value: IReviverValue): TextFile {\n return Generic_fromJSON(TextFile, value.data);\n }\n}\n\nReviver.constructors.TextFile = TextFile;\n\n/**\n * Retrieve the file object for the filename on the specified server.\n * @param fn The file name to look for\n * @param server The server object to look in\n * @returns The file object, or null if it couldn't find it.\n */\nexport function getTextFile(fn: string, server: BaseServer): TextFile | null {\n let filename: string = !fn.endsWith(\".txt\") ? `${fn}.txt` : fn;\n\n if (isInRootDirectory(filename)) {\n filename = removeLeadingSlash(filename);\n }\n\n for (const file of server.textFiles) {\n if (file.fn === filename) {\n return file;\n }\n }\n\n return null;\n}\n\n/**\n * Creates a TextFile on the target server.\n * @param fn The file name to create.\n * @param txt The contents of the file.\n * @param server The server that the file should be created on.\n * @returns The instance of the file.\n */\nexport function createTextFile(fn: string, txt: string, server: BaseServer): TextFile | undefined {\n if (getTextFile(fn, server) !== null) {\n // This should probably be a `throw`...\n /* tslint:disable-next-line:no-console */\n console.error(`A file named \"${fn}\" already exists on server ${server.hostname}.`);\n\n return undefined;\n }\n const file: TextFile = new TextFile(fn, txt);\n server.textFiles.push(file);\n\n return file;\n}\n","import { IPlayer } from \"src/PersonObjects/IPlayer\";\nimport { IMap } from \"../types\";\n\nimport { NS as INS } from \"../ScriptEditor/NetscriptDefinitions\";\n\nimport { INetscriptExtra } from \"../NetscriptFunctions/Extra\";\n\ntype RamCostTree = {\n [Property in keyof API]: API[Property] extends () => void\n ? number | ((p: IPlayer) => void)\n : API[Property] extends object\n ? RamCostTree\n : never;\n};\n\n// TODO remember to update RamCalculations.js and WorkerScript.js\n\n// RAM costs for Netscript functions\nexport const RamCostConstants: IMap = {\n ScriptBaseRamCost: 1.6,\n ScriptDomRamCost: 25,\n ScriptCorporationRamCost: 1024 - 1.6,\n ScriptHackRamCost: 0.1,\n ScriptHackAnalyzeRamCost: 1,\n ScriptGrowRamCost: 0.15,\n ScriptGrowthAnalyzeRamCost: 1,\n ScriptWeakenRamCost: 0.15,\n ScriptWeakenAnalyzeRamCost: 1,\n ScriptScanRamCost: 0.2,\n ScriptRecentScriptsRamCost: 0.2,\n ScriptPortProgramRamCost: 0.05,\n ScriptRunRamCost: 1.0,\n ScriptExecRamCost: 1.3,\n ScriptSpawnRamCost: 2.0,\n ScriptScpRamCost: 0.6,\n ScriptKillRamCost: 0.5,\n ScriptHasRootAccessRamCost: 0.05,\n ScriptGetHostnameRamCost: 0.05,\n ScriptGetHackingLevelRamCost: 0.05,\n ScriptGetMultipliersRamCost: 4.0,\n ScriptGetServerRamCost: 0.1,\n ScriptGetServerMaxRam: 0.05,\n ScriptGetServerUsedRam: 0.05,\n ScriptFileExistsRamCost: 0.1,\n ScriptIsRunningRamCost: 0.1,\n ScriptHacknetNodesRamCost: 4.0,\n ScriptHNUpgLevelRamCost: 0.4,\n ScriptHNUpgRamRamCost: 0.6,\n ScriptHNUpgCoreRamCost: 0.8,\n ScriptGetStockRamCost: 2.0,\n ScriptBuySellStockRamCost: 2.5,\n ScriptGetPurchaseServerRamCost: 0.25,\n ScriptPurchaseServerRamCost: 2.25,\n ScriptGetPurchasedServerLimit: 0.05,\n ScriptGetPurchasedServerMaxRam: 0.05,\n ScriptRoundRamCost: 0.05,\n ScriptReadWriteRamCost: 1.0,\n ScriptArbScriptRamCost: 1.0,\n ScriptGetScriptRamCost: 0.1,\n ScriptGetRunningScriptRamCost: 0.3,\n ScriptGetHackTimeRamCost: 0.05,\n ScriptGetFavorToDonate: 0.1,\n ScriptCodingContractBaseRamCost: 10,\n ScriptSleeveBaseRamCost: 4,\n ScriptGetOwnedSourceFiles: 5,\n ScriptClearTerminalCost: 0.2,\n\n ScriptSingularityFn1RamCost: 2,\n ScriptSingularityFn2RamCost: 3,\n ScriptSingularityFn3RamCost: 5,\n\n ScriptGangApiBaseRamCost: 4,\n\n ScriptBladeburnerApiBaseRamCost: 4,\n\n ScriptStanekWidth: 0.4,\n ScriptStanekHeight: 0.4,\n ScriptStanekCharge: 0.4,\n ScriptStanekFragmentDefinitions: 0,\n ScriptStanekPlacedFragments: 5,\n ScriptStanekClear: 0,\n ScriptStanekCanPlace: 0.5,\n ScriptStanekPlace: 5,\n ScriptStanekFragmentAt: 2,\n ScriptStanekDeleteAt: 0.15,\n ScriptInfiltrationCalculateDifficulty: 2.5,\n ScriptInfiltrationCalculateRewards: 2.5,\n ScriptInfiltrationGetLocations: 5,\n ScriptInfiltrationGetInfiltrations: 15,\n ScriptStanekAcceptGift: 2,\n};\n\nfunction SF4Cost(cost: number): (player: IPlayer) => number {\n return (player: IPlayer): number => {\n if (player.bitNodeN === 4) return cost;\n const sf4 = player.sourceFileLvl(4);\n if (sf4 <= 1) return cost * 16;\n if (sf4 === 2) return cost * 4;\n return cost;\n };\n}\n\n// Hacknet API\nconst hacknet = {\n numNodes: 0,\n purchaseNode: 0,\n getPurchaseNodeCost: 0,\n getNodeStats: 0,\n upgradeLevel: 0,\n upgradeRam: 0,\n upgradeCore: 0,\n upgradeCache: 0,\n getLevelUpgradeCost: 0,\n getRamUpgradeCost: 0,\n getCoreUpgradeCost: 0,\n getCacheUpgradeCost: 0,\n numHashes: 0,\n hashCost: 0,\n spendHashes: 0,\n maxNumNodes: 0,\n hashCapacity: 0,\n getHashUpgrades: 0,\n getHashUpgradeLevel: 0,\n getStudyMult: 0,\n getTrainingMult: 0,\n};\n\n// Stock API\nconst stock = {\n getSymbols: RamCostConstants.ScriptGetStockRamCost,\n getPrice: RamCostConstants.ScriptGetStockRamCost,\n getAskPrice: RamCostConstants.ScriptGetStockRamCost,\n getBidPrice: RamCostConstants.ScriptGetStockRamCost,\n getPosition: RamCostConstants.ScriptGetStockRamCost,\n getMaxShares: RamCostConstants.ScriptGetStockRamCost,\n getPurchaseCost: RamCostConstants.ScriptGetStockRamCost,\n getSaleGain: RamCostConstants.ScriptGetStockRamCost,\n buy: RamCostConstants.ScriptBuySellStockRamCost,\n sell: RamCostConstants.ScriptBuySellStockRamCost,\n short: RamCostConstants.ScriptBuySellStockRamCost,\n sellShort: RamCostConstants.ScriptBuySellStockRamCost,\n placeOrder: RamCostConstants.ScriptBuySellStockRamCost,\n cancelOrder: RamCostConstants.ScriptBuySellStockRamCost,\n getOrders: RamCostConstants.ScriptBuySellStockRamCost,\n getVolatility: RamCostConstants.ScriptBuySellStockRamCost,\n getForecast: RamCostConstants.ScriptBuySellStockRamCost,\n purchase4SMarketData: RamCostConstants.ScriptBuySellStockRamCost,\n purchase4SMarketDataTixApi: RamCostConstants.ScriptBuySellStockRamCost,\n purchaseWseAccount: RamCostConstants.ScriptBuySellStockRamCost,\n purchaseTixApi: RamCostConstants.ScriptBuySellStockRamCost,\n};\n\n// Singularity API\nconst singularity = {\n universityCourse: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n gymWorkout: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n travelToCity: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n goToLocation: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n purchaseTor: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n purchaseProgram: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n getCurrentServer: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n connect: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n manualHack: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n installBackdoor: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n getDarkwebProgramCost: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),\n getDarkwebPrograms: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),\n getStats: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),\n getCharacterInformation: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),\n hospitalize: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),\n isBusy: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),\n stopAction: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 2),\n upgradeHomeRam: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),\n upgradeHomeCores: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),\n getUpgradeHomeRamCost: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 2),\n getUpgradeHomeCoresCost: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 2),\n workForCompany: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),\n applyToCompany: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),\n quitJob: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),\n getCompanyRep: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 3),\n getCompanyFavor: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 3),\n getCompanyFavorGain: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 4),\n checkFactionInvitations: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),\n joinFaction: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),\n workForFaction: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),\n getFactionRep: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 3),\n getFactionFavor: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 3),\n getFactionFavorGain: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 4),\n donateToFaction: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n createProgram: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n commitCrime: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n getCrimeChance: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n getCrimeStats: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n getOwnedAugmentations: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n getAugmentationsFromFaction: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n getAugmentationCost: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n getAugmentationPrereq: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n getAugmentationPrice: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost / 2),\n getAugmentationRepReq: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost / 2),\n getAugmentationStats: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n purchaseAugmentation: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n softReset: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n installAugmentations: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n isFocused: SF4Cost(0.1),\n setFocus: SF4Cost(0.1),\n b1tflum3: SF4Cost(16),\n destroyW0r1dD43m0n: SF4Cost(32),\n};\n\n// Gang API\nconst gang = {\n createGang: RamCostConstants.ScriptGangApiBaseRamCost / 4,\n inGang: RamCostConstants.ScriptGangApiBaseRamCost / 4,\n getMemberNames: RamCostConstants.ScriptGangApiBaseRamCost / 4,\n getGangInformation: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getOtherGangInformation: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getMemberInformation: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n canRecruitMember: RamCostConstants.ScriptGangApiBaseRamCost / 4,\n recruitMember: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getTaskNames: RamCostConstants.ScriptGangApiBaseRamCost / 4,\n getTaskStats: RamCostConstants.ScriptGangApiBaseRamCost / 4,\n setMemberTask: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getEquipmentNames: RamCostConstants.ScriptGangApiBaseRamCost / 4,\n getEquipmentCost: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getEquipmentType: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getEquipmentStats: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n purchaseEquipment: RamCostConstants.ScriptGangApiBaseRamCost,\n ascendMember: RamCostConstants.ScriptGangApiBaseRamCost,\n getAscensionResult: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n setTerritoryWarfare: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getChanceToWinClash: RamCostConstants.ScriptGangApiBaseRamCost,\n getBonusTime: 0,\n};\n\n// Bladeburner API\nconst bladeburner = {\n getContractNames: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,\n getOperationNames: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,\n getBlackOpNames: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,\n getBlackOpRank: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 2,\n getGeneralActionNames: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,\n getSkillNames: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,\n startAction: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n stopBladeburnerAction: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 2,\n getCurrentAction: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 4,\n getActionTime: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionCurrentTime: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionEstimatedSuccessChance: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionRepGain: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionCountRemaining: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionMaxLevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionCurrentLevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionAutolevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n setActionAutolevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n setActionLevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getRank: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getSkillPoints: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getSkillLevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getSkillUpgradeCost: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n upgradeSkill: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getTeamSize: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n setTeamSize: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getCityEstimatedPopulation: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getCityCommunities: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getCityChaos: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getCity: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n switchCity: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getStamina: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n joinBladeburnerFaction: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n joinBladeburnerDivision: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getBonusTime: 0,\n};\n\nconst infiltration = {\n getPossibleLocations: RamCostConstants.ScriptInfiltrationGetLocations,\n getInfiltration: RamCostConstants.ScriptInfiltrationGetInfiltrations,\n};\n\n// Coding Contract API\nconst codingcontract = {\n attempt: RamCostConstants.ScriptCodingContractBaseRamCost,\n getContractType: RamCostConstants.ScriptCodingContractBaseRamCost / 2,\n getData: RamCostConstants.ScriptCodingContractBaseRamCost / 2,\n getDescription: RamCostConstants.ScriptCodingContractBaseRamCost / 2,\n getNumTriesRemaining: RamCostConstants.ScriptCodingContractBaseRamCost / 5,\n};\n\n// Duplicate Sleeve API\nconst sleeve = {\n getNumSleeves: RamCostConstants.ScriptSleeveBaseRamCost,\n setToShockRecovery: RamCostConstants.ScriptSleeveBaseRamCost,\n setToSynchronize: RamCostConstants.ScriptSleeveBaseRamCost,\n setToCommitCrime: RamCostConstants.ScriptSleeveBaseRamCost,\n setToUniversityCourse: RamCostConstants.ScriptSleeveBaseRamCost,\n travel: RamCostConstants.ScriptSleeveBaseRamCost,\n setToCompanyWork: RamCostConstants.ScriptSleeveBaseRamCost,\n setToFactionWork: RamCostConstants.ScriptSleeveBaseRamCost,\n setToGymWorkout: RamCostConstants.ScriptSleeveBaseRamCost,\n getSleeveStats: RamCostConstants.ScriptSleeveBaseRamCost,\n getTask: RamCostConstants.ScriptSleeveBaseRamCost,\n getInformation: RamCostConstants.ScriptSleeveBaseRamCost,\n getSleeveAugmentations: RamCostConstants.ScriptSleeveBaseRamCost,\n getSleevePurchasableAugs: RamCostConstants.ScriptSleeveBaseRamCost,\n purchaseSleeveAug: RamCostConstants.ScriptSleeveBaseRamCost,\n setToBladeburnerAction: RamCostConstants.ScriptSleeveBaseRamCost,\n};\n\n// Stanek API\nconst stanek = {\n giftWidth: RamCostConstants.ScriptStanekWidth,\n giftHeight: RamCostConstants.ScriptStanekHeight,\n chargeFragment: RamCostConstants.ScriptStanekCharge,\n fragmentDefinitions: RamCostConstants.ScriptStanekFragmentDefinitions,\n activeFragments: RamCostConstants.ScriptStanekPlacedFragments,\n clearGift: RamCostConstants.ScriptStanekClear,\n canPlaceFragment: RamCostConstants.ScriptStanekCanPlace,\n placeFragment: RamCostConstants.ScriptStanekPlace,\n getFragment: RamCostConstants.ScriptStanekFragmentAt,\n removeFragment: RamCostConstants.ScriptStanekDeleteAt,\n acceptGift: RamCostConstants.ScriptStanekAcceptGift,\n};\n\n// UI API\nconst ui = {\n getTheme: 0,\n setTheme: 0,\n resetTheme: 0,\n getStyles: 0,\n setStyles: 0,\n resetStyles: 0,\n getGameInfo: 0,\n clearTerminal: 0,\n};\n\n// Grafting API\nconst grafting = {\n getAugmentationGraftPrice: 3.75,\n getAugmentationGraftTime: 3.75,\n getGraftableAugmentations: 5,\n graftAugmentation: 7.5,\n};\n\nconst corporation = {\n createCorporation: 0,\n hasUnlockUpgrade: 0,\n getUnlockUpgradeCost: 0,\n getUpgradeLevel: 0,\n getUpgradeLevelCost: 0,\n getExpandIndustryCost: 0,\n getExpandCityCost: 0,\n getInvestmentOffer: 0,\n acceptInvestmentOffer: 0,\n goPublic: 0,\n bribe: 0,\n getCorporation: 0,\n getDivision: 0,\n expandIndustry: 0,\n expandCity: 0,\n unlockUpgrade: 0,\n levelUpgrade: 0,\n issueDividends: 0,\n buyBackShares: 0,\n sellShares: 0,\n getBonusTime: 0,\n sellMaterial: 0,\n sellProduct: 0,\n discontinueProduct: 0,\n setSmartSupply: 0,\n setSmartSupplyUseLeftovers: 0,\n buyMaterial: 0,\n bulkPurchase: 0,\n getWarehouse: 0,\n getProduct: 0,\n getMaterial: 0,\n setMaterialMarketTA1: 0,\n setMaterialMarketTA2: 0,\n setProductMarketTA1: 0,\n setProductMarketTA2: 0,\n exportMaterial: 0,\n cancelExportMaterial: 0,\n purchaseWarehouse: 0,\n upgradeWarehouse: 0,\n makeProduct: 0,\n limitMaterialProduction: 0,\n limitProductProduction: 0,\n getPurchaseWarehouseCost: 0,\n getUpgradeWarehouseCost: 0,\n hasWarehouse: 0,\n assignJob: 0,\n hireEmployee: 0,\n upgradeOfficeSize: 0,\n throwParty: 0,\n buyCoffee: 0,\n hireAdVert: 0,\n research: 0,\n getOffice: 0,\n getEmployee: 0,\n getHireAdVertCost: 0,\n getHireAdVertCount: 0,\n getResearchCost: 0,\n hasResearched: 0,\n setAutoJobAssignment: 0,\n getOfficeSizeUpgradeCost: 0,\n};\n\nconst SourceRamCosts = {\n args: undefined as unknown as never[], // special use case\n enums: undefined as unknown as never,\n corporation,\n hacknet,\n stock,\n singularity,\n ...singularity, // singularity is in namespace & toplevel\n gang,\n bladeburner,\n infiltration,\n codingcontract,\n sleeve,\n stanek,\n ui,\n grafting,\n\n sprintf: 0,\n vsprintf: 0,\n scan: RamCostConstants.ScriptScanRamCost,\n hack: RamCostConstants.ScriptHackRamCost,\n hackAnalyzeThreads: RamCostConstants.ScriptHackAnalyzeRamCost,\n hackAnalyze: RamCostConstants.ScriptHackAnalyzeRamCost,\n hackAnalyzeSecurity: RamCostConstants.ScriptHackAnalyzeRamCost,\n hackAnalyzeChance: RamCostConstants.ScriptHackAnalyzeRamCost,\n sleep: 0,\n asleep: 0,\n share: 2.4,\n getSharePower: 0.2,\n grow: RamCostConstants.ScriptGrowRamCost,\n growthAnalyze: RamCostConstants.ScriptGrowthAnalyzeRamCost,\n growthAnalyzeSecurity: RamCostConstants.ScriptGrowthAnalyzeRamCost,\n weaken: RamCostConstants.ScriptWeakenRamCost,\n weakenAnalyze: RamCostConstants.ScriptWeakenAnalyzeRamCost,\n print: 0,\n printf: 0,\n tprint: 0,\n tprintf: 0,\n clearLog: 0,\n disableLog: 0,\n enableLog: 0,\n isLogEnabled: 0,\n getScriptLogs: 0,\n nuke: RamCostConstants.ScriptPortProgramRamCost,\n brutessh: RamCostConstants.ScriptPortProgramRamCost,\n ftpcrack: RamCostConstants.ScriptPortProgramRamCost,\n relaysmtp: RamCostConstants.ScriptPortProgramRamCost,\n httpworm: RamCostConstants.ScriptPortProgramRamCost,\n sqlinject: RamCostConstants.ScriptPortProgramRamCost,\n run: RamCostConstants.ScriptRunRamCost,\n exec: RamCostConstants.ScriptExecRamCost,\n spawn: RamCostConstants.ScriptSpawnRamCost,\n kill: RamCostConstants.ScriptKillRamCost,\n killall: RamCostConstants.ScriptKillRamCost,\n exit: 0,\n atExit: 0,\n scp: RamCostConstants.ScriptScpRamCost,\n ls: RamCostConstants.ScriptScanRamCost,\n ps: RamCostConstants.ScriptScanRamCost,\n getRecentScripts: RamCostConstants.ScriptRecentScriptsRamCost,\n hasRootAccess: RamCostConstants.ScriptHasRootAccessRamCost,\n getHostname: RamCostConstants.ScriptGetHostnameRamCost,\n getHackingLevel: RamCostConstants.ScriptGetHackingLevelRamCost,\n getHackingMultipliers: RamCostConstants.ScriptGetMultipliersRamCost,\n getHacknetMultipliers: RamCostConstants.ScriptGetMultipliersRamCost,\n getBitNodeMultipliers: RamCostConstants.ScriptGetMultipliersRamCost,\n getServer: RamCostConstants.ScriptGetMultipliersRamCost / 2,\n getServerMoneyAvailable: RamCostConstants.ScriptGetServerRamCost,\n getServerSecurityLevel: RamCostConstants.ScriptGetServerRamCost,\n getServerBaseSecurityLevel: RamCostConstants.ScriptGetServerRamCost,\n getServerMinSecurityLevel: RamCostConstants.ScriptGetServerRamCost,\n getServerRequiredHackingLevel: RamCostConstants.ScriptGetServerRamCost,\n getServerMaxMoney: RamCostConstants.ScriptGetServerRamCost,\n getServerGrowth: RamCostConstants.ScriptGetServerRamCost,\n getServerNumPortsRequired: RamCostConstants.ScriptGetServerRamCost,\n getServerRam: RamCostConstants.ScriptGetServerRamCost,\n getServerMaxRam: RamCostConstants.ScriptGetServerMaxRam,\n getServerUsedRam: RamCostConstants.ScriptGetServerUsedRam,\n serverExists: RamCostConstants.ScriptGetServerRamCost,\n fileExists: RamCostConstants.ScriptFileExistsRamCost,\n isRunning: RamCostConstants.ScriptIsRunningRamCost,\n getPurchasedServerLimit: RamCostConstants.ScriptGetPurchasedServerLimit,\n getPurchasedServerMaxRam: RamCostConstants.ScriptGetPurchasedServerMaxRam,\n getPurchasedServerCost: RamCostConstants.ScriptGetPurchaseServerRamCost,\n purchaseServer: RamCostConstants.ScriptPurchaseServerRamCost,\n deleteServer: RamCostConstants.ScriptPurchaseServerRamCost,\n getPurchasedServers: RamCostConstants.ScriptPurchaseServerRamCost,\n write: 0,\n tryWritePort: 0,\n read: 0,\n peek: 0,\n clear: 0,\n writePort: 0,\n readPort: 0,\n getPortHandle: 0,\n rm: RamCostConstants.ScriptReadWriteRamCost,\n scriptRunning: RamCostConstants.ScriptArbScriptRamCost,\n scriptKill: RamCostConstants.ScriptArbScriptRamCost,\n getScriptName: 0,\n getScriptRam: RamCostConstants.ScriptGetScriptRamCost,\n getHackTime: RamCostConstants.ScriptGetHackTimeRamCost,\n getGrowTime: RamCostConstants.ScriptGetHackTimeRamCost,\n getWeakenTime: RamCostConstants.ScriptGetHackTimeRamCost,\n getTotalScriptIncome: RamCostConstants.ScriptGetScriptRamCost,\n getScriptIncome: RamCostConstants.ScriptGetScriptRamCost,\n getTotalScriptExpGain: RamCostConstants.ScriptGetScriptRamCost,\n getScriptExpGain: RamCostConstants.ScriptGetScriptRamCost,\n getRunningScript: RamCostConstants.ScriptGetRunningScriptRamCost,\n nFormat: 0,\n tFormat: 0,\n getTimeSinceLastAug: RamCostConstants.ScriptGetHackTimeRamCost,\n prompt: 0,\n wget: 0,\n getFavorToDonate: RamCostConstants.ScriptGetFavorToDonate,\n getPlayer: RamCostConstants.ScriptSingularityFn1RamCost / 4,\n mv: 0,\n getOwnedSourceFiles: RamCostConstants.ScriptGetOwnedSourceFiles,\n tail: 0,\n toast: 0,\n closeTail: 0,\n clearPort: 0,\n openDevMenu: 0,\n alert: 0,\n flags: 0,\n exploit: 0,\n bypass: 0,\n alterReality: 0,\n rainbow: 0,\n heart: {\n // Easter egg function\n break: 0,\n },\n\n formulas: {\n reputation: {\n calculateFavorToRep: 0,\n calculateRepToFavor: 0,\n repFromDonation: 0,\n },\n skills: {\n calculateSkill: 0,\n calculateExp: 0,\n },\n hacking: {\n hackChance: 0,\n hackExp: 0,\n hackPercent: 0,\n growPercent: 0,\n hackTime: 0,\n growTime: 0,\n weakenTime: 0,\n },\n hacknetNodes: {\n moneyGainRate: 0,\n levelUpgradeCost: 0,\n ramUpgradeCost: 0,\n coreUpgradeCost: 0,\n hacknetNodeCost: 0,\n constants: 0,\n },\n hacknetServers: {\n hashGainRate: 0,\n levelUpgradeCost: 0,\n ramUpgradeCost: 0,\n coreUpgradeCost: 0,\n cacheUpgradeCost: 0,\n hashUpgradeCost: 0,\n hacknetServerCost: 0,\n constants: 0,\n },\n gang: {\n wantedPenalty: 0,\n respectGain: 0,\n wantedLevelGain: 0,\n moneyGain: 0,\n ascensionPointsGain: 0,\n ascensionMultiplier: 0,\n },\n },\n};\n\nexport const RamCosts: IMap = SourceRamCosts;\n\n// This line in particular is there so typescript typechecks that we are not missing any static ram cost.\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst _typecheck: RamCostTree = SourceRamCosts;\n\nexport function getRamCost(player: IPlayer, ...args: string[]): number {\n if (args.length === 0) {\n console.warn(`No arguments passed to getRamCost()`);\n return 0;\n }\n\n let curr = RamCosts[args[0]];\n for (let i = 1; i < args.length; ++i) {\n if (curr == null) {\n console.warn(`Invalid function passed to getRamCost: ${args}`);\n return 0;\n }\n\n const currType = typeof curr;\n if (currType === \"function\" || currType === \"number\") {\n break;\n }\n\n curr = curr[args[i]];\n }\n\n if (typeof curr === \"number\") {\n return curr;\n }\n\n if (typeof curr === \"function\") {\n return curr(player);\n }\n\n console.warn(`Unexpected type (${curr}) for value [${args}]`);\n return 0;\n}\n","import { Skill } from \"./Skill\";\nimport { SkillNames } from \"./data/SkillNames\";\nimport { IMap } from \"../types\";\n\nexport const Skills: IMap = {};\n\n(function () {\n Skills[SkillNames.BladesIntuition] = new Skill({\n name: SkillNames.BladesIntuition,\n desc: \"Each level of this skill increases your success chance for all Contracts, Operations, and BlackOps by 3%\",\n baseCost: 3,\n costInc: 2.1,\n successChanceAll: 3,\n });\n Skills[SkillNames.Cloak] = new Skill({\n name: SkillNames.Cloak,\n desc:\n \"Each level of this skill increases your \" +\n \"success chance in stealth-related Contracts, Operations, and BlackOps by 5.5%\",\n baseCost: 2,\n costInc: 1.1,\n successChanceStealth: 5.5,\n });\n Skills[SkillNames.ShortCircuit] = new Skill({\n name: SkillNames.ShortCircuit,\n desc:\n \"Each level of this skill increases your success chance \" +\n \"in Contracts, Operations, and BlackOps that involve retirement by 5.5%\",\n baseCost: 2,\n costInc: 2.1,\n successChanceKill: 5.5,\n });\n Skills[SkillNames.DigitalObserver] = new Skill({\n name: SkillNames.DigitalObserver,\n desc: \"Each level of this skill increases your success chance in all Operations and BlackOps by 4%\",\n baseCost: 2,\n costInc: 2.1,\n successChanceOperation: 4,\n });\n Skills[SkillNames.Tracer] = new Skill({\n name: SkillNames.Tracer,\n desc: \"Each level of this skill increases your success chance in all Contracts by 4%\",\n baseCost: 2,\n costInc: 2.1,\n successChanceContract: 4,\n });\n Skills[SkillNames.Overclock] = new Skill({\n name: SkillNames.Overclock,\n desc:\n \"Each level of this skill decreases the time it takes \" +\n \"to attempt a Contract, Operation, and BlackOp by 1% (Max Level: 90)\",\n baseCost: 3,\n costInc: 1.4,\n maxLvl: 90,\n actionTime: 1,\n });\n Skills[SkillNames.Reaper] = new Skill({\n name: SkillNames.Reaper,\n desc: \"Each level of this skill increases your effective combat stats for Bladeburner actions by 2%\",\n baseCost: 2,\n costInc: 2.1,\n effStr: 2,\n effDef: 2,\n effDex: 2,\n effAgi: 2,\n });\n Skills[SkillNames.EvasiveSystem] = new Skill({\n name: SkillNames.EvasiveSystem,\n desc: \"Each level of this skill increases your effective dexterity and agility for Bladeburner actions by 4%\",\n baseCost: 2,\n costInc: 2.1,\n effDex: 4,\n effAgi: 4,\n });\n Skills[SkillNames.Datamancer] = new Skill({\n name: SkillNames.Datamancer,\n desc:\n \"Each level of this skill increases your effectiveness in \" +\n \"synthoid population analysis and investigation by 5%. \" +\n \"This affects all actions that can potentially increase \" +\n \"the accuracy of your synthoid population/community estimates.\",\n baseCost: 3,\n costInc: 1,\n successChanceEstimate: 5,\n });\n Skills[SkillNames.CybersEdge] = new Skill({\n name: SkillNames.CybersEdge,\n desc: \"Each level of this skill increases your max stamina by 2%\",\n baseCost: 1,\n costInc: 3,\n stamina: 2,\n });\n Skills[SkillNames.HandsOfMidas] = new Skill({\n name: SkillNames.HandsOfMidas,\n desc: \"Each level of this skill increases the amount of money you receive from Contracts by 10%\",\n baseCost: 2,\n costInc: 2.5,\n money: 10,\n });\n Skills[SkillNames.Hyperdrive] = new Skill({\n name: SkillNames.Hyperdrive,\n desc: \"Each level of this skill increases the experience earned from Contracts, Operations, and BlackOps by 10%\",\n baseCost: 1,\n costInc: 2.5,\n expGain: 10,\n });\n})();\n","/**\n * Stock Market Helper Functions\n */\nimport { Stock } from \"./Stock\";\nimport { PositionTypes } from \"./data/PositionTypes\";\nimport { CONSTANTS } from \"../Constants\";\n\n// Amount by which a stock's forecast changes during each price movement\nexport const forecastChangePerPriceMovement = 0.006;\n\n/**\n * Calculate the total cost of a \"buy\" transaction. This accounts for spread and commission.\n * @param {Stock} stock - Stock being purchased\n * @param {number} shares - Number of shares being transacted\n * @param {PositionTypes} posType - Long or short position\n * @returns {number | null} Total transaction cost. Returns null for an invalid transaction\n */\nexport function getBuyTransactionCost(stock: Stock, shares: number, posType: PositionTypes): number | null {\n if (isNaN(shares) || shares <= 0 || !(stock instanceof Stock)) {\n return null;\n }\n\n // Cap the 'shares' arg at the stock's maximum shares. This'll prevent\n // hanging in the case when a really big number is passed in\n shares = Math.min(shares, stock.maxShares);\n\n const isLong = posType === PositionTypes.Long;\n\n // If the number of shares doesn't trigger a price movement, its a simple calculation\n if (isLong) {\n return shares * stock.getAskPrice() + CONSTANTS.StockMarketCommission;\n } else {\n return shares * stock.getBidPrice() + CONSTANTS.StockMarketCommission;\n }\n}\n\n/**\n * Calculate the TOTAL amount of money gained from a sale (NOT net profit). This accounts\n * for spread and commission.\n * @param {Stock} stock - Stock being sold\n * @param {number} shares - Number of sharse being transacted\n * @param {PositionTypes} posType - Long or short position\n * @returns {number | null} Amount of money gained from transaction. Returns null for an invalid transaction\n */\nexport function getSellTransactionGain(stock: Stock, shares: number, posType: PositionTypes): number | null {\n if (isNaN(shares) || shares <= 0 || !(stock instanceof Stock)) {\n return null;\n }\n\n // Cap the 'shares' arg at the stock's maximum shares. This'll prevent\n // hanging in the case when a really big number is passed in\n shares = Math.min(shares, stock.maxShares);\n\n const isLong = posType === PositionTypes.Long;\n if (isLong) {\n return shares * stock.getBidPrice() - CONSTANTS.StockMarketCommission;\n } else {\n // Calculating gains for a short position requires calculating the profit made\n const origCost = shares * stock.playerAvgShortPx;\n const profit = (stock.playerAvgShortPx - stock.getAskPrice()) * shares - CONSTANTS.StockMarketCommission;\n\n return origCost + profit;\n }\n}\n\n/**\n * Processes a stock's change in forecast & second-order forecast\n * whenever it is transacted\n * @param {Stock} stock - Stock being sold\n * @param {number} shares - Number of sharse being transacted\n * @param {PositionTypes} posType - Long or short position\n */\nexport function processTransactionForecastMovement(stock: Stock, shares: number): void {\n if (isNaN(shares) || shares <= 0 || !(stock instanceof Stock)) {\n return;\n }\n\n // Cap the 'shares' arg at the stock's maximum shares. This'll prevent\n // hanging in the case when a really big number is passed in\n shares = Math.min(shares, stock.maxShares);\n\n // If there's only going to be one iteration at most\n const firstShares = stock.shareTxUntilMovement;\n if (shares <= firstShares) {\n stock.shareTxUntilMovement -= shares;\n if (stock.shareTxUntilMovement <= 0) {\n stock.shareTxUntilMovement = stock.shareTxForMovement;\n stock.influenceForecast(forecastChangePerPriceMovement);\n stock.influenceForecastForecast(forecastChangePerPriceMovement * (stock.mv / 100));\n }\n\n return;\n }\n\n // Calculate how many iterations of price changes we need to account for\n const remainingShares = shares - firstShares;\n let numIterations = 1 + Math.ceil(remainingShares / stock.shareTxForMovement);\n\n // If on the offchance we end up perfectly at the next price movement\n stock.shareTxUntilMovement =\n stock.shareTxForMovement - ((shares - stock.shareTxUntilMovement) % stock.shareTxForMovement);\n if (stock.shareTxUntilMovement === stock.shareTxForMovement || stock.shareTxUntilMovement <= 0) {\n ++numIterations;\n stock.shareTxUntilMovement = stock.shareTxForMovement;\n }\n\n // Forecast always decreases in magnitude\n const forecastChange = forecastChangePerPriceMovement * (numIterations - 1);\n const forecastForecastChange = forecastChange * (stock.mv / 100);\n stock.influenceForecast(forecastChange);\n stock.influenceForecastForecast(forecastForecastChange);\n}\n\n/**\n * Calculate the maximum number of shares of a stock that can be purchased.\n * Handles mid-transaction price movements, both L and S positions, etc.\n * Used for the \"Buy Max\" button in the UI\n * @param {Stock} stock - Stock being purchased\n * @param {PositionTypes} posType - Long or short position\n * @param {number} money - Amount of money player has\n * @returns maximum number of shares that the player can purchase\n */\nexport function calculateBuyMaxAmount(stock: Stock, posType: PositionTypes, money: number): number {\n if (!(stock instanceof Stock)) {\n return 0;\n }\n\n const isLong = posType === PositionTypes.Long;\n\n const remainingMoney = money - CONSTANTS.StockMarketCommission;\n const currPrice = isLong ? stock.getAskPrice() : stock.getBidPrice();\n\n return Math.floor(remainingMoney / currPrice);\n}\n","import { gangMemberUpgradesMetadata } from \"./data/upgrades\";\nimport { GangMemberUpgrade } from \"./GangMemberUpgrade\";\n\nexport const GangMemberUpgrades: {\n [key: string]: GangMemberUpgrade;\n} = {};\n\n(function () {\n gangMemberUpgradesMetadata.forEach((e) => {\n GangMemberUpgrades[e.name] = new GangMemberUpgrade(e.name, e.cost, e.upgType, e.mults);\n });\n})();\n","// Interface that defines a generic object used to track experience/money\n// earnings for tasks\nexport interface ITaskTracker {\n hack: number;\n str: number;\n def: number;\n dex: number;\n agi: number;\n cha: number;\n int: number;\n money: number;\n}\n\nexport function createTaskTracker(): ITaskTracker {\n return {\n hack: 0,\n str: 0,\n def: 0,\n dex: 0,\n agi: 0,\n cha: 0,\n int: 0,\n money: 0,\n };\n}\n","import { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\nimport { CONSTANTS } from \"../Constants\";\n\nexport function getStockMarket4SDataCost(): number {\n return CONSTANTS.MarketData4SCost * BitNodeMultipliers.FourSigmaMarketDataCost;\n}\n\nexport function getStockMarket4STixApiCost(): number {\n return CONSTANTS.MarketDataTixApi4SCost * BitNodeMultipliers.FourSigmaMarketDataApiCost;\n}\n\nexport function getStockMarketWseCost(): number {\n return CONSTANTS.WSEAccountCost;\n}\n\nexport function getStockMarketTixApiCost(): number {\n return CONSTANTS.TIXAPICost;\n}\n","import { AugmentationStats } from \"../ScriptEditor/NetscriptDefinitions\";\n\nexport interface Multipliers {\n hacking_chance: number;\n hacking_speed: number;\n hacking_money: number;\n hacking_grow: number;\n hacking: number;\n hacking_exp: number;\n strength: number;\n strength_exp: number;\n defense: number;\n defense_exp: number;\n dexterity: number;\n dexterity_exp: number;\n agility: number;\n agility_exp: number;\n charisma: number;\n charisma_exp: number;\n hacknet_node_money: number;\n hacknet_node_purchase_cost: number;\n hacknet_node_ram_cost: number;\n hacknet_node_core_cost: number;\n hacknet_node_level_cost: number;\n company_rep: number;\n faction_rep: number;\n work_money: number;\n crime_success: number;\n crime_money: number;\n bladeburner_max_stamina: number;\n bladeburner_stamina_gain: number;\n bladeburner_analysis: number;\n bladeburner_success_chance: number;\n}\n\nexport const defaultMultipliers = (): Multipliers => {\n return {\n hacking_chance: 1,\n hacking_speed: 1,\n hacking_money: 1,\n hacking_grow: 1,\n hacking: 1,\n hacking_exp: 1,\n strength: 1,\n strength_exp: 1,\n defense: 1,\n defense_exp: 1,\n dexterity: 1,\n dexterity_exp: 1,\n agility: 1,\n agility_exp: 1,\n charisma: 1,\n charisma_exp: 1,\n hacknet_node_money: 1,\n hacknet_node_purchase_cost: 1,\n hacknet_node_ram_cost: 1,\n hacknet_node_core_cost: 1,\n hacknet_node_level_cost: 1,\n company_rep: 1,\n faction_rep: 1,\n work_money: 1,\n crime_success: 1,\n crime_money: 1,\n bladeburner_max_stamina: 1,\n bladeburner_stamina_gain: 1,\n bladeburner_analysis: 1,\n bladeburner_success_chance: 1,\n };\n};\n\nexport const mergeMultipliers = (m0: Multipliers, m1: AugmentationStats): Multipliers => {\n return {\n hacking_chance: m0.hacking_chance * (m1.hacking_chance ?? 1),\n hacking_speed: m0.hacking_speed * (m1.hacking_speed ?? 1),\n hacking_money: m0.hacking_money * (m1.hacking_money ?? 1),\n hacking_grow: m0.hacking_grow * (m1.hacking_grow ?? 1),\n hacking: m0.hacking * (m1.hacking ?? 1),\n hacking_exp: m0.hacking_exp * (m1.hacking_exp ?? 1),\n strength: m0.strength * (m1.strength ?? 1),\n strength_exp: m0.strength_exp * (m1.strength_exp ?? 1),\n defense: m0.defense * (m1.defense ?? 1),\n defense_exp: m0.defense_exp * (m1.defense_exp ?? 1),\n dexterity: m0.dexterity * (m1.dexterity ?? 1),\n dexterity_exp: m0.dexterity_exp * (m1.dexterity_exp ?? 1),\n agility: m0.agility * (m1.agility ?? 1),\n agility_exp: m0.agility_exp * (m1.agility_exp ?? 1),\n charisma: m0.charisma * (m1.charisma ?? 1),\n charisma_exp: m0.charisma_exp * (m1.charisma_exp ?? 1),\n hacknet_node_money: m0.hacknet_node_money * (m1.hacknet_node_money ?? 1),\n hacknet_node_purchase_cost: m0.hacknet_node_purchase_cost * (m1.hacknet_node_purchase_cost ?? 1),\n hacknet_node_ram_cost: m0.hacknet_node_ram_cost * (m1.hacknet_node_ram_cost ?? 1),\n hacknet_node_core_cost: m0.hacknet_node_core_cost * (m1.hacknet_node_core_cost ?? 1),\n hacknet_node_level_cost: m0.hacknet_node_level_cost * (m1.hacknet_node_level_cost ?? 1),\n company_rep: m0.company_rep * (m1.company_rep ?? 1),\n faction_rep: m0.faction_rep * (m1.faction_rep ?? 1),\n work_money: m0.work_money * (m1.work_money ?? 1),\n crime_success: m0.crime_success * (m1.crime_success ?? 1),\n crime_money: m0.crime_money * (m1.crime_money ?? 1),\n bladeburner_max_stamina: m0.bladeburner_max_stamina * (m1.bladeburner_max_stamina ?? 1),\n bladeburner_stamina_gain: m0.bladeburner_stamina_gain * (m1.bladeburner_stamina_gain ?? 1),\n bladeburner_analysis: m0.bladeburner_analysis * (m1.bladeburner_analysis ?? 1),\n bladeburner_success_chance: m0.bladeburner_success_chance * (m1.bladeburner_success_chance ?? 1),\n };\n};\n","/**\n * Map of all Hash Upgrades\n * Key = Hash name, Value = HashUpgrade object\n */\nimport { HashUpgrade, IConstructorParams } from \"./HashUpgrade\";\nimport { HashUpgradesMetadata } from \"./data/HashUpgradesMetadata\";\nimport { IMap } from \"../types\";\n\nexport const HashUpgrades: IMap = {};\n\nfunction createHashUpgrade(p: IConstructorParams): void {\n HashUpgrades[p.name] = new HashUpgrade(p);\n}\n\nfor (const metadata of HashUpgradesMetadata) {\n createHashUpgrade(metadata);\n}\n","import { gangMemberTasksMetadata } from \"./data/tasks\";\nimport { GangMemberTask } from \"./GangMemberTask\";\n\nexport const GangMemberTasks: {\n [key: string]: GangMemberTask;\n} = {};\n\n(function () {\n gangMemberTasksMetadata.forEach((e) => {\n GangMemberTasks[e.name] = new GangMemberTask(e.name, e.desc, e.isHacking, e.isCombat, e.params);\n });\n})();\n","import { Material } from \"./Material\";\nimport { ICorporation } from \"./ICorporation\";\nimport { IIndustry } from \"./IIndustry\";\nimport { MaterialSizes } from \"./MaterialSizes\";\nimport { IMap } from \"../types\";\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"../utils/JSONReviver\";\nimport { exceptionAlert } from \"../utils/helpers/exceptionAlert\";\n\ninterface IConstructorParams {\n corp?: ICorporation;\n industry?: IIndustry;\n loc?: string;\n size?: number;\n}\n\nexport class Warehouse {\n // Warehouse's level, which affects its maximum size\n level = 1;\n\n // City that this Warehouse is in\n loc: string;\n\n // Map of Materials held by this Warehouse\n materials: IMap;\n\n // Maximum amount warehouse can hold\n size: number;\n\n // Amount of space currently used by warehouse\n sizeUsed = 0;\n\n // Whether Smart Supply is enabled for this Industry (the Industry that this Warehouse is for)\n smartSupplyEnabled = false;\n\n // Decide if smart supply should use the materials already in the warehouse when deciding on the amount to buy.\n smartSupplyUseLeftovers: { [key: string]: boolean | undefined } = {};\n\n // Stores the amount of product to be produced. Used for Smart Supply unlock.\n // The production tracked by smart supply is always based on the previous cycle,\n // so it will always trail the \"true\" production by 1 cycle\n smartSupplyStore = 0;\n\n constructor(params: IConstructorParams = {}) {\n this.loc = params.loc ? params.loc : \"\";\n this.size = params.size ? params.size : 0;\n\n this.materials = {\n Water: new Material({ name: \"Water\" }),\n Energy: new Material({ name: \"Energy\" }),\n Food: new Material({ name: \"Food\" }),\n Plants: new Material({ name: \"Plants\" }),\n Metal: new Material({ name: \"Metal\" }),\n Hardware: new Material({ name: \"Hardware\" }),\n Chemicals: new Material({ name: \"Chemicals\" }),\n Drugs: new Material({ name: \"Drugs\" }),\n Robots: new Material({ name: \"Robots\" }),\n AICores: new Material({ name: \"AI Cores\" }),\n RealEstate: new Material({ name: \"Real Estate\" }),\n };\n\n this.smartSupplyUseLeftovers = {\n Water: true,\n Energy: true,\n Food: true,\n Plants: true,\n Metal: true,\n Hardware: true,\n Chemicals: true,\n Drugs: true,\n Robots: true,\n AICores: true,\n RealEstate: true,\n };\n\n if (params.corp && params.industry) {\n this.updateSize(params.corp, params.industry);\n }\n\n // Default smart supply to being enabled if the upgrade is unlocked\n if (params.corp?.unlockUpgrades[1]) {\n this.smartSupplyEnabled = true;\n }\n }\n\n // Re-calculate how much space is being used by this Warehouse\n updateMaterialSizeUsed(): void {\n this.sizeUsed = 0;\n for (const matName of Object.keys(this.materials)) {\n const mat = this.materials[matName];\n if (MaterialSizes.hasOwnProperty(matName)) {\n this.sizeUsed += mat.qty * MaterialSizes[matName];\n }\n }\n if (this.sizeUsed > this.size) {\n console.warn(\"Warehouse size used greater than capacity, something went wrong\");\n }\n }\n\n updateSize(corporation: ICorporation, industry: IIndustry): void {\n try {\n this.size = this.level * 100 * corporation.getStorageMultiplier() * industry.getStorageMultiplier();\n } catch (e: unknown) {\n exceptionAlert(e);\n }\n }\n\n // Serialize the current object to a JSON save state.\n toJSON(): IReviverValue {\n return Generic_toJSON(\"Warehouse\", this);\n }\n\n // Initiatizes a Warehouse object from a JSON save state.\n static fromJSON(value: IReviverValue): Warehouse {\n return Generic_fromJSON(Warehouse, value.data);\n }\n}\n\nReviver.constructors.Warehouse = Warehouse;\n","/**\n * Functions for buying/selling stocks. There are four functions total, two for\n * long positions and two for short positions.\n */\nimport { Stock } from \"./Stock\";\nimport {\n getBuyTransactionCost,\n getSellTransactionGain,\n processTransactionForecastMovement,\n} from \"./StockMarketHelpers\";\n\nimport { PositionTypes } from \"./data/PositionTypes\";\n\nimport { CONSTANTS } from \"../Constants\";\nimport { WorkerScript } from \"../Netscript/WorkerScript\";\nimport { Player } from \"../Player\";\n\nimport { numeralWrapper } from \"../ui/numeralFormat\";\nimport { Money } from \"../ui/React/Money\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\n\nimport * as React from \"react\";\n\n/**\n * Each function takes an optional config object as its last argument\n */\ninterface IOptions {\n rerenderFn?: () => void;\n suppressDialog?: boolean;\n}\n\n/**\n * Attempt to buy a stock in the long position\n * @param {Stock} stock - Stock to buy\n * @param {number} shares - Number of shares to buy\n * @param {WorkerScript} workerScript - If this is being called through Netscript\n * @param opts - Optional configuration for this function's behavior. See top of file\n * @returns {boolean} - true if successful, false otherwise\n */\nexport function buyStock(\n stock: Stock,\n shares: number,\n workerScript: WorkerScript | null = null,\n opts: IOptions = {},\n): boolean {\n // Validate arguments\n shares = Math.round(shares);\n if (shares <= 0) {\n return false;\n }\n if (stock == null || isNaN(shares)) {\n if (workerScript) {\n workerScript.log(\"stock.buy\", () => `Invalid arguments: stock='${stock}' shares='${shares}'`);\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\"Failed to buy stock. This may be a bug, contact developer\");\n }\n\n return false;\n }\n\n // Does player have enough money?\n const totalPrice = getBuyTransactionCost(stock, shares, PositionTypes.Long);\n if (totalPrice == null) {\n return false;\n }\n if (Player.money < totalPrice) {\n if (workerScript) {\n workerScript.log(\n \"stock.buy\",\n () =>\n `You do not have enough money to purchase this position. You need ${numeralWrapper.formatMoney(totalPrice)}.`,\n );\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n <>\n You do not have enough money to purchase this. You need \n >,\n );\n }\n\n return false;\n }\n\n // Would this purchase exceed the maximum number of shares?\n if (shares + stock.playerShares + stock.playerShortShares > stock.maxShares) {\n if (workerScript) {\n workerScript.log(\n \"stock.buy\",\n () =>\n `Purchasing '${shares + stock.playerShares + stock.playerShortShares}' shares would exceed ${\n stock.symbol\n }'s maximum (${stock.maxShares}) number of shares`,\n );\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n `You cannot purchase this many shares. ${stock.symbol} has a maximum of ${numeralWrapper.formatShares(\n stock.maxShares,\n )} shares.`,\n );\n }\n\n return false;\n }\n\n const origTotal = stock.playerShares * stock.playerAvgPx;\n Player.loseMoney(totalPrice, \"stock\");\n const newTotal = origTotal + totalPrice - CONSTANTS.StockMarketCommission;\n stock.playerShares = Math.round(stock.playerShares + shares);\n stock.playerAvgPx = newTotal / stock.playerShares;\n processTransactionForecastMovement(stock, shares);\n if (opts.rerenderFn != null && typeof opts.rerenderFn === \"function\") {\n opts.rerenderFn();\n }\n\n if (workerScript) {\n const resultTxt = `Bought ${numeralWrapper.formatShares(shares)} shares of ${\n stock.symbol\n } for ${numeralWrapper.formatMoney(totalPrice)}. Paid ${numeralWrapper.formatMoney(\n CONSTANTS.StockMarketCommission,\n )} in commission fees.`;\n workerScript.log(\"stock.buy\", () => resultTxt);\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n <>\n Bought {numeralWrapper.formatShares(shares)} shares of {stock.symbol} for . Paid{\" \"}\n in commission fees.\n >,\n );\n }\n\n return true;\n}\n\n/**\n * Attempt to sell a stock in the long position\n * @param {Stock} stock - Stock to sell\n * @param {number} shares - Number of shares to sell\n * @param {WorkerScript} workerScript - If this is being called through Netscript\n * @param opts - Optional configuration for this function's behavior. See top of file\n * returns {boolean} - true if successfully sells given number of shares OR MAX owned, false otherwise\n */\nexport function sellStock(\n stock: Stock,\n shares: number,\n workerScript: WorkerScript | null = null,\n opts: IOptions = {},\n): boolean {\n // Sanitize/Validate arguments\n if (stock == null || shares < 0 || isNaN(shares)) {\n if (workerScript) {\n workerScript.log(\"stock.sell\", () => `Invalid arguments: stock='${stock}' shares='${shares}'`);\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n \"Failed to sell stock. This is probably due to an invalid quantity. Otherwise, this may be a bug, contact developer\",\n );\n }\n\n return false;\n }\n shares = Math.round(shares);\n if (shares > stock.playerShares) {\n shares = stock.playerShares;\n }\n if (shares === 0) {\n return false;\n }\n\n const gains = getSellTransactionGain(stock, shares, PositionTypes.Long);\n if (gains == null) {\n return false;\n }\n let netProfit = gains - stock.playerAvgPx * shares;\n if (isNaN(netProfit)) {\n netProfit = 0;\n }\n Player.gainMoney(gains, \"stock\");\n if (workerScript) {\n workerScript.scriptRef.onlineMoneyMade += netProfit;\n Player.scriptProdSinceLastAug += netProfit;\n }\n\n stock.playerShares = Math.round(stock.playerShares - shares);\n if (stock.playerShares === 0) {\n stock.playerAvgPx = 0;\n }\n\n processTransactionForecastMovement(stock, shares);\n\n if (opts.rerenderFn != null && typeof opts.rerenderFn === \"function\") {\n opts.rerenderFn();\n }\n\n if (workerScript) {\n const resultTxt =\n `Sold ${numeralWrapper.formatShares(shares)} shares of ${stock.symbol}. ` +\n `After commissions, you gained a total of ${numeralWrapper.formatMoney(gains)}.`;\n workerScript.log(\"stock.sell\", () => resultTxt);\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n <>\n Sold {numeralWrapper.formatShares(shares)} shares of {stock.symbol}. After commissions, you gained a total of{\" \"}\n .\n >,\n );\n }\n\n return true;\n}\n\n/**\n * Attempt to buy a stock in the short position\n * @param {Stock} stock - Stock to sell\n * @param {number} shares - Number of shares to short\n * @param {WorkerScript} workerScript - If this is being called through Netscript\n * @param opts - Optional configuration for this function's behavior. See top of file\n * @returns {boolean} - true if successful, false otherwise\n */\nexport function shortStock(\n stock: Stock,\n shares: number,\n workerScript: WorkerScript | null = null,\n opts: IOptions = {},\n): boolean {\n // Validate arguments\n shares = Math.round(shares);\n if (shares <= 0) {\n return false;\n }\n if (stock == null || isNaN(shares)) {\n if (workerScript) {\n workerScript.log(\"stock.short\", () => `Invalid arguments: stock='${stock}' shares='${shares}'`);\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n \"Failed to initiate a short position in a stock. This is probably \" +\n \"due to an invalid quantity. Otherwise, this may be a bug, so contact developer\",\n );\n }\n return false;\n }\n\n // Does the player have enough money?\n const totalPrice = getBuyTransactionCost(stock, shares, PositionTypes.Short);\n if (totalPrice == null) {\n return false;\n }\n if (Player.money < totalPrice) {\n if (workerScript) {\n workerScript.log(\n \"stock.short\",\n () =>\n \"You do not have enough \" +\n \"money to purchase this short position. You need \" +\n numeralWrapper.formatMoney(totalPrice),\n );\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n <>\n You do not have enough money to purchase this short position. You need \n >,\n );\n }\n\n return false;\n }\n\n // Would this purchase exceed the maximum number of shares?\n if (shares + stock.playerShares + stock.playerShortShares > stock.maxShares) {\n if (workerScript) {\n workerScript.log(\n \"stock.short\",\n () =>\n `This '${shares + stock.playerShares + stock.playerShortShares}' short shares would exceed ${\n stock.symbol\n }'s maximum (${stock.maxShares}) number of shares.`,\n );\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n `You cannot purchase this many shares. ${stock.symbol} has a maximum of ${stock.maxShares} shares.`,\n );\n }\n\n return false;\n }\n\n const origTotal = stock.playerShortShares * stock.playerAvgShortPx;\n Player.loseMoney(totalPrice, \"stock\");\n const newTotal = origTotal + totalPrice - CONSTANTS.StockMarketCommission;\n stock.playerShortShares = Math.round(stock.playerShortShares + shares);\n stock.playerAvgShortPx = newTotal / stock.playerShortShares;\n processTransactionForecastMovement(stock, shares);\n\n if (opts.rerenderFn != null && typeof opts.rerenderFn === \"function\") {\n opts.rerenderFn();\n }\n\n if (workerScript) {\n const resultTxt =\n `Bought a short position of ${numeralWrapper.formatShares(shares)} shares of ${stock.symbol} ` +\n `for ${numeralWrapper.formatMoney(totalPrice)}. Paid ${numeralWrapper.formatMoney(\n CONSTANTS.StockMarketCommission,\n )} ` +\n `in commission fees.`;\n workerScript.log(\"stock.short\", () => resultTxt);\n } else if (!opts.suppressDialog) {\n dialogBoxCreate(\n <>\n Bought a short position of {numeralWrapper.formatShares(shares)} shares of {stock.symbol} for{\" \"}\n . Paid in commission fees.\n >,\n );\n }\n\n return true;\n}\n\n/**\n * Attempt to sell a stock in the short position\n * @param {Stock} stock - Stock to sell\n * @param {number} shares - Number of shares to sell\n * @param {WorkerScript} workerScript - If this is being called through Netscript\n * @param opts - Optional configuration for this function's behavior. See top of file\n * @returns {boolean} true if successfully sells given amount OR max owned, false otherwise\n */\nexport function sellShort(\n stock: Stock,\n shares: number,\n workerScript: WorkerScript | null = null,\n opts: IOptions = {},\n): boolean {\n if (stock == null || isNaN(shares) || shares < 0) {\n if (workerScript) {\n workerScript.log(\"stock.sellShort\", () => `Invalid arguments: stock='${stock}' shares='${shares}'`);\n } else if (!opts.suppressDialog) {\n dialogBoxCreate(\n \"Failed to sell a short position in a stock. This is probably \" +\n \"due to an invalid quantity. Otherwise, this may be a bug, so contact developer\",\n );\n }\n\n return false;\n }\n shares = Math.round(shares);\n if (shares > stock.playerShortShares) {\n shares = stock.playerShortShares;\n }\n if (shares === 0) {\n return false;\n }\n\n const origCost = shares * stock.playerAvgShortPx;\n const totalGain = getSellTransactionGain(stock, shares, PositionTypes.Short);\n if (totalGain == null || isNaN(totalGain) || origCost == null) {\n if (workerScript) {\n workerScript.log(\n \"stock.sellShort\",\n () => `Failed to sell short position in a stock. This is probably either due to invalid arguments, or a bug`,\n );\n } else if (!opts.suppressDialog) {\n dialogBoxCreate(\n `Failed to sell short position in a stock. This is probably either due to invalid arguments, or a bug`,\n );\n }\n\n return false;\n }\n let profit = totalGain - origCost;\n if (isNaN(profit)) {\n profit = 0;\n }\n Player.gainMoney(totalGain, \"stock\");\n if (workerScript) {\n workerScript.scriptRef.onlineMoneyMade += profit;\n Player.scriptProdSinceLastAug += profit;\n }\n\n stock.playerShortShares = Math.round(stock.playerShortShares - shares);\n if (stock.playerShortShares === 0) {\n stock.playerAvgShortPx = 0;\n }\n processTransactionForecastMovement(stock, shares);\n\n if (opts.rerenderFn != null && typeof opts.rerenderFn === \"function\") {\n opts.rerenderFn();\n }\n\n if (workerScript) {\n const resultTxt =\n `Sold your short position of ${numeralWrapper.formatShares(shares)} shares of ${stock.symbol}. ` +\n `After commissions, you gained a total of ${numeralWrapper.formatMoney(totalGain)}`;\n workerScript.log(\"stock.sellShort\", () => resultTxt);\n } else if (!opts.suppressDialog) {\n dialogBoxCreate(\n <>\n Sold your short position of {numeralWrapper.formatShares(shares)} shares of {stock.symbol}. After commissions,\n you gained a total of \n >,\n );\n }\n\n return true;\n}\n","import React from \"react\";\nimport { TextFile } from \"../TextFile\";\nimport { Script } from \"../Script/Script\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { IRouter } from \"../ui/Router\";\nimport { Settings } from \"../Settings/Settings\";\nimport { formatTime } from \"../utils/helpers/formatTime\";\nimport { BaseServer } from \"../Server/BaseServer\";\n\nexport class Output {\n text: string;\n color: \"primary\" | \"error\" | \"success\" | \"info\" | \"warn\";\n constructor(text: string, color: \"primary\" | \"error\" | \"success\" | \"info\" | \"warn\") {\n if (Settings.TimestampsFormat) text = \"[\" + formatTime(Settings.TimestampsFormat) + \"] \" + text;\n this.text = text;\n this.color = color;\n }\n}\n\nexport class RawOutput {\n raw: React.ReactNode;\n constructor(node: React.ReactNode) {\n if (Settings.TimestampsFormat)\n node = (\n <>\n [{formatTime(Settings.TimestampsFormat)}] {node}\n >\n );\n this.raw = node;\n }\n}\n\nexport class Link {\n hostname: string;\n dashes: string;\n constructor(dashes: string, hostname: string) {\n if (Settings.TimestampsFormat) dashes = \"[\" + formatTime(Settings.TimestampsFormat) + \"] \" + dashes;\n this.hostname = hostname;\n this.dashes = dashes;\n }\n}\n\nexport class TTimer {\n time: number;\n timeLeft: number;\n action: \"h\" | \"b\" | \"a\" | \"g\" | \"w\";\n server?: BaseServer;\n\n constructor(time: number, action: \"h\" | \"b\" | \"a\" | \"g\" | \"w\", server?: BaseServer) {\n this.time = time;\n this.timeLeft = time;\n this.action = action;\n this.server = server;\n }\n}\n\nexport interface ITerminal {\n action: TTimer | null;\n\n commandHistory: string[];\n commandHistoryIndex: number;\n\n outputHistory: (Output | Link | RawOutput)[];\n\n // True if a Coding Contract prompt is opened\n contractOpen: boolean;\n\n // Full Path of current directory\n // Excludes the trailing forward slash\n currDir: string;\n\n print(s: string): void;\n printRaw(node: React.ReactNode): void;\n error(s: string): void;\n success(s: string): void;\n info(s: string): void;\n warn(s: string): void;\n\n clear(): void;\n startAnalyze(player: IPlayer): void;\n startBackdoor(player: IPlayer): void;\n startHack(player: IPlayer): void;\n startGrow(player: IPlayer): void;\n startWeaken(player: IPlayer): void;\n finishHack(router: IRouter, player: IPlayer, server: BaseServer, cancelled?: boolean): void;\n finishGrow(player: IPlayer, server: BaseServer, cancelled?: boolean): void;\n finishWeaken(player: IPlayer, server: BaseServer, cancelled?: boolean): void;\n finishBackdoor(router: IRouter, player: IPlayer, server: BaseServer, cancelled?: boolean): void;\n finishAnalyze(player: IPlayer, server: BaseServer, cancelled?: boolean): void;\n finishAction(router: IRouter, player: IPlayer, cancelled?: boolean): void;\n getFilepath(filename: string): string;\n getFile(player: IPlayer, filename: string): Script | TextFile | string | null;\n getScript(player: IPlayer, filename: string): Script | null;\n getTextFile(player: IPlayer, filename: string): TextFile | null;\n getLitFile(player: IPlayer, filename: string): string | null;\n cwd(): string;\n setcwd(dir: string): void;\n runContract(player: IPlayer, name: string): void;\n executeScanAnalyzeCommand(player: IPlayer, depth?: number, all?: boolean): void;\n connectToServer(player: IPlayer, server: string): void;\n executeCommand(router: IRouter, player: IPlayer, command: string): void;\n executeCommands(router: IRouter, player: IPlayer, commands: string): void;\n // If there was any changes, will return true, once.\n process(router: IRouter, player: IPlayer, cycles: number): void;\n prestige(): void;\n getProgressText(): string;\n}\n","import { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\n\ninterface ISkillParams {\n name: string;\n desc: string;\n\n baseCost?: number;\n costInc?: number;\n maxLvl?: number;\n\n successChanceAll?: number;\n successChanceStealth?: number;\n successChanceKill?: number;\n successChanceContract?: number;\n successChanceOperation?: number;\n successChanceEstimate?: number;\n\n actionTime?: number;\n\n effHack?: number;\n effStr?: number;\n effDef?: number;\n effDex?: number;\n effAgi?: number;\n effCha?: number;\n\n stamina?: number;\n money?: number;\n expGain?: number;\n}\n\nexport class Skill {\n name: string;\n desc: string;\n // Cost is in Skill Points\n baseCost = 1;\n // Additive cost increase per level\n costInc = 1;\n maxLvl = 0;\n\n /**\n * These benefits are additive. So total multiplier will be level (handled externally) times the\n * effects below\n */\n successChanceAll = 0;\n successChanceStealth = 0;\n successChanceKill = 0;\n successChanceContract = 0;\n successChanceOperation = 0;\n\n /**\n * This multiplier affects everything that increases synthoid population/community estimate\n * e.g. Field analysis, Investigation Op, Undercover Op\n */\n successChanceEstimate = 0;\n actionTime = 0;\n effHack = 0;\n effStr = 0;\n effDef = 0;\n effDex = 0;\n effAgi = 0;\n effCha = 0;\n stamina = 0;\n money = 0;\n expGain = 0;\n\n constructor(params: ISkillParams = { name: \"foo\", desc: \"foo\" }) {\n if (!params.name) {\n throw new Error(\"Failed to initialize Bladeburner Skill. No name was specified in ctor\");\n }\n if (!params.desc) {\n throw new Error(\"Failed to initialize Bladeburner Skills. No desc was specified in ctor\");\n }\n this.name = params.name;\n this.desc = params.desc;\n this.baseCost = params.baseCost ? params.baseCost : 1;\n this.costInc = params.costInc ? params.costInc : 1;\n\n if (params.maxLvl) {\n this.maxLvl = params.maxLvl;\n }\n\n if (params.successChanceAll) {\n this.successChanceAll = params.successChanceAll;\n }\n if (params.successChanceStealth) {\n this.successChanceStealth = params.successChanceStealth;\n }\n if (params.successChanceKill) {\n this.successChanceKill = params.successChanceKill;\n }\n if (params.successChanceContract) {\n this.successChanceContract = params.successChanceContract;\n }\n if (params.successChanceOperation) {\n this.successChanceOperation = params.successChanceOperation;\n }\n\n if (params.successChanceEstimate) {\n this.successChanceEstimate = params.successChanceEstimate;\n }\n\n if (params.actionTime) {\n this.actionTime = params.actionTime;\n }\n if (params.effHack) {\n this.effHack = params.effHack;\n }\n if (params.effStr) {\n this.effStr = params.effStr;\n }\n if (params.effDef) {\n this.effDef = params.effDef;\n }\n if (params.effDex) {\n this.effDex = params.effDex;\n }\n if (params.effAgi) {\n this.effAgi = params.effAgi;\n }\n if (params.effCha) {\n this.effCha = params.effCha;\n }\n\n if (params.stamina) {\n this.stamina = params.stamina;\n }\n if (params.money) {\n this.money = params.money;\n }\n if (params.expGain) {\n this.expGain = params.expGain;\n }\n }\n\n calculateCost(currentLevel: number): number {\n return Math.floor((this.baseCost + currentLevel * this.costInc) * BitNodeMultipliers.BladeburnerSkillCost);\n }\n\n getMultiplier(name: string): number {\n if (name === \"successChanceAll\") return this.successChanceAll;\n if (name === \"successChanceStealth\") return this.successChanceStealth;\n if (name === \"successChanceKill\") return this.successChanceKill;\n if (name === \"successChanceContract\") return this.successChanceContract;\n if (name === \"successChanceOperation\") return this.successChanceOperation;\n if (name === \"successChanceEstimate\") return this.successChanceEstimate;\n\n if (name === \"actionTime\") return this.actionTime;\n\n if (name === \"effHack\") return this.effHack;\n if (name === \"effStr\") return this.effStr;\n if (name === \"effDef\") return this.effDef;\n if (name === \"effDex\") return this.effDex;\n if (name === \"effAgi\") return this.effAgi;\n if (name === \"effCha\") return this.effCha;\n\n if (name === \"stamina\") return this.stamina;\n if (name === \"money\") return this.money;\n if (name === \"expGain\") return this.expGain;\n return 0;\n }\n}\n","export enum CrimeType {\n None = \"\",\n Shoplift = \"shoplift\",\n RobStore = \"rob a store\",\n Mug = \"mug someone\",\n Larceny = \"commit larceny\",\n Drugs = \"deal drugs\",\n BondForgery = \"forge corporate bonds\",\n TraffickArms = \"traffick illegal arms\",\n Homicide = \"commit homicide\",\n GrandTheftAuto = \"commit grand theft auto\",\n Kidnap = \"kidnap someone for ransom\",\n Assassination = \"assassinate a high-profile target\",\n Heist = \"pull off the ultimate heist\",\n}\n","import React from \"react\";\nimport { Modal } from \"./Modal\";\n\nimport Button from \"@mui/material/Button\";\nimport Typography from \"@mui/material/Typography\";\n\ninterface IProps {\n open: boolean;\n onClose: () => void;\n onConfirm: () => void;\n confirmationText: string | React.ReactNode;\n additionalButton?: React.ReactNode;\n}\n\nexport function ConfirmationModal(props: IProps): React.ReactElement {\n return (\n \n <>\n {props.confirmationText}\n \n {props.additionalButton && <>{props.additionalButton}>}\n >\n \n );\n}\n","/**\n * Represents the possible configuration values that can be provided when creating the progress bar text.\n */\ninterface IProgressBarConfiguration {\n /**\n * Current progress, taken as a decimal (i.e. '0.6' to represent '60%')\n */\n progress?: number;\n\n /**\n * Total number of ticks in progress bar. Preferably a factor of 100.\n */\n totalTicks?: number;\n}\n\n/**\n * Represents concrete configuration values when creating the progress bar text.\n */\ninterface IProgressBarConfigurationMaterialized extends IProgressBarConfiguration {\n progress: number;\n totalTicks: number;\n}\n\n/**\n * Creates a graphical \"progress bar\"\n * e.g.: [||||---------------]\n * @param params The configuration parameters for the progress bar\n */\nexport function createProgressBarText(params: IProgressBarConfiguration): string {\n // Default values\n const defaultParams: IProgressBarConfigurationMaterialized = {\n progress: 0,\n totalTicks: 20,\n };\n\n // tslint:disable-next-line:prefer-object-spread\n const derived: IProgressBarConfigurationMaterialized = Object.assign({}, defaultParams, params);\n // Ensure it is 0..1\n derived.progress = Math.max(Math.min(derived.progress, 1), 0);\n\n // This way there is always at least one bar filled in...\n const bars: number = Math.max(Math.floor(derived.progress / (1 / derived.totalTicks)), 1);\n const dashes: number = Math.max(derived.totalTicks - bars, 0);\n\n // String.prototype.repeat isn't completley supported, but good enough for our purposes\n return `[${\"|\".repeat(bars)}${\"-\".repeat(dashes)}]`;\n}\n","export function hash(): string {\n try {\n if (__COMMIT_HASH__) {\n return __COMMIT_HASH__;\n }\n } catch (err) {}\n return \"DEV\";\n}\n","import { CompanyPosition } from \"./CompanyPosition\";\nimport * as posNames from \"./data/companypositionnames\";\nimport { favorToRep, repToFavor } from \"../Faction/formulas/favor\";\n\nimport { IMap } from \"../types\";\n\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"../utils/JSONReviver\";\n\nexport interface IConstructorParams {\n name: string;\n info: string;\n companyPositions: IMap;\n expMultiplier: number;\n salaryMultiplier: number;\n jobStatReqOffset: number;\n isMegacorp?: boolean;\n}\n\nconst DefaultConstructorParams: IConstructorParams = {\n name: \"\",\n info: \"\",\n companyPositions: {},\n expMultiplier: 1,\n salaryMultiplier: 1,\n jobStatReqOffset: 0,\n};\n\nexport class Company {\n /**\n * Company name\n */\n name: string;\n\n /**\n * Description and general information about company\n */\n info: string;\n\n /**\n * Has faction associated.\n */\n isMegacorp: boolean;\n\n /**\n * Object that holds all available positions in this Company.\n * Position names are held in keys.\n * The values for the keys don't matter, but we'll make them booleans\n *\n * Must match names of Company Positions, defined in data/companypositionnames.ts\n */\n companyPositions: IMap;\n\n /**\n * Company-specific multiplier for earnings\n */\n expMultiplier: number;\n salaryMultiplier: number;\n\n /**\n * The additional levels of stats you need to quality for a job\n * in this company.\n *\n * For example, the base stat requirement for an intern position is 1.\n * But if a company has a offset of 200, then you would need stat(s) of 201\n */\n jobStatReqOffset: number;\n\n /**\n * Properties to track the player's progress in this company\n */\n isPlayerEmployed: boolean;\n playerReputation: number;\n favor: number;\n\n constructor(p: IConstructorParams = DefaultConstructorParams) {\n this.name = p.name;\n this.info = p.info;\n this.companyPositions = p.companyPositions;\n this.expMultiplier = p.expMultiplier;\n this.salaryMultiplier = p.salaryMultiplier;\n this.jobStatReqOffset = p.jobStatReqOffset;\n\n this.isPlayerEmployed = false;\n this.playerReputation = 1;\n this.favor = 0;\n this.isMegacorp = false;\n if (p.isMegacorp) this.isMegacorp = true;\n }\n\n hasPosition(pos: CompanyPosition | string): boolean {\n if (pos instanceof CompanyPosition) {\n return this.companyPositions[pos.name] != null;\n } else {\n return this.companyPositions[pos] != null;\n }\n }\n\n hasAgentPositions(): boolean {\n return this.companyPositions[posNames.AgentCompanyPositions[0]] != null;\n }\n\n hasBusinessConsultantPositions(): boolean {\n return this.companyPositions[posNames.BusinessConsultantCompanyPositions[0]] != null;\n }\n\n hasBusinessPositions(): boolean {\n return this.companyPositions[posNames.BusinessCompanyPositions[0]] != null;\n }\n\n hasEmployeePositions(): boolean {\n return this.companyPositions[posNames.MiscCompanyPositions[1]] != null;\n }\n\n hasITPositions(): boolean {\n return this.companyPositions[posNames.ITCompanyPositions[0]] != null;\n }\n\n hasSecurityPositions(): boolean {\n return this.companyPositions[posNames.SecurityCompanyPositions[2]] != null;\n }\n\n hasSoftwareConsultantPositions(): boolean {\n return this.companyPositions[posNames.SoftwareConsultantCompanyPositions[0]] != null;\n }\n\n hasSoftwarePositions(): boolean {\n return this.companyPositions[posNames.SoftwareCompanyPositions[0]] != null;\n }\n\n hasWaiterPositions(): boolean {\n return this.companyPositions[posNames.MiscCompanyPositions[0]] != null;\n }\n\n gainFavor(): void {\n if (this.favor == null) {\n this.favor = 0;\n }\n this.favor += this.getFavorGain();\n }\n\n getFavorGain(): number {\n if (this.favor == null) {\n this.favor = 0;\n }\n const storedRep = Math.max(0, favorToRep(this.favor));\n const totalRep = storedRep + this.playerReputation;\n const newFavor = repToFavor(totalRep);\n return newFavor - this.favor;\n }\n\n /**\n * Serialize the current object to a JSON save state.\n */\n toJSON(): IReviverValue {\n return Generic_toJSON(\"Company\", this);\n }\n\n /**\n * Initiatizes a Company from a JSON save state.\n */\n static fromJSON(value: IReviverValue): Company {\n return Generic_fromJSON(Company, value.data);\n }\n}\n\nReviver.constructors.Company = Company;\n","/**\n * Class representing a script file.\n *\n * This does NOT represent a script that is actively running and\n * being evaluated. See RunningScript for that\n */\nimport { calculateRamUsage, RamUsageEntry } from \"./RamCalculations\";\nimport { ScriptUrl } from \"./ScriptUrl\";\n\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"../utils/JSONReviver\";\nimport { roundToTwo } from \"../utils/helpers/roundToTwo\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { ScriptModule } from \"./ScriptModule\";\n\nlet globalModuleSequenceNumber = 0;\n\ninterface ScriptReference {\n filename: string;\n server: string;\n}\n\nexport class Script {\n // Code for this script\n code = \"\";\n\n // Filename for the script file\n filename = \"\";\n\n // url of the script if any, only for NS2.\n url = \"\";\n\n // The dynamic module generated for this script when it is run.\n // This is only applicable for NetscriptJS\n module: Promise | null = null;\n\n // The timestamp when when the script was last updated.\n moduleSequenceNumber: number;\n\n // Only used with NS2 scripts; the list of dependency script filenames. This is constructed\n // whenever the script is first evaluated, and therefore may be out of date if the script\n // has been updated since it was last run.\n dependencies: ScriptUrl[] = [];\n dependents: ScriptReference[] = [];\n\n // Amount of RAM this Script requres to run\n ramUsage = 0;\n ramUsageEntries?: RamUsageEntry[];\n\n // hostname of server that this script is on.\n server = \"\";\n\n constructor(player: IPlayer | null = null, fn = \"\", code = \"\", server = \"\", otherScripts: Script[] = []) {\n this.filename = fn;\n this.code = code;\n this.ramUsage = 0;\n this.server = server; // hostname of server this script is on\n this.module = null;\n this.moduleSequenceNumber = ++globalModuleSequenceNumber;\n if (this.code !== \"\" && player !== null) {\n this.updateRamUsage(player, otherScripts);\n }\n }\n\n /**\n * Download the script as a file\n */\n download(): void {\n const filename = this.filename;\n const file = new Blob([this.code], { type: \"text/plain\" });\n const navigator = window.navigator as any;\n if (navigator.msSaveOrOpenBlob) {\n // IE10+\n navigator.msSaveOrOpenBlob(file, filename);\n } else {\n // Others\n const a = document.createElement(\"a\"),\n url = URL.createObjectURL(file);\n a.href = url;\n a.download = filename;\n document.body.appendChild(a);\n a.click();\n setTimeout(function () {\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n }, 0);\n }\n }\n\n /**\n * Marks this script as having been updated. It will be recompiled next time something tries\n * to exec it.\n */\n markUpdated(): void {\n this.module = null;\n this.moduleSequenceNumber = ++globalModuleSequenceNumber;\n }\n\n /**\n * Save a script from the script editor\n * @param {string} code - The new contents of the script\n * @param {Script[]} otherScripts - Other scripts on the server. Used to process imports\n */\n saveScript(player: IPlayer, filename: string, code: string, hostname: string, otherScripts: Script[]): void {\n // Update code and filename\n this.code = Script.formatCode(code);\n\n this.filename = filename;\n this.server = hostname;\n this.updateRamUsage(player, otherScripts);\n this.markUpdated();\n for (const dependent of this.dependents) {\n const [dependentScript] = otherScripts.filter(\n (s) => s.filename === dependent.filename && s.server == dependent.server,\n );\n if (dependentScript !== null) dependentScript.markUpdated();\n }\n }\n\n /**\n * Calculates and updates the script's RAM usage based on its code\n * @param {Script[]} otherScripts - Other scripts on the server. Used to process imports\n */\n async updateRamUsage(player: IPlayer, otherScripts: Script[]): Promise {\n const res = await calculateRamUsage(player, this.code, otherScripts);\n if (res.cost > 0) {\n this.ramUsage = roundToTwo(res.cost);\n this.ramUsageEntries = res.entries;\n }\n this.markUpdated();\n }\n\n imports(): string[] {\n return [];\n }\n\n // Serialize the current object to a JSON save state\n toJSON(): IReviverValue {\n return Generic_toJSON(\"Script\", this);\n }\n\n // Initializes a Script Object from a JSON save state\n static fromJSON(value: IReviverValue): Script {\n const s = Generic_fromJSON(Script, value.data);\n // Force the url to blank from the save data. Urls are not valid outside the current browser page load.\n s.url = \"\";\n s.dependents = [];\n return s;\n }\n\n /**\n * Formats code: Removes the starting & trailing whitespace\n * @param {string} code - The code to format\n * @returns The formatted code\n */\n static formatCode(code: string): string {\n return code.replace(/^\\s+|\\s+$/g, \"\");\n }\n}\n\nReviver.constructors.Script = Script;\n","import { DarkWebItem } from \"./DarkWebItem\";\nimport { IMap } from \"../types\";\nimport { Programs } from \"../Programs/Programs\";\n\nexport const DarkWebItems: IMap = {\n BruteSSHProgram: new DarkWebItem(Programs.BruteSSHProgram.name, 500e3, \"Opens up SSH Ports.\"),\n FTPCrackProgram: new DarkWebItem(Programs.FTPCrackProgram.name, 1500e3, \"Opens up FTP Ports.\"),\n RelaySMTPProgram: new DarkWebItem(Programs.RelaySMTPProgram.name, 5e6, \"Opens up SMTP Ports.\"),\n HTTPWormProgram: new DarkWebItem(Programs.HTTPWormProgram.name, 30e6, \"Opens up HTTP Ports.\"),\n SQLInjectProgram: new DarkWebItem(Programs.SQLInjectProgram.name, 250e6, \"Opens up SQL Ports.\"),\n ServerProfiler: new DarkWebItem(\n Programs.ServerProfiler.name,\n 500000,\n \"Displays detailed information about a server.\",\n ),\n DeepscanV1: new DarkWebItem(Programs.DeepscanV1.name, 500000, \"Enables 'scan-analyze' with a depth up to 5.\"),\n DeepscanV2: new DarkWebItem(Programs.DeepscanV2.name, 25e6, \"Enables 'scan-analyze' with a depth up to 10.\"),\n AutolinkProgram: new DarkWebItem(Programs.AutoLink.name, 1e6, \"Enables direct connect via 'scan-analyze'.\"),\n FormulasProgram: new DarkWebItem(Programs.Formulas.name, 5e9, \"Unlock access to the formulas API.\"),\n};\n","import { Action } from \"./Action\";\nimport { IMap } from \"../types\";\n\nexport const GeneralActions: IMap = {};\n\nconst actionNames: Array = [\n \"Training\",\n \"Field Analysis\",\n \"Recruitment\",\n \"Diplomacy\",\n \"Hyperbolic Regeneration Chamber\",\n \"Incite Violence\",\n];\n\nfor (const actionName of actionNames) {\n GeneralActions[actionName] = new Action({\n name: actionName,\n });\n}\n","// Enum values are lowercased to match css classes\nexport enum Suit {\n Clubs = \"clubs\",\n Diamonds = \"diamonds\",\n Hearts = \"hearts\",\n Spades = \"spades\",\n}\n\nexport class Card {\n constructor(readonly value: number, readonly suit: Suit) {\n if (value < 1 || value > 13) {\n throw new Error(`Card instantiated with improper value: ${value}`);\n }\n }\n\n formatValue(): string {\n switch (this.value) {\n case 1:\n return \"A\";\n case 11:\n return \"J\";\n case 12:\n return \"Q\";\n case 13:\n return \"K\";\n default:\n return `${this.value}`;\n }\n }\n\n isRedSuit(): boolean {\n return this.suit === Suit.Hearts || this.suit === Suit.Diamonds;\n }\n\n getStringRepresentation(): string {\n const value = this.formatValue();\n\n return `${value} of ${this.suit}`;\n }\n}\n","import { IActionIdentifier } from \"./IActionIdentifier\";\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"../utils/JSONReviver\";\n\ninterface IParams {\n name?: string;\n type?: number;\n}\n\nexport class ActionIdentifier implements IActionIdentifier {\n name = \"\";\n type = -1;\n\n constructor(params: IParams = {}) {\n if (params.name) this.name = params.name;\n if (params.type) this.type = params.type;\n }\n\n toJSON(): IReviverValue {\n return Generic_toJSON(\"ActionIdentifier\", this);\n }\n\n static fromJSON(value: IReviverValue): ActionIdentifier {\n return Generic_fromJSON(ActionIdentifier, value.data);\n }\n}\n\nReviver.constructors.ActionIdentifier = ActionIdentifier;\n","import { BitNodes } from \"../BitNode/BitNode\";\n\nexport class SourceFile {\n info: JSX.Element;\n lvl = 1;\n n: number;\n name: string;\n owned = false;\n\n constructor(number: number, info: JSX.Element) {\n const bitnodeKey = \"BitNode\" + number;\n const bitnode = BitNodes[bitnodeKey];\n if (bitnode == null) {\n throw new Error(\"Invalid Bit Node for this Source File\");\n }\n\n this.n = number;\n this.name = `Source-File ${number}: ${bitnode.name}`;\n this.info = info;\n }\n}\n","import { CONSTANTS } from \"../Constants\";\nimport { Player } from \"../Player\";\nimport { BaseServer } from \"../Server/BaseServer\";\nimport { Server } from \"../Server/Server\";\nimport { RunningScript } from \"./RunningScript\";\nimport { processSingleServerGrowth } from \"../Server/ServerHelpers\";\nimport { GetServer } from \"../Server/AllServers\";\n\nimport { numeralWrapper } from \"../ui/numeralFormat\";\n\nimport { compareArrays } from \"../utils/helpers/compareArrays\";\n\nexport function scriptCalculateOfflineProduction(runningScript: RunningScript): void {\n //The Player object stores the last update time from when we were online\n const thisUpdate = new Date().getTime();\n const lastUpdate = Player.lastUpdate;\n const timePassed = (thisUpdate - lastUpdate) / 1000; //Seconds\n\n //Calculate the \"confidence\" rating of the script's true production. This is based\n //entirely off of time. We will arbitrarily say that if a script has been running for\n //4 hours (14400 sec) then we are completely confident in its ability\n let confidence = runningScript.onlineRunningTime / 14400;\n if (confidence >= 1) {\n confidence = 1;\n }\n\n //Data map: [MoneyStolen, NumTimesHacked, NumTimesGrown, NumTimesWeaken]\n\n // Grow\n for (const hostname of Object.keys(runningScript.dataMap)) {\n if (runningScript.dataMap.hasOwnProperty(hostname)) {\n if (runningScript.dataMap[hostname][2] == 0 || runningScript.dataMap[hostname][2] == null) {\n continue;\n }\n const serv = GetServer(hostname);\n if (serv == null) {\n continue;\n }\n const timesGrown = Math.round(\n ((0.5 * runningScript.dataMap[hostname][2]) / runningScript.onlineRunningTime) * timePassed,\n );\n runningScript.log(`Called on ${serv.hostname} ${timesGrown} times while offline`);\n const host = GetServer(runningScript.server);\n if (host === null) throw new Error(\"getServer of null key?\");\n if (!(serv instanceof Server)) throw new Error(\"trying to grow a non-normal server\");\n const growth = processSingleServerGrowth(serv, timesGrown, Player, host.cpuCores);\n runningScript.log(\n `'${serv.hostname}' grown by ${numeralWrapper.format(growth * 100 - 100, \"0.000000%\")} while offline`,\n );\n }\n }\n\n // Offline EXP gain\n // A script's offline production will always be at most half of its online production.\n const expGain = confidence * (runningScript.onlineExpGained / runningScript.onlineRunningTime) * timePassed;\n Player.gainHackingExp(expGain);\n\n // Update script stats\n runningScript.offlineRunningTime += timePassed;\n runningScript.offlineExpGained += expGain;\n\n // Weaken\n for (const hostname of Object.keys(runningScript.dataMap)) {\n if (runningScript.dataMap.hasOwnProperty(hostname)) {\n if (runningScript.dataMap[hostname][3] == 0 || runningScript.dataMap[hostname][3] == null) {\n continue;\n }\n const serv = GetServer(hostname);\n if (serv == null) {\n continue;\n }\n\n if (!(serv instanceof Server)) throw new Error(\"trying to weaken a non-normal server\");\n const host = GetServer(runningScript.server);\n if (host === null) throw new Error(\"getServer of null key?\");\n const timesWeakened = Math.round(\n ((0.5 * runningScript.dataMap[hostname][3]) / runningScript.onlineRunningTime) * timePassed,\n );\n runningScript.log(`Called weaken() on ${serv.hostname} ${timesWeakened} times while offline`);\n const coreBonus = 1 + (host.cpuCores - 1) / 16;\n serv.weaken(CONSTANTS.ServerWeakenAmount * timesWeakened * coreBonus);\n }\n }\n}\n\n//Returns a RunningScript object matching the filename and arguments on the\n//designated server, and false otherwise\nexport function findRunningScript(\n filename: string,\n args: (string | number | boolean)[],\n server: BaseServer,\n): RunningScript | null {\n for (let i = 0; i < server.runningScripts.length; ++i) {\n if (server.runningScripts[i].filename === filename && compareArrays(server.runningScripts[i].args, args)) {\n return server.runningScripts[i];\n }\n }\n return null;\n}\n\n//Returns a RunningScript object matching the pid on the\n//designated server, and false otherwise\nexport function findRunningScriptByPid(pid: number, server: BaseServer): RunningScript | null {\n for (let i = 0; i < server.runningScripts.length; ++i) {\n if (server.runningScripts[i].pid === pid) {\n return server.runningScripts[i];\n }\n }\n return null;\n}\n","import React from \"react\";\nimport { MathJax, MathJaxContext } from \"better-react-mathjax\";\n\ninterface IProps {\n children: React.ReactNode;\n}\n\nexport function MathJaxWrapper({ children }: IProps): React.ReactElement {\n return (\n \n {children}\n \n );\n}\n","import { dialogBoxCreate } from \"../../ui/React/DialogBox\";\n\ninterface IError {\n fileName?: string;\n lineNumber?: number;\n}\n\nexport const isIError = (v: unknown): v is IError => {\n if (typeof v !== \"object\" || v == null) return false;\n return v.hasOwnProperty(\"fileName\") && v.hasOwnProperty(\"lineNumber\");\n};\n\nexport function exceptionAlert(e: unknown): void {\n console.error(e);\n let msg = \"\";\n let file = \"UNKNOWN FILE NAME\";\n let line = \"UNKNOWN LINE NUMBER\";\n if (isIError(e)) {\n file = e.fileName ?? file;\n line = e.lineNumber?.toString() ?? line;\n } else {\n msg = String(e);\n }\n dialogBoxCreate(\n \"Caught an exception: \" +\n msg +\n \"
\" +\n \"Filename: \" +\n file +\n \"
\" +\n \"Line Number: \" +\n line +\n \"
\" +\n \"This is a bug, please report to game developer with this \" +\n \"message as well as details about how to reproduce the bug.
\n \n \n \n HP \n \n \n \n {numeralWrapper.formatHp(player.hp)} / {numeralWrapper.formatHp(player.max_hp)}\n \n \n \n \n {/*Hook for player scripts*/}\n \n \n \n\n \n \n Money \n \n \n {numeralWrapper.formatMoney(player.money)}\n \n \n \n {/*Hook for player scripts*/}\n \n \n \n\n \n \n Hack \n \n \n {numeralWrapper.formatSkill(player.hacking)}\n \n \n \n {!Settings.DisableOverviewProgressBars && (\n \n )}\n \n \n \n \n \n \n \n {/*Hook for player scripts*/}\n \n \n \n\n \n \n Str \n \n \n {numeralWrapper.formatSkill(player.strength)}\n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n {!Settings.DisableOverviewProgressBars && (\n \n )}\n \n\n \n \n Def \n \n \n {numeralWrapper.formatSkill(player.defense)}\n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n {!Settings.DisableOverviewProgressBars && (\n \n )}\n \n\n \n \n Dex \n \n \n {numeralWrapper.formatSkill(player.dexterity)}\n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n {!Settings.DisableOverviewProgressBars && (\n \n )}\n \n\n \n \n Agi \n \n \n {numeralWrapper.formatSkill(player.agility)}\n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n {!Settings.DisableOverviewProgressBars && (\n \n )}\n \n\n \n \n Cha \n \n \n {numeralWrapper.formatSkill(player.charisma)}\n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n {!Settings.DisableOverviewProgressBars && (\n \n )}\n \n\n \n\n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n setKillOpen(true)}>\n \n \n \n \n \n \n setKillOpen(false)} killScripts={killScripts} />\n >\n );\n}\n","/**\n * Adds a random offset to a number within a certain percentage\n * @example\n * // Returns between 95-105\n * addOffset(100, 5);\n * @example\n * // Returns between 63-77\n * addOffSet(70, 10);\n * @param midpoint The number to be the midpoint of the offset range\n * @param percentage The percentage (in a range of 0-100) to offset\n */\nexport function addOffset(midpoint: number, percentage: number): number {\n const maxPercent = 100;\n if (percentage < 0 || percentage > maxPercent) {\n return midpoint;\n }\n\n const offset: number = midpoint * (percentage / maxPercent);\n\n // Double the range to account for both sides of the midpoint.\n // tslint:disable-next-line:no-magic-numbers\n return midpoint + (Math.random() * (offset * 2) - offset);\n}\n","export class DarkWebItem {\n program: string;\n price: number;\n description: string;\n\n constructor(program: string, price: number, description: string) {\n this.program = program;\n this.price = price;\n this.description = description;\n }\n}\n","export class PlayerOwnedAugmentation {\n level = 1;\n name = \"\";\n\n constructor(name = \"\") {\n this.name = name;\n }\n}\n\nexport interface IPlayerOwnedAugmentation {\n level: number;\n name: string;\n}\n","interface RNG {\n random(): number;\n}\n\n/*\n * very bad RNG, meant to be used as introduction to RNG manipulation. It has a\n * period of 1024.\n */\nclass RNG0 implements RNG {\n x: number;\n m = 1024;\n a = 341;\n c = 1;\n\n constructor() {\n this.x = 0;\n this.reset();\n }\n\n step(): void {\n this.x = (this.a * this.x + this.c) % this.m;\n }\n\n random(): number {\n this.step();\n return this.x / this.m;\n }\n\n reset(): void {\n this.x = new Date().getTime() % this.m;\n }\n}\n\nexport const BadRNG: RNG0 = new RNG0();\n\n/*\n * Wichmann–Hill PRNG\n * The period is 6e12.\n */\nexport class WHRNG implements RNG {\n s1 = 0;\n s2 = 0;\n s3 = 0;\n\n constructor(totalPlaytime: number) {\n // This one is seeded by the players total play time.\n const v: number = (totalPlaytime / 1000) % 30000;\n this.s1 = v;\n this.s2 = v;\n this.s3 = v;\n }\n\n step(): void {\n this.s1 = (171 * this.s1) % 30269;\n this.s2 = (172 * this.s2) % 30307;\n this.s3 = (170 * this.s3) % 30323;\n }\n\n random(): number {\n this.step();\n return (this.s1 / 30269.0 + this.s2 / 30307.0 + this.s3 / 30323.0) % 1.0;\n }\n}\n\nexport function SFC32RNG(seed: string): () => number {\n let h = 1779033703 ^ seed.length;\n for (let i = 0; i < seed.length; i++) {\n h = Math.imul(h ^ seed.charCodeAt(i), 3432918353);\n h = (h << 13) | (h >>> 19);\n }\n const genSeed = (): number => {\n h = Math.imul(h ^ (h >>> 16), 2246822507);\n h = Math.imul(h ^ (h >>> 13), 3266489909);\n return (h ^= h >>> 16) >>> 0;\n };\n\n let a = genSeed();\n let b = genSeed();\n let c = genSeed();\n let d = genSeed();\n return (): number => {\n a >>>= 0;\n b >>>= 0;\n c >>>= 0;\n d >>>= 0;\n let t = (a + b) | 0;\n a = b ^ (b >>> 9);\n b = (c + (c << 3)) | 0;\n c = (c << 21) | (c >>> 11);\n d = (d + 1) | 0;\n t = (t + d) | 0;\n c = (c + t) | 0;\n return (t >>> 0) / 4294967296;\n };\n}\n","import React from \"react\";\nimport { Reviver, Generic_toJSON, Generic_fromJSON, IReviverValue } from \"../utils/JSONReviver\";\nimport { IPlayer } from \"src/PersonObjects/IPlayer\";\nimport { Work, WorkType } from \"./Work\";\nimport { influenceStockThroughCompanyWork } from \"../StockMarket/PlayerInfluencing\";\nimport { LocationName } from \"../Locations/data/LocationNames\";\nimport { calculateCompanyWorkStats } from \"./formulas/Company\";\nimport { Companies } from \"../Company/Companies\";\nimport { applyWorkStats, WorkStats } from \"./WorkStats\";\nimport { Company } from \"../Company/Company\";\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { Reputation } from \"../ui/React/Reputation\";\n\ninterface CompanyWorkParams {\n companyName: string;\n singularity: boolean;\n}\n\nexport const isCompanyWork = (w: Work | null): w is CompanyWork => w !== null && w.type === WorkType.COMPANY;\n\nexport class CompanyWork extends Work {\n companyName: string;\n constructor(params?: CompanyWorkParams) {\n super(WorkType.COMPANY, params?.singularity ?? false);\n this.companyName = params?.companyName ?? LocationName.NewTokyoNoodleBar;\n }\n\n getCompany(): Company {\n const c = Companies[this.companyName];\n if (!c) throw new Error(`Company not found: '${this.companyName}'`);\n return c;\n }\n\n getGainRates(player: IPlayer): WorkStats {\n return calculateCompanyWorkStats(player, this.getCompany());\n }\n\n process(player: IPlayer, cycles: number): boolean {\n this.cyclesWorked += cycles;\n const company = this.getCompany();\n const gains = this.getGainRates(player);\n applyWorkStats(player, gains, cycles, \"work\");\n company.playerReputation += gains.reputation * cycles;\n influenceStockThroughCompanyWork(company, gains.reputation, cycles);\n return false;\n }\n finish(): void {\n dialogBoxCreate(\n <>\n You finished working for {this.companyName}\n \n You have reputation with them.\n >,\n );\n }\n\n /**\n * Serialize the current object to a JSON save state.\n */\n toJSON(): IReviverValue {\n return Generic_toJSON(\"CompanyWork\", this);\n }\n\n /**\n * Initiatizes a CompanyWork object from a JSON save state.\n */\n static fromJSON(value: IReviverValue): CompanyWork {\n return Generic_fromJSON(CompanyWork, value.data);\n }\n}\n\nReviver.constructors.CompanyWork = CompanyWork;\n","/**\n * Does a shallow compare of two arrays to determine if they are equal.\n * @param a1 The first array\n * @param a2 The second array\n */\nexport function compareArrays(a1: T[], a2: T[]): boolean {\n if (a1.length !== a2.length) {\n return false;\n }\n\n for (let i = 0; i < a1.length; ++i) {\n const v1 = a1[i];\n const v2 = a2[i];\n if (Array.isArray(v1)) {\n // If the other element is not an array, then these cannot be equal\n if (!Array.isArray(v2)) {\n return false;\n }\n\n if (!compareArrays(v1, v2)) {\n return false;\n }\n } else if (v1 !== v2 && !(Number.isNaN(v1) && Number.isNaN(v2))) {\n // strict (in)equality considers NaN not equal to itself\n return false;\n }\n }\n\n return true;\n}\n","import { IMap } from \"../types\";\n\nexport type IndustryUpgrade = [number, number, number, number, string, string];\n\n// Industry upgrades\n// The data structure is an array with the following format:\n// [index in array, base price, price mult, benefit mult (if applicable), name, desc]\nexport const IndustryUpgrades: IMap = {\n \"0\": [0, 500e3, 1, 1.05, \"Coffee\", \"Provide your employees with coffee, increasing their energy by 5%.\"],\n \"1\": [\n 1,\n 1e9,\n 1.06,\n 1.03,\n \"AdVert.Inc\",\n \"Hire AdVert.Inc to advertise your company. Each level of \" +\n \"this upgrade grants your company a static increase of 3 and 1 to its awareness and \" +\n \"popularity, respectively. It will then increase your company's awareness by 1%, and its popularity \" +\n \"by a random percentage between 1% and 3%. These effects are increased by other upgrades \" +\n \"that increase the power of your advertising.\",\n ],\n};\n","import * as React from \"react\";\nimport { numeralWrapper } from \"../numeralFormat\";\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n favor: {\n color: theme.colors.rep,\n },\n }),\n);\n\nexport function Favor({ favor }: { favor: number | string }): React.ReactElement {\n const classes = useStyles();\n return {typeof favor === \"number\" ? numeralWrapper.formatFavor(favor) : favor};\n}\n","import { Locations } from \"../../Locations/Locations\";\nimport { Location } from \"../../Locations/Location\";\nimport { BitNodeMultipliers } from \"../../BitNode/BitNodeMultipliers\";\nimport { CONSTANTS } from \"../../Constants\";\nimport { IPlayer } from \"../../PersonObjects/IPlayer\";\nimport { Class, Classes, ClassWork } from \"../ClassWork\";\nimport { WorkStats } from \"../WorkStats\";\nimport { Server } from \"../../Server/Server\";\nimport { GetServer } from \"../../Server/AllServers\";\nimport { serverMetadata } from \"../../Server/data/servers\";\n\nconst gameCPS = 1000 / CONSTANTS._idleSpeed; // 5 cycles per second\n\nexport function calculateCost(classs: Class, location: Location): number {\n const serverMeta = serverMetadata.find((s) => s.specialName === location.name);\n const server = GetServer(serverMeta ? serverMeta.hostname : \"\");\n const discount = (server as Server).backdoorInstalled ? 0.9 : 1;\n return classs.earnings.money * location.costMult * discount;\n}\n\nexport function calculateClassEarnings(player: IPlayer, work: ClassWork): WorkStats {\n //Find cost and exp gain per game cycle\n const hashManager = player.hashManager;\n const classs = Classes[work.classType];\n const location = Locations[work.location];\n\n const hashMult = work.isGym() ? hashManager.getTrainingMult() : hashManager.getStudyMult();\n\n const cost = calculateCost(classs, location) / gameCPS;\n const hackExp = ((classs.earnings.hackExp * location.expMult) / gameCPS) * hashMult;\n const strExp = ((classs.earnings.strExp * location.expMult) / gameCPS) * hashMult;\n const defExp = ((classs.earnings.defExp * location.expMult) / gameCPS) * hashMult;\n const dexExp = ((classs.earnings.dexExp * location.expMult) / gameCPS) * hashMult;\n const agiExp = ((classs.earnings.agiExp * location.expMult) / gameCPS) * hashMult;\n const chaExp = ((classs.earnings.chaExp * location.expMult) / gameCPS) * hashMult;\n return {\n money: cost,\n reputation: 0,\n hackExp: hackExp * player.mults.hacking_exp * BitNodeMultipliers.ClassGymExpGain,\n strExp: strExp * player.mults.strength_exp * BitNodeMultipliers.ClassGymExpGain,\n defExp: defExp * player.mults.defense_exp * BitNodeMultipliers.ClassGymExpGain,\n dexExp: dexExp * player.mults.dexterity_exp * BitNodeMultipliers.ClassGymExpGain,\n agiExp: agiExp * player.mults.agility_exp * BitNodeMultipliers.ClassGymExpGain,\n chaExp: chaExp * player.mults.charisma_exp * BitNodeMultipliers.ClassGymExpGain,\n intExp: 0,\n };\n}\n","/**\n * Sleeves are bodies that contain the player's cloned consciousness.\n * The player can use these bodies to perform different tasks synchronously.\n *\n * Each sleeve is its own individual, meaning it has its own stats/exp\n *\n * Sleeves are unlocked in BitNode-10.\n */\nimport { SleeveTaskType } from \"./SleeveTaskTypesEnum\";\n\nimport { IPlayer } from \"../IPlayer\";\nimport { Person } from \"../Person\";\nimport { ITaskTracker, createTaskTracker } from \"../ITaskTracker\";\n\nimport { Augmentation } from \"../../Augmentation/Augmentation\";\n\nimport { BitNodeMultipliers } from \"../../BitNode/BitNodeMultipliers\";\n\nimport { Crime } from \"../../Crime/Crime\";\nimport { Crimes } from \"../../Crime/Crimes\";\n\nimport { Companies } from \"../../Company/Companies\";\nimport { Company } from \"../../Company/Company\";\nimport { CompanyPosition } from \"../../Company/CompanyPosition\";\nimport { CompanyPositions } from \"../../Company/CompanyPositions\";\n\nimport { CONSTANTS } from \"../../Constants\";\n\nimport { Faction } from \"../../Faction/Faction\";\nimport { Factions } from \"../../Faction/Factions\";\n\nimport { CityName } from \"../../Locations/data/CityNames\";\nimport { LocationName } from \"../../Locations/data/LocationNames\";\n\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"../../utils/JSONReviver\";\nimport { BladeburnerConstants } from \"../../Bladeburner/data/Constants\";\nimport { numeralWrapper } from \"../../ui/numeralFormat\";\nimport { capitalizeFirstLetter, capitalizeEachWord } from \"../../utils/StringHelperFunctions\";\nimport { FactionWorkType } from \"../../Work/data/FactionWorkType\";\n\nexport class Sleeve extends Person {\n /**\n * Stores the name of the class that the player is currently taking\n */\n className = \"\";\n\n /**\n * Stores the type of crime the sleeve is currently attempting\n * Must match the name of a Crime object\n */\n crimeType = \"\";\n\n /**\n * Enum value for current task\n */\n currentTask: SleeveTaskType = SleeveTaskType.Idle;\n\n /**\n * Contains details about the sleeve's current task. The info stored\n * in this depends on the task type\n *\n * Faction/Company Work: Name of Faction/Company\n * Crime: Money earned if successful\n * Class/Gym: Name of university/gym\n * Bladeburner: success chance\n */\n currentTaskLocation = \"\";\n\n /**\n * Maximum amount of time (in milliseconds) that can be spent on current task.\n */\n currentTaskMaxTime = 0;\n\n /**\n * Milliseconds spent on current task\n */\n currentTaskTime = 0;\n\n /**\n * Keeps track of experience earned for other sleeves\n */\n earningsForSleeves: ITaskTracker = createTaskTracker();\n\n /**\n * Keeps track of experience + money earned for player\n */\n earningsForPlayer: ITaskTracker = createTaskTracker();\n\n /**\n * Keeps track of experienced earned in the current task/action\n */\n earningsForTask: ITaskTracker = createTaskTracker();\n\n /**\n * Keeps track of what type of work sleeve is doing for faction, if applicable\n */\n factionWorkType: FactionWorkType = FactionWorkType.HACKING;\n\n /**\n * Records experience gain rate for the current task\n */\n gainRatesForTask: ITaskTracker = createTaskTracker();\n\n /**\n * String that stores what stat the sleeve is training at the gym\n */\n gymStatType = \"\";\n\n /**\n * String that stores what stat the sleeve is training at the gym\n */\n bbAction = \"\";\n\n /**\n * String that stores what stat the sleeve is training at the gym\n */\n bbContract = \"\";\n\n /**\n * Keeps track of events/notifications for this sleeve\n */\n logs: string[] = [];\n\n /**\n * Clone retains 'memory' synchronization (and maybe exp?) upon prestige/installing Augs\n */\n memory = 1;\n\n /**\n * Sleeve shock. Number between 0 and 100\n * Trauma/shock that comes with being in a sleeve. Experience earned\n * is multipled by shock%. This gets applied before synchronization\n *\n * Reputation earned is also multiplied by shock%\n */\n shock = 1;\n\n /**\n * Stored number of game \"loop\" cycles\n */\n storedCycles = 0;\n\n /**\n * Synchronization. Number between 0 and 100\n * When experience is earned by sleeve, both the player and the sleeve get\n * sync% of the experience earned. Other sleeves get sync^2% of exp\n */\n sync = 1;\n\n constructor(p: IPlayer | null = null) {\n super();\n if (p != null) {\n this.shockRecovery(p);\n }\n }\n\n /**\n * Commit crimes\n */\n commitCrime(p: IPlayer, crimeKey: string): boolean {\n const crime: Crime | null = Crimes[crimeKey] || Object.values(Crimes).find((crime) => crime.name === crimeKey);\n if (!crime) {\n return false;\n }\n\n if (this.currentTask !== SleeveTaskType.Idle) {\n this.finishTask(p);\n } else {\n this.resetTaskStatus(p);\n }\n\n this.gainRatesForTask.hack = crime.hacking_exp * this.mults.hacking_exp * BitNodeMultipliers.CrimeExpGain;\n this.gainRatesForTask.str = crime.strength_exp * this.mults.strength_exp * BitNodeMultipliers.CrimeExpGain;\n this.gainRatesForTask.def = crime.defense_exp * this.mults.defense_exp * BitNodeMultipliers.CrimeExpGain;\n this.gainRatesForTask.dex = crime.dexterity_exp * this.mults.dexterity_exp * BitNodeMultipliers.CrimeExpGain;\n this.gainRatesForTask.agi = crime.agility_exp * this.mults.agility_exp * BitNodeMultipliers.CrimeExpGain;\n this.gainRatesForTask.cha = crime.charisma_exp * this.mults.charisma_exp * BitNodeMultipliers.CrimeExpGain;\n this.gainRatesForTask.int = crime.intelligence_exp;\n this.gainRatesForTask.money = crime.money * this.mults.crime_money * BitNodeMultipliers.CrimeMoney;\n\n this.currentTaskLocation = String(this.gainRatesForTask.money);\n\n this.crimeType = crime.name;\n this.currentTaskMaxTime = crime.time;\n this.currentTask = SleeveTaskType.Crime;\n return true;\n }\n\n /**\n * Called to stop the current task\n */\n finishTask(p: IPlayer): ITaskTracker {\n let retValue: ITaskTracker = createTaskTracker(); // Amount of exp to be gained by other sleeves\n\n if (this.currentTask === SleeveTaskType.Crime) {\n // For crimes, all experience and money is gained at the end\n if (this.currentTaskTime >= this.currentTaskMaxTime) {\n const crime: Crime | undefined = Object.values(Crimes).find((crime) => crime.name === this.crimeType);\n if (!crime) {\n console.error(`Invalid data stored in sleeve.crimeType: ${this.crimeType}`);\n this.resetTaskStatus(p);\n return retValue;\n }\n if (Math.random() < crime.successRate(this)) {\n // Success\n const successGainRates: ITaskTracker = createTaskTracker();\n\n const keysForIteration: (keyof ITaskTracker)[] = Object.keys(successGainRates) as (keyof ITaskTracker)[];\n for (let i = 0; i < keysForIteration.length; ++i) {\n const key = keysForIteration[i];\n successGainRates[key] = this.gainRatesForTask[key] * 2;\n }\n retValue = this.gainExperience(p, successGainRates);\n this.gainMoney(p, this.gainRatesForTask);\n\n p.karma -= crime.karma * (this.sync / 100);\n } else {\n retValue = this.gainExperience(p, this.gainRatesForTask);\n }\n\n // Do not reset task to IDLE\n this.currentTaskTime = 0;\n return retValue;\n }\n } else if (this.currentTask === SleeveTaskType.Bladeburner) {\n if (this.currentTaskMaxTime === 0) {\n this.currentTaskTime = 0;\n return retValue;\n }\n // For bladeburner, all experience and money is gained at the end\n const bb = p.bladeburner;\n if (bb === null) {\n const errorLogText = `bladeburner is null`;\n console.error(`Function: sleeves.finishTask; Message: '${errorLogText}'`);\n this.resetTaskStatus(p);\n return retValue;\n }\n\n if (this.currentTaskTime >= this.currentTaskMaxTime) {\n if (this.bbAction === \"Infiltrate synthoids\") {\n bb.infiltrateSynthoidCommunities(p);\n this.currentTaskTime = 0;\n return retValue;\n }\n let type: string;\n let name: string;\n if (this.bbAction === \"Take on contracts\") {\n type = \"Contracts\";\n name = this.bbContract;\n } else {\n type = \"General\";\n name = this.bbAction;\n }\n\n const actionIdent = bb.getActionIdFromTypeAndName(type, name);\n if (actionIdent === null) {\n const errorLogText = `Invalid action: type='${type}' name='${name}'`;\n console.error(`Function: sleeves.finishTask; Message: '${errorLogText}'`);\n this.resetTaskStatus(p);\n return retValue;\n }\n\n const action = bb.getActionObject(actionIdent);\n if ((action?.count ?? 0) > 0) {\n const bbRetValue = bb.completeAction(p, this, actionIdent, false);\n if (bbRetValue) {\n retValue = this.gainExperience(p, bbRetValue);\n this.gainMoney(p, bbRetValue);\n\n // Do not reset task to IDLE\n this.currentTaskTime = 0;\n return retValue;\n }\n }\n }\n }\n\n this.resetTaskStatus(p);\n\n return retValue;\n }\n\n /**\n * Earn experience for any stats (supports multiple)\n * This function also handles experience propogating to Player and other sleeves\n */\n gainExperience(p: IPlayer, exp: ITaskTracker, numCycles = 1, fromOtherSleeve = false): ITaskTracker {\n // If the experience is coming from another sleeve, it is not multiplied by anything.\n // Also the player does not earn anything\n if (fromOtherSleeve) {\n if (exp.hack > 0) {\n this.hacking_exp += exp.hack;\n }\n\n if (exp.str > 0) {\n this.strength_exp += exp.str;\n }\n\n if (exp.def > 0) {\n this.defense_exp += exp.def;\n }\n\n if (exp.dex > 0) {\n this.dexterity_exp += exp.dex;\n }\n\n if (exp.agi > 0) {\n this.agility_exp += exp.agi;\n }\n\n if (exp.cha > 0) {\n this.charisma_exp += exp.cha;\n }\n\n return createTaskTracker();\n }\n\n // Experience is first multiplied by shock. Then 'synchronization'\n // is accounted for\n\n const multFac = (this.shock / 100) * (this.sync / 100) * numCycles;\n const pHackExp = exp.hack * multFac;\n const pStrExp = exp.str * multFac;\n const pDefExp = exp.def * multFac;\n const pDexExp = exp.dex * multFac;\n const pAgiExp = exp.agi * multFac;\n const pChaExp = exp.cha * multFac;\n const pIntExp = exp.int * multFac;\n\n // Experience is gained by both this sleeve and player\n if (pHackExp > 0) {\n this.gainHackingExp(pHackExp);\n p.gainHackingExp(pHackExp);\n this.earningsForPlayer.hack += pHackExp;\n this.earningsForTask.hack += pHackExp;\n }\n\n if (pStrExp > 0) {\n this.gainStrengthExp(pStrExp);\n p.gainStrengthExp(pStrExp);\n this.earningsForPlayer.str += pStrExp;\n this.earningsForTask.str += pStrExp;\n }\n\n if (pDefExp > 0) {\n this.gainDefenseExp(pDefExp);\n p.gainDefenseExp(pDefExp);\n this.earningsForPlayer.def += pDefExp;\n this.earningsForTask.def += pDefExp;\n }\n\n if (pDexExp > 0) {\n this.gainDexterityExp(pDexExp);\n p.gainDexterityExp(pDexExp);\n this.earningsForPlayer.dex += pDexExp;\n this.earningsForTask.dex += pDexExp;\n }\n\n if (pAgiExp > 0) {\n this.gainAgilityExp(pAgiExp);\n p.gainAgilityExp(pAgiExp);\n this.earningsForPlayer.agi += pAgiExp;\n this.earningsForTask.agi += pAgiExp;\n }\n\n if (pChaExp > 0) {\n this.gainCharismaExp(pChaExp);\n p.gainCharismaExp(pChaExp);\n this.earningsForPlayer.cha += pChaExp;\n this.earningsForTask.cha += pChaExp;\n }\n\n if (pIntExp > 0) {\n this.gainIntelligenceExp(pIntExp);\n p.gainIntelligenceExp(pIntExp);\n }\n\n // Record earnings for other sleeves\n this.earningsForSleeves.hack += pHackExp * (this.sync / 100);\n this.earningsForSleeves.str += pStrExp * (this.sync / 100);\n this.earningsForSleeves.def += pDefExp * (this.sync / 100);\n this.earningsForSleeves.dex += pDexExp * (this.sync / 100);\n this.earningsForSleeves.agi += pAgiExp * (this.sync / 100);\n this.earningsForSleeves.cha += pChaExp * (this.sync / 100);\n\n // Return the experience to be gained by other sleeves\n return {\n hack: pHackExp * (this.sync / 100),\n str: pStrExp * (this.sync / 100),\n def: pDefExp * (this.sync / 100),\n dex: pDexExp * (this.sync / 100),\n agi: pAgiExp * (this.sync / 100),\n cha: pChaExp * (this.sync / 100),\n int: pIntExp * (this.sync / 100),\n money: exp.money,\n };\n }\n\n /**\n * Earn money for player\n */\n gainMoney(p: IPlayer, task: ITaskTracker, numCycles = 1): void {\n const gain: number = task.money * numCycles;\n this.earningsForTask.money += gain;\n this.earningsForPlayer.money += gain;\n p.gainMoney(gain, \"sleeves\");\n }\n\n /**\n * Returns the cost of upgrading this sleeve's memory by a certain amount\n */\n getMemoryUpgradeCost(n: number): number {\n const amt = Math.round(n);\n if (amt < 0) {\n return 0;\n }\n\n if (this.memory + amt > 100) {\n return this.getMemoryUpgradeCost(100 - this.memory);\n }\n\n const mult = 1.02;\n const baseCost = 1e12;\n let currCost = 0;\n let currMemory = this.memory - 1;\n for (let i = 0; i < n; ++i) {\n currCost += Math.pow(mult, currMemory);\n ++currMemory;\n }\n\n return currCost * baseCost;\n }\n\n /**\n * Gets reputation gain for the current task\n * Only applicable when working for company or faction\n */\n getRepGain(p: IPlayer): number {\n if (this.currentTask === SleeveTaskType.Faction) {\n let favorMult = 1;\n const fac: Faction | null = Factions[this.currentTaskLocation];\n if (fac != null) {\n favorMult = 1 + fac.favor / 100;\n }\n\n switch (this.factionWorkType) {\n case FactionWorkType.HACKING:\n return this.getFactionHackingWorkRepGain() * (this.shock / 100) * favorMult;\n case FactionWorkType.FIELD:\n return this.getFactionFieldWorkRepGain() * (this.shock / 100) * favorMult;\n case FactionWorkType.SECURITY:\n return this.getFactionSecurityWorkRepGain() * (this.shock / 100) * favorMult;\n default:\n console.warn(`Invalid Sleeve.factionWorkType property in Sleeve.getRepGain(): ${this.factionWorkType}`);\n return 0;\n }\n } else if (this.currentTask === SleeveTaskType.Company) {\n const companyName: string = this.currentTaskLocation;\n const company: Company | null = Companies[companyName];\n if (company == null) {\n console.error(`Invalid company found when trying to calculate rep gain: ${companyName}`);\n return 0;\n }\n\n const companyPosition: CompanyPosition | null = CompanyPositions[p.jobs[companyName]];\n if (companyPosition == null) {\n console.error(`Invalid company position name found when trying to calculate rep gain: ${p.jobs[companyName]}`);\n return 0;\n }\n\n const jobPerformance: number = companyPosition.calculateJobPerformance(\n this.hacking,\n this.strength,\n this.defense,\n this.dexterity,\n this.agility,\n this.charisma,\n );\n const favorMult = 1 + company.favor / 100;\n\n return jobPerformance * this.mults.company_rep * favorMult;\n } else {\n return 0;\n }\n }\n\n installAugmentation(aug: Augmentation): void {\n this.hacking_exp = 0;\n this.strength_exp = 0;\n this.defense_exp = 0;\n this.dexterity_exp = 0;\n this.agility_exp = 0;\n this.charisma_exp = 0;\n this.applyAugmentation(aug);\n this.augmentations.push({ name: aug.name, level: 1 });\n this.updateStatLevels();\n }\n\n log(entry: string): void {\n const MaxLogSize = 50;\n this.logs.push(entry);\n if (this.logs.length > MaxLogSize) {\n this.logs.shift();\n }\n }\n\n /**\n * Called on every sleeve for a Source File Prestige\n */\n prestige(p: IPlayer): void {\n // Reset exp\n this.hacking_exp = 0;\n this.strength_exp = 0;\n this.defense_exp = 0;\n this.dexterity_exp = 0;\n this.agility_exp = 0;\n this.charisma_exp = 0;\n\n // Reset task-related stuff\n this.resetTaskStatus(p);\n this.earningsForSleeves = createTaskTracker();\n this.earningsForPlayer = createTaskTracker();\n this.shockRecovery(p);\n\n // Reset augs and multipliers\n this.augmentations = [];\n this.resetMultipliers();\n\n // Reset Location\n\n this.city = CityName.Sector12;\n\n // Reset sleeve-related stats\n this.shock = 1;\n this.storedCycles = 0;\n this.sync = Math.max(this.memory, 1);\n\n this.logs = [];\n }\n\n /**\n * Process loop\n * Returns an object containing the amount of experience that should be\n * transferred to all other sleeves\n */\n process(p: IPlayer, numCycles = 1): ITaskTracker | null {\n // Only process once every second (5 cycles)\n const CyclesPerSecond = 1000 / CONSTANTS.MilliPerCycle;\n this.storedCycles += numCycles;\n if (this.storedCycles < CyclesPerSecond) {\n return null;\n }\n\n let cyclesUsed = this.storedCycles;\n cyclesUsed = Math.min(cyclesUsed, 15);\n let time = cyclesUsed * CONSTANTS.MilliPerCycle;\n if (this.currentTaskMaxTime !== 0 && this.currentTaskTime + time > this.currentTaskMaxTime) {\n time = this.currentTaskMaxTime - this.currentTaskTime;\n cyclesUsed = Math.floor(time / CONSTANTS.MilliPerCycle);\n\n if (time < 0 || cyclesUsed < 0) {\n console.warn(`Sleeve.process() calculated negative cycle usage`);\n time = 0;\n cyclesUsed = 0;\n }\n }\n\n this.currentTaskTime += time;\n\n // Shock gradually goes towards 100\n this.shock = Math.min(100, this.shock + 0.0001 * cyclesUsed);\n\n let retValue: ITaskTracker = createTaskTracker();\n switch (this.currentTask) {\n case SleeveTaskType.Idle:\n break;\n case SleeveTaskType.Class:\n case SleeveTaskType.Gym:\n this.updateTaskGainRates(p);\n retValue = this.gainExperience(p, this.gainRatesForTask, cyclesUsed);\n this.gainMoney(p, this.gainRatesForTask, cyclesUsed);\n break;\n case SleeveTaskType.Faction: {\n retValue = this.gainExperience(p, this.gainRatesForTask, cyclesUsed);\n this.gainMoney(p, this.gainRatesForTask, cyclesUsed);\n\n // Gain faction reputation\n const fac: Faction = Factions[this.currentTaskLocation];\n if (!(fac instanceof Faction)) {\n console.error(`Invalid faction for Sleeve task: ${this.currentTaskLocation}`);\n break;\n }\n\n // If the player has a gang with the faction the sleeve is working\n // for, we need to reset the sleeve's task\n if (p.gang) {\n if (fac.name === p.gang.facName) {\n this.resetTaskStatus(p);\n }\n }\n\n fac.playerReputation += this.getRepGain(p) * cyclesUsed;\n break;\n }\n case SleeveTaskType.Company: {\n retValue = this.gainExperience(p, this.gainRatesForTask, cyclesUsed);\n this.gainMoney(p, this.gainRatesForTask, cyclesUsed);\n\n const company: Company = Companies[this.currentTaskLocation];\n if (!(company instanceof Company)) {\n console.error(`Invalid company for Sleeve task: ${this.currentTaskLocation}`);\n break;\n }\n\n company.playerReputation += this.getRepGain(p) * cyclesUsed;\n break;\n }\n case SleeveTaskType.Recovery:\n this.shock = Math.min(100, this.shock + 0.0002 * cyclesUsed);\n if (this.shock >= 100) this.resetTaskStatus(p);\n break;\n case SleeveTaskType.Synchro:\n this.sync = Math.min(100, this.sync + p.getIntelligenceBonus(0.5) * 0.0002 * cyclesUsed);\n if (this.sync >= 100) this.resetTaskStatus(p);\n break;\n default:\n break;\n }\n\n if (this.currentTaskMaxTime !== 0 && this.currentTaskTime >= this.currentTaskMaxTime) {\n if (this.currentTask === SleeveTaskType.Crime || this.currentTask === SleeveTaskType.Bladeburner) {\n retValue = this.finishTask(p);\n } else {\n this.finishTask(p);\n }\n }\n\n this.updateStatLevels();\n\n this.storedCycles -= cyclesUsed;\n\n return retValue;\n }\n\n /**\n * Resets all parameters used to keep information about the current task\n */\n resetTaskStatus(p: IPlayer): void {\n if (this.bbAction == \"Support main sleeve\") {\n p.bladeburner?.sleeveSupport(false);\n }\n if (this.currentTask == SleeveTaskType.Class) {\n const retVal = createTaskTracker();\n retVal.int = CONSTANTS.IntelligenceClassBaseExpGain * Math.round(this.currentTaskTime / 1000);\n const r = this.gainExperience(p, retVal);\n p.sleeves.filter((s) => s != this).forEach((s) => s.gainExperience(p, r, 1, true));\n }\n this.earningsForTask = createTaskTracker();\n this.gainRatesForTask = createTaskTracker();\n this.currentTask = SleeveTaskType.Idle;\n this.currentTaskTime = 0;\n this.currentTaskMaxTime = 0;\n this.factionWorkType = FactionWorkType.HACKING;\n this.crimeType = \"\";\n this.currentTaskLocation = \"\";\n this.gymStatType = \"\";\n this.className = \"\";\n this.bbAction = \"\";\n this.bbContract = \"------\";\n }\n\n shockRecovery(p: IPlayer): boolean {\n if (this.currentTask !== SleeveTaskType.Idle) {\n this.finishTask(p);\n } else {\n this.resetTaskStatus(p);\n }\n\n this.currentTask = SleeveTaskType.Recovery;\n return true;\n }\n\n synchronize(p: IPlayer): boolean {\n if (this.currentTask !== SleeveTaskType.Idle) {\n this.finishTask(p);\n } else {\n this.resetTaskStatus(p);\n }\n\n this.currentTask = SleeveTaskType.Synchro;\n return true;\n }\n\n /**\n * Take a course at a university\n */\n takeUniversityCourse(p: IPlayer, universityName: string, className: string): boolean {\n if (this.currentTask !== SleeveTaskType.Idle) {\n this.finishTask(p);\n } else {\n this.resetTaskStatus(p);\n }\n\n // Set exp/money multipliers based on which university.\n // Also check that the sleeve is in the right city\n let costMult = 1;\n switch (universityName.toLowerCase()) {\n case LocationName.AevumSummitUniversity.toLowerCase():\n if (this.city !== CityName.Aevum) {\n return false;\n }\n this.currentTaskLocation = LocationName.AevumSummitUniversity;\n costMult = 4;\n break;\n case LocationName.Sector12RothmanUniversity.toLowerCase():\n if (this.city !== CityName.Sector12) {\n return false;\n }\n this.currentTaskLocation = LocationName.Sector12RothmanUniversity;\n costMult = 3;\n break;\n case LocationName.VolhavenZBInstituteOfTechnology.toLowerCase():\n if (this.city !== CityName.Volhaven) {\n return false;\n }\n this.currentTaskLocation = LocationName.VolhavenZBInstituteOfTechnology;\n costMult = 5;\n break;\n default:\n return false;\n }\n\n // Set experience/money gains based on class\n switch (className.toLowerCase()) {\n case \"study computer science\":\n break;\n case \"data structures\":\n this.gainRatesForTask.money = -1 * (CONSTANTS.ClassDataStructuresBaseCost * costMult);\n break;\n case \"networks\":\n this.gainRatesForTask.money = -1 * (CONSTANTS.ClassNetworksBaseCost * costMult);\n break;\n case \"algorithms\":\n this.gainRatesForTask.money = -1 * (CONSTANTS.ClassAlgorithmsBaseCost * costMult);\n break;\n case \"management\":\n this.gainRatesForTask.money = -1 * (CONSTANTS.ClassManagementBaseCost * costMult);\n break;\n case \"leadership\":\n this.gainRatesForTask.money = -1 * (CONSTANTS.ClassLeadershipBaseCost * costMult);\n break;\n default:\n return false;\n }\n\n this.className = className;\n this.currentTask = SleeveTaskType.Class;\n return true;\n }\n\n /**\n * Travel to another City. Costs money from player\n */\n travel(p: IPlayer, newCity: CityName): boolean {\n p.loseMoney(CONSTANTS.TravelCost, \"sleeves\");\n this.city = newCity;\n\n return true;\n }\n\n tryBuyAugmentation(p: IPlayer, aug: Augmentation): boolean {\n if (!p.canAfford(aug.baseCost)) {\n return false;\n }\n\n // Verify that this sleeve does not already have that augmentation.\n if (this.augmentations.some((a) => a.name === aug.name)) {\n return false;\n }\n\n p.loseMoney(aug.baseCost, \"sleeves\");\n this.installAugmentation(aug);\n return true;\n }\n\n updateTaskGainRates(p: IPlayer): void {\n if (this.currentTask === SleeveTaskType.Class) {\n let expMult = 1;\n switch (this.currentTaskLocation.toLowerCase()) {\n case LocationName.AevumSummitUniversity.toLowerCase():\n expMult = 3;\n break;\n case LocationName.Sector12RothmanUniversity.toLowerCase():\n expMult = 2;\n break;\n case LocationName.VolhavenZBInstituteOfTechnology.toLowerCase():\n expMult = 4;\n break;\n default:\n return;\n }\n\n const totalExpMult = expMult * p.hashManager.getStudyMult();\n switch (this.className.toLowerCase()) {\n case \"study computer science\":\n this.gainRatesForTask.hack =\n CONSTANTS.ClassStudyComputerScienceBaseExp * totalExpMult * this.mults.hacking_exp;\n break;\n case \"data structures\":\n this.gainRatesForTask.hack = CONSTANTS.ClassDataStructuresBaseExp * totalExpMult * this.mults.hacking_exp;\n break;\n case \"networks\":\n this.gainRatesForTask.hack = CONSTANTS.ClassNetworksBaseExp * totalExpMult * this.mults.hacking_exp;\n break;\n case \"algorithms\":\n this.gainRatesForTask.hack = CONSTANTS.ClassAlgorithmsBaseExp * totalExpMult * this.mults.hacking_exp;\n break;\n case \"management\":\n this.gainRatesForTask.cha = CONSTANTS.ClassManagementBaseExp * totalExpMult * this.mults.charisma_exp;\n break;\n case \"leadership\":\n this.gainRatesForTask.cha = CONSTANTS.ClassLeadershipBaseExp * totalExpMult * this.mults.charisma_exp;\n break;\n default:\n break;\n }\n\n return;\n }\n\n if (this.currentTask === SleeveTaskType.Gym) {\n // Get gym exp multiplier\n let expMult = 1;\n switch (this.currentTaskLocation.toLowerCase()) {\n case LocationName.AevumCrushFitnessGym.toLowerCase():\n expMult = 2;\n break;\n case LocationName.AevumSnapFitnessGym.toLowerCase():\n expMult = 5;\n break;\n case LocationName.Sector12IronGym.toLowerCase():\n expMult = 1;\n break;\n case LocationName.Sector12PowerhouseGym.toLowerCase():\n expMult = 10;\n break;\n case LocationName.VolhavenMilleniumFitnessGym.toLowerCase():\n expMult = 4;\n break;\n default:\n return;\n }\n\n // Set stat gain rate\n const baseGymExp = 1;\n const totalExpMultiplier = p.hashManager.getTrainingMult() * expMult;\n const sanitizedStat: string = this.gymStatType.toLowerCase();\n if (sanitizedStat.includes(\"str\")) {\n this.gainRatesForTask.str = baseGymExp * totalExpMultiplier * this.mults.strength_exp;\n } else if (sanitizedStat.includes(\"def\")) {\n this.gainRatesForTask.def = baseGymExp * totalExpMultiplier * this.mults.defense_exp;\n } else if (sanitizedStat.includes(\"dex\")) {\n this.gainRatesForTask.dex = baseGymExp * totalExpMultiplier * this.mults.dexterity_exp;\n } else if (sanitizedStat.includes(\"agi\")) {\n this.gainRatesForTask.agi = baseGymExp * totalExpMultiplier * this.mults.agility_exp;\n }\n\n return;\n }\n\n console.warn(`Sleeve.updateTaskGainRates() called for unexpected task type ${this.currentTask}`);\n }\n\n upgradeMemory(n: number): void {\n if (n < 0) {\n console.warn(`Sleeve.upgradeMemory() called with negative value: ${n}`);\n return;\n }\n\n this.memory = Math.min(100, Math.round(this.memory + n));\n }\n\n /**\n * Start work for one of the player's companies\n * Returns boolean indicating success\n */\n workForCompany(p: IPlayer, companyName: string): boolean {\n if (!(Companies[companyName] instanceof Company) || p.jobs[companyName] == null) {\n return false;\n }\n\n if (this.currentTask !== SleeveTaskType.Idle) {\n this.finishTask(p);\n } else {\n this.resetTaskStatus(p);\n }\n\n const company: Company | null = Companies[companyName];\n const companyPosition: CompanyPosition | null = CompanyPositions[p.jobs[companyName]];\n if (company == null) {\n return false;\n }\n if (companyPosition == null) {\n return false;\n }\n this.gainRatesForTask.money =\n companyPosition.baseSalary *\n company.salaryMultiplier *\n this.mults.work_money *\n BitNodeMultipliers.CompanyWorkMoney;\n this.gainRatesForTask.hack =\n companyPosition.hackingExpGain *\n company.expMultiplier *\n this.mults.hacking_exp *\n BitNodeMultipliers.CompanyWorkExpGain;\n this.gainRatesForTask.str =\n companyPosition.strengthExpGain *\n company.expMultiplier *\n this.mults.strength_exp *\n BitNodeMultipliers.CompanyWorkExpGain;\n this.gainRatesForTask.def =\n companyPosition.defenseExpGain *\n company.expMultiplier *\n this.mults.defense_exp *\n BitNodeMultipliers.CompanyWorkExpGain;\n this.gainRatesForTask.dex =\n companyPosition.dexterityExpGain *\n company.expMultiplier *\n this.mults.dexterity_exp *\n BitNodeMultipliers.CompanyWorkExpGain;\n this.gainRatesForTask.agi =\n companyPosition.agilityExpGain *\n company.expMultiplier *\n this.mults.agility_exp *\n BitNodeMultipliers.CompanyWorkExpGain;\n this.gainRatesForTask.cha =\n companyPosition.charismaExpGain *\n company.expMultiplier *\n this.mults.charisma_exp *\n BitNodeMultipliers.CompanyWorkExpGain;\n\n this.currentTaskLocation = companyName;\n this.currentTask = SleeveTaskType.Company;\n\n return true;\n }\n\n /**\n * Start work for one of the player's factions\n * Returns boolean indicating success\n */\n workForFaction(p: IPlayer, factionName: string, workType: string): boolean {\n const faction = Factions[factionName];\n if (factionName === \"\" || !faction || !(faction instanceof Faction) || !p.factions.includes(factionName)) {\n return false;\n }\n\n if (this.currentTask !== SleeveTaskType.Idle) {\n this.finishTask(p);\n } else {\n this.resetTaskStatus(p);\n }\n\n const factionInfo = faction.getInfo();\n\n // Set type of work (hacking/field/security), and the experience gains\n const sanitizedWorkType: string = workType.toLowerCase();\n if (sanitizedWorkType.includes(\"hack\")) {\n if (!factionInfo.offerHackingWork) {\n return false;\n }\n this.factionWorkType = FactionWorkType.HACKING;\n this.gainRatesForTask.hack = 0.15 * this.mults.hacking_exp * BitNodeMultipliers.FactionWorkExpGain;\n } else if (sanitizedWorkType.includes(\"field\")) {\n if (!factionInfo.offerFieldWork) {\n return false;\n }\n this.factionWorkType = FactionWorkType.FIELD;\n this.gainRatesForTask.hack = 0.1 * this.mults.hacking_exp * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.str = 0.1 * this.mults.strength_exp * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.def = 0.1 * this.mults.defense_exp * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.dex = 0.1 * this.mults.dexterity_exp * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.agi = 0.1 * this.mults.agility_exp * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.cha = 0.1 * this.mults.charisma_exp * BitNodeMultipliers.FactionWorkExpGain;\n } else if (sanitizedWorkType.includes(\"security\")) {\n if (!factionInfo.offerSecurityWork) {\n return false;\n }\n this.factionWorkType = FactionWorkType.SECURITY;\n this.gainRatesForTask.hack = 0.1 * this.mults.hacking_exp * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.str = 0.15 * this.mults.strength_exp * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.def = 0.15 * this.mults.defense_exp * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.dex = 0.15 * this.mults.dexterity_exp * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.agi = 0.15 * this.mults.agility_exp * BitNodeMultipliers.FactionWorkExpGain;\n } else {\n return false;\n }\n\n this.currentTaskLocation = factionName;\n this.currentTask = SleeveTaskType.Faction;\n\n return true;\n }\n\n /**\n * Begin a gym workout task\n */\n workoutAtGym(p: IPlayer, gymName: string, stat: string): boolean {\n if (this.currentTask !== SleeveTaskType.Idle) {\n this.finishTask(p);\n } else {\n this.resetTaskStatus(p);\n }\n\n // Set exp/money multipliers based on which university.\n // Also check that the sleeve is in the right city\n let costMult = 1;\n switch (gymName.toLowerCase()) {\n case LocationName.AevumCrushFitnessGym.toLowerCase():\n if (this.city != CityName.Aevum) {\n return false;\n }\n this.currentTaskLocation = LocationName.AevumCrushFitnessGym;\n costMult = 3;\n break;\n case LocationName.AevumSnapFitnessGym.toLowerCase():\n if (this.city != CityName.Aevum) {\n return false;\n }\n this.currentTaskLocation = LocationName.AevumSnapFitnessGym;\n costMult = 10;\n break;\n case LocationName.Sector12IronGym.toLowerCase():\n if (this.city != CityName.Sector12) {\n return false;\n }\n this.currentTaskLocation = LocationName.Sector12IronGym;\n costMult = 1;\n break;\n case LocationName.Sector12PowerhouseGym.toLowerCase():\n if (this.city != CityName.Sector12) {\n return false;\n }\n this.currentTaskLocation = LocationName.Sector12PowerhouseGym;\n costMult = 20;\n break;\n case LocationName.VolhavenMilleniumFitnessGym.toLowerCase():\n if (this.city != CityName.Volhaven) {\n return false;\n }\n this.currentTaskLocation = LocationName.VolhavenMilleniumFitnessGym;\n costMult = 7;\n break;\n default:\n return false;\n }\n\n // Set experience/money gains based on class\n const sanitizedStat: string = stat.toLowerCase();\n\n // Set cost\n this.gainRatesForTask.money = -1 * (CONSTANTS.ClassGymBaseCost * costMult);\n\n // Validate \"stat\" argument\n if (\n !sanitizedStat.includes(\"str\") &&\n !sanitizedStat.includes(\"def\") &&\n !sanitizedStat.includes(\"dex\") &&\n !sanitizedStat.includes(\"agi\")\n ) {\n return false;\n }\n\n this.gymStatType = stat;\n this.currentTask = SleeveTaskType.Gym;\n\n return true;\n }\n\n /**\n * Begin a bladeburner task\n */\n bladeburner(p: IPlayer, action: string, contract: string): boolean {\n if (this.currentTask !== SleeveTaskType.Idle) {\n this.finishTask(p);\n } else {\n this.resetTaskStatus(p);\n }\n\n this.gainRatesForTask.hack = 0;\n this.gainRatesForTask.str = 0;\n this.gainRatesForTask.def = 0;\n this.gainRatesForTask.dex = 0;\n this.gainRatesForTask.agi = 0;\n this.gainRatesForTask.cha = 0;\n this.gainRatesForTask.money = 0;\n this.currentTaskLocation = \"\";\n\n let time = 0;\n\n this.bbContract = \"------\";\n switch (action) {\n case \"Field analysis\":\n time = this.getBladeburnerActionTime(p, \"General\", action);\n this.gainRatesForTask.hack = 20 * this.mults.hacking_exp;\n this.gainRatesForTask.cha = 20 * this.mults.charisma_exp;\n break;\n case \"Recruitment\":\n time = this.getBladeburnerActionTime(p, \"General\", action);\n this.gainRatesForTask.cha =\n 2 * BladeburnerConstants.BaseStatGain * (p.bladeburner?.getRecruitmentTime(this) ?? 0) * 1000;\n this.currentTaskLocation = `(Success Rate: ${numeralWrapper.formatPercentage(\n this.recruitmentSuccessChance(p),\n )})`;\n break;\n case \"Diplomacy\":\n time = this.getBladeburnerActionTime(p, \"General\", action);\n break;\n case \"Infiltrate synthoids\":\n time = 60000;\n this.currentTaskLocation = \"This will generate additional contracts and operations\";\n break;\n case \"Support main sleeve\":\n p.bladeburner?.sleeveSupport(true);\n time = 0;\n break;\n case \"Take on contracts\":\n time = this.getBladeburnerActionTime(p, \"Contracts\", contract);\n this.contractGainRates(p, \"Contracts\", contract);\n this.currentTaskLocation = this.contractSuccessChance(p, \"Contracts\", contract);\n this.bbContract = capitalizeEachWord(contract.toLowerCase());\n break;\n }\n\n this.bbAction = capitalizeFirstLetter(action.toLowerCase());\n this.currentTaskMaxTime = time;\n this.currentTask = SleeveTaskType.Bladeburner;\n return true;\n }\n\n recruitmentSuccessChance(p: IPlayer): number {\n return Math.max(0, Math.min(1, p.bladeburner?.getRecruitmentSuccessChance(this) ?? 0));\n }\n\n contractSuccessChance(p: IPlayer, type: string, name: string): string {\n const bb = p.bladeburner;\n if (bb === null) {\n const errorLogText = `bladeburner is null`;\n console.error(`Function: sleeves.contractSuccessChance; Message: '${errorLogText}'`);\n return \"0%\";\n }\n const chances = bb.getActionEstimatedSuccessChanceNetscriptFn(this, type, name);\n if (typeof chances === \"string\") {\n console.error(`Function: sleeves.contractSuccessChance; Message: '${chances}'`);\n return \"0%\";\n }\n if (chances[0] >= 1) {\n return \"100%\";\n } else {\n return `${numeralWrapper.formatPercentage(chances[0])} - ${numeralWrapper.formatPercentage(chances[1])}`;\n }\n }\n\n contractGainRates(p: IPlayer, type: string, name: string): void {\n const bb = p.bladeburner;\n if (bb === null) {\n const errorLogText = `bladeburner is null`;\n console.error(`Function: sleeves.contractGainRates; Message: '${errorLogText}'`);\n return;\n }\n const actionIdent = bb.getActionIdFromTypeAndName(type, name);\n if (actionIdent === null) {\n const errorLogText = `Invalid action: type='${type}' name='${name}'`;\n console.error(`Function: sleeves.contractGainRates; Message: '${errorLogText}'`);\n this.resetTaskStatus(p);\n return;\n }\n const action = bb.getActionObject(actionIdent);\n if (action === null) {\n const errorLogText = `Invalid action: type='${type}' name='${name}'`;\n console.error(`Function: sleeves.contractGainRates; Message: '${errorLogText}'`);\n this.resetTaskStatus(p);\n return;\n }\n const retValue = bb.getActionStats(action, true);\n this.gainRatesForTask.hack = retValue.hack;\n this.gainRatesForTask.str = retValue.str;\n this.gainRatesForTask.def = retValue.def;\n this.gainRatesForTask.dex = retValue.dex;\n this.gainRatesForTask.agi = retValue.agi;\n this.gainRatesForTask.cha = retValue.cha;\n const rewardMultiplier = Math.pow(action.rewardFac, action.level - 1);\n this.gainRatesForTask.money =\n BladeburnerConstants.ContractBaseMoneyGain * rewardMultiplier * bb.skillMultipliers.money;\n }\n\n getBladeburnerActionTime(p: IPlayer, type: string, name: string): number {\n //Maybe find workerscript and use original\n const bb = p.bladeburner;\n if (bb === null) {\n const errorLogText = `bladeburner is null`;\n console.error(`Function: sleeves.getBladeburnerActionTime; Message: '${errorLogText}'`);\n return -1;\n }\n\n const time = bb.getActionTimeNetscriptFn(this, type, name);\n if (typeof time === \"string\") {\n const errorLogText = `Invalid action: type='${type}' name='${name}'`;\n console.error(`Function: sleeves.getBladeburnerActionTime; Message: '${errorLogText}'`);\n return -1;\n } else {\n return time;\n }\n }\n\n takeDamage(amt: number): boolean {\n if (typeof amt !== \"number\") {\n console.warn(`Player.takeDamage() called without a numeric argument: ${amt}`);\n return false;\n }\n\n this.hp -= amt;\n if (this.hp <= 0) {\n this.shock += 0.5;\n this.hp = this.max_hp;\n return true;\n } else {\n return false;\n }\n }\n\n whoAmI(): string {\n return \"Sleeve\";\n }\n\n /**\n * Serialize the current object to a JSON save state.\n */\n toJSON(): IReviverValue {\n return Generic_toJSON(\"Sleeve\", this);\n }\n\n /**\n * Initiatizes a Sleeve object from a JSON save state.\n */\n static fromJSON(value: IReviverValue): Sleeve {\n return Generic_fromJSON(Sleeve, value.data);\n }\n}\n\nReviver.constructors.Sleeve = Sleeve;\n","export enum RamCalculationErrorCode {\n SyntaxError = -1,\n ImportError = -2,\n URLImportError = -3,\n}\n","import { EventEmitter } from \"../utils/EventEmitter\";\nexport const TerminalEvents = new EventEmitter<[]>();\nexport const TerminalClearEvents = new EventEmitter<[]>();\n","/**\n * Helper functions for determine whether Limit and Stop orders should\n * be executed (and executing them)\n */\nimport { buyStock, sellStock, shortStock, sellShort } from \"./BuyingAndSelling\";\nimport { IOrderBook } from \"./IOrderBook\";\nimport { IStockMarket } from \"./IStockMarket\";\nimport { Order } from \"./Order\";\nimport { Stock } from \"./Stock\";\n\nimport { OrderTypes } from \"./data/OrderTypes\";\nimport { PositionTypes } from \"./data/PositionTypes\";\n\nimport { IMap } from \"../types\";\n\nimport { numeralWrapper } from \"../ui/numeralFormat\";\nimport { Money } from \"../ui/React/Money\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { Settings } from \"../Settings/Settings\";\n\nimport * as React from \"react\";\n\nexport interface IProcessOrderRefs {\n stockMarket: IStockMarket;\n symbolToStockMap: IMap;\n}\n\n/**\n * Search for all orders of a specific type and execute them if appropriate\n * @param {Stock} stock - Stock for which orders should be processed\n * @param {OrderTypes} orderType - Type of order to check (Limit/Stop buy/sell)\n * @param {PositionTypes} posType - Long or short\n * @param {IProcessOrderRefs} refs - References to objects/functions that are required for this function\n */\nexport function processOrders(\n stock: Stock,\n orderType: OrderTypes,\n posType: PositionTypes,\n refs: IProcessOrderRefs,\n): void {\n const orderBook = refs.stockMarket[\"Orders\"];\n if (orderBook == null) {\n const orders: IOrderBook = {};\n for (const name of Object.keys(refs.stockMarket)) {\n const stock = refs.stockMarket[name];\n if (!(stock instanceof Stock)) {\n continue;\n }\n orders[stock.symbol] = [];\n }\n refs.stockMarket[\"Orders\"] = orders;\n return; // Newly created, so no orders to process\n }\n let stockOrders = orderBook[stock.symbol];\n if (stockOrders == null || !(stockOrders.constructor === Array)) {\n console.error(`Invalid Order book for ${stock.symbol} in processOrders(): ${stockOrders}`);\n stockOrders = [];\n return;\n }\n\n for (const order of stockOrders) {\n if (order.type === orderType && order.pos === posType) {\n switch (order.type) {\n case OrderTypes.LimitBuy:\n if (order.pos === PositionTypes.Long && stock.price <= order.price) {\n executeOrder(/*66*/ order, refs);\n } else if (order.pos === PositionTypes.Short && stock.price >= order.price) {\n executeOrder(/*66*/ order, refs);\n }\n break;\n case OrderTypes.LimitSell:\n if (order.pos === PositionTypes.Long && stock.price >= order.price) {\n executeOrder(/*66*/ order, refs);\n } else if (order.pos === PositionTypes.Short && stock.price <= order.price) {\n executeOrder(/*66*/ order, refs);\n }\n break;\n case OrderTypes.StopBuy:\n if (order.pos === PositionTypes.Long && stock.price >= order.price) {\n executeOrder(/*66*/ order, refs);\n } else if (order.pos === PositionTypes.Short && stock.price <= order.price) {\n executeOrder(/*66*/ order, refs);\n }\n break;\n case OrderTypes.StopSell:\n if (order.pos === PositionTypes.Long && stock.price <= order.price) {\n executeOrder(/*66*/ order, refs);\n } else if (order.pos === PositionTypes.Short && stock.price >= order.price) {\n executeOrder(/*66*/ order, refs);\n }\n break;\n default:\n console.warn(`Invalid order type: ${order.type}`);\n return;\n }\n }\n }\n}\n\n/**\n * Execute a Stop or Limit Order.\n * @param {Order} order - Order being executed\n * @param {IProcessOrderRefs} refs - References to objects/functions that are required for this function\n */\nfunction executeOrder(order: Order, refs: IProcessOrderRefs): void {\n const stock = refs.symbolToStockMap[order.stockSymbol];\n if (!(stock instanceof Stock)) {\n console.error(`Could not find stock for this order: ${order.stockSymbol}`);\n return;\n }\n const stockMarket = refs.stockMarket;\n const orderBook = stockMarket[\"Orders\"];\n const stockOrders = orderBook[stock.symbol];\n\n // When orders are executed, the buying and selling functions shouldn't\n // emit popup dialog boxes. This options object configures the functions for that\n const opts = {\n suppressDialog: true,\n };\n\n let res = true;\n let isBuy = false;\n switch (order.type) {\n case OrderTypes.LimitBuy:\n case OrderTypes.StopBuy:\n isBuy = true;\n if (order.pos === PositionTypes.Long) {\n res = buyStock(stock, order.shares, null, opts) && res;\n } else if (order.pos === PositionTypes.Short) {\n res = shortStock(stock, order.shares, null, opts) && res;\n }\n break;\n case OrderTypes.LimitSell:\n case OrderTypes.StopSell:\n if (order.pos === PositionTypes.Long) {\n res = sellStock(stock, order.shares, null, opts) && res;\n } else if (order.pos === PositionTypes.Short) {\n res = sellShort(stock, order.shares, null, opts) && res;\n }\n break;\n default:\n console.warn(`Invalid order type: ${order.type}`);\n return;\n }\n\n // Position type, for logging/message purposes\n const pos = order.pos === PositionTypes.Long ? \"Long\" : \"Short\";\n\n if (res) {\n for (let i = 0; i < stockOrders.length; ++i) {\n if (order == stockOrders[i]) {\n stockOrders.splice(i, 1);\n if (!Settings.SuppressTIXPopup) {\n dialogBoxCreate(\n <>\n {order.type} for {stock.symbol} @ ({pos}) was filled (\n {numeralWrapper.formatShares(Math.round(order.shares))} shares)\n >,\n );\n }\n return;\n }\n }\n\n console.error(\"Could not find the following Order in Order Book: \");\n console.error(order);\n } else if (isBuy) {\n dialogBoxCreate(\n <>\n Failed to execute {order.type} for {stock.symbol} @ ({pos}). This is most likely\n because you do not have enough money or the order would exceed the stock's maximum number of shares\n >,\n );\n }\n}\n","import { IMap } from \"../types\";\nimport * as predefined from \"./data\";\n\nexport interface ITheme {\n [key: string]: string | undefined;\n primarylight: string;\n primary: string;\n primarydark: string;\n successlight: string;\n success: string;\n successdark: string;\n errorlight: string;\n error: string;\n errordark: string;\n secondarylight: string;\n secondary: string;\n secondarydark: string;\n warninglight: string;\n warning: string;\n warningdark: string;\n infolight: string;\n info: string;\n infodark: string;\n welllight: string;\n well: string;\n white: string;\n black: string;\n hp: string;\n money: string;\n hack: string;\n combat: string;\n cha: string;\n int: string;\n rep: string;\n disabled: string;\n backgroundprimary: string;\n backgroundsecondary: string;\n button: string;\n}\n\nexport interface IPredefinedTheme {\n colors: ITheme;\n name: string;\n credit: string;\n screenshot: string;\n description: string;\n reference?: string;\n}\n\nexport const defaultTheme: ITheme = {\n ...predefined.Default.colors,\n};\n\nexport const getPredefinedThemes = (): IMap => ({\n ...predefined,\n});\n","import React, { useState, useEffect } from \"react\";\nimport { EventEmitter } from \"../../utils/EventEmitter\";\nimport { Modal } from \"./Modal\";\nimport Typography from \"@mui/material/Typography\";\nimport Box from \"@mui/material/Box\";\nimport { sha256 } from \"js-sha256\";\n\nexport const AlertEvents = new EventEmitter<[string | JSX.Element]>();\n\ninterface Alert {\n id: string;\n text: string | JSX.Element;\n hash: string;\n}\n\nlet i = 0;\nexport function AlertManager(): React.ReactElement {\n const [alerts, setAlerts] = useState([]);\n useEffect(\n () =>\n AlertEvents.subscribe((text: string | JSX.Element) => {\n const id = i + \"\";\n i++;\n setAlerts((old) => {\n const hash = getMessageHash(text);\n if (old.some((a) => a.hash === hash)) {\n return old;\n }\n return [\n ...old,\n {\n id: id,\n text: text,\n hash: hash,\n },\n ];\n });\n }),\n [],\n );\n\n useEffect(() => {\n function handle(this: Document, event: KeyboardEvent): void {\n if (event.code === \"Escape\") {\n setAlerts([]);\n }\n }\n document.addEventListener(\"keydown\", handle);\n return () => document.removeEventListener(\"keydown\", handle);\n }, []);\n\n function getMessageHash(text: string | JSX.Element): string {\n if (typeof text === \"string\") return sha256(text);\n return sha256(JSON.stringify(text.props));\n }\n\n function close(): void {\n setAlerts((old) => {\n return old.slice(1, 1e99);\n });\n }\n\n return (\n <>\n {alerts.length > 0 && (\n \n \n {alerts[0].text}\n \n \n )}\n >\n );\n}\n","import { getRandomByte } from \"./helpers/getRandomByte\";\n\n/**\n * Generate a random IP address\n * Does not check to see if the IP already exists in the game\n */\nexport const createRandomIp = (): string =>\n `${getRandomByte(99)}.${getRandomByte(9)}.${getRandomByte(9)}.${getRandomByte(9)}`;\n","function getDB(): Promise {\n return new Promise((resolve, reject) => {\n if (!window.indexedDB) {\n reject(\"Indexed DB does not exists\");\n }\n /**\n * DB is called bitburnerSave\n * Object store is called savestring\n * key for the Object store is called save\n * Version `1` is important\n */\n const indexedDbRequest: IDBOpenDBRequest = window.indexedDB.open(\"bitburnerSave\", 1);\n\n // This is called when there's no db to begin with. It's important, don't remove it.\n indexedDbRequest.onupgradeneeded = function (this: IDBRequest) {\n const db = this.result;\n db.createObjectStore(\"savestring\");\n };\n\n indexedDbRequest.onerror = function (this: IDBRequest, ev: Event) {\n reject(`Failed to get IDB ${ev}`);\n };\n\n indexedDbRequest.onsuccess = function (this: IDBRequest) {\n const db = this.result;\n if (!db) {\n reject(\"database loading result was undefined\");\n return;\n }\n resolve(db.transaction([\"savestring\"], \"readwrite\").objectStore(\"savestring\"));\n };\n });\n}\n\nexport function load(): Promise {\n return new Promise((resolve, reject) => {\n getDB()\n .then((db) => {\n return new Promise((resolve, reject) => {\n const request: IDBRequest = db.get(\"save\");\n request.onerror = function (this: IDBRequest, ev: Event) {\n reject(\"Error in Database request to get savestring: \" + ev);\n };\n\n request.onsuccess = function (this: IDBRequest) {\n resolve(this.result);\n };\n }).then((saveString) => resolve(saveString));\n })\n .catch((r) => reject(r));\n });\n}\n\nexport function save(saveString: string): Promise {\n return getDB().then((db) => {\n return new Promise((resolve, reject) => {\n // We'll save to both localstorage and indexedDb\n const request = db.put(saveString, \"save\");\n\n request.onerror = function (e) {\n reject(\"Error saving game to IndexedDB: \" + e);\n };\n\n request.onsuccess = () => resolve();\n });\n });\n}\n\nexport function deleteGame(): Promise {\n return getDB().then((db) => {\n db.delete(\"save\");\n });\n}\n","import { Message } from \"./Message\";\nimport { AugmentationNames } from \"../Augmentation/data/AugmentationNames\";\nimport { Router } from \"../ui/GameRoot\";\nimport { Programs } from \"../Programs/Programs\";\nimport { Player } from \"../Player\";\nimport { Page } from \"../ui/Router\";\nimport { GetServer } from \"../Server/AllServers\";\nimport { SpecialServers } from \"../Server/data/SpecialServers\";\nimport { Settings } from \"../Settings/Settings\";\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { FactionNames } from \"../Faction/data/FactionNames\";\nimport { Server } from \"../Server/Server\";\n\n//Sends message to player, including a pop up\nfunction sendMessage(msg: Message, forced = false): void {\n if (forced || !Settings.SuppressMessages) {\n showMessage(msg.filename);\n }\n addMessageToServer(msg);\n}\n\nfunction showMessage(name: MessageFilenames): void {\n const msg = Messages[name];\n if (!(msg instanceof Message)) throw new Error(\"trying to display unexistent message\");\n const txt =\n \"Message received from unknown sender:
\" +\n \"\" +\n msg.msg +\n \"
\" +\n \"This message was saved as \" +\n msg.filename +\n \" onto your home computer.\";\n dialogBoxCreate(txt);\n}\n\n//Adds a message to a server\nfunction addMessageToServer(msg: Message): void {\n //Short-circuit if the message has already been saved\n if (recvd(msg)) {\n return;\n }\n const server = GetServer(\"home\");\n if (server == null) {\n throw new Error(\"The home server doesn't exist. You done goofed.\");\n }\n server.messages.push(msg.filename);\n}\n\n//Returns whether the given message has already been received\nfunction recvd(msg: Message): boolean {\n const server = GetServer(\"home\");\n if (server == null) {\n throw new Error(\"The home server doesn't exist. You done goofed.\");\n }\n return server.messages.includes(msg.filename);\n}\n\n//Checks if any of the 'timed' messages should be sent\nfunction checkForMessagesToSend(): void {\n if (Router.page() === Page.BitVerse) return;\n const jumper0 = Messages[MessageFilenames.Jumper0];\n const jumper1 = Messages[MessageFilenames.Jumper1];\n const jumper2 = Messages[MessageFilenames.Jumper2];\n const jumper3 = Messages[MessageFilenames.Jumper3];\n const jumper4 = Messages[MessageFilenames.Jumper4];\n const cybersecTest = Messages[MessageFilenames.CyberSecTest];\n const nitesecTest = Messages[MessageFilenames.NiteSecTest];\n const bitrunnersTest = Messages[MessageFilenames.BitRunnersTest];\n const truthGazer = Messages[MessageFilenames.TruthGazer];\n const redpill = Messages[MessageFilenames.RedPill];\n\n if (Player.hasAugmentation(AugmentationNames.TheRedPill)) {\n //Get the world daemon required hacking level\n const worldDaemon = GetServer(SpecialServers.WorldDaemon);\n if (!(worldDaemon instanceof Server)) {\n throw new Error(\"The world daemon is not a server???? Please un-break reality\");\n }\n //If the daemon can be hacked, send the player icarus.msg\n if (Player.hacking >= worldDaemon.requiredHackingSkill) {\n sendMessage(redpill, Player.sourceFiles.length === 0);\n }\n //If the daemon cannot be hacked, send the player truthgazer.msg a single time.\n else if (!recvd(truthGazer)) {\n sendMessage(truthGazer);\n }\n } else if (!recvd(jumper0) && Player.hacking >= 25) {\n sendMessage(jumper0);\n const flightName = Programs.Flight.name;\n const homeComp = Player.getHomeComputer();\n if (!homeComp.programs.includes(flightName)) {\n homeComp.programs.push(flightName);\n }\n } else if (!recvd(jumper1) && Player.hacking >= 40) {\n sendMessage(jumper1);\n } else if (!recvd(cybersecTest) && Player.hacking >= 50) {\n sendMessage(cybersecTest);\n } else if (!recvd(jumper2) && Player.hacking >= 175) {\n sendMessage(jumper2);\n } else if (!recvd(nitesecTest) && Player.hacking >= 200) {\n sendMessage(nitesecTest);\n } else if (!recvd(jumper3) && Player.hacking >= 350) {\n sendMessage(jumper3);\n } else if (!recvd(jumper4) && Player.hacking >= 490) {\n sendMessage(jumper4);\n } else if (!recvd(bitrunnersTest) && Player.hacking >= 500) {\n sendMessage(bitrunnersTest);\n }\n}\n\nexport enum MessageFilenames {\n Jumper0 = \"j0.msg\",\n Jumper1 = \"j1.msg\",\n Jumper2 = \"j2.msg\",\n Jumper3 = \"j3.msg\",\n Jumper4 = \"j4.msg\",\n CyberSecTest = \"csec-test.msg\",\n NiteSecTest = \"nitesec-test.msg\",\n BitRunnersTest = \"19dfj3l1nd.msg\",\n TruthGazer = \"truthgazer.msg\",\n RedPill = \"icarus.msg\",\n}\n\n//Reset\nconst Messages: Record = {\n //jump3R Messages\n [MessageFilenames.Jumper0]: new Message(\n MessageFilenames.Jumper0,\n \"I know you can sense it. I know you're searching for it. \" +\n \"It's why you spend night after \" +\n \"night at your computer.
It's real, I've seen it. And I can \" +\n \"help you find it. But not right now. You're not ready yet.
\" +\n \"Use this program to track your progress
\" +\n \"The fl1ght.exe program was added to your home computer
\" +\n \"-jump3R\",\n ),\n\n [MessageFilenames.Jumper1]: new Message(\n MessageFilenames.Jumper1,\n `Soon you will be contacted by a hacking group known as ${FactionNames.NiteSec}. ` +\n \"They can help you with your search.
\" +\n \"You should join them, garner their favor, and \" +\n \"exploit them for their Augmentations. But do not trust them. \" +\n \"They are not what they seem. No one is.
\" +\n \"-jump3R\",\n ),\n\n [MessageFilenames.Jumper2]: new Message(\n MessageFilenames.Jumper2,\n \"Do not try to save the world. There is no world to save. If \" +\n \"you want to find the truth, worry only about yourself. Ethics and \" +\n `morals will get you killed.
Watch out for a hacking group known as ${FactionNames.NiteSec}.` +\n \"
-jump3R\",\n ),\n\n [MessageFilenames.Jumper3]: new Message(\n MessageFilenames.Jumper3,\n \"You must learn to walk before you can run. And you must \" +\n `run before you can fly. Look for ${FactionNames.TheBlackHand}.
` +\n \"I.I.I.I
-jump3R\",\n ),\n\n [MessageFilenames.Jumper4]: new Message(\n MessageFilenames.Jumper4,\n \"To find what you are searching for, you must understand the bits. \" +\n \"The bits are all around us. The runners will help you.
\" +\n \"-jump3R\",\n ),\n\n //Messages from hacking factions\n [MessageFilenames.CyberSecTest]: new Message(\n MessageFilenames.CyberSecTest,\n \"We've been watching you. Your skills are very impressive. But you're wasting \" +\n \"your talents. If you join us, you can put your skills to good use and change \" +\n \"the world for the better. If you join us, we can unlock your full potential.
\" +\n \"But first, you must pass our test. Find and install the backdoor on our server.
\" +\n `-${FactionNames.CyberSec}`,\n ),\n\n [MessageFilenames.NiteSecTest]: new Message(\n MessageFilenames.NiteSecTest,\n \"People say that the corrupted governments and corporations rule the world. \" +\n \"Yes, maybe they do. But do you know who everyone really fears? People \" +\n \"like us. Because they can't hide from us. Because they can't fight shadows \" +\n \"and ideas with bullets.
\" +\n \"Join us, and people will fear you, too.
\" +\n \"Find and install the backdoor on our server, avmnite-02h. Then, we will contact you again.\" +\n `
-${FactionNames.NiteSec}`,\n ),\n\n [MessageFilenames.BitRunnersTest]: new Message(\n MessageFilenames.BitRunnersTest,\n \"We know what you are doing. We know what drives you. We know \" +\n \"what you are looking for.
\" +\n \"We can help you find the answers.
\" +\n \"run4theh111z\",\n ),\n\n //Messages to guide players to the daemon\n [MessageFilenames.TruthGazer]: new Message(\n MessageFilenames.TruthGazer,\n //\"THE TRUTH CAN NO LONGER ESCAPE YOUR GAZE\"\n \"@&*($#@&__TH3__#@A@*)__TRU1H__(*)&*)($#@&()E&R)W& \" +\n \"%@*$^$()@&$)$*@__CAN__()(@^#)@&@)#__N0__(#@)@&@&( \" +\n \"*(__LON6ER__^#)@)(()*#@)@__ESCAP3__)#(@(#@*@()@(#*$ \" +\n \"()@)#$*%)$#()$#__Y0UR__(*)$#()%(&(%)*!)($__GAZ3__#(\",\n ),\n\n [MessageFilenames.RedPill]: new Message(\n MessageFilenames.RedPill,\n //\"FIND THE-CAVE\"\n \"@)(#V%*N)@(#*)*C)@#%*)*V)@#(*%V@)(#VN%*)@#(*% \" +\n \")@B(*#%)@)M#B*%V)____FIND___#$@)#%(B*)@#(*%B) \" +\n \"@_#(%_@#M(BDSPOMB__THE-CAVE_#)$(*@#$)@#BNBEGB \" +\n \"DFLSMFVMV)#@($*)@#*$MV)@#(*$V)M#(*$)M@(#*VM$)\",\n ),\n};\n\nexport { Messages, checkForMessagesToSend, showMessage };\n","// The initial formulas was sum 0 to f of 500*1.02^f.\n// see https://en.wikipedia.org/wiki/Geometric_series#Closed-form_formula\n// for information on how to calculate this\n\nexport function favorToRep(f: number): number {\n const raw = 25000 * (Math.pow(1.02, f) - 1);\n return Math.round(raw * 10000) / 10000; // round to make things easier.\n}\n\nexport function repToFavor(r: number): number {\n const raw = Math.log(r / 25000 + 1) / Math.log(1.02);\n return Math.round(raw * 10000) / 10000; // round to make things easier.\n}\n","import {\n CodingContract,\n CodingContractRewardType,\n CodingContractTypes,\n ICodingContractReward,\n} from \"./CodingContracts\";\nimport { Factions } from \"./Faction/Factions\";\nimport { Player } from \"./Player\";\nimport { GetServer, GetAllServers } from \"./Server/AllServers\";\nimport { SpecialServers } from \"./Server/data/SpecialServers\";\nimport { Server } from \"./Server/Server\";\nimport { BaseServer } from \"./Server/BaseServer\";\n\nimport { getRandomInt } from \"./utils/helpers/getRandomInt\";\n\nexport function generateRandomContract(): void {\n // First select a random problem type\n const problemType = getRandomProblemType();\n\n // Then select a random reward type. 'Money' will always be the last reward type\n const reward = getRandomReward();\n\n // Choose random server\n const randServer = getRandomServer();\n\n const contractFn = getRandomFilename(randServer, reward);\n const contract = new CodingContract(contractFn, problemType, reward);\n\n randServer.addContract(contract);\n}\n\nexport function generateRandomContractOnHome(): void {\n // First select a random problem type\n const problemType = getRandomProblemType();\n\n // Then select a random reward type. 'Money' will always be the last reward type\n const reward = getRandomReward();\n\n // Choose random server\n const serv = Player.getHomeComputer();\n\n const contractFn = getRandomFilename(serv, reward);\n const contract = new CodingContract(contractFn, problemType, reward);\n\n serv.addContract(contract);\n}\n\ninterface IGenerateContractParams {\n problemType?: string;\n server?: string;\n fn?: string;\n}\n\nexport function generateContract(params: IGenerateContractParams): void {\n // Problem Type\n let problemType;\n const problemTypes = Object.keys(CodingContractTypes);\n if (params.problemType != null && problemTypes.includes(params.problemType)) {\n problemType = params.problemType;\n } else {\n problemType = getRandomProblemType();\n }\n\n // Reward Type - This is always random for now\n const reward = getRandomReward();\n\n // Server\n let server;\n if (params.server != null) {\n server = GetServer(params.server);\n if (server == null) {\n server = getRandomServer();\n }\n } else {\n server = getRandomServer();\n }\n\n // Filename\n let fn;\n if (params.fn != null) {\n fn = params.fn;\n } else {\n fn = getRandomFilename(server, reward);\n }\n\n const contract = new CodingContract(fn, problemType, reward);\n server.addContract(contract);\n}\n\n// Ensures that a contract's reward type is valid\nfunction sanitizeRewardType(rewardType: CodingContractRewardType): CodingContractRewardType {\n let type = rewardType; // Create copy\n\n const factionsThatAllowHacking = Player.factions.filter((fac) => {\n try {\n return Factions[fac].getInfo().offerHackingWork;\n } catch (e) {\n console.error(`Error when trying to filter Hacking Factions for Coding Contract Generation: ${e}`);\n return false;\n }\n });\n if (type === CodingContractRewardType.FactionReputation && factionsThatAllowHacking.length === 0) {\n type = CodingContractRewardType.CompanyReputation;\n }\n if (type === CodingContractRewardType.FactionReputationAll && factionsThatAllowHacking.length === 0) {\n type = CodingContractRewardType.CompanyReputation;\n }\n if (type === CodingContractRewardType.CompanyReputation && Object.keys(Player.jobs).length === 0) {\n type = CodingContractRewardType.Money;\n }\n\n return type;\n}\n\nfunction getRandomProblemType(): string {\n const problemTypes = Object.keys(CodingContractTypes);\n const randIndex = getRandomInt(0, problemTypes.length - 1);\n\n return problemTypes[randIndex];\n}\n\nfunction getRandomReward(): ICodingContractReward {\n const reward: ICodingContractReward = {\n name: \"\",\n type: getRandomInt(0, CodingContractRewardType.Money),\n };\n reward.type = sanitizeRewardType(reward.type);\n\n // Add additional information based on the reward type\n const factionsThatAllowHacking = Player.factions.filter((fac) => Factions[fac].getInfo().offerHackingWork);\n\n switch (reward.type) {\n case CodingContractRewardType.FactionReputation: {\n // Get a random faction that player is a part of. That\n // faction must allow hacking contracts\n const numFactions = factionsThatAllowHacking.length;\n const randFaction = factionsThatAllowHacking[getRandomInt(0, numFactions - 1)];\n reward.name = randFaction;\n break;\n }\n case CodingContractRewardType.CompanyReputation: {\n const allJobs = Object.keys(Player.jobs);\n if (allJobs.length > 0) {\n reward.name = allJobs[getRandomInt(0, allJobs.length - 1)];\n } else {\n reward.type = CodingContractRewardType.Money;\n }\n break;\n }\n default:\n break;\n }\n\n return reward;\n}\n\nfunction getRandomServer(): BaseServer {\n const servers = GetAllServers().filter((server: BaseServer) => server.serversOnNetwork.length !== 0);\n let randIndex = getRandomInt(0, servers.length - 1);\n let randServer = servers[randIndex];\n\n // An infinite loop shouldn't ever happen, but to be safe we'll use\n // a for loop with a limited number of tries\n for (let i = 0; i < 200; ++i) {\n if (\n randServer instanceof Server &&\n !randServer.purchasedByPlayer &&\n randServer.hostname !== SpecialServers.WorldDaemon\n ) {\n break;\n }\n randIndex = getRandomInt(0, servers.length - 1);\n randServer = servers[randIndex];\n }\n\n return randServer;\n}\n\nfunction getRandomFilename(server: BaseServer, reward: ICodingContractReward): string {\n let contractFn = `contract-${getRandomInt(0, 1e6)}`;\n\n for (let i = 0; i < 1000; ++i) {\n if (\n server.contracts.filter((c: CodingContract) => {\n return c.fn === contractFn;\n }).length <= 0\n ) {\n break;\n }\n contractFn = `contract-${getRandomInt(0, 1e6)}`;\n }\n\n if (reward.name) {\n contractFn += `-${reward.name.replace(/\\s/g, \"\")}`;\n }\n\n return contractFn;\n}\n","import { Factions } from \"./Faction/Factions\";\nimport { IPlayer } from \"./PersonObjects/IPlayer\";\n\nexport let LastExportBonus = 0;\n\nconst bonusTimer = 24 * 60 * 60 * 1000; // 24h\nexport function canGetBonus(): boolean {\n const now = new Date().getTime();\n return now - LastExportBonus > bonusTimer;\n}\n\nexport function onExport(p: IPlayer): void {\n if (!canGetBonus()) return;\n for (const facName of p.factions) {\n Factions[facName].favor++;\n }\n LastExportBonus = new Date().getTime();\n}\n\nexport function setLastExportBonus(unixTime: number): void {\n LastExportBonus = unixTime;\n}\n","/**\n * React component for a selectable option on the Faction UI. These\n * options including working for the faction, hacking missions, purchasing\n * augmentations, etc.\n */\nimport * as React from \"react\";\n\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport Paper from \"@mui/material/Paper\";\nimport Box from \"@mui/material/Box\";\n\ntype IProps = {\n buttonText: string;\n infoText: string;\n onClick: (e: React.MouseEvent) => void;\n};\n\nexport function Option(props: IProps): React.ReactElement {\n return (\n \n \n \n {props.infoText}\n \n \n );\n}\n","import { IBladeburner } from \"./IBladeburner\";\nimport { BladeburnerConstants } from \"./data/Constants\";\nimport { Action, IActionParams } from \"./Action\";\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"../utils/JSONReviver\";\n\nexport interface IOperationParams extends IActionParams {\n reqdRank?: number;\n teamCount?: number;\n}\n\nexport class Operation extends Action {\n reqdRank = 100;\n teamCount = 0;\n\n constructor(params: IOperationParams | null = null) {\n super(params);\n if (params && params.reqdRank) this.reqdRank = params.reqdRank;\n if (params && params.teamCount) this.teamCount = params.teamCount;\n }\n\n // For actions that have teams. To be implemented by subtypes.\n getTeamSuccessBonus(inst: IBladeburner): number {\n if (this.teamCount && this.teamCount > 0) {\n this.teamCount = Math.min(this.teamCount, inst.teamSize);\n const teamMultiplier = Math.pow(this.teamCount, 0.05);\n return teamMultiplier;\n }\n\n return 1;\n }\n\n getActionTypeSkillSuccessBonus(inst: IBladeburner): number {\n return inst.skillMultipliers.successChanceOperation;\n }\n\n getChaosDifficultyBonus(inst: IBladeburner /*, params: ISuccessChanceParams*/): number {\n const city = inst.getCurrentCity();\n if (city.chaos > BladeburnerConstants.ChaosThreshold) {\n const diff = 1 + (city.chaos - BladeburnerConstants.ChaosThreshold);\n const mult = Math.pow(diff, 0.5);\n return mult;\n }\n\n return 1;\n }\n\n toJSON(): IReviverValue {\n return Generic_toJSON(\"Operation\", this);\n }\n\n static fromJSON(value: IReviverValue): Operation {\n return Generic_fromJSON(Operation, value.data);\n }\n}\n\nReviver.constructors.Operation = Operation;\n","import { Augmentation, IConstructorParams } from \"../Augmentation\";\nimport { AugmentationNames } from \"./AugmentationNames\";\nimport { Player } from \"../../Player\";\nimport { Programs } from \"../../Programs/Programs\";\nimport { WHRNG } from \"../../Casino/RNG\";\nimport React from \"react\";\nimport { FactionNames } from \"../../Faction/data/FactionNames\";\nimport { CONSTANTS } from \"../../Constants\";\n\ninterface CircadianBonus {\n bonuses: {\n [key: string]: number | undefined;\n agility?: number;\n agility_exp?: number;\n charisma?: number;\n charisma_exp?: number;\n company_rep?: number;\n crime_money?: number;\n crime_success?: number;\n defense?: number;\n defense_exp?: number;\n dexterity?: number;\n dexterity_exp?: number;\n faction_rep?: number;\n hacking?: number;\n hacking_chance?: number;\n hacking_exp?: number;\n hacking_grow?: number;\n hacking_money?: number;\n hacking_speed?: number;\n hacknet_node_core_cost?: number;\n hacknet_node_level_cost?: number;\n hacknet_node_money?: number;\n hacknet_node_purchase_cost?: number;\n hacknet_node_ram_cost?: number;\n strength?: number;\n strength_exp?: number;\n work_money?: number;\n };\n description: string;\n}\n\nfunction getRandomBonus(): CircadianBonus {\n const bonuses = [\n {\n bonuses: {\n hacking_chance: 1.25,\n hacking_speed: 1.1,\n hacking_money: 1.25,\n hacking_grow: 1.1,\n },\n description:\n \"Increases the player's hacking chance by 25%. \" +\n \"Increases the player's hacking speed by 10%. \" +\n \"Increases the amount of money the player's gains from hacking by 25%. \" +\n \"Improves grow() by 10%.\",\n },\n {\n bonuses: {\n hacking: 1.15,\n hacking_exp: 2,\n },\n description:\n \"Increases the player's hacking skill by 15%. \" +\n \"Increases the player's hacking experience gain rate by 100%.\",\n },\n {\n bonuses: {\n strength: 1.25,\n strength_exp: 2,\n defense: 1.25,\n defense_exp: 2,\n dexterity: 1.25,\n dexterity_exp: 2,\n agility: 1.25,\n agility_exp: 2,\n },\n description:\n \"Increases all of the player's combat stats by 25%. \" +\n \"Increases all of the player's combat stat experience gain rate by 100%.\",\n },\n {\n bonuses: {\n charisma: 1.5,\n charisma_exp: 2,\n },\n description:\n \"This augmentation increases the player's charisma by 50%. \" +\n \"Increases the player's charisma experience gain rate by 100%.\",\n },\n {\n bonuses: {\n hacknet_node_money: 1.2,\n hacknet_node_purchase_cost: 0.85,\n hacknet_node_ram_cost: 0.85,\n hacknet_node_core_cost: 0.85,\n hacknet_node_level_cost: 0.85,\n },\n description:\n \"Increases the amount of money produced by Hacknet Nodes by 20%. \" +\n \"Decreases all costs related to Hacknet Node by 15%.\",\n },\n {\n bonuses: {\n company_rep: 1.25,\n faction_rep: 1.15,\n work_money: 1.7,\n },\n description:\n \"Increases the amount of money the player gains from working by 70%. \" +\n \"Increases the amount of reputation the player gains when working for a company by 25%. \" +\n \"Increases the amount of reputation the player gains for a faction by 15%.\",\n },\n {\n bonuses: {\n crime_success: 2,\n crime_money: 2,\n },\n description:\n \"Increases the player's crime success rate by 100%. \" +\n \"Increases the amount of money the player gains from crimes by 100%.\",\n },\n ];\n\n const randomNumber = new WHRNG(Math.floor(Player.lastUpdate / 3600000));\n for (let i = 0; i < 5; i++) randomNumber.step();\n\n return bonuses[Math.floor(bonuses.length * randomNumber.random())];\n}\n\nexport const initSoAAugmentations = (): Augmentation[] => [\n new Augmentation({\n name: AugmentationNames.WKSharmonizer,\n repCost: 1e4,\n moneyCost: 1e6,\n info:\n `A copy of the WKS harmonizer from the MIA leader of the ${FactionNames.ShadowsOfAnarchy} ` +\n \"injects *Γ-based cells that provides general enhancement to the body.\",\n stats: (\n <>\n This augmentation makes many aspects of infiltration easier and more productive. Such as increased timer,\n rewards, reduced damage taken, etc.\n >\n ),\n isSpecial: true,\n factions: [FactionNames.ShadowsOfAnarchy],\n }),\n new Augmentation({\n name: AugmentationNames.MightOfAres,\n repCost: 1e4,\n moneyCost: 1e6,\n info:\n \"Extra-occular neurons taken from old martial art master. Injecting them gives the user the ability to \" +\n \"predict the enemy's attack before they even know it themself.\",\n stats: (\n <>This augmentation makes the Slash minigame easier by showing you via an indicator when the slash in coming.>\n ),\n isSpecial: true,\n factions: [FactionNames.ShadowsOfAnarchy],\n }),\n new Augmentation({\n name: AugmentationNames.WisdomOfAthena,\n repCost: 1e4,\n moneyCost: 1e6,\n info: \"A connective brain implant to SASHA that focuses on pattern recognition and predictive templating.\",\n stats: <>This augmentation makes the Bracket minigame easier by removing all '[' ']'.>,\n isSpecial: true,\n factions: [FactionNames.ShadowsOfAnarchy],\n }),\n new Augmentation({\n name: AugmentationNames.ChaosOfDionysus,\n repCost: 1e4,\n moneyCost: 1e6,\n info: \"Opto-occipito implant to process visual signals before brain interpretation.\",\n stats: <>This augmentation makes the Backwards minigame easier by flipping the words.>,\n isSpecial: true,\n factions: [FactionNames.ShadowsOfAnarchy],\n }),\n new Augmentation({\n name: AugmentationNames.BeautyOfAphrodite,\n repCost: 1e4,\n moneyCost: 1e6,\n info:\n \"Pheromone extruder injected in the thoracodorsal nerve. Emits pleasing scent guaranteed to \" +\n \"make conversational partners more agreeable.\",\n stats: <>This augmentation makes the Bribe minigame easier by indicating the incorrect paths.>,\n isSpecial: true,\n factions: [FactionNames.ShadowsOfAnarchy],\n }),\n new Augmentation({\n name: AugmentationNames.TrickeryOfHermes,\n repCost: 1e4,\n moneyCost: 1e6,\n info: \"Penta-dynamo-neurovascular-valve inserted in the carpal ligament, enhances dexterity.\",\n stats: <>This augmentation makes the Cheat Code minigame easier by allowing the opposite character.>,\n isSpecial: true,\n factions: [FactionNames.ShadowsOfAnarchy],\n }),\n new Augmentation({\n name: AugmentationNames.FloodOfPoseidon,\n repCost: 1e4,\n moneyCost: 1e6,\n info: \"Transtinatium VVD reticulator used in optico-sterbing recognition.\",\n stats: <>This augmentation makes the Symbol matching minigame easier by indicating the correct choice.>,\n isSpecial: true,\n factions: [FactionNames.ShadowsOfAnarchy],\n }),\n new Augmentation({\n name: AugmentationNames.HuntOfArtemis,\n repCost: 1e4,\n moneyCost: 1e6,\n info: \"magneto-turboencabulator based on technology by Micha Eike Siemon, increases the user's electro-magnetic sensitivity.\",\n stats: (\n <>\n This augmentation makes the Minesweeper minigame easier by showing the location of all mines and keeping their\n position.\n >\n ),\n isSpecial: true,\n factions: [FactionNames.ShadowsOfAnarchy],\n }),\n new Augmentation({\n name: AugmentationNames.KnowledgeOfApollo,\n repCost: 1e4,\n moneyCost: 1e6,\n info: \"Neodynic retention fjengeln spoofer using -φ karmions, net positive effect on implantee's delta wave.\",\n stats: <>This augmentation makes the Wire Cutting minigame easier by indicating the incorrect wires.>,\n isSpecial: true,\n factions: [FactionNames.ShadowsOfAnarchy],\n }),\n];\n\nexport const initGeneralAugmentations = (): Augmentation[] => [\n new Augmentation({\n name: AugmentationNames.HemoRecirculator,\n moneyCost: 4.5e7,\n repCost: 1e4,\n info: \"A heart implant that greatly increases the body's ability to effectively use and pump blood.\",\n strength: 1.08,\n defense: 1.08,\n agility: 1.08,\n dexterity: 1.08,\n factions: [FactionNames.Tetrads, FactionNames.TheDarkArmy, FactionNames.TheSyndicate],\n }),\n new Augmentation({\n name: AugmentationNames.Targeting1,\n moneyCost: 1.5e7,\n repCost: 5e3,\n info:\n \"A cranial implant that is embedded within the inner ear structures and optic nerves. It regulates \" +\n \"and enhances balance and hand-eye coordination.\",\n dexterity: 1.1,\n factions: [\n FactionNames.SlumSnakes,\n FactionNames.TheDarkArmy,\n FactionNames.TheSyndicate,\n FactionNames.Sector12,\n FactionNames.Ishima,\n FactionNames.OmniTekIncorporated,\n FactionNames.KuaiGongInternational,\n FactionNames.BladeIndustries,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.Targeting2,\n moneyCost: 4.25e7,\n repCost: 8.75e3,\n info:\n \"This upgraded version of the 'Augmented Targeting' implant is capable of augmenting \" +\n \"reality by digitally displaying weaknesses and vital signs of threats.\",\n prereqs: [AugmentationNames.Targeting1],\n dexterity: 1.2,\n factions: [\n FactionNames.TheDarkArmy,\n FactionNames.TheSyndicate,\n FactionNames.Sector12,\n FactionNames.OmniTekIncorporated,\n FactionNames.KuaiGongInternational,\n FactionNames.BladeIndustries,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.Targeting3,\n moneyCost: 1.15e8,\n repCost: 2.75e4,\n info: \"The latest version of the 'Augmented Targeting' implant adds the ability to lock-on and track threats.\",\n prereqs: [AugmentationNames.Targeting2, AugmentationNames.Targeting1],\n dexterity: 1.3,\n factions: [\n FactionNames.TheDarkArmy,\n FactionNames.TheSyndicate,\n FactionNames.OmniTekIncorporated,\n FactionNames.KuaiGongInternational,\n FactionNames.BladeIndustries,\n FactionNames.TheCovenant,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.SyntheticHeart,\n moneyCost: 2.875e9,\n repCost: 7.5e5,\n info:\n \"This advanced artificial heart, created from plasteel and graphene, is capable of pumping blood \" +\n \"more efficiently than an organic heart.\",\n agility: 1.5,\n strength: 1.5,\n factions: [\n FactionNames.KuaiGongInternational,\n FactionNames.FulcrumSecretTechnologies,\n FactionNames.SpeakersForTheDead,\n FactionNames.NWO,\n FactionNames.TheCovenant,\n FactionNames.Daedalus,\n FactionNames.Illuminati,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.SynfibrilMuscle,\n repCost: 4.375e5,\n moneyCost: 1.125e9,\n info:\n \"The myofibrils in human muscles are injected with special chemicals that react with the proteins inside \" +\n \"the myofibrils, altering their underlying structure. The end result is muscles that are stronger and more elastic. \" +\n \"Scientists have named these artificially enhanced units 'synfibrils'.\",\n strength: 1.3,\n defense: 1.3,\n factions: [\n FactionNames.KuaiGongInternational,\n FactionNames.FulcrumSecretTechnologies,\n FactionNames.SpeakersForTheDead,\n FactionNames.NWO,\n FactionNames.TheCovenant,\n FactionNames.Daedalus,\n FactionNames.Illuminati,\n FactionNames.BladeIndustries,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.CombatRib1,\n repCost: 7.5e3,\n moneyCost: 2.375e7,\n info:\n \"The rib cage is augmented to continuously release boosters into the bloodstream \" +\n \"which increase the oxygen-carrying capacity of blood.\",\n strength: 1.1,\n defense: 1.1,\n factions: [\n FactionNames.SlumSnakes,\n FactionNames.TheDarkArmy,\n FactionNames.TheSyndicate,\n FactionNames.Volhaven,\n FactionNames.Ishima,\n FactionNames.OmniTekIncorporated,\n FactionNames.KuaiGongInternational,\n FactionNames.BladeIndustries,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.CombatRib2,\n repCost: 1.875e4,\n moneyCost: 6.5e7,\n info:\n \"An upgraded version of the 'Combat Rib' augmentation that adds potent stimulants which \" +\n \"improve focus and endurance while decreasing reaction time and fatigue.\",\n prereqs: [AugmentationNames.CombatRib1],\n strength: 1.14,\n defense: 1.14,\n factions: [\n FactionNames.TheDarkArmy,\n FactionNames.TheSyndicate,\n FactionNames.Volhaven,\n FactionNames.OmniTekIncorporated,\n FactionNames.KuaiGongInternational,\n FactionNames.BladeIndustries,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.CombatRib3,\n repCost: 3.5e4,\n moneyCost: 1.2e8,\n info:\n \"The latest version of the 'Combat Rib' augmentation releases advanced anabolic steroids that \" +\n \"improve muscle mass and physical performance while being safe and free of side effects.\",\n prereqs: [AugmentationNames.CombatRib2, AugmentationNames.CombatRib1],\n strength: 1.18,\n defense: 1.18,\n factions: [\n FactionNames.TheDarkArmy,\n FactionNames.TheSyndicate,\n FactionNames.OmniTekIncorporated,\n FactionNames.KuaiGongInternational,\n FactionNames.BladeIndustries,\n FactionNames.TheCovenant,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.NanofiberWeave,\n repCost: 3.75e4,\n moneyCost: 1.25e8,\n info:\n \"Synthetic nanofibers are woven into the skin's extracellular matrix using electrospinning, \" +\n \"which improves its regenerative and extracellular homeostasis abilities.\",\n strength: 1.2,\n defense: 1.2,\n factions: [\n FactionNames.TheDarkArmy,\n FactionNames.TheSyndicate,\n FactionNames.OmniTekIncorporated,\n FactionNames.BladeIndustries,\n FactionNames.TianDiHui,\n FactionNames.SpeakersForTheDead,\n FactionNames.FulcrumSecretTechnologies,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.SubdermalArmor,\n repCost: 8.75e5,\n moneyCost: 3.25e9,\n info:\n \"The NEMEAN Subdermal Weave is a thin, light-weight, graphene plating that houses a dilatant fluid. \" +\n \"The material is implanted underneath the skin, and is the most advanced form of defensive enhancement \" +\n \"that has ever been created. The dilatant fluid, despite being thin and light, is extremely effective \" +\n \"at stopping piercing blows and reducing blunt trauma. The properties of graphene allow the plating to \" +\n \"mitigate damage from any fire or electrical traumas.\",\n defense: 2.2,\n factions: [\n FactionNames.TheSyndicate,\n FactionNames.FulcrumSecretTechnologies,\n FactionNames.Illuminati,\n FactionNames.Daedalus,\n FactionNames.TheCovenant,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.WiredReflexes,\n repCost: 1.25e3,\n moneyCost: 2.5e6,\n info:\n \"Synthetic nerve-enhancements are injected into all major parts of the somatic nervous system, \" +\n \"supercharging the spread of neural signals and increasing reflex speed.\",\n agility: 1.05,\n dexterity: 1.05,\n factions: [\n FactionNames.TianDiHui,\n FactionNames.SlumSnakes,\n FactionNames.Sector12,\n FactionNames.Volhaven,\n FactionNames.Aevum,\n FactionNames.Ishima,\n FactionNames.TheSyndicate,\n FactionNames.TheDarkArmy,\n FactionNames.SpeakersForTheDead,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.GrapheneBoneLacings,\n repCost: 1.125e6,\n moneyCost: 4.25e9,\n info: \"Graphene is grafted and fused into the skeletal structure, enhancing bone density and tensile strength.\",\n strength: 1.7,\n defense: 1.7,\n factions: [FactionNames.FulcrumSecretTechnologies, FactionNames.TheCovenant],\n }),\n new Augmentation({\n name: AugmentationNames.BionicSpine,\n repCost: 4.5e4,\n moneyCost: 1.25e8,\n info:\n \"The spine is reconstructed using plasteel and carbon fibers. \" +\n \"It is now capable of stimulating and regulating neural signals \" +\n \"passing through the spinal cord, improving senses and reaction speed. \" +\n \"The 'Bionic Spine' also interfaces with all other 'Bionic' implants.\",\n strength: 1.15,\n defense: 1.15,\n agility: 1.15,\n dexterity: 1.15,\n factions: [\n FactionNames.SpeakersForTheDead,\n FactionNames.TheSyndicate,\n FactionNames.KuaiGongInternational,\n FactionNames.OmniTekIncorporated,\n FactionNames.BladeIndustries,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.GrapheneBionicSpine,\n repCost: 1.625e6,\n moneyCost: 6e9,\n info:\n \"An upgrade to the 'Bionic Spine' augmentation. The spine is fused with graphene \" +\n \"which enhances durability and supercharges all body functions.\",\n prereqs: [AugmentationNames.BionicSpine],\n strength: 1.6,\n defense: 1.6,\n agility: 1.6,\n dexterity: 1.6,\n factions: [FactionNames.FulcrumSecretTechnologies, FactionNames.ECorp],\n }),\n new Augmentation({\n name: AugmentationNames.BionicLegs,\n repCost: 1.5e5,\n moneyCost: 3.75e8,\n info: \"Cybernetic legs, created from plasteel and carbon fibers, enhance running speed.\",\n agility: 1.6,\n factions: [\n FactionNames.SpeakersForTheDead,\n FactionNames.TheSyndicate,\n FactionNames.KuaiGongInternational,\n FactionNames.OmniTekIncorporated,\n FactionNames.BladeIndustries,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.GrapheneBionicLegs,\n repCost: 7.5e5,\n moneyCost: 4.5e9,\n info:\n \"An upgrade to the 'Bionic Legs' augmentation. The legs are fused \" +\n \"with graphene, greatly enhancing jumping ability.\",\n prereqs: [AugmentationNames.BionicLegs],\n agility: 2.5,\n factions: [FactionNames.MegaCorp, FactionNames.ECorp, FactionNames.FulcrumSecretTechnologies],\n }),\n new Augmentation({\n name: AugmentationNames.SpeechProcessor,\n repCost: 7.5e3,\n moneyCost: 5e7,\n info:\n \"A cochlear implant with an embedded computer that analyzes incoming speech. \" +\n \"The embedded computer processes characteristics of incoming speech, such as tone \" +\n \"and inflection, to pick up on subtle cues and aid in social interactions.\",\n charisma: 1.2,\n factions: [\n FactionNames.TianDiHui,\n FactionNames.Chongqing,\n FactionNames.Sector12,\n FactionNames.NewTokyo,\n FactionNames.Aevum,\n FactionNames.Ishima,\n FactionNames.Volhaven,\n FactionNames.Silhouette,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.TITN41Injection,\n repCost: 2.5e4,\n moneyCost: 1.9e8,\n info:\n \"TITN is a series of viruses that targets and alters the sequences of human DNA in genes that \" +\n \"control personality. The TITN-41 strain alters these genes so that the subject becomes more \" +\n \"outgoing and sociable.\",\n charisma: 1.15,\n charisma_exp: 1.15,\n factions: [FactionNames.Silhouette],\n }),\n new Augmentation({\n name: AugmentationNames.EnhancedSocialInteractionImplant,\n repCost: 3.75e5,\n moneyCost: 1.375e9,\n info:\n \"A cranial implant that greatly assists in the user's ability to analyze social situations \" +\n \"and interactions. The system uses a wide variety of factors such as facial expression, body \" +\n \"language, voice tone, and inflection to determine the best course of action during social \" +\n \"situations. The implant also uses deep learning software to continuously learn new behavior \" +\n \"patterns and how to best respond.\",\n charisma: 1.6,\n charisma_exp: 1.6,\n factions: [\n FactionNames.BachmanAssociates,\n FactionNames.NWO,\n FactionNames.ClarkeIncorporated,\n FactionNames.OmniTekIncorporated,\n FactionNames.FourSigma,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.BitWire,\n repCost: 3.75e3,\n moneyCost: 1e7,\n info:\n \"A small brain implant embedded in the cerebrum. This regulates and improves the brain's computing \" +\n \"capabilities.\",\n hacking: 1.05,\n factions: [FactionNames.CyberSec, FactionNames.NiteSec],\n }),\n new Augmentation({\n name: AugmentationNames.ArtificialBioNeuralNetwork,\n repCost: 2.75e5,\n moneyCost: 3e9,\n info:\n \"A network consisting of millions of nanoprocessors is embedded into the brain. \" +\n \"The network is meant to mimic the way a biological brain solves a problem, with each \" +\n \"nanoprocessor acting similar to the way a neuron would in a neural network. However, these \" +\n \"nanoprocessors are programmed to perform computations much faster than organic neurons, \" +\n \"allowing the user to solve much more complex problems at a much faster rate.\",\n hacking_speed: 1.03,\n hacking_money: 1.15,\n hacking: 1.12,\n factions: [FactionNames.BitRunners, FactionNames.FulcrumSecretTechnologies],\n }),\n new Augmentation({\n name: AugmentationNames.ArtificialSynapticPotentiation,\n repCost: 6.25e3,\n moneyCost: 8e7,\n info:\n \"The body is injected with a chemical that artificially induces synaptic potentiation, \" +\n \"otherwise known as the strengthening of synapses. This results in enhanced cognitive abilities.\",\n hacking_speed: 1.02,\n hacking_chance: 1.05,\n hacking_exp: 1.05,\n factions: [FactionNames.TheBlackHand, FactionNames.NiteSec],\n }),\n new Augmentation({\n name: AugmentationNames.EnhancedMyelinSheathing,\n repCost: 1e5,\n moneyCost: 1.375e9,\n info:\n \"Electrical signals are used to induce a new, artificial form of myelinogenesis in the human body. \" +\n \"This process results in the proliferation of new, synthetic myelin sheaths in the nervous \" +\n \"system. These myelin sheaths can propogate neuro-signals much faster than their organic \" +\n \"counterparts, leading to greater processing speeds and better brain function.\",\n hacking_speed: 1.03,\n hacking_exp: 1.1,\n hacking: 1.08,\n factions: [FactionNames.FulcrumSecretTechnologies, FactionNames.BitRunners, FactionNames.TheBlackHand],\n }),\n new Augmentation({\n name: AugmentationNames.SynapticEnhancement,\n repCost: 2e3,\n moneyCost: 7.5e6,\n info:\n \"A small cranial implant that continuously uses weak electrical signals to stimulate the brain and \" +\n \"induce stronger synaptic activity. This improves the user's cognitive abilities.\",\n hacking_speed: 1.03,\n factions: [FactionNames.CyberSec, FactionNames.Aevum],\n }),\n new Augmentation({\n name: AugmentationNames.NeuralRetentionEnhancement,\n repCost: 2e4,\n moneyCost: 2.5e8,\n info:\n \"Chemical injections are used to permanently alter and strengthen the brain's neuronal \" +\n \"circuits, strengthening the ability to retain information.\",\n hacking_exp: 1.25,\n factions: [FactionNames.NiteSec],\n }),\n new Augmentation({\n name: AugmentationNames.DataJack,\n repCost: 1.125e5,\n moneyCost: 4.5e8,\n info:\n \"A brain implant that provides an interface for direct, wireless communication between a computer's main \" +\n \"memory and the mind. This implant allows the user to not only access a computer's memory, but also alter \" +\n \"and delete it.\",\n hacking_money: 1.25,\n factions: [\n FactionNames.BitRunners,\n FactionNames.TheBlackHand,\n FactionNames.NiteSec,\n FactionNames.Chongqing,\n FactionNames.NewTokyo,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.ENM,\n repCost: 1.5e4,\n moneyCost: 2.5e8,\n info:\n \"A thin device embedded inside the arm containing a wireless module capable of connecting \" +\n \"to nearby networks. Once connected, the Netburner Module is capable of capturing and \" +\n \"processing all of the traffic on that network. By itself, the Embedded Netburner Module does \" +\n \"not do much, but a variety of very powerful upgrades can be installed that allow you to fully \" +\n \"control the traffic on a network.\",\n hacking: 1.08,\n factions: [\n FactionNames.BitRunners,\n FactionNames.TheBlackHand,\n FactionNames.NiteSec,\n FactionNames.ECorp,\n FactionNames.MegaCorp,\n FactionNames.FulcrumSecretTechnologies,\n FactionNames.NWO,\n FactionNames.BladeIndustries,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.ENMCore,\n repCost: 175e3,\n moneyCost: 2.5e9,\n info:\n \"The Core library is an implant that upgrades the firmware of the Embedded Netburner Module. \" +\n \"This upgrade allows the Embedded Netburner Module to generate its own data on a network.\",\n prereqs: [AugmentationNames.ENM],\n hacking_speed: 1.03,\n hacking_money: 1.1,\n hacking_chance: 1.03,\n hacking_exp: 1.07,\n hacking: 1.07,\n factions: [\n FactionNames.BitRunners,\n FactionNames.TheBlackHand,\n FactionNames.ECorp,\n FactionNames.MegaCorp,\n FactionNames.FulcrumSecretTechnologies,\n FactionNames.NWO,\n FactionNames.BladeIndustries,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.ENMCoreV2,\n repCost: 1e6,\n moneyCost: 4.5e9,\n info:\n \"The Core V2 library is an implant that upgrades the firmware of the Embedded Netburner Module. \" +\n \"This upgraded firmware allows the Embedded Netburner Module to control information on \" +\n \"a network by re-routing traffic, spoofing IP addresses, and altering the data inside network \" +\n \"packets.\",\n prereqs: [AugmentationNames.ENMCore, AugmentationNames.ENM],\n hacking_speed: 1.05,\n hacking_money: 1.3,\n hacking_chance: 1.05,\n hacking_exp: 1.15,\n hacking: 1.08,\n factions: [\n FactionNames.BitRunners,\n FactionNames.ECorp,\n FactionNames.MegaCorp,\n FactionNames.FulcrumSecretTechnologies,\n FactionNames.NWO,\n FactionNames.BladeIndustries,\n FactionNames.OmniTekIncorporated,\n FactionNames.KuaiGongInternational,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.ENMCoreV3,\n repCost: 1.75e6,\n moneyCost: 7.5e9,\n info:\n \"The Core V3 library is an implant that upgrades the firmware of the Embedded Netburner Module. \" +\n \"This upgraded firmware allows the Embedded Netburner Module to seamlessly inject code into \" +\n \"any device on a network.\",\n prereqs: [AugmentationNames.ENMCoreV2, AugmentationNames.ENMCore, AugmentationNames.ENM],\n hacking_speed: 1.05,\n hacking_money: 1.4,\n hacking_chance: 1.1,\n hacking_exp: 1.25,\n hacking: 1.1,\n factions: [\n FactionNames.ECorp,\n FactionNames.MegaCorp,\n FactionNames.FulcrumSecretTechnologies,\n FactionNames.NWO,\n FactionNames.Daedalus,\n FactionNames.TheCovenant,\n FactionNames.Illuminati,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.ENMAnalyzeEngine,\n repCost: 6.25e5,\n moneyCost: 6e9,\n info:\n \"Installs the Analyze Engine for the Embedded Netburner Module, which is a CPU cluster \" +\n \"that vastly outperforms the Netburner Module's native single-core processor.\",\n prereqs: [AugmentationNames.ENM],\n hacking_speed: 1.1,\n factions: [\n FactionNames.ECorp,\n FactionNames.MegaCorp,\n FactionNames.FulcrumSecretTechnologies,\n FactionNames.NWO,\n FactionNames.Daedalus,\n FactionNames.TheCovenant,\n FactionNames.Illuminati,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.ENMDMA,\n repCost: 1e6,\n moneyCost: 7e9,\n info:\n \"This implant installs a Direct Memory Access (DMA) controller into the \" +\n \"Embedded Netburner Module. This allows the Module to send and receive data \" +\n \"directly to and from the main memory of devices on a network.\",\n prereqs: [AugmentationNames.ENM],\n hacking_money: 1.4,\n hacking_chance: 1.2,\n factions: [\n FactionNames.ECorp,\n FactionNames.MegaCorp,\n FactionNames.FulcrumSecretTechnologies,\n FactionNames.NWO,\n FactionNames.Daedalus,\n FactionNames.TheCovenant,\n FactionNames.Illuminati,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.Neuralstimulator,\n repCost: 5e4,\n moneyCost: 3e9,\n info:\n \"A cranial implant that intelligently stimulates certain areas of the brain \" +\n \"in order to improve cognitive functions.\",\n hacking_speed: 1.02,\n hacking_chance: 1.1,\n hacking_exp: 1.12,\n factions: [\n FactionNames.TheBlackHand,\n FactionNames.Chongqing,\n FactionNames.Sector12,\n FactionNames.NewTokyo,\n FactionNames.Aevum,\n FactionNames.Ishima,\n FactionNames.Volhaven,\n FactionNames.BachmanAssociates,\n FactionNames.ClarkeIncorporated,\n FactionNames.FourSigma,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.NeuralAccelerator,\n repCost: 2e5,\n moneyCost: 1.75e9,\n info:\n \"A microprocessor that accelerates the processing \" +\n \"speed of biological neural networks. This is a cranial implant that is embedded inside the brain.\",\n hacking: 1.1,\n hacking_exp: 1.15,\n hacking_money: 1.2,\n factions: [FactionNames.BitRunners],\n }),\n new Augmentation({\n name: AugmentationNames.CranialSignalProcessorsG1,\n repCost: 1e4,\n moneyCost: 7e7,\n info:\n \"The first generation of Cranial Signal Processors. Cranial Signal Processors \" +\n \"are a set of specialized microprocessors that are attached to \" +\n \"neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations \" +\n \"so that the brain doesn't have to.\",\n hacking_speed: 1.01,\n hacking: 1.05,\n factions: [FactionNames.CyberSec, FactionNames.NiteSec],\n }),\n new Augmentation({\n name: AugmentationNames.CranialSignalProcessorsG2,\n repCost: 1.875e4,\n moneyCost: 1.25e8,\n info:\n \"The second generation of Cranial Signal Processors. Cranial Signal Processors \" +\n \"are a set of specialized microprocessors that are attached to \" +\n \"neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations \" +\n \"so that the brain doesn't have to.\",\n prereqs: [AugmentationNames.CranialSignalProcessorsG1],\n hacking_speed: 1.02,\n hacking_chance: 1.05,\n hacking: 1.07,\n factions: [FactionNames.CyberSec, FactionNames.NiteSec],\n }),\n new Augmentation({\n name: AugmentationNames.CranialSignalProcessorsG3,\n repCost: 5e4,\n moneyCost: 5.5e8,\n info:\n \"The third generation of Cranial Signal Processors. Cranial Signal Processors \" +\n \"are a set of specialized microprocessors that are attached to \" +\n \"neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations \" +\n \"so that the brain doesn't have to.\",\n prereqs: [AugmentationNames.CranialSignalProcessorsG2, AugmentationNames.CranialSignalProcessorsG1],\n hacking_speed: 1.02,\n hacking_money: 1.15,\n hacking: 1.09,\n factions: [FactionNames.NiteSec, FactionNames.TheBlackHand, FactionNames.BitRunners],\n }),\n new Augmentation({\n name: AugmentationNames.CranialSignalProcessorsG4,\n repCost: 1.25e5,\n moneyCost: 1.1e9,\n info:\n \"The fourth generation of Cranial Signal Processors. Cranial Signal Processors \" +\n \"are a set of specialized microprocessors that are attached to \" +\n \"neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations \" +\n \"so that the brain doesn't have to.\",\n prereqs: [\n AugmentationNames.CranialSignalProcessorsG3,\n AugmentationNames.CranialSignalProcessorsG2,\n AugmentationNames.CranialSignalProcessorsG1,\n ],\n hacking_speed: 1.02,\n hacking_money: 1.2,\n hacking_grow: 1.25,\n factions: [FactionNames.TheBlackHand, FactionNames.BitRunners],\n }),\n new Augmentation({\n name: AugmentationNames.CranialSignalProcessorsG5,\n repCost: 2.5e5,\n moneyCost: 2.25e9,\n info:\n \"The fifth generation of Cranial Signal Processors. Cranial Signal Processors \" +\n \"are a set of specialized microprocessors that are attached to \" +\n \"neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations \" +\n \"so that the brain doesn't have to.\",\n prereqs: [\n AugmentationNames.CranialSignalProcessorsG4,\n AugmentationNames.CranialSignalProcessorsG3,\n AugmentationNames.CranialSignalProcessorsG2,\n AugmentationNames.CranialSignalProcessorsG1,\n ],\n hacking: 1.3,\n hacking_money: 1.25,\n hacking_grow: 1.75,\n factions: [FactionNames.BitRunners],\n }),\n new Augmentation({\n name: AugmentationNames.NeuronalDensification,\n repCost: 1.875e5,\n moneyCost: 1.375e9,\n info:\n \"The brain is surgically re-engineered to have increased neuronal density \" +\n \"by decreasing the neuron gap junction. Then, the body is genetically modified \" +\n \"to enhance the production and capabilities of its neural stem cells.\",\n hacking: 1.15,\n hacking_exp: 1.1,\n hacking_speed: 1.03,\n factions: [FactionNames.ClarkeIncorporated],\n }),\n new Augmentation({\n name: AugmentationNames.NuoptimalInjectorImplant,\n repCost: 5e3,\n moneyCost: 2e7,\n info:\n \"This torso implant automatically injects nootropic supplements into \" +\n \"the bloodstream to improve memory, increase focus, and provide other \" +\n \"cognitive enhancements.\",\n company_rep: 1.2,\n factions: [\n FactionNames.TianDiHui,\n FactionNames.Volhaven,\n FactionNames.NewTokyo,\n FactionNames.Chongqing,\n FactionNames.ClarkeIncorporated,\n FactionNames.FourSigma,\n FactionNames.BachmanAssociates,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.SpeechEnhancement,\n repCost: 2.5e3,\n moneyCost: 1.25e7,\n info:\n \"An advanced neural implant that improves your speaking abilities, making \" +\n \"you more convincing and likable in conversations and overall improving your \" +\n \"social interactions.\",\n company_rep: 1.1,\n charisma: 1.1,\n factions: [\n FactionNames.TianDiHui,\n FactionNames.SpeakersForTheDead,\n FactionNames.FourSigma,\n FactionNames.KuaiGongInternational,\n FactionNames.ClarkeIncorporated,\n FactionNames.BachmanAssociates,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.FocusWire,\n repCost: 7.5e4,\n moneyCost: 9e8,\n info: \"A cranial implant that stops procrastination by blocking specific neural pathways in the brain.\",\n hacking_exp: 1.05,\n strength_exp: 1.05,\n defense_exp: 1.05,\n dexterity_exp: 1.05,\n agility_exp: 1.05,\n charisma_exp: 1.05,\n company_rep: 1.1,\n work_money: 1.2,\n factions: [\n FactionNames.BachmanAssociates,\n FactionNames.ClarkeIncorporated,\n FactionNames.FourSigma,\n FactionNames.KuaiGongInternational,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.PCDNI,\n repCost: 3.75e5,\n moneyCost: 3.75e9,\n info:\n \"Installs a Direct-Neural Interface jack into your arm that is compatible with most \" +\n \"computers. Connecting to a computer through this jack allows you to interface with \" +\n \"it using the brain's electrochemical signals.\",\n company_rep: 1.3,\n hacking: 1.08,\n factions: [\n FactionNames.FourSigma,\n FactionNames.OmniTekIncorporated,\n FactionNames.ECorp,\n FactionNames.BladeIndustries,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.PCDNIOptimizer,\n repCost: 5e5,\n moneyCost: 4.5e9,\n info:\n \"This is a submodule upgrade to the PC Direct-Neural Interface augmentation. It \" +\n \"improves the performance of the interface and gives the user more control options \" +\n \"to a connected computer.\",\n prereqs: [AugmentationNames.PCDNI],\n company_rep: 1.75,\n hacking: 1.1,\n factions: [FactionNames.FulcrumSecretTechnologies, FactionNames.ECorp, FactionNames.BladeIndustries],\n }),\n new Augmentation({\n name: AugmentationNames.PCDNINeuralNetwork,\n repCost: 1.5e6,\n moneyCost: 7.5e9,\n info:\n \"This is an additional installation that upgrades the functionality of the \" +\n \"PC Direct-Neural Interface augmentation. When connected to a computer, \" +\n \"the Neural Network upgrade allows the user to use their own brain's \" +\n \"processing power to aid the computer in computational tasks.\",\n prereqs: [AugmentationNames.PCDNI],\n company_rep: 2,\n hacking: 1.1,\n hacking_speed: 1.05,\n factions: [FactionNames.FulcrumSecretTechnologies],\n }),\n new Augmentation({\n name: AugmentationNames.ADRPheromone1,\n repCost: 3.75e3,\n moneyCost: 1.75e7,\n info:\n \"The body is genetically re-engineered so that it produces the ADR-V1 pheromone, \" +\n \"an artificial pheromone discovered by scientists. The ADR-V1 pheromone, when excreted, \" +\n \"triggers feelings of admiration and approval in other people.\",\n company_rep: 1.1,\n faction_rep: 1.1,\n factions: [\n FactionNames.TianDiHui,\n FactionNames.TheSyndicate,\n FactionNames.NWO,\n FactionNames.MegaCorp,\n FactionNames.FourSigma,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.ADRPheromone2,\n repCost: 6.25e4,\n moneyCost: 5.5e8,\n info:\n \"The body is genetically re-engineered so that it produces the ADR-V2 pheromone, \" +\n \"which is similar to but more potent than ADR-V1. This pheromone, when excreted, \" +\n \"triggers feelings of admiration, approval, and respect in others.\",\n company_rep: 1.2,\n faction_rep: 1.2,\n factions: [\n FactionNames.Silhouette,\n FactionNames.FourSigma,\n FactionNames.BachmanAssociates,\n FactionNames.ClarkeIncorporated,\n ],\n }),\n new Augmentation({\n name: AugmentationNames.ShadowsSimulacrum,\n repCost: 3.75e4,\n moneyCost: 4e8,\n info:\n \"A crude but functional matter phase-shifter module that is embedded \" +\n \"in the brainstem and cerebellum. This augmentation was developed by \" +\n \"criminal organizations and allows the user to project and control holographic \" +\n \"simulacrums within a large radius. These simulacrums are commonly used for \" +\n \"espionage and surveillance work.\",\n company_rep: 1.15,\n faction_rep: 1.15,\n factions: [FactionNames.TheSyndicate, FactionNames.TheDarkArmy, FactionNames.SpeakersForTheDead],\n }),\n new Augmentation({\n name: AugmentationNames.HacknetNodeCPUUpload,\n repCost: 3.75e3,\n moneyCost: 1.1e7,\n info:\n \"Uploads the architecture and design details of a Hacknet Node's CPU into \" +\n \"the brain. This allows the user to engineer custom hardware and software \" +\n \"for the Hacknet Node that provides better performance.\",\n hacknet_node_money: 1.15,\n hacknet_node_purchase_cost: 0.85,\n factions: [FactionNames.Netburners],\n }),\n new Augmentation({\n name: AugmentationNames.HacknetNodeCacheUpload,\n repCost: 2.5e3,\n moneyCost: 5.5e6,\n info:\n \"Uploads the architecture and design details of a Hacknet Node's main-memory cache \" +\n \"into the brain. This allows the user to engineer custom cache hardware for the \" +\n \"Hacknet Node that offers better performance.\",\n hacknet_node_money: 1.1,\n hacknet_node_level_cost: 0.85,\n factions: [FactionNames.Netburners],\n }),\n new Augmentation({\n name: AugmentationNames.HacknetNodeNICUpload,\n repCost: 1.875e3,\n moneyCost: 4.5e6,\n info:\n \"Uploads the architecture and design details of a Hacknet Node's Network Interface Card (NIC) \" +\n \"into the brain. This allows the user to engineer a custom NIC for the Hacknet Node that \" +\n \"offers better performance.\",\n hacknet_node_money: 1.1,\n hacknet_node_purchase_cost: 0.9,\n factions: [FactionNames.Netburners],\n }),\n new Augmentation({\n name: AugmentationNames.HacknetNodeKernelDNI,\n repCost: 7.5e3,\n moneyCost: 4e7,\n info:\n \"Installs a Direct-Neural Interface jack into the arm that is capable of connecting to a \" +\n \"Hacknet Node. This lets the user access and manipulate the Node's kernel using \" +\n \"electrochemical signals.\",\n hacknet_node_money: 1.25,\n factions: [FactionNames.Netburners],\n }),\n new Augmentation({\n name: AugmentationNames.HacknetNodeCoreDNI,\n repCost: 1.25e4,\n moneyCost: 6e7,\n info:\n \"Installs a Direct-Neural Interface jack into the arm that is capable of connecting \" +\n \"to a Hacknet Node. This lets the user access and manipulate the Node's processing logic using \" +\n \"electrochemical signals.\",\n hacknet_node_money: 1.45,\n factions: [FactionNames.Netburners],\n }),\n new Augmentation({\n name: AugmentationNames.Neurotrainer1,\n repCost: 1e3,\n moneyCost: 4e6,\n info:\n \"A decentralized cranial implant that improves the brain's ability to learn. It is \" +\n \"installed by releasing millions of nanobots into the human brain, each of which \" +\n \"attaches to a different neural pathway to enhance the brain's ability to retain \" +\n \"and retrieve information.\",\n hacking_exp: 1.1,\n strength_exp: 1.1,\n defense_exp: 1.1,\n dexterity_exp: 1.1,\n agility_exp: 1.1,\n charisma_exp: 1.1,\n factions: [FactionNames.CyberSec, FactionNames.Aevum],\n }),\n new Augmentation({\n name: AugmentationNames.Neurotrainer2,\n repCost: 1e4,\n moneyCost: 4.5e7,\n info:\n \"A decentralized cranial implant that improves the brain's ability to learn. This \" +\n \"is a more powerful version of the Neurotrainer I augmentation, but it does not \" +\n \"require Neurotrainer I to be installed as a prerequisite.\",\n hacking_exp: 1.15,\n strength_exp: 1.15,\n defense_exp: 1.15,\n dexterity_exp: 1.15,\n agility_exp: 1.15,\n charisma_exp: 1.15,\n factions: [FactionNames.BitRunners, FactionNames.NiteSec],\n }),\n new Augmentation({\n name: AugmentationNames.Neurotrainer3,\n repCost: 2.5e4,\n moneyCost: 1.3e8,\n info:\n \"A decentralized cranial implant that improves the brain's ability to learn. This \" +\n \"is a more powerful version of the Neurotrainer I and Neurotrainer II augmentation, \" +\n \"but it does not require either of them to be installed as a prerequisite.\",\n hacking_exp: 1.2,\n strength_exp: 1.2,\n defense_exp: 1.2,\n dexterity_exp: 1.2,\n agility_exp: 1.2,\n charisma_exp: 1.2,\n factions: [FactionNames.NWO, FactionNames.FourSigma],\n }),\n new Augmentation({\n name: AugmentationNames.Hypersight,\n repCost: 1.5e5,\n moneyCost: 2.75e9,\n info:\n \"A bionic eye implant that grants sight capabilities far beyond those of a natural human. \" +\n \"Embedded circuitry within the implant provides the ability to detect heat and movement \" +\n \"through solid objects such as walls, thus providing 'x-ray vision'-like capabilities.\",\n dexterity: 1.4,\n hacking_speed: 1.03,\n hacking_money: 1.1,\n factions: [FactionNames.BladeIndustries, FactionNames.KuaiGongInternational],\n }),\n new Augmentation({\n name: AugmentationNames.LuminCloaking1,\n repCost: 1.5e3,\n moneyCost: 5e6,\n info:\n \"A skin implant that reinforces the skin with highly-advanced synthetic cells. These \" +\n \"cells, when powered, have a negative refractive index. As a result, they bend light \" +\n \"around the skin, making the user much harder to see with the naked eye.\",\n agility: 1.05,\n crime_money: 1.1,\n factions: [FactionNames.SlumSnakes, FactionNames.Tetrads],\n }),\n new Augmentation({\n name: AugmentationNames.LuminCloaking2,\n repCost: 5e3,\n moneyCost: 3e7,\n info:\n \"This is a more advanced version of the LuminCloaking-V1 augmentation. This skin implant \" +\n \"reinforces the skin with highly-advanced synthetic cells. These \" +\n \"cells, when powered, are capable of not only bending light but also of bending heat, \" +\n \"making the user more resilient as well as stealthy.\",\n prereqs: [AugmentationNames.LuminCloaking1],\n agility: 1.1,\n defense: 1.1,\n crime_money: 1.25,\n factions: [FactionNames.SlumSnakes, FactionNames.Tetrads],\n }),\n new Augmentation({\n name: AugmentationNames.SmartSonar,\n repCost: 2.25e4,\n moneyCost: 7.5e7,\n info: \"A cochlear implant that helps the player detect and locate enemies using sound propagation.\",\n dexterity: 1.1,\n dexterity_exp: 1.15,\n crime_money: 1.25,\n factions: [FactionNames.SlumSnakes],\n }),\n new Augmentation({\n name: AugmentationNames.PowerRecirculator,\n repCost: 2.5e4,\n moneyCost: 1.8e8,\n info:\n \"The body's nerves are attached with polypyrrole nanocircuits that \" +\n \"are capable of capturing wasted energy, in the form of heat, \" +\n \"and converting it back into usable power.\",\n hacking: 1.05,\n strength: 1.05,\n defense: 1.05,\n dexterity: 1.05,\n agility: 1.05,\n charisma: 1.05,\n hacking_exp: 1.1,\n strength_exp: 1.1,\n defense_exp: 1.1,\n dexterity_exp: 1.1,\n agility_exp: 1.1,\n charisma_exp: 1.1,\n factions: [FactionNames.Tetrads, FactionNames.TheDarkArmy, FactionNames.TheSyndicate, FactionNames.NWO],\n }),\n new Augmentation({\n name: AugmentationNames.QLink,\n repCost: 1.875e6,\n moneyCost: 2.5e13,\n info:\n `A brain implant that wirelessly connects you to the ${FactionNames.Illuminati}'s ` +\n \"quantum supercomputer, allowing you to access and use its incredible \" +\n \"computing power.\",\n hacking: 1.75,\n hacking_speed: 2,\n hacking_chance: 2.5,\n hacking_money: 4,\n factions: [FactionNames.Illuminati],\n }),\n new Augmentation({\n name: AugmentationNames.SPTN97,\n repCost: 1.25e6,\n moneyCost: 4.875e9,\n info:\n \"The SPTN-97 gene is injected into the genome. The SPTN-97 gene is an \" +\n \"artificially-synthesized gene that was developed by DARPA to create \" +\n \"super-soldiers through genetic modification. The gene was outlawed in \" +\n \"2056.\",\n strength: 1.75,\n defense: 1.75,\n dexterity: 1.75,\n agility: 1.75,\n hacking: 1.15,\n factions: [FactionNames.TheCovenant],\n }),\n new Augmentation({\n name: AugmentationNames.HiveMind,\n repCost: 1.5e6,\n moneyCost: 5.5e9,\n info:\n `A brain implant developed by ${FactionNames.ECorp}. They do not reveal what ` +\n \"exactly the implant does, but they promise that it will greatly \" +\n \"enhance your abilities.\",\n hacking_grow: 3,\n stats: null,\n factions: [FactionNames.ECorp],\n }),\n new Augmentation({\n name: AugmentationNames.TheRedPill,\n repCost: 2.5e6,\n moneyCost: 0,\n info: \"It's time to leave the cave.\",\n stats: null,\n isSpecial: true,\n factions: [FactionNames.Daedalus],\n }),\n new Augmentation({\n name: AugmentationNames.CordiARCReactor,\n repCost: 1.125e6,\n moneyCost: 5e9,\n info:\n \"The thoracic cavity is equipped with a small chamber designed \" +\n \"to hold and sustain hydrogen plasma. The plasma is used to generate \" +\n \"fusion power through nuclear fusion, providing limitless amounts of clean \" +\n \"energy for the body.\",\n strength: 1.35,\n defense: 1.35,\n dexterity: 1.35,\n agility: 1.35,\n strength_exp: 1.35,\n defense_exp: 1.35,\n dexterity_exp: 1.35,\n agility_exp: 1.35,\n factions: [FactionNames.MegaCorp],\n }),\n new Augmentation({\n name: AugmentationNames.SmartJaw,\n repCost: 3.75e5,\n moneyCost: 2.75e9,\n info:\n \"A bionic jaw that contains advanced hardware and software \" +\n \"capable of psychoanalyzing and profiling the personality of \" +\n \"others using optical imaging software.\",\n charisma: 1.5,\n charisma_exp: 1.5,\n company_rep: 1.25,\n faction_rep: 1.25,\n factions: [FactionNames.BachmanAssociates],\n }),\n new Augmentation({\n name: AugmentationNames.Neotra,\n repCost: 5.625e5,\n moneyCost: 2.875e9,\n info:\n \"A highly-advanced techno-organic drug that is injected into the skeletal \" +\n \"and integumentary system. The drug permanently modifies the DNA of the \" +\n \"body's skin and bone cells, granting them the ability to repair \" +\n \"and restructure themselves.\",\n strength: 1.55,\n defense: 1.55,\n factions: [FactionNames.BladeIndustries],\n }),\n new Augmentation({\n name: AugmentationNames.Xanipher,\n repCost: 8.75e5,\n moneyCost: 4.25e9,\n info:\n \"A concoction of advanced nanobots that is orally ingested into the \" +\n \"body. These nanobots induce physiological changes and significantly \" +\n \"improve the body's functioning in all aspects.\",\n hacking: 1.2,\n strength: 1.2,\n defense: 1.2,\n dexterity: 1.2,\n agility: 1.2,\n charisma: 1.2,\n hacking_exp: 1.15,\n strength_exp: 1.15,\n defense_exp: 1.15,\n dexterity_exp: 1.15,\n agility_exp: 1.15,\n charisma_exp: 1.15,\n factions: [FactionNames.NWO],\n }),\n new Augmentation({\n name: AugmentationNames.HydroflameLeftArm,\n repCost: 1.25e6,\n moneyCost: 2.5e12,\n info:\n \"The left arm of a legendary BitRunner who ascended beyond this world. \" +\n \"It projects a light blue energy shield that protects the exposed inner parts. \" +\n \"Even though it contains no weapons, the advanced tungsten titanium \" +\n \"alloy increases the user's strength to unbelievable levels. The augmentation \" +\n \"gets more powerful over time for seemingly no reason.\",\n strength: 2.7,\n factions: [FactionNames.NWO],\n }),\n new Augmentation({\n name: AugmentationNames.nextSENS,\n repCost: 4.375e5,\n moneyCost: 1.925e9,\n info:\n \"The body is genetically re-engineered to maintain a state \" +\n \"of negligible senescence, preventing the body from \" +\n \"deteriorating with age.\",\n hacking: 1.2,\n strength: 1.2,\n defense: 1.2,\n dexterity: 1.2,\n agility: 1.2,\n charisma: 1.2,\n factions: [FactionNames.ClarkeIncorporated],\n }),\n new Augmentation({\n name: AugmentationNames.OmniTekInfoLoad,\n repCost: 6.25e5,\n moneyCost: 2.875e9,\n info:\n \"OmniTek's data and information repository is uploaded \" +\n \"into your brain, enhancing your programming and \" +\n \"hacking abilities.\",\n hacking: 1.2,\n hacking_exp: 1.25,\n factions: [FactionNames.OmniTekIncorporated],\n }),\n new Augmentation({\n name: AugmentationNames.PhotosyntheticCells,\n repCost: 5.625e5,\n moneyCost: 2.75e9,\n info:\n \"Chloroplasts are added to epidermal stem cells and are applied \" +\n \"to the body using a skin graft. The result is photosynthetic \" +\n \"skin cells, allowing users to generate their own energy \" +\n \"and nutrition using solar power.\",\n strength: 1.4,\n defense: 1.4,\n agility: 1.4,\n factions: [FactionNames.KuaiGongInternational],\n }),\n new Augmentation({\n name: AugmentationNames.Neurolink,\n repCost: 8.75e5,\n moneyCost: 4.375e9,\n info:\n \"A brain implant that provides a high-bandwidth, direct neural link between your \" +\n `mind and the ${FactionNames.BitRunners}' data servers, which reportedly contain ` +\n \"the largest database of hacking tools and information in the world.\",\n hacking: 1.15,\n hacking_exp: 1.2,\n hacking_chance: 1.1,\n hacking_speed: 1.05,\n programs: [Programs.FTPCrackProgram.name, Programs.RelaySMTPProgram.name],\n factions: [FactionNames.BitRunners],\n }),\n new Augmentation({\n name: AugmentationNames.TheBlackHand,\n repCost: 1e5,\n moneyCost: 5.5e8,\n info:\n \"A highly advanced bionic hand. This prosthetic not only \" +\n \"enhances strength and dexterity but it is also embedded \" +\n \"with hardware and firmware that lets the user connect to, access, and hack \" +\n \"devices and machines by just touching them.\",\n strength: 1.15,\n dexterity: 1.15,\n hacking: 1.1,\n hacking_speed: 1.02,\n hacking_money: 1.1,\n factions: [FactionNames.TheBlackHand],\n }),\n new Augmentation({\n name: AugmentationNames.CRTX42AA,\n repCost: 4.5e4,\n moneyCost: 2.25e8,\n info:\n \"The CRTX42-AA gene is injected into the genome. \" +\n \"The CRTX42-AA is an artificially-synthesized gene that targets the visual and prefrontal \" +\n \"cortex and improves cognitive abilities.\",\n hacking: 1.08,\n hacking_exp: 1.15,\n factions: [FactionNames.NiteSec],\n }),\n new Augmentation({\n name: AugmentationNames.Neuregen,\n repCost: 3.75e4,\n moneyCost: 3.75e8,\n info:\n \"A drug that genetically modifies the neurons in the brain \" +\n \"resulting in neurons that never die, continuously \" +\n \"regenerate, and strengthen themselves.\",\n hacking_exp: 1.4,\n factions: [FactionNames.Chongqing],\n }),\n new Augmentation({\n name: AugmentationNames.CashRoot,\n repCost: 1.25e4,\n moneyCost: 1.25e8,\n info: (\n <>\n A collection of digital assets saved on a small chip. The chip is implanted into your wrist. A small jack in the\n chip allows you to connect it to a computer and upload the assets.\n >\n ),\n startingMoney: 1e6,\n programs: [Programs.BruteSSHProgram.name],\n factions: [FactionNames.Sector12],\n }),\n new Augmentation({\n name: AugmentationNames.NutriGen,\n repCost: 6.25e3,\n moneyCost: 2.5e6,\n info:\n \"A thermo-powered artificial nutrition generator. Endogenously \" +\n \"synthesizes glucose, amino acids, and vitamins and redistributes them \" +\n \"across the body. The device is powered by the body's naturally wasted \" +\n \"energy in the form of heat.\",\n strength_exp: 1.2,\n defense_exp: 1.2,\n dexterity_exp: 1.2,\n agility_exp: 1.2,\n factions: [FactionNames.NewTokyo],\n }),\n new Augmentation({\n name: AugmentationNames.PCMatrix,\n repCost: 100e3,\n moneyCost: 2e9,\n info:\n \"A 'Probability Computation Matrix' is installed in the frontal cortex. This implant \" +\n \"uses advanced mathematical algorithims to rapidly identify and compute statistical \" +\n \"outcomes of nearly every situation.\",\n charisma: 1.0777,\n charisma_exp: 1.0777,\n work_money: 1.777,\n faction_rep: 1.0777,\n company_rep: 1.0777,\n crime_success: 1.0777,\n crime_money: 1.0777,\n programs: [Programs.DeepscanV1.name, Programs.AutoLink.name],\n factions: [FactionNames.Aevum],\n }),\n new Augmentation({\n name: AugmentationNames.INFRARet,\n repCost: 7.5e3,\n moneyCost: 3e7,\n info: \"A tiny chip that sits behind the retinae. This implant lets the user visually detect infrared radiation.\",\n crime_success: 1.25,\n crime_money: 1.1,\n dexterity: 1.1,\n factions: [FactionNames.Ishima],\n }),\n new Augmentation({\n name: AugmentationNames.DermaForce,\n repCost: 1.5e4,\n moneyCost: 5e7,\n info:\n \"Synthetic skin that is grafted onto the body. This skin consists of \" +\n \"millions of nanobots capable of projecting high-density muon beams, \" +\n \"creating an energy barrier around the user.\",\n defense: 1.4,\n factions: [FactionNames.Volhaven],\n }),\n new Augmentation({\n name: AugmentationNames.GrapheneBrachiBlades,\n repCost: 2.25e5,\n moneyCost: 2.5e9,\n info:\n \"An upgrade to the BrachiBlades augmentation. It infuses \" +\n \"the retractable blades with an advanced graphene material \" +\n \"making them stronger and lighter.\",\n prereqs: [AugmentationNames.BrachiBlades],\n strength: 1.4,\n defense: 1.4,\n crime_success: 1.1,\n crime_money: 1.3,\n factions: [FactionNames.SpeakersForTheDead],\n }),\n new Augmentation({\n name: AugmentationNames.GrapheneBionicArms,\n repCost: 5e5,\n moneyCost: 3.75e9,\n info:\n \"An upgrade to the Bionic Arms augmentation. It infuses the \" +\n \"prosthetic arms with an advanced graphene material \" +\n \"to make them stronger and lighter.\",\n prereqs: [AugmentationNames.BionicArms],\n strength: 1.85,\n dexterity: 1.85,\n factions: [FactionNames.TheDarkArmy],\n }),\n new Augmentation({\n name: AugmentationNames.BrachiBlades,\n repCost: 1.25e4,\n moneyCost: 9e7,\n info: \"A set of retractable plasteel blades that are implanted in the arm, underneath the skin.\",\n strength: 1.15,\n defense: 1.15,\n crime_success: 1.1,\n crime_money: 1.15,\n factions: [FactionNames.TheSyndicate],\n }),\n new Augmentation({\n name: AugmentationNames.BionicArms,\n repCost: 6.25e4,\n moneyCost: 2.75e8,\n info: \"Cybernetic arms created from plasteel and carbon fibers that completely replace the user's organic arms.\",\n strength: 1.3,\n dexterity: 1.3,\n factions: [FactionNames.Tetrads],\n }),\n new Augmentation({\n name: AugmentationNames.SNA,\n repCost: 6.25e3,\n moneyCost: 3e7,\n info:\n \"A cranial implant that affects the user's personality, making them better \" +\n \"at negotiation in social situations.\",\n work_money: 1.1,\n company_rep: 1.15,\n faction_rep: 1.15,\n factions: [FactionNames.TianDiHui],\n }),\n new Augmentation({\n name: AugmentationNames.NeuroreceptorManager,\n repCost: 0.75e5,\n moneyCost: 5.5e8,\n info:\n \"A brain implant carefully assembled around the synapses, which \" +\n \"micromanages the activity and levels of various neuroreceptor \" +\n \"chemicals and modulates electrical activity to optimize concentration, \" +\n \"allowing the user to multitask much more effectively.\",\n stats: (\n <>\n This augmentation removes the penalty for not focusing on actions such as working in a job or working for a\n faction.\n >\n ),\n factions: [FactionNames.TianDiHui],\n }),\n\n // Grafting-exclusive Augmentation\n new Augmentation({\n name: AugmentationNames.CongruityImplant,\n repCost: Infinity,\n moneyCost: 50e12,\n info: (\n <>\n Developed by a pioneer in Grafting research, this implant generates pulses of stability which seem to have a\n nullifying effect versus the Entropy virus.\n \n \n Note: For unknown reasons, the lowercase n appears to be an integral component to its\n functionality.\n >\n ),\n stats: <>This Augmentation removes the Entropy virus, and prevents it from affecting you again.>,\n factions: [],\n }),\n];\n\nexport const initBladeburnerAugmentations = (): Augmentation[] => [\n new Augmentation({\n name: AugmentationNames.EsperEyewear,\n repCost: 1.25e3,\n moneyCost: 1.65e8,\n info:\n \"Ballistic-grade protective and retractable eyewear that was designed specifically \" +\n \"for Bladeburner units. This \" +\n \"is implanted by installing a mechanical frame in the skull's orbit. \" +\n \"This frame interfaces with the brain and allows the user to \" +\n \"automatically extrude and extract the eyewear. The eyewear protects \" +\n \"against debris, shrapnel, lasers, blinding flashes, and gas. It is also \" +\n \"embedded with a data processing chip that can be programmed to display an \" +\n \"AR HUD to assist the user in field missions.\",\n bladeburner_success_chance: 1.03,\n dexterity: 1.05,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.EMS4Recombination,\n repCost: 2.5e3,\n moneyCost: 2.75e8,\n info:\n \"A DNA recombination of the EMS-4 Gene. This genetic engineering \" +\n \"technique was originally used on Bladeburners during the Synthoid uprising \" +\n \"to induce wakefulness and concentration, suppress fear, reduce empathy, \" +\n \"improve reflexes, and improve memory among other things.\",\n bladeburner_success_chance: 1.03,\n bladeburner_analysis: 1.05,\n bladeburner_stamina_gain: 1.02,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.OrionShoulder,\n repCost: 6.25e3,\n moneyCost: 5.5e8,\n info:\n \"A bionic shoulder augmentation for the right shoulder. Using cybernetics, \" +\n \"the ORION-MKIV shoulder enhances the strength and dexterity \" +\n \"of the user's right arm. It also provides protection due to its \" +\n \"crystallized graphene plating.\",\n defense: 1.05,\n strength: 1.05,\n dexterity: 1.05,\n bladeburner_success_chance: 1.04,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.HyperionV1,\n repCost: 1.25e4,\n moneyCost: 2.75e9,\n info:\n \"A pair of mini plasma cannons embedded into the hands. The Hyperion is capable \" +\n \"of rapidly firing bolts of high-density plasma. The weapon is meant to \" +\n \"be used against augmented enemies as the ionized \" +\n \"nature of the plasma disrupts the electrical systems of Augmentations. However, \" +\n \"it can also be effective against non-augmented enemies due to its high temperature \" +\n \"and concussive force.\",\n bladeburner_success_chance: 1.06,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.HyperionV2,\n repCost: 2.5e4,\n moneyCost: 5.5e9,\n info:\n \"A pair of mini plasma cannons embedded into the hands. This augmentation \" +\n \"is more advanced and powerful than the original V1 model. This V2 model is \" +\n \"more power-efficient, more accurate, and can fire plasma bolts at a much \" +\n \"higher velocity than the V1 model.\",\n prereqs: [AugmentationNames.HyperionV1],\n bladeburner_success_chance: 1.08,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.GolemSerum,\n repCost: 3.125e4,\n moneyCost: 1.1e10,\n info:\n \"A serum that permanently enhances many aspects of human capabilities, \" +\n \"including strength, speed, immune system enhancements, and mitochondrial efficiency. The \" +\n \"serum was originally developed by the Chinese military in an attempt to \" +\n \"create super soldiers.\",\n strength: 1.07,\n defense: 1.07,\n dexterity: 1.07,\n agility: 1.07,\n bladeburner_stamina_gain: 1.05,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.VangelisVirus,\n repCost: 1.875e4,\n moneyCost: 2.75e9,\n info:\n \"A synthetic symbiotic virus that is injected into human brain tissue. The Vangelis virus \" +\n \"heightens the senses and focus of its host, and also enhances its intuition.\",\n dexterity_exp: 1.1,\n bladeburner_analysis: 1.1,\n bladeburner_success_chance: 1.04,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.VangelisVirus3,\n repCost: 3.75e4,\n moneyCost: 1.1e10,\n info:\n \"An improved version of Vangelis, a synthetic symbiotic virus that is \" +\n \"injected into human brain tissue. On top of the benefits of the original \" +\n \"virus, this also grants accelerated healing and enhanced \" +\n \"reflexes.\",\n prereqs: [AugmentationNames.VangelisVirus],\n defense_exp: 1.1,\n dexterity_exp: 1.1,\n bladeburner_analysis: 1.15,\n bladeburner_success_chance: 1.05,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.INTERLINKED,\n repCost: 2.5e4,\n moneyCost: 5.5e9,\n info:\n \"The DNA is genetically modified to enhance the human's body \" +\n \"extracellular matrix (ECM). This improves the ECM's ability to \" +\n \"structurally support the body and grants heightened strength and \" +\n \"durability.\",\n strength_exp: 1.05,\n defense_exp: 1.05,\n dexterity_exp: 1.05,\n agility_exp: 1.05,\n bladeburner_max_stamina: 1.1,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.BladeRunner,\n repCost: 2e4,\n moneyCost: 8.25e9,\n info:\n `A cybernetic foot augmentation that was specifically created for ${FactionNames.Bladeburners} ` +\n \"during the Synthoid Uprising. The organic musculature of the human foot \" +\n \"is enhanced with flexible carbon nanotube matrices that are controlled by \" +\n \"intelligent servo-motors.\",\n agility: 1.05,\n bladeburner_max_stamina: 1.05,\n bladeburner_stamina_gain: 1.05,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.BladeArmor,\n repCost: 1.25e4,\n moneyCost: 1.375e9,\n info:\n `A powered exoskeleton suit designed as armor for ${FactionNames.Bladeburners} units. This ` +\n \"exoskeleton is incredibly adaptable and can protect the wearer from blunt, piercing, \" +\n \"concussive, thermal, chemical, and electric trauma. It also enhances the user's \" +\n \"physical abilities.\",\n strength: 1.04,\n defense: 1.04,\n dexterity: 1.04,\n agility: 1.04,\n bladeburner_stamina_gain: 1.02,\n bladeburner_success_chance: 1.03,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.BladeArmorPowerCells,\n repCost: 1.875e4,\n moneyCost: 2.75e9,\n info:\n \"Upgrades the BLADE-51b Tesla Armor with Ion Power Cells, which are capable of \" +\n \"more efficiently storing and using power.\",\n prereqs: [AugmentationNames.BladeArmor],\n bladeburner_success_chance: 1.05,\n bladeburner_stamina_gain: 1.02,\n bladeburner_max_stamina: 1.05,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.BladeArmorEnergyShielding,\n repCost: 2.125e4,\n moneyCost: 5.5e9,\n info:\n \"Upgrades the BLADE-51b Tesla Armor with a plasma energy propulsion system \" +\n \"that is capable of projecting an energy shielding force field.\",\n prereqs: [AugmentationNames.BladeArmor],\n defense: 1.05,\n bladeburner_success_chance: 1.06,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.BladeArmorUnibeam,\n repCost: 3.125e4,\n moneyCost: 1.65e10,\n info:\n \"Upgrades the BLADE-51b Tesla Armor with a concentrated deuterium-fluoride laser \" +\n \"weapon. It's precision and accuracy makes it useful for quickly neutralizing \" +\n \"threats while keeping casualties to a minimum.\",\n prereqs: [AugmentationNames.BladeArmor],\n bladeburner_success_chance: 1.08,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.BladeArmorOmnibeam,\n repCost: 6.25e4,\n moneyCost: 2.75e10,\n info:\n \"Upgrades the BLADE-51b Tesla Armor Unibeam augmentation to use a \" +\n \"multiple-fiber system. This upgraded weapon uses multiple fiber laser \" +\n \"modules that combine together to form a single, more powerful beam of up to \" +\n \"2000MW.\",\n prereqs: [AugmentationNames.BladeArmorUnibeam],\n bladeburner_success_chance: 1.1,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.BladeArmorIPU,\n repCost: 1.5e4,\n moneyCost: 1.1e9,\n info:\n \"Upgrades the BLADE-51b Tesla Armor with an AI Information Processing \" +\n \"Unit that was specially designed to analyze Synthoid related data and \" +\n \"information.\",\n prereqs: [AugmentationNames.BladeArmor],\n bladeburner_analysis: 1.15,\n bladeburner_success_chance: 1.02,\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n new Augmentation({\n name: AugmentationNames.BladesSimulacrum,\n repCost: 1.25e3,\n moneyCost: 1.5e11,\n info:\n \"A highly-advanced matter phase-shifter module that is embedded \" +\n \"in the brainstem and cerebellum. This augmentation allows \" +\n \"the user to project and control a holographic simulacrum within an \" +\n \"extremely large radius. These specially-modified holograms were specifically \" +\n \"weaponized by Bladeburner units to be used against Synthoids.\",\n stats: (\n <>\n This augmentation allows you to perform Bladeburner actions and other actions (such as working, commiting\n crimes, etc.) at the same time.\n >\n ),\n isSpecial: true,\n factions: [FactionNames.Bladeburners],\n }),\n];\n\nexport const initChurchOfTheMachineGodAugmentations = (): Augmentation[] => [\n new Augmentation({\n name: AugmentationNames.StaneksGift1,\n repCost: 0,\n moneyCost: 0,\n info:\n 'Allison \"Mother\" Stanek imparts you with her gift. An ' +\n \"experimental Augmentation implanted at the base of the neck. \" +\n \"It allows you to overclock your entire system by carefully \" +\n \"changing the configuration.\",\n isSpecial: true,\n hacking_chance: 0.9,\n hacking_speed: 0.9,\n hacking_money: 0.9,\n hacking_grow: 0.9,\n hacking: 0.9,\n strength: 0.9,\n defense: 0.9,\n dexterity: 0.9,\n agility: 0.9,\n charisma: 0.9,\n hacking_exp: 0.9,\n strength_exp: 0.9,\n defense_exp: 0.9,\n dexterity_exp: 0.9,\n agility_exp: 0.9,\n charisma_exp: 0.9,\n company_rep: 0.9,\n faction_rep: 0.9,\n crime_money: 0.9,\n crime_success: 0.9,\n hacknet_node_money: 0.9,\n hacknet_node_purchase_cost: 1.1,\n hacknet_node_ram_cost: 1.1,\n hacknet_node_core_cost: 1.1,\n hacknet_node_level_cost: 1.1,\n work_money: 0.9,\n stats: <>Its unstable nature decreases all your stats by 10%>,\n factions: [FactionNames.ChurchOfTheMachineGod],\n }),\n new Augmentation({\n name: AugmentationNames.StaneksGift2,\n repCost: 1e6,\n moneyCost: 0,\n info:\n \"The next evolution is near, a coming together of man and machine. A synthesis greater than the birth of the human \" +\n \"organism. Time spent with the gift has allowed for acclimatization of the invasive augment and the toll it takes upon \" +\n \"your frame granting a 5% reduced penalty to all stats.\",\n prereqs: [AugmentationNames.StaneksGift1],\n isSpecial: true,\n hacking_chance: 0.95 / 0.9,\n hacking_speed: 0.95 / 0.9,\n hacking_money: 0.95 / 0.9,\n hacking_grow: 0.95 / 0.9,\n hacking: 0.95 / 0.9,\n strength: 0.95 / 0.9,\n defense: 0.95 / 0.9,\n dexterity: 0.95 / 0.9,\n agility: 0.95 / 0.9,\n charisma: 0.95 / 0.9,\n hacking_exp: 0.95 / 0.9,\n strength_exp: 0.95 / 0.9,\n defense_exp: 0.95 / 0.9,\n dexterity_exp: 0.95 / 0.9,\n agility_exp: 0.95 / 0.9,\n charisma_exp: 0.95 / 0.9,\n company_rep: 0.95 / 0.9,\n faction_rep: 0.95 / 0.9,\n crime_money: 0.95 / 0.9,\n crime_success: 0.95 / 0.9,\n hacknet_node_money: 0.95 / 0.9,\n hacknet_node_purchase_cost: 1.05 / 1.1,\n hacknet_node_ram_cost: 1.05 / 1.1,\n hacknet_node_core_cost: 1.05 / 1.1,\n hacknet_node_level_cost: 1.05 / 1.1,\n work_money: 0.95 / 0.9,\n stats: <>The penalty for the gift is reduced to 5%>,\n factions: [FactionNames.ChurchOfTheMachineGod],\n }),\n new Augmentation({\n name: AugmentationNames.StaneksGift3,\n repCost: 1e8,\n moneyCost: 0,\n info:\n \"The synthesis of human and machine is nothing to fear. It is our destiny. \" +\n \"You will become greater than the sum of our parts. As One. Embrace your gift \" +\n \"fully and wholly free of it's accursed toll. Serenity brings tranquility in the form \" +\n \"of no longer suffering a stat penalty. \",\n prereqs: [AugmentationNames.StaneksGift2, AugmentationNames.StaneksGift1],\n isSpecial: true,\n hacking_chance: 1 / 0.95,\n hacking_speed: 1 / 0.95,\n hacking_money: 1 / 0.95,\n hacking_grow: 1 / 0.95,\n hacking: 1 / 0.95,\n strength: 1 / 0.95,\n defense: 1 / 0.95,\n dexterity: 1 / 0.95,\n agility: 1 / 0.95,\n charisma: 1 / 0.95,\n hacking_exp: 1 / 0.95,\n strength_exp: 1 / 0.95,\n defense_exp: 1 / 0.95,\n dexterity_exp: 1 / 0.95,\n agility_exp: 1 / 0.95,\n charisma_exp: 1 / 0.95,\n company_rep: 1 / 0.95,\n faction_rep: 1 / 0.95,\n crime_money: 1 / 0.95,\n crime_success: 1 / 0.95,\n hacknet_node_money: 1 / 0.95,\n hacknet_node_purchase_cost: 1 / 1.05,\n hacknet_node_ram_cost: 1 / 1.05,\n hacknet_node_core_cost: 1 / 1.05,\n hacknet_node_level_cost: 1 / 1.05,\n work_money: 1 / 0.95,\n stats: <>Stanek's Gift has no penalty.>,\n factions: [FactionNames.ChurchOfTheMachineGod],\n }),\n];\n\nexport function initNeuroFluxGovernor(): Augmentation {\n const donationBonus = CONSTANTS.Donations / 1e6 / 100; // 1 millionth of a percent per donation\n return new Augmentation({\n name: AugmentationNames.NeuroFluxGovernor,\n repCost: 500,\n moneyCost: 750e3,\n info:\n \"A device that is embedded in the back of the neck. The NeuroFlux Governor \" +\n \"monitors and regulates nervous impulses coming to and from the spinal column, \" +\n \"essentially 'governing' the body. By doing so, it improves the functionality of the \" +\n \"body's nervous system.\",\n stats: (\n <>\n This special augmentation can be leveled up infinitely. Each level of this augmentation increases MOST\n multipliers by 1% (+{(donationBonus * 100).toFixed(6)}% boosted by real life blood donations), stacking\n multiplicatively.\n >\n ),\n isSpecial: true,\n hacking_chance: 1.01 + donationBonus,\n hacking_speed: 1.01 + donationBonus,\n hacking_money: 1.01 + donationBonus,\n hacking_grow: 1.01 + donationBonus,\n hacking: 1.01 + donationBonus,\n strength: 1.01 + donationBonus,\n defense: 1.01 + donationBonus,\n dexterity: 1.01 + donationBonus,\n agility: 1.01 + donationBonus,\n charisma: 1.01 + donationBonus,\n hacking_exp: 1.01 + donationBonus,\n strength_exp: 1.01 + donationBonus,\n defense_exp: 1.01 + donationBonus,\n dexterity_exp: 1.01 + donationBonus,\n agility_exp: 1.01 + donationBonus,\n charisma_exp: 1.01 + donationBonus,\n company_rep: 1.01 + donationBonus,\n faction_rep: 1.01 + donationBonus,\n crime_money: 1.01 + donationBonus,\n crime_success: 1.01 + donationBonus,\n hacknet_node_money: 1.01 + donationBonus,\n hacknet_node_purchase_cost: 1 / (1.01 + donationBonus),\n hacknet_node_ram_cost: 1 / (1.01 + donationBonus),\n hacknet_node_core_cost: 1 / (1.01 + donationBonus),\n hacknet_node_level_cost: 1 / (1.01 + donationBonus),\n work_money: 1.01 + donationBonus,\n factions: Object.values(FactionNames).filter(\n (factionName) =>\n ![FactionNames.ShadowsOfAnarchy, FactionNames.Bladeburners, FactionNames.ChurchOfTheMachineGod].includes(\n factionName,\n ),\n ),\n });\n}\n\nexport function initUnstableCircadianModulator(): Augmentation {\n //Time-Based Augment Test\n const randomBonuses = getRandomBonus();\n\n const UnstableCircadianModulatorParams: IConstructorParams = {\n name: AugmentationNames.UnstableCircadianModulator,\n moneyCost: 5e9,\n repCost: 3.625e5,\n info:\n \"An experimental nanobot injection. Its unstable nature leads to \" +\n \"unpredictable results based on your circadian rhythm.\",\n factions: [FactionNames.SpeakersForTheDead],\n };\n Object.keys(randomBonuses.bonuses).forEach(\n (key) => ((UnstableCircadianModulatorParams as any)[key] = randomBonuses.bonuses[key]),\n );\n\n return new Augmentation(UnstableCircadianModulatorParams);\n}\n","import { FactionNames } from \"../../Faction/data/FactionNames\";\n// tslint:disable:max-file-line-count\n\n// This could actually be a JSON file as it should be constant metadata to be imported...\nimport { IMinMaxRange } from \"../../types\";\nimport { LocationName } from \"../../Locations/data/LocationNames\";\nimport { LiteratureNames } from \"../../Literature/data/LiteratureNames\";\nimport { SpecialServers } from \"./SpecialServers\";\n\n/**\n * The metadata describing the base state of servers on the network.\n * These values will be adjusted based on Bitnode multipliers when the Server objects are built out.\n */\ninterface IServerMetadata {\n /**\n * When populated, the base security level of the server.\n */\n hackDifficulty?: number | IMinMaxRange;\n\n /**\n * The DNS name of the server.\n */\n hostname: string;\n\n /**\n * When populated, the files will be added to the server when created.\n */\n literature?: string[];\n\n /**\n * When populated, the exponent of 2^x amount of RAM the server has.\n * This should be in the range of 1-20, to match the Player's max RAM.\n */\n maxRamExponent?: number | IMinMaxRange;\n\n /**\n * How much money the server starts out with.\n */\n moneyAvailable: number | IMinMaxRange;\n\n /**\n * The number of network layers away from the `home` server.\n * This value is between 1 and 15.\n * If this is not populated, @specialName should be.\n */\n networkLayer?: number | IMinMaxRange;\n\n /**\n * The number of ports that must be opened before the player can execute NUKE.\n */\n numOpenPortsRequired: number;\n\n /**\n * The organization that the server belongs to.\n */\n organizationName: string;\n\n /**\n * The minimum hacking level before the player can run NUKE.\n */\n requiredHackingSkill: number | IMinMaxRange;\n\n /**\n * The growth factor for the server.\n */\n serverGrowth?: number | IMinMaxRange;\n\n /**\n * A \"unique\" server that has special implications when the player manually hacks it.\n */\n specialName?: string;\n}\n\n/**\n * The metadata for building up the servers on the network.\n */\nexport const serverMetadata: IServerMetadata[] = [\n {\n hackDifficulty: 99,\n hostname: LocationName.AevumECorp.toLowerCase(),\n moneyAvailable: {\n max: 70e9,\n min: 30e9,\n },\n networkLayer: 15,\n numOpenPortsRequired: 5,\n organizationName: LocationName.AevumECorp,\n requiredHackingSkill: {\n max: 1400,\n min: 1050,\n },\n serverGrowth: 99,\n specialName: LocationName.AevumECorp,\n },\n {\n hackDifficulty: 99,\n hostname: LocationName.Sector12MegaCorp.toLowerCase(),\n moneyAvailable: {\n max: 60e9,\n min: 40e9,\n },\n networkLayer: 15,\n numOpenPortsRequired: 5,\n organizationName: LocationName.Sector12MegaCorp,\n requiredHackingSkill: {\n max: 1350,\n min: 1100,\n },\n serverGrowth: 99,\n specialName: LocationName.Sector12MegaCorp,\n },\n {\n hackDifficulty: {\n max: 88,\n min: 72,\n },\n hostname: \"b-and-a\",\n moneyAvailable: {\n max: 30e9,\n min: 15e9,\n },\n networkLayer: 14,\n numOpenPortsRequired: 5,\n organizationName: LocationName.AevumBachmanAndAssociates,\n requiredHackingSkill: {\n max: 1150,\n min: 900,\n },\n serverGrowth: {\n max: 80,\n min: 60,\n },\n specialName: LocationName.AevumBachmanAndAssociates,\n },\n {\n hackDifficulty: {\n max: 97,\n min: 88,\n },\n hostname: \"blade\",\n literature: [LiteratureNames.BeyondMan],\n maxRamExponent: {\n max: 9,\n min: 5,\n },\n moneyAvailable: {\n max: 40e9,\n min: 10e9,\n },\n networkLayer: 14,\n numOpenPortsRequired: 5,\n organizationName: LocationName.Sector12BladeIndustries,\n requiredHackingSkill: {\n max: 1200,\n min: 900,\n },\n serverGrowth: {\n max: 85,\n min: 55,\n },\n specialName: LocationName.Sector12BladeIndustries,\n },\n {\n hackDifficulty: 99,\n hostname: LocationName.VolhavenNWO.toLowerCase(),\n literature: [LiteratureNames.TheHiddenWorld],\n moneyAvailable: {\n max: 40e9,\n min: 20e9,\n },\n networkLayer: 14,\n numOpenPortsRequired: 5,\n organizationName: LocationName.VolhavenNWO,\n requiredHackingSkill: {\n max: 1300,\n min: 950,\n },\n serverGrowth: {\n max: 95,\n min: 65,\n },\n specialName: LocationName.VolhavenNWO,\n },\n {\n hackDifficulty: {\n max: 65,\n min: 45,\n },\n hostname: \"clarkinc\",\n literature: [LiteratureNames.BeyondMan, LiteratureNames.CostOfImmortality],\n moneyAvailable: {\n max: 25e9,\n min: 15e9,\n },\n networkLayer: 14,\n numOpenPortsRequired: 5,\n organizationName: LocationName.AevumClarkeIncorporated,\n requiredHackingSkill: {\n max: 1250,\n min: 950,\n },\n serverGrowth: {\n max: 75,\n min: 45,\n },\n specialName: LocationName.AevumClarkeIncorporated,\n },\n {\n hackDifficulty: {\n max: 99,\n min: 90,\n },\n hostname: \"omnitek\",\n literature: [LiteratureNames.CodedIntelligence, LiteratureNames.HistoryOfSynthoids],\n maxRamExponent: {\n max: 9,\n min: 7,\n },\n moneyAvailable: {\n max: 22e9,\n min: 13e9,\n },\n networkLayer: 13,\n numOpenPortsRequired: 5,\n organizationName: LocationName.VolhavenOmniTekIncorporated,\n requiredHackingSkill: {\n max: 1100,\n min: 900,\n },\n serverGrowth: {\n max: 99,\n min: 95,\n },\n specialName: LocationName.VolhavenOmniTekIncorporated,\n },\n {\n hackDifficulty: {\n max: 75,\n min: 55,\n },\n hostname: \"4sigma\",\n moneyAvailable: {\n max: 25e9,\n min: 15e9,\n },\n networkLayer: 13,\n numOpenPortsRequired: 5,\n organizationName: LocationName.Sector12FourSigma,\n requiredHackingSkill: {\n max: 1250,\n min: 900,\n },\n serverGrowth: {\n max: 99,\n min: 75,\n },\n specialName: LocationName.Sector12FourSigma,\n },\n {\n hackDifficulty: {\n max: 99,\n min: 95,\n },\n hostname: \"kuai-gong\",\n moneyAvailable: {\n max: 30e9,\n min: 20e9,\n },\n networkLayer: 13,\n numOpenPortsRequired: 5,\n organizationName: LocationName.ChongqingKuaiGongInternational,\n requiredHackingSkill: {\n max: 1300,\n min: 950,\n },\n serverGrowth: {\n max: 99,\n min: 90,\n },\n specialName: LocationName.ChongqingKuaiGongInternational,\n },\n {\n hackDifficulty: {\n max: 97,\n min: 83,\n },\n hostname: \"fulcrumtech\",\n literature: [LiteratureNames.SimulatedReality],\n maxRamExponent: {\n max: 11,\n min: 7,\n },\n moneyAvailable: {\n max: 1800e6,\n min: 1400e6,\n },\n networkLayer: 12,\n numOpenPortsRequired: 5,\n organizationName: LocationName.AevumFulcrumTechnologies,\n requiredHackingSkill: {\n max: 1250,\n min: 950,\n },\n serverGrowth: {\n max: 99,\n min: 80,\n },\n specialName: LocationName.AevumFulcrumTechnologies,\n },\n {\n hackDifficulty: 99,\n hostname: \"fulcrumassets\",\n moneyAvailable: 1e6,\n networkLayer: 15,\n numOpenPortsRequired: 5,\n organizationName: LocationName.AevumFulcrumTechnologies,\n requiredHackingSkill: {\n max: 1600,\n min: 1100,\n },\n serverGrowth: 1,\n specialName: SpecialServers.FulcrumSecretTechnologies,\n },\n {\n hackDifficulty: {\n max: 92,\n min: 78,\n },\n hostname: \"stormtech\",\n moneyAvailable: {\n max: 1200e6,\n min: 1000e6,\n },\n networkLayer: 12,\n numOpenPortsRequired: 5,\n organizationName: LocationName.IshimaStormTechnologies,\n requiredHackingSkill: {\n max: 1075,\n min: 875,\n },\n serverGrowth: {\n max: 92,\n min: 68,\n },\n specialName: LocationName.IshimaStormTechnologies,\n },\n {\n hackDifficulty: {\n max: 96,\n min: 84,\n },\n hostname: \"defcomm\",\n moneyAvailable: {\n max: 950e6,\n min: 800e6,\n },\n networkLayer: 9,\n numOpenPortsRequired: 5,\n organizationName: LocationName.NewTokyoDefComm,\n requiredHackingSkill: {\n max: 1050,\n min: 850,\n },\n serverGrowth: {\n max: 73,\n min: 47,\n },\n specialName: LocationName.NewTokyoDefComm,\n },\n {\n hackDifficulty: {\n max: 90,\n min: 70,\n },\n hostname: \"infocomm\",\n moneyAvailable: {\n max: 900e6,\n min: 600e6,\n },\n networkLayer: 10,\n numOpenPortsRequired: 5,\n organizationName: \"InfoComm\",\n requiredHackingSkill: {\n max: 950,\n min: 875,\n },\n serverGrowth: {\n max: 75,\n min: 35,\n },\n },\n {\n hackDifficulty: {\n max: 95,\n min: 85,\n },\n hostname: \"helios\",\n literature: [LiteratureNames.BeyondMan],\n maxRamExponent: {\n max: 8,\n min: 5,\n },\n moneyAvailable: {\n max: 750e6,\n min: 550e6,\n },\n networkLayer: 12,\n numOpenPortsRequired: 5,\n organizationName: LocationName.VolhavenHeliosLabs,\n requiredHackingSkill: {\n max: 900,\n min: 800,\n },\n serverGrowth: {\n max: 80,\n min: 70,\n },\n specialName: LocationName.VolhavenHeliosLabs,\n },\n {\n hackDifficulty: {\n max: 90,\n min: 80,\n },\n hostname: LocationName.NewTokyoVitaLife.toLowerCase(),\n literature: [LiteratureNames.AGreenTomorrow],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 800e6,\n min: 700e6,\n },\n networkLayer: 12,\n numOpenPortsRequired: 5,\n organizationName: LocationName.NewTokyoVitaLife,\n requiredHackingSkill: {\n max: 900,\n min: 775,\n },\n serverGrowth: {\n max: 80,\n min: 60,\n },\n specialName: LocationName.NewTokyoVitaLife,\n },\n {\n hackDifficulty: {\n max: 95,\n min: 85,\n },\n hostname: \"icarus\",\n moneyAvailable: {\n max: 1000e6,\n min: 900e6,\n },\n networkLayer: 9,\n numOpenPortsRequired: 5,\n organizationName: LocationName.Sector12IcarusMicrosystems,\n requiredHackingSkill: {\n max: 925,\n min: 850,\n },\n serverGrowth: {\n max: 95,\n min: 85,\n },\n specialName: LocationName.Sector12IcarusMicrosystems,\n },\n {\n hackDifficulty: {\n max: 90,\n min: 80,\n },\n hostname: \"univ-energy\",\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 1200e6,\n min: 1100e6,\n },\n networkLayer: 9,\n numOpenPortsRequired: 4,\n organizationName: LocationName.Sector12UniversalEnergy,\n requiredHackingSkill: {\n max: 900,\n min: 800,\n },\n serverGrowth: {\n max: 90,\n min: 80,\n },\n specialName: LocationName.Sector12UniversalEnergy,\n },\n {\n hackDifficulty: {\n max: 80,\n min: 70,\n },\n hostname: \"titan-labs\",\n literature: [LiteratureNames.CodedIntelligence],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 900000000,\n min: 750000000,\n },\n networkLayer: 11,\n numOpenPortsRequired: 5,\n organizationName: \"Titan Laboratories\",\n requiredHackingSkill: {\n max: 875,\n min: 800,\n },\n serverGrowth: {\n max: 80,\n min: 60,\n },\n },\n {\n hackDifficulty: {\n max: 75,\n min: 65,\n },\n hostname: \"microdyne\",\n literature: [LiteratureNames.SyntheticMuscles],\n maxRamExponent: {\n max: 6,\n min: 4,\n },\n moneyAvailable: {\n max: 700000000,\n min: 500000000,\n },\n networkLayer: 11,\n numOpenPortsRequired: 5,\n organizationName: \"Microdyne Technologies\",\n requiredHackingSkill: {\n max: 875,\n min: 800,\n },\n serverGrowth: {\n max: 90,\n min: 70,\n },\n },\n {\n hackDifficulty: {\n max: 80,\n min: 70,\n },\n hostname: \"taiyang-digital\",\n literature: [LiteratureNames.AGreenTomorrow, LiteratureNames.BrighterThanTheSun],\n moneyAvailable: {\n max: 900000000,\n min: 800000000,\n },\n networkLayer: 10,\n numOpenPortsRequired: 5,\n organizationName: \"Taiyang Digital\",\n requiredHackingSkill: {\n max: 950,\n min: 850,\n },\n serverGrowth: {\n max: 80,\n min: 70,\n },\n },\n {\n hackDifficulty: {\n max: 65,\n min: 55,\n },\n hostname: \"galactic-cyber\",\n moneyAvailable: {\n max: 850000000,\n min: 750000000,\n },\n networkLayer: 7,\n numOpenPortsRequired: 5,\n organizationName: LocationName.AevumGalacticCybersystems,\n requiredHackingSkill: {\n max: 875,\n min: 825,\n },\n serverGrowth: {\n max: 90,\n min: 70,\n },\n specialName: LocationName.AevumGalacticCybersystems,\n },\n {\n hackDifficulty: {\n max: 90,\n min: 80,\n },\n hostname: LocationName.AevumAeroCorp.toLowerCase(),\n literature: [LiteratureNames.ManAndMachine],\n moneyAvailable: {\n max: 1200000000,\n min: 1000000000,\n },\n networkLayer: 7,\n numOpenPortsRequired: 5,\n organizationName: LocationName.AevumAeroCorp,\n requiredHackingSkill: {\n max: 925,\n min: 850,\n },\n serverGrowth: {\n max: 65,\n min: 55,\n },\n specialName: LocationName.AevumAeroCorp,\n },\n {\n hackDifficulty: {\n max: 95,\n min: 85,\n },\n hostname: \"omnia\",\n literature: [LiteratureNames.HistoryOfSynthoids],\n maxRamExponent: {\n max: 6,\n min: 4,\n },\n moneyAvailable: {\n max: 1000000000,\n min: 900000000,\n },\n networkLayer: 8,\n numOpenPortsRequired: 5,\n organizationName: LocationName.VolhavenOmniaCybersystems,\n requiredHackingSkill: {\n max: 950,\n min: 850,\n },\n serverGrowth: {\n max: 70,\n min: 60,\n },\n specialName: LocationName.VolhavenOmniaCybersystems,\n },\n {\n hackDifficulty: {\n max: 65,\n min: 55,\n },\n hostname: \"zb-def\",\n literature: [LiteratureNames.SyntheticMuscles],\n moneyAvailable: {\n max: 1100000000,\n min: 900000000,\n },\n networkLayer: 10,\n numOpenPortsRequired: 4,\n organizationName: \"ZB Defense Industries\",\n requiredHackingSkill: {\n max: 825,\n min: 775,\n },\n serverGrowth: {\n max: 75,\n min: 65,\n },\n },\n {\n hackDifficulty: {\n max: 80,\n min: 60,\n },\n hostname: \"applied-energetics\",\n moneyAvailable: {\n max: 1000000000,\n min: 700000000,\n },\n networkLayer: 11,\n numOpenPortsRequired: 4,\n organizationName: \"Applied Energetics\",\n requiredHackingSkill: {\n max: 850,\n min: 775,\n },\n serverGrowth: {\n max: 75,\n min: 70,\n },\n },\n {\n hackDifficulty: {\n max: 80,\n min: 70,\n },\n hostname: \"solaris\",\n literature: [LiteratureNames.AGreenTomorrow, LiteratureNames.TheFailedFrontier],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 900000000,\n min: 700000000,\n },\n networkLayer: 9,\n numOpenPortsRequired: 5,\n organizationName: LocationName.ChongqingSolarisSpaceSystems,\n requiredHackingSkill: {\n max: 850,\n min: 750,\n },\n serverGrowth: {\n max: 80,\n min: 70,\n },\n specialName: LocationName.ChongqingSolarisSpaceSystems,\n },\n {\n hackDifficulty: {\n max: 85,\n min: 75,\n },\n hostname: LocationName.Sector12DeltaOne.toLowerCase(),\n moneyAvailable: {\n max: 1700000000,\n min: 1300000000,\n },\n networkLayer: 8,\n numOpenPortsRequired: 5,\n organizationName: LocationName.Sector12DeltaOne,\n requiredHackingSkill: {\n max: 900,\n min: 800,\n },\n serverGrowth: {\n max: 70,\n min: 50,\n },\n specialName: LocationName.Sector12DeltaOne,\n },\n {\n hackDifficulty: {\n max: 85,\n min: 75,\n },\n hostname: \"global-pharm\",\n literature: [LiteratureNames.AGreenTomorrow],\n maxRamExponent: {\n max: 6,\n min: 3,\n },\n moneyAvailable: {\n max: 1750000000,\n min: 1500000000,\n },\n networkLayer: 7,\n numOpenPortsRequired: 4,\n organizationName: LocationName.NewTokyoGlobalPharmaceuticals,\n requiredHackingSkill: {\n max: 850,\n min: 750,\n },\n serverGrowth: {\n max: 90,\n min: 80,\n },\n specialName: LocationName.NewTokyoGlobalPharmaceuticals,\n },\n {\n hackDifficulty: {\n max: 80,\n min: 60,\n },\n hostname: \"nova-med\",\n moneyAvailable: {\n max: 1250000000,\n min: 1100000000,\n },\n networkLayer: 10,\n numOpenPortsRequired: 4,\n organizationName: LocationName.IshimaNovaMedical,\n requiredHackingSkill: {\n max: 850,\n min: 775,\n },\n serverGrowth: {\n max: 85,\n min: 65,\n },\n specialName: LocationName.IshimaNovaMedical,\n },\n {\n hackDifficulty: {\n max: 90,\n min: 70,\n },\n hostname: \"zeus-med\",\n moneyAvailable: {\n max: 1500000000,\n min: 1300000000,\n },\n networkLayer: 9,\n numOpenPortsRequired: 5,\n organizationName: \"Zeus Medical\",\n requiredHackingSkill: {\n max: 850,\n min: 800,\n },\n serverGrowth: {\n max: 80,\n min: 70,\n },\n },\n {\n hackDifficulty: {\n max: 80,\n min: 70,\n },\n hostname: \"unitalife\",\n maxRamExponent: {\n max: 6,\n min: 4,\n },\n moneyAvailable: {\n max: 1100000000,\n min: 1000000000,\n },\n networkLayer: 8,\n numOpenPortsRequired: 4,\n organizationName: \"UnitaLife Group\",\n requiredHackingSkill: {\n max: 825,\n min: 775,\n },\n serverGrowth: {\n max: 80,\n min: 70,\n },\n },\n {\n hackDifficulty: {\n max: 80,\n min: 60,\n },\n hostname: \"lexo-corp\",\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 800000000,\n min: 700000000,\n },\n networkLayer: 6,\n numOpenPortsRequired: 4,\n organizationName: LocationName.VolhavenLexoCorp,\n requiredHackingSkill: {\n max: 750,\n min: 650,\n },\n serverGrowth: {\n max: 65,\n min: 55,\n },\n specialName: LocationName.VolhavenLexoCorp,\n },\n {\n hackDifficulty: {\n max: 60,\n min: 40,\n },\n hostname: \"rho-construction\",\n maxRamExponent: {\n max: 6,\n min: 4,\n },\n moneyAvailable: {\n max: 700000000,\n min: 500000000,\n },\n networkLayer: 6,\n numOpenPortsRequired: 3,\n organizationName: LocationName.AevumRhoConstruction,\n requiredHackingSkill: {\n max: 525,\n min: 475,\n },\n serverGrowth: {\n max: 60,\n min: 40,\n },\n specialName: LocationName.AevumRhoConstruction,\n },\n {\n hackDifficulty: {\n max: 70,\n min: 50,\n },\n hostname: \"alpha-ent\",\n literature: [LiteratureNames.Sector12Crime],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 750000000,\n min: 600000000,\n },\n networkLayer: 6,\n numOpenPortsRequired: 4,\n organizationName: LocationName.Sector12AlphaEnterprises,\n requiredHackingSkill: {\n max: 600,\n min: 500,\n },\n serverGrowth: {\n max: 60,\n min: 50,\n },\n specialName: LocationName.Sector12AlphaEnterprises,\n },\n {\n hackDifficulty: {\n max: 80,\n min: 70,\n },\n hostname: \"aevum-police\",\n maxRamExponent: {\n max: 6,\n min: 4,\n },\n moneyAvailable: {\n max: 400000000,\n min: 200000000,\n },\n networkLayer: 6,\n numOpenPortsRequired: 4,\n organizationName: LocationName.AevumPolice,\n requiredHackingSkill: {\n max: 450,\n min: 400,\n },\n serverGrowth: {\n max: 50,\n min: 30,\n },\n specialName: LocationName.AevumPolice,\n },\n {\n hackDifficulty: {\n max: 55,\n min: 45,\n },\n hostname: \"rothman-uni\",\n literature: [\n LiteratureNames.SecretSocieties,\n LiteratureNames.TheFailedFrontier,\n LiteratureNames.TensionsInTechRace,\n ],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 250000000,\n min: 175000000,\n },\n networkLayer: 5,\n numOpenPortsRequired: 3,\n organizationName: LocationName.Sector12RothmanUniversity,\n requiredHackingSkill: {\n max: 430,\n min: 370,\n },\n serverGrowth: {\n max: 45,\n min: 35,\n },\n specialName: LocationName.Sector12RothmanUniversity,\n },\n {\n hackDifficulty: {\n max: 85,\n min: 65,\n },\n hostname: \"zb-institute\",\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 1100000000,\n min: 800000000,\n },\n networkLayer: 5,\n numOpenPortsRequired: 5,\n organizationName: LocationName.VolhavenZBInstituteOfTechnology,\n requiredHackingSkill: {\n max: 775,\n min: 725,\n },\n serverGrowth: {\n max: 85,\n min: 75,\n },\n specialName: LocationName.VolhavenZBInstituteOfTechnology,\n },\n {\n hackDifficulty: {\n max: 65,\n min: 45,\n },\n hostname: \"summit-uni\",\n literature: [LiteratureNames.SecretSocieties, LiteratureNames.TheFailedFrontier, LiteratureNames.SyntheticMuscles],\n maxRamExponent: {\n max: 6,\n min: 4,\n },\n moneyAvailable: {\n max: 350000000,\n min: 200000000,\n },\n networkLayer: 5,\n numOpenPortsRequired: 3,\n organizationName: LocationName.AevumSummitUniversity,\n requiredHackingSkill: {\n max: 475,\n min: 425,\n },\n serverGrowth: {\n max: 60,\n min: 40,\n },\n specialName: LocationName.AevumSummitUniversity,\n },\n {\n hackDifficulty: {\n max: 80,\n min: 60,\n },\n hostname: \"syscore\",\n moneyAvailable: {\n max: 600000000,\n min: 400000000,\n },\n networkLayer: 5,\n numOpenPortsRequired: 4,\n organizationName: LocationName.VolhavenSysCoreSecurities,\n requiredHackingSkill: {\n max: 650,\n min: 550,\n },\n serverGrowth: {\n max: 70,\n min: 60,\n },\n specialName: LocationName.VolhavenSysCoreSecurities,\n },\n {\n hackDifficulty: {\n max: 70,\n min: 60,\n },\n hostname: \"catalyst\",\n literature: [LiteratureNames.TensionsInTechRace],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 550000000,\n min: 300000000,\n },\n networkLayer: 5,\n numOpenPortsRequired: 3,\n organizationName: \"Catalyst Ventures\",\n requiredHackingSkill: {\n max: 450,\n min: 400,\n },\n serverGrowth: {\n max: 55,\n min: 25,\n },\n },\n {\n hackDifficulty: {\n max: 45,\n min: 35,\n },\n hostname: \"the-hub\",\n maxRamExponent: {\n max: 6,\n min: 3,\n },\n moneyAvailable: {\n max: 200000000,\n min: 150000000,\n },\n networkLayer: 4,\n numOpenPortsRequired: 2,\n organizationName: \"The Hub\",\n requiredHackingSkill: {\n max: 325,\n min: 275,\n },\n serverGrowth: {\n max: 55,\n min: 45,\n },\n },\n {\n hackDifficulty: {\n max: 65,\n min: 55,\n },\n hostname: LocationName.VolhavenCompuTek.toLowerCase(),\n literature: [LiteratureNames.ManAndMachine],\n moneyAvailable: {\n max: 250000000,\n min: 220000000,\n },\n networkLayer: 4,\n numOpenPortsRequired: 3,\n organizationName: LocationName.VolhavenCompuTek,\n requiredHackingSkill: {\n max: 400,\n min: 300,\n },\n serverGrowth: {\n max: 65,\n min: 45,\n },\n specialName: LocationName.VolhavenCompuTek,\n },\n {\n hackDifficulty: {\n max: 80,\n min: 60,\n },\n hostname: \"netlink\",\n literature: [LiteratureNames.SimulatedReality],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: 275000000,\n networkLayer: 4,\n numOpenPortsRequired: 3,\n organizationName: LocationName.AevumNetLinkTechnologies,\n requiredHackingSkill: {\n max: 425,\n min: 375,\n },\n serverGrowth: {\n max: 75,\n min: 45,\n },\n specialName: LocationName.AevumNetLinkTechnologies,\n },\n {\n hackDifficulty: {\n max: 65,\n min: 35,\n },\n hostname: \"johnson-ortho\",\n moneyAvailable: {\n max: 85000000,\n min: 70000000,\n },\n networkLayer: 4,\n numOpenPortsRequired: 2,\n organizationName: \"Johnson Orthopedics\",\n requiredHackingSkill: {\n max: 300,\n min: 250,\n },\n serverGrowth: {\n max: 65,\n min: 35,\n },\n },\n {\n hackDifficulty: 1,\n hostname: \"n00dles\",\n literature: [],\n maxRamExponent: 2,\n moneyAvailable: 70000,\n networkLayer: 1,\n numOpenPortsRequired: 0,\n organizationName: LocationName.NewTokyoNoodleBar,\n requiredHackingSkill: 1,\n serverGrowth: 3000,\n specialName: LocationName.NewTokyoNoodleBar,\n },\n {\n hackDifficulty: 10,\n hostname: LocationName.Sector12FoodNStuff.toLowerCase(),\n literature: [LiteratureNames.Sector12Crime],\n maxRamExponent: 4,\n moneyAvailable: 2000000,\n networkLayer: 1,\n numOpenPortsRequired: 0,\n organizationName: LocationName.Sector12FoodNStuff,\n requiredHackingSkill: 1,\n serverGrowth: 5,\n specialName: LocationName.Sector12FoodNStuff,\n },\n {\n hackDifficulty: 10,\n hostname: \"sigma-cosmetics\",\n maxRamExponent: 4,\n moneyAvailable: 2300000,\n networkLayer: 1,\n numOpenPortsRequired: 0,\n organizationName: \"Sigma Cosmetics\",\n requiredHackingSkill: 5,\n serverGrowth: 10,\n },\n {\n hackDifficulty: 15,\n hostname: \"joesguns\",\n maxRamExponent: 4,\n moneyAvailable: 2500000,\n networkLayer: 1,\n numOpenPortsRequired: 0,\n organizationName: LocationName.Sector12JoesGuns,\n requiredHackingSkill: 10,\n serverGrowth: 20,\n specialName: LocationName.Sector12JoesGuns,\n },\n {\n hackDifficulty: 25,\n hostname: \"zer0\",\n maxRamExponent: 5,\n moneyAvailable: 7500000,\n networkLayer: 2,\n numOpenPortsRequired: 1,\n organizationName: \"ZER0 Nightclub\",\n requiredHackingSkill: 75,\n serverGrowth: 40,\n },\n {\n hackDifficulty: 20,\n hostname: \"nectar-net\",\n maxRamExponent: 4,\n moneyAvailable: 2750000,\n networkLayer: 2,\n numOpenPortsRequired: 0,\n organizationName: \"Nectar Nightclub Network\",\n requiredHackingSkill: 20,\n serverGrowth: 25,\n },\n {\n hackDifficulty: 25,\n hostname: \"neo-net\",\n literature: [LiteratureNames.TheHiddenWorld],\n maxRamExponent: 5,\n moneyAvailable: 5000000,\n networkLayer: 3,\n numOpenPortsRequired: 1,\n organizationName: \"Neo Nightclub Network\",\n requiredHackingSkill: 50,\n serverGrowth: 25,\n },\n {\n hackDifficulty: 30,\n hostname: \"silver-helix\",\n literature: [LiteratureNames.NewTriads],\n maxRamExponent: 6,\n moneyAvailable: 45000000,\n networkLayer: 3,\n numOpenPortsRequired: 2,\n organizationName: \"Silver Helix\",\n requiredHackingSkill: 150,\n serverGrowth: 30,\n },\n {\n hackDifficulty: 15,\n hostname: \"hong-fang-tea\",\n literature: [LiteratureNames.BrighterThanTheSun],\n maxRamExponent: 4,\n moneyAvailable: 3000000,\n networkLayer: 1,\n numOpenPortsRequired: 0,\n organizationName: \"HongFang Teahouse\",\n requiredHackingSkill: 30,\n serverGrowth: 20,\n },\n {\n hackDifficulty: 15,\n hostname: \"harakiri-sushi\",\n maxRamExponent: 4,\n moneyAvailable: 4000000,\n networkLayer: 1,\n numOpenPortsRequired: 0,\n organizationName: \"HaraKiri Sushi Bar Network\",\n requiredHackingSkill: 40,\n serverGrowth: 40,\n },\n {\n hackDifficulty: 20,\n hostname: \"phantasy\",\n maxRamExponent: 5,\n moneyAvailable: 24000000,\n networkLayer: 3,\n numOpenPortsRequired: 2,\n organizationName: \"Phantasy Club\",\n requiredHackingSkill: 100,\n serverGrowth: 35,\n },\n {\n hackDifficulty: 15,\n hostname: \"max-hardware\",\n maxRamExponent: 5,\n moneyAvailable: 10000000,\n networkLayer: 2,\n numOpenPortsRequired: 1,\n organizationName: \"Max Hardware Store\",\n requiredHackingSkill: 80,\n serverGrowth: 30,\n },\n {\n hackDifficulty: {\n max: 35,\n min: 25,\n },\n hostname: \"omega-net\",\n literature: [LiteratureNames.TheNewGod],\n maxRamExponent: 5,\n moneyAvailable: {\n max: 70000000,\n min: 60000000,\n },\n networkLayer: 3,\n numOpenPortsRequired: 2,\n organizationName: LocationName.IshimaOmegaSoftware,\n requiredHackingSkill: {\n max: 220,\n min: 180,\n },\n serverGrowth: {\n max: 40,\n min: 30,\n },\n specialName: LocationName.IshimaOmegaSoftware,\n },\n {\n hackDifficulty: {\n max: 45,\n min: 35,\n },\n hostname: \"crush-fitness\",\n moneyAvailable: {\n max: 60000000,\n min: 40000000,\n },\n networkLayer: 4,\n numOpenPortsRequired: 2,\n organizationName: \"Crush Fitness\",\n requiredHackingSkill: {\n max: 275,\n min: 225,\n },\n serverGrowth: {\n max: 33,\n min: 27,\n },\n specialName: LocationName.AevumCrushFitnessGym,\n },\n {\n hackDifficulty: 30,\n hostname: \"iron-gym\",\n maxRamExponent: 5,\n moneyAvailable: 20000000,\n networkLayer: 1,\n numOpenPortsRequired: 1,\n organizationName: `${LocationName.Sector12IronGym} Network`,\n requiredHackingSkill: 100,\n serverGrowth: 20,\n specialName: LocationName.Sector12IronGym,\n },\n {\n hackDifficulty: {\n max: 55,\n min: 45,\n },\n hostname: \"millenium-fitness\",\n maxRamExponent: {\n max: 8,\n min: 4,\n },\n moneyAvailable: 250000000,\n networkLayer: 6,\n numOpenPortsRequired: 3,\n organizationName: \"Millenium Fitness Network\",\n requiredHackingSkill: {\n max: 525,\n min: 475,\n },\n serverGrowth: {\n max: 45,\n min: 25,\n },\n specialName: LocationName.VolhavenMilleniumFitnessGym,\n },\n {\n hackDifficulty: {\n max: 65,\n min: 55,\n },\n hostname: \"powerhouse-fitness\",\n maxRamExponent: {\n max: 6,\n min: 4,\n },\n moneyAvailable: 900000000,\n networkLayer: 14,\n numOpenPortsRequired: 5,\n organizationName: \"Powerhouse Fitness\",\n requiredHackingSkill: {\n max: 1100,\n min: 950,\n },\n serverGrowth: {\n max: 60,\n min: 50,\n },\n specialName: LocationName.Sector12PowerhouseGym,\n },\n {\n hackDifficulty: {\n max: 60,\n min: 40,\n },\n hostname: \"snap-fitness\",\n moneyAvailable: 450000000,\n networkLayer: 7,\n numOpenPortsRequired: 4,\n organizationName: \"Snap Fitness\",\n requiredHackingSkill: {\n max: 800,\n min: 675,\n },\n serverGrowth: {\n max: 60,\n min: 40,\n },\n specialName: LocationName.AevumSnapFitnessGym,\n },\n {\n hackDifficulty: 0,\n hostname: \"run4theh111z\",\n literature: [LiteratureNames.SimulatedReality, LiteratureNames.TheNewGod],\n maxRamExponent: {\n max: 9,\n min: 5,\n },\n moneyAvailable: 0,\n networkLayer: 11,\n numOpenPortsRequired: 4,\n organizationName: \"The Runners\",\n requiredHackingSkill: {\n max: 550,\n min: 505,\n },\n serverGrowth: 0,\n specialName: SpecialServers.BitRunnersServer,\n },\n {\n hackDifficulty: 0,\n hostname: \"I.I.I.I\",\n literature: [LiteratureNames.DemocracyIsDead],\n maxRamExponent: {\n max: 8,\n min: 4,\n },\n moneyAvailable: 0,\n networkLayer: 5,\n numOpenPortsRequired: 3,\n organizationName: \"I.I.I.I\",\n requiredHackingSkill: {\n max: 365,\n min: 340,\n },\n serverGrowth: 0,\n specialName: SpecialServers.TheBlackHandServer,\n },\n {\n hackDifficulty: 0,\n hostname: \"avmnite-02h\",\n literature: [LiteratureNames.DemocracyIsDead],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: 0,\n networkLayer: 4,\n numOpenPortsRequired: 2,\n organizationName: FactionNames.NiteSec,\n requiredHackingSkill: {\n max: 220,\n min: 202,\n },\n serverGrowth: 0,\n specialName: SpecialServers.NiteSecServer,\n },\n {\n hackDifficulty: 0,\n hostname: \".\",\n maxRamExponent: 4,\n moneyAvailable: 0,\n networkLayer: 13,\n numOpenPortsRequired: 4,\n organizationName: \".\",\n requiredHackingSkill: {\n max: 550,\n min: 505,\n },\n serverGrowth: 0,\n specialName: SpecialServers.TheDarkArmyServer,\n },\n {\n hackDifficulty: 0,\n hostname: \"CSEC\",\n literature: [LiteratureNames.DemocracyIsDead],\n maxRamExponent: 3,\n moneyAvailable: 0,\n networkLayer: 2,\n numOpenPortsRequired: 1,\n organizationName: FactionNames.CyberSec,\n requiredHackingSkill: {\n max: 60,\n min: 51,\n },\n serverGrowth: 0,\n specialName: SpecialServers.CyberSecServer,\n },\n {\n hackDifficulty: 0,\n hostname: \"The-Cave\",\n literature: [LiteratureNames.AlphaOmega],\n moneyAvailable: 0,\n networkLayer: 15,\n numOpenPortsRequired: 5,\n organizationName: \"Helios\",\n requiredHackingSkill: 925,\n serverGrowth: 0,\n specialName: SpecialServers.DaedalusServer,\n },\n {\n hackDifficulty: 0,\n hostname: \"w0r1d_d43m0n\",\n moneyAvailable: 0,\n numOpenPortsRequired: 5,\n organizationName: \"w0r1d_d43m0n\",\n requiredHackingSkill: 3000,\n serverGrowth: 0,\n specialName: SpecialServers.WorldDaemon,\n },\n {\n hostname: SpecialServers.DarkWeb,\n moneyAvailable: 0,\n numOpenPortsRequired: 5,\n organizationName: SpecialServers.DarkWeb,\n requiredHackingSkill: 1,\n specialName: SpecialServers.DarkWeb,\n },\n];\n","import { CONSTANTS } from \"../Constants\";\nimport * as names from \"./data/companypositionnames\";\n\n/* tslint:disable:completed-docs */\n\nexport interface IConstructorParams {\n name: string;\n nextPosition: string | null;\n baseSalary: number;\n repMultiplier: number;\n\n reqdHacking?: number;\n reqdStrength?: number;\n reqdDefense?: number;\n reqdDexterity?: number;\n reqdAgility?: number;\n reqdCharisma?: number;\n reqdReputation?: number;\n\n hackingEffectiveness?: number;\n strengthEffectiveness?: number;\n defenseEffectiveness?: number;\n dexterityEffectiveness?: number;\n agilityEffectiveness?: number;\n charismaEffectiveness?: number;\n\n hackingExpGain?: number;\n strengthExpGain?: number;\n defenseExpGain?: number;\n dexterityExpGain?: number;\n agilityExpGain?: number;\n charismaExpGain?: number;\n}\n\nexport class CompanyPosition {\n /**\n * Position title\n */\n name: string;\n\n /**\n * Title of next position to be promoted to\n */\n nextPosition: string | null;\n\n /**\n * Base salary for this position ($ per 200ms game cycle)\n * Will be multiplier by a company-specific multiplier for final salary\n */\n baseSalary: number;\n\n /**\n * Reputation multiplier\n */\n repMultiplier: number;\n\n /**\n * Required stats to earn this position\n */\n requiredAgility: number;\n requiredCharisma: number;\n requiredDefense: number;\n requiredDexterity: number;\n requiredHacking: number;\n requiredStrength: number;\n\n /**\n * Required company reputation to earn this position\n */\n requiredReputation: number;\n\n /**\n * Effectiveness of each stat time for job performance\n */\n hackingEffectiveness: number;\n strengthEffectiveness: number;\n defenseEffectiveness: number;\n dexterityEffectiveness: number;\n agilityEffectiveness: number;\n charismaEffectiveness: number;\n\n /**\n * Experience gain for performing job (per 200ms game cycle)\n */\n hackingExpGain: number;\n strengthExpGain: number;\n defenseExpGain: number;\n dexterityExpGain: number;\n agilityExpGain: number;\n charismaExpGain: number;\n\n constructor(p: IConstructorParams) {\n this.name = p.name;\n this.nextPosition = p.nextPosition;\n this.baseSalary = p.baseSalary;\n this.repMultiplier = p.repMultiplier;\n\n this.requiredHacking = p.reqdHacking != null ? p.reqdHacking : 0;\n this.requiredStrength = p.reqdStrength != null ? p.reqdStrength : 0;\n this.requiredDefense = p.reqdDefense != null ? p.reqdDefense : 0;\n this.requiredDexterity = p.reqdDexterity != null ? p.reqdDexterity : 0;\n this.requiredAgility = p.reqdAgility != null ? p.reqdAgility : 0;\n this.requiredCharisma = p.reqdCharisma != null ? p.reqdCharisma : 0;\n this.requiredReputation = p.reqdReputation != null ? p.reqdReputation : 0;\n\n this.hackingEffectiveness = p.hackingEffectiveness != null ? p.hackingEffectiveness : 0;\n this.strengthEffectiveness = p.strengthEffectiveness != null ? p.strengthEffectiveness : 0;\n this.defenseEffectiveness = p.defenseEffectiveness != null ? p.defenseEffectiveness : 0;\n this.dexterityEffectiveness = p.dexterityEffectiveness != null ? p.dexterityEffectiveness : 0;\n this.agilityEffectiveness = p.agilityEffectiveness != null ? p.agilityEffectiveness : 0;\n this.charismaEffectiveness = p.charismaEffectiveness != null ? p.charismaEffectiveness : 0;\n\n if (\n Math.round(\n this.hackingEffectiveness +\n this.strengthEffectiveness +\n this.defenseEffectiveness +\n this.dexterityEffectiveness +\n this.agilityEffectiveness +\n this.charismaEffectiveness,\n ) !== 100\n ) {\n console.error(`CompanyPosition ${this.name} parameters do not sum to 100`);\n }\n\n this.hackingExpGain = p.hackingExpGain != null ? p.hackingExpGain : 0;\n this.strengthExpGain = p.strengthExpGain != null ? p.strengthExpGain : 0;\n this.defenseExpGain = p.defenseExpGain != null ? p.defenseExpGain : 0;\n this.dexterityExpGain = p.dexterityExpGain != null ? p.dexterityExpGain : 0;\n this.agilityExpGain = p.agilityExpGain != null ? p.agilityExpGain : 0;\n this.charismaExpGain = p.charismaExpGain != null ? p.charismaExpGain : 0;\n }\n\n calculateJobPerformance(hack: number, str: number, def: number, dex: number, agi: number, cha: number): number {\n const hackRatio: number = (this.hackingEffectiveness * hack) / CONSTANTS.MaxSkillLevel;\n const strRatio: number = (this.strengthEffectiveness * str) / CONSTANTS.MaxSkillLevel;\n const defRatio: number = (this.defenseEffectiveness * def) / CONSTANTS.MaxSkillLevel;\n const dexRatio: number = (this.dexterityEffectiveness * dex) / CONSTANTS.MaxSkillLevel;\n const agiRatio: number = (this.agilityEffectiveness * agi) / CONSTANTS.MaxSkillLevel;\n const chaRatio: number = (this.charismaEffectiveness * cha) / CONSTANTS.MaxSkillLevel;\n\n let reputationGain: number =\n (this.repMultiplier * (hackRatio + strRatio + defRatio + dexRatio + agiRatio + chaRatio)) / 100;\n if (isNaN(reputationGain)) {\n console.error(\"Company reputation gain calculated to be NaN\");\n reputationGain = 0;\n }\n\n return reputationGain;\n }\n\n isSoftwareJob(): boolean {\n return names.SoftwareCompanyPositions.includes(this.name);\n }\n\n isITJob(): boolean {\n return names.ITCompanyPositions.includes(this.name);\n }\n\n isSecurityEngineerJob(): boolean {\n return names.SecurityEngineerCompanyPositions.includes(this.name);\n }\n\n isNetworkEngineerJob(): boolean {\n return names.NetworkEngineerCompanyPositions.includes(this.name);\n }\n\n isBusinessJob(): boolean {\n return names.BusinessCompanyPositions.includes(this.name);\n }\n\n isSecurityJob(): boolean {\n return names.SecurityCompanyPositions.includes(this.name);\n }\n\n isAgentJob(): boolean {\n return names.AgentCompanyPositions.includes(this.name);\n }\n\n isSoftwareConsultantJob(): boolean {\n return names.SoftwareConsultantCompanyPositions.includes(this.name);\n }\n\n isBusinessConsultantJob(): boolean {\n return names.BusinessConsultantCompanyPositions.includes(this.name);\n }\n\n isPartTimeJob(): boolean {\n return names.PartTimeCompanyPositions.includes(this.name);\n }\n}\n","/**\n * Class representing a Script instance that is actively running.\n * A Script can have multiple active instances\n */\nimport { Script } from \"./Script\";\nimport { ScriptUrl } from \"./ScriptUrl\";\nimport { Settings } from \"../Settings/Settings\";\nimport { IMap } from \"../types\";\nimport { Terminal } from \"../Terminal\";\n\nimport { Generic_fromJSON, Generic_toJSON, IReviverValue, Reviver } from \"../utils/JSONReviver\";\nimport { formatTime } from \"../utils/helpers/formatTime\";\nimport { ScriptArg } from \"../Netscript/ScriptArg\";\n\nexport class RunningScript {\n // Script arguments\n args: ScriptArg[] = [];\n\n // Map of [key: hostname] -> Hacking data. Used for offline progress calculations.\n // Hacking data format: [MoneyStolen, NumTimesHacked, NumTimesGrown, NumTimesWeaken]\n dataMap: IMap = {};\n\n // Script filename\n filename = \"\";\n\n // This script's logs. An array of log entries\n logs: string[] = [];\n\n // Flag indicating whether the logs have been updated since\n // the last time the UI was updated\n logUpd = false;\n\n // Total amount of hacking experience earned from this script when offline\n offlineExpGained = 0;\n\n // Total amount of money made by this script when offline\n offlineMoneyMade = 0;\n\n // Number of seconds that the script has been running offline\n offlineRunningTime = 0.01;\n\n // Total amount of hacking experience earned from this script when online\n onlineExpGained = 0;\n\n // Total amount of money made by this script when online\n onlineMoneyMade = 0;\n\n // Number of seconds that this script has been running online\n onlineRunningTime = 0.01;\n\n // Process ID. Must be an integer and equals the PID of corresponding WorkerScript\n pid = -1;\n\n // How much RAM this script uses for ONE thread\n ramUsage = 0;\n\n // hostname of the server on which this script is running\n server = \"\";\n\n // Number of threads that this script is running with\n threads = 1;\n\n // Script urls for the current running script for translating urls back to file names in errors\n dependencies: ScriptUrl[] = [];\n\n constructor(script: Script | null = null, args: ScriptArg[] = []) {\n if (script == null) {\n return;\n }\n this.filename = script.filename;\n this.args = args;\n this.server = script.server;\n this.ramUsage = script.ramUsage;\n this.dependencies = script.dependencies;\n }\n\n log(txt: string): void {\n if (this.logs.length > Settings.MaxLogCapacity) {\n this.logs.shift();\n }\n\n let logEntry = txt;\n if (Settings.TimestampsFormat) {\n logEntry = \"[\" + formatTime(Settings.TimestampsFormat) + \"] \" + logEntry;\n }\n\n this.logs.push(logEntry);\n this.logUpd = true;\n }\n\n displayLog(): void {\n for (let i = 0; i < this.logs.length; ++i) {\n Terminal.print(this.logs[i]);\n }\n }\n\n clearLog(): void {\n this.logs.length = 0;\n }\n\n // Update the moneyStolen and numTimesHack maps when hacking\n recordHack(hostname: string, moneyGained: number, n = 1): void {\n if (this.dataMap[hostname] == null || this.dataMap[hostname].constructor !== Array) {\n this.dataMap[hostname] = [0, 0, 0, 0];\n }\n this.dataMap[hostname][0] += moneyGained;\n this.dataMap[hostname][1] += n;\n }\n\n // Update the grow map when calling grow()\n recordGrow(hostname: string, n = 1): void {\n if (this.dataMap[hostname] == null || this.dataMap[hostname].constructor !== Array) {\n this.dataMap[hostname] = [0, 0, 0, 0];\n }\n this.dataMap[hostname][2] += n;\n }\n\n // Update the weaken map when calling weaken() {\n recordWeaken(hostname: string, n = 1): void {\n if (this.dataMap[hostname] == null || this.dataMap[hostname].constructor !== Array) {\n this.dataMap[hostname] = [0, 0, 0, 0];\n }\n this.dataMap[hostname][3] += n;\n }\n\n // Serialize the current object to a JSON save state\n toJSON(): IReviverValue {\n return Generic_toJSON(\"RunningScript\", this);\n }\n\n // Initializes a RunningScript Object from a JSON save state\n static fromJSON(value: IReviverValue): RunningScript {\n return Generic_fromJSON(RunningScript, value.data);\n }\n}\n\nReviver.constructors.RunningScript = RunningScript;\n","export function checkEnum(\n enumVariable: { [key in T]: TEnumValue },\n value: string,\n): value is TEnumValue {\n return Object.values(enumVariable).includes(value);\n}\n","import React from \"react\";\nimport { SourceFile } from \"./SourceFile\";\nimport { IMap } from \"../types\";\n\nexport const SourceFiles: IMap = {};\n\nSourceFiles[\"SourceFile1\"] = new SourceFile(\n 1,\n (\n <>\n This Source-File lets the player start with 32GB of RAM on his/her home computer. It also increases all of the\n player's multipliers by:\n \n \n Level 1: 16%\n \n Level 2: 24%\n \n Level 3: 28%\n >\n ),\n);\nSourceFiles[\"SourceFile2\"] = new SourceFile(\n 2,\n (\n <>\n This Source-File allows you to form gangs in other BitNodes once your karma decreases to a certain value. It also\n increases the player's crime success rate, crime money, and charisma multipliers by:\n \n \n Level 1: 24%\n \n Level 2: 36%\n \n Level 3: 42%\n >\n ),\n);\nSourceFiles[\"SourceFile3\"] = new SourceFile(\n 3,\n (\n <>\n This Source-File lets you create corporations on other BitNodes (although some BitNodes will disable this\n mechanic). This Source-File also increases your charisma and company salary multipliers by:\n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nSourceFiles[\"SourceFile4\"] = new SourceFile(\n 4,\n (\n <>\n This Source-File lets you access and use the Singularity Functions in every BitNode. Every level of this\n Source-File reduces the RAM cost of Singularity functions.\n >\n ),\n);\nSourceFiles[\"SourceFile5\"] = new SourceFile(\n 5,\n (\n <>\n This Source-File grants a special new stat called Intelligence. Intelligence is unique because it is permanent and\n persistent (it never gets reset back to 1). However, gaining Intelligence experience is much slower than other\n stats. Higher Intelligence levels will boost your production for many actions in the game. In addition, this\n Source-File will unlock:\n \n
\n
\n The getBitNodeMultipliers() Netscript function\n
\n
Permanent access to Formulas.exe
\n
\n Access to BitNode multiplier information on the Stats page\n
\n
\n It will also raise all of your hacking-related multipliers by:\n \n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nSourceFiles[\"SourceFile6\"] = new SourceFile(\n 6,\n (\n <>\n This Source-File allows you to access the NSA's Bladeburner Division in other BitNodes. In addition, this\n Source-File will raise both the level and experience gain rate of all your combat stats by:\n \n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nSourceFiles[\"SourceFile7\"] = new SourceFile(\n 7,\n (\n <>\n This Source-File allows you to access the Bladeburner Netscript API in other BitNodes. In addition, this\n Source-File will increase all of your Bladeburner multipliers by:\n \n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nSourceFiles[\"SourceFile8\"] = new SourceFile(\n 8,\n (\n <>\n This Source-File grants the following benefits:\n \n \n Level 1: Permanent access to WSE and TIX API\n \n Level 2: Ability to short stocks in other BitNodes\n \n Level 3: Ability to use limit/stop orders in other BitNodes\n \n \n This Source-File also increases your hacking growth multipliers by:\n \n Level 1: 12%\n \n Level 2: 18%\n \n Level 3: 21%\n >\n ),\n);\nSourceFiles[\"SourceFile9\"] = new SourceFile(\n 9,\n (\n <>\n This Source-File grants the following benefits:\n \n \n Level 1: Permanently unlocks the Hacknet Server in other BitNodes\n \n Level 2: You start with 128GB of RAM on your home computer when entering a new BitNode\n \n Level 3: Grants a highly-upgraded Hacknet Server when entering a new BitNode\n \n \n (Note that the Level 3 effect of this Source-File only applies when entering a new BitNode, NOT when installing\n Augmentations)\n \n \n This Source-File also increases your hacknet multipliers by:\n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nSourceFiles[\"SourceFile10\"] = new SourceFile(\n 10,\n (\n <>\n This Source-File unlocks Sleeve technology, and the Grafting API in other BitNodes. Each level of this Source-File\n also grants you a Duplicate Sleeve\n >\n ),\n);\nSourceFiles[\"SourceFile11\"] = new SourceFile(\n 11,\n (\n <>\n This Source-File makes it so that company favor increases BOTH the player's salary and reputation gain rate at\n that company by 1% per favor (rather than just the reputation gain). This Source-File also increases the player's\n company salary and reputation gain multipliers by:\n \n \n Level 1: 32%\n \n Level 2: 48%\n \n Level 3: 56%\n \n \n It also reduces the price increase for every aug bought by:\n \n \n Level 1: 4%\n \n Level 2: 6%\n \n Level 3: 7%\n >\n ),\n);\nSourceFiles[\"SourceFile12\"] = new SourceFile(\n 12,\n <>This Source-File lets the player start with Neuroflux Governor equal to the level of this Source-File.>,\n);\nSourceFiles[\"SourceFile13\"] = new SourceFile(\n 13,\n <>Each level of this Source-File increases the size of Stanek's Gift.>,\n);\n","import React from \"react\";\n\nimport { IBladeburner } from \"../IBladeburner\";\nimport { BlackOperation } from \"../BlackOperation\";\nimport { use } from \"../../ui/Context\";\nimport Button from \"@mui/material/Button\";\nimport { AugmentationNames } from \"../../Augmentation/data/AugmentationNames\";\n\ninterface IProps {\n bladeburner: IBladeburner;\n type: number;\n name: string;\n rerender: () => void;\n}\nexport function StartButton(props: IProps): React.ReactElement {\n const player = use.Player();\n const action = props.bladeburner.getActionObject({ name: props.name, type: props.type });\n if (action == null) {\n throw new Error(\"Failed to get Operation Object for: \" + props.name);\n }\n let disabled = false;\n if (action.count < 1) {\n disabled = true;\n }\n if (props.name === \"Raid\" && props.bladeburner.getCurrentCity().comms === 0) {\n disabled = true;\n }\n\n if (action instanceof BlackOperation && props.bladeburner.rank < action.reqdRank) {\n disabled = true;\n }\n function onStart(): void {\n if (disabled) return;\n props.bladeburner.action.type = props.type;\n props.bladeburner.action.name = props.name;\n if (!player.hasAugmentation(AugmentationNames.BladesSimulacrum, true)) player.finishWork(true);\n props.bladeburner.startAction(player, props.bladeburner.action);\n props.rerender();\n }\n\n return (\n \n );\n}\n","import React, { useEffect, useState } from \"react\";\n\nfunction replace(str: string, i: number, char: string): string {\n return str.substring(0, i) + char + str.substring(i + 1);\n}\n\ninterface IProps {\n content: string;\n}\n\nfunction randomize(char: string): string {\n const randFrom = (str: string): string => str[Math.floor(Math.random() * str.length)];\n const classes = [\"abcdefghijklmnopqrstuvwxyz\", \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\", \"1234567890\", \" _\", \"()[]{}<>\"];\n const other = `!@#$%^&*()_+|\\\\';\"/.,?\\`~`;\n\n for (const c of classes) {\n if (c.includes(char)) return randFrom(c);\n }\n\n return randFrom(other);\n}\n\nexport function CorruptableText(props: IProps): JSX.Element {\n const [content, setContent] = useState(props.content);\n\n useEffect(() => {\n let counter = 5;\n const timers: number[] = [];\n const intervalId = setInterval(() => {\n counter--;\n if (counter > 0) return;\n counter = Math.random() * 5;\n const index = Math.random() * content.length;\n const letter = content.charAt(index);\n setContent((content) => replace(content, index, randomize(letter)));\n timers.push(\n window.setTimeout(() => {\n setContent((content) => replace(content, index, letter));\n }, 500),\n );\n }, 20);\n\n return () => {\n clearInterval(intervalId);\n timers.forEach((timerId) => clearTimeout(timerId));\n };\n }, []);\n\n return {content};\n}\n","import React from \"react\";\nimport { CONSTANTS } from \"../Constants\";\nimport { AugmentationNames } from \"../Augmentation/data/AugmentationNames\";\nimport { GraftableAugmentations } from \"../PersonObjects/Grafting/ui/GraftingRoot\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { Work, WorkType } from \"./Work\";\nimport { graftingIntBonus } from \"../PersonObjects/Grafting/GraftingHelpers\";\nimport { applyAugmentation } from \"../Augmentation/AugmentationHelpers\";\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { Reviver, Generic_toJSON, Generic_fromJSON, IReviverValue } from \"../utils/JSONReviver\";\nimport { GraftableAugmentation } from \"../PersonObjects/Grafting/GraftableAugmentation\";\nimport { StaticAugmentations } from \"../Augmentation/StaticAugmentations\";\n\nexport const isGraftingWork = (w: Work | null): w is GraftingWork => w !== null && w.type === WorkType.GRAFTING;\n\ninterface GraftingWorkParams {\n augmentation: string;\n player: IPlayer;\n singularity: boolean;\n}\n\nexport class GraftingWork extends Work {\n augmentation: string;\n unitCompleted: number;\n\n constructor(params?: GraftingWorkParams) {\n super(WorkType.GRAFTING, params?.singularity ?? true);\n this.unitCompleted = 0;\n this.augmentation = params?.augmentation ?? AugmentationNames.Targeting1;\n\n if (params?.player) params.player.loseMoney(GraftableAugmentations[this.augmentation].cost, \"augmentations\");\n }\n\n unitNeeded(): number {\n return new GraftableAugmentation(StaticAugmentations[this.augmentation]).time;\n }\n\n process(player: IPlayer, cycles: number): boolean {\n let focusBonus = 1;\n if (!player.hasAugmentation(AugmentationNames.NeuroreceptorManager)) {\n focusBonus = player.focus ? 1 : CONSTANTS.BaseFocusBonus;\n }\n\n this.cyclesWorked += cycles;\n this.unitCompleted += CONSTANTS._idleSpeed * cycles * graftingIntBonus(player) * focusBonus;\n\n return this.unitCompleted >= this.unitNeeded();\n }\n\n finish(player: IPlayer, cancelled: boolean): void {\n const augName = this.augmentation;\n if (!cancelled) {\n applyAugmentation({ name: augName, level: 1 });\n\n if (!player.hasAugmentation(AugmentationNames.CongruityImplant)) {\n player.entropy += 1;\n player.applyEntropy(player.entropy);\n }\n\n if (!this.singularity) {\n dialogBoxCreate(\n <>\n You've finished grafting {augName}. \n The augmentation has been applied to your body{\" \"}\n {player.hasAugmentation(AugmentationNames.CongruityImplant) ? \".\" : \", but you feel a bit off.\"}\n >,\n );\n }\n } else if (cancelled && !this.singularity) {\n dialogBoxCreate(\n <>\n You cancelled the grafting of {augName}.\n \n Your money was not returned to you.\n >,\n );\n }\n\n // Intelligence gain\n if (!cancelled) {\n player.gainIntelligenceExp(\n (CONSTANTS.IntelligenceGraftBaseExpGain * this.cyclesWorked * CONSTANTS._idleSpeed) / 10000,\n );\n }\n }\n\n /**\n * Serialize the current object to a JSON save state.\n */\n toJSON(): IReviverValue {\n return Generic_toJSON(\"GraftingWork\", this);\n }\n\n /**\n * Initiatizes a GraftingWork object from a JSON save state.\n */\n static fromJSON(value: IReviverValue): GraftingWork {\n return Generic_fromJSON(GraftingWork, value.data);\n }\n}\n\nReviver.constructors.GraftingWork = GraftingWork;\n","import { format } from \"date-fns\";\n\nexport function formatTime(fmt: string): string {\n try {\n return format(new Date(), fmt);\n } catch (e: unknown) {\n return \"format error\";\n }\n}\n","import React from \"react\";\nimport { IMap } from \"../types\";\nimport { FactionNames } from \"./data/FactionNames\";\nimport { use } from \"../ui/Context\";\nimport { Option } from \"./ui/Option\";\nimport { Typography } from \"@mui/material\";\n\ninterface FactionInfoParams {\n infoText?: JSX.Element;\n enemies?: string[];\n offerHackingWork?: boolean;\n offerFieldWork?: boolean;\n offerSecurityWork?: boolean;\n special?: boolean;\n keepOnInstall?: boolean;\n assignment?: () => React.ReactElement;\n}\n\n/**\n * Contains the \"information\" property for all the Factions, which is just a description of each faction\n */\nexport class FactionInfo {\n /**\n * The names of all other factions considered to be enemies to this faction.\n */\n enemies: string[];\n\n /**\n * The descriptive text to show on the faction's page.\n */\n infoText: JSX.Element;\n\n /**\n * A flag indicating if the faction supports field work to earn reputation.\n */\n offerFieldWork: boolean;\n\n /**\n * A flag indicating if the faction supports hacking work to earn reputation.\n */\n offerHackingWork: boolean;\n\n /**\n * A flag indicating if the faction supports security work to earn reputation.\n */\n offerSecurityWork: boolean;\n\n /**\n * Keep faction on install.\n */\n keep: boolean;\n\n /**\n * Special faction\n */\n special: boolean;\n\n /**\n * The data to display on the faction screen.\n */\n assignment?: () => React.ReactElement;\n\n constructor(params: FactionInfoParams) {\n this.infoText = params.infoText ?? <>>;\n this.enemies = params.enemies ?? [];\n this.offerHackingWork = params.offerHackingWork ?? false;\n this.offerFieldWork = params.offerFieldWork ?? false;\n this.offerSecurityWork = params.offerSecurityWork ?? false;\n\n this.keep = params.keepOnInstall ?? false;\n this.special = params.special ?? false;\n this.assignment = params.assignment;\n }\n\n offersWork(): boolean {\n return this.offerFieldWork || this.offerHackingWork || this.offerSecurityWork;\n }\n}\n\n/**\n * A map of all factions and associated info to them.\n */\n// tslint:disable-next-line:variable-name\nexport const FactionInfos: IMap = {\n // Endgame\n [FactionNames.Illuminati]: new FactionInfo({\n infoText: (\n <>\n Humanity never changes. No matter how civilized society becomes, it will eventually fall back into chaos. And\n from this chaos, we are the invisible hand that guides them to order.{\" \"}\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n }),\n\n [FactionNames.Daedalus]: new FactionInfo({\n infoText: <>Yesterday we obeyed kings and bent our necks to emperors. Today we kneel only to truth.>,\n offerHackingWork: true,\n offerFieldWork: true,\n }),\n\n [FactionNames.TheCovenant]: new FactionInfo({\n infoText: (\n <>\n Surrender yourself. Give up your empty individuality to become part of something great, something eternal.\n Become a slave. Submit your mind, body, and soul. Only then can you set yourself free.\n \n \n Only then can you discover immortality.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n }),\n\n // Megacorporations, each forms its own faction\n [FactionNames.ECorp]: new FactionInfo({\n infoText: (\n <>\n {FactionNames.ECorp}'s mission is simple: to connect the world of today with the technology of tomorrow. With\n our wide range of Internet-related software and commercial hardware, {FactionNames.ECorp} makes the world's\n information universally accessible.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.MegaCorp]: new FactionInfo({\n infoText: (\n <>\n {FactionNames.MegaCorp} does what no other dares to do. We imagine. We create. We invent. We create what others\n have never even dreamed of. Our work fills the world's needs for food, water, power, and transportation on an\n unprecedented scale, in ways that no other company can.\n \n \n In our labs and factories and on the ground with customers, {FactionNames.MegaCorp} is ushering in a new era for\n the world.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.BachmanAssociates]: new FactionInfo({\n infoText: (\n <>\n Where Law and Business meet - that's where we are.\n \n \n Legal Insight - Business Instinct - Innovative Experience.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.BladeIndustries]: new FactionInfo({\n infoText: <>Augmentation is Salvation.>,\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.NWO]: new FactionInfo({\n infoText: (\n <>\n Humans don't truly desire freedom. They want to be observed, understood, and judged. They want to be given\n purpose and direction in life. That is why they created God. And that is why they created civilization - not\n because of willingness, but because of a need to be incorporated into higher orders of structure and meaning.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.ClarkeIncorporated]: new FactionInfo({\n infoText: <>The Power of the Genome - Unlocked.>,\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.OmniTekIncorporated]: new FactionInfo({\n infoText: <>Simply put, our mission is to design and build robots that make a difference.>,\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.FourSigma]: new FactionInfo({\n infoText: (\n <>\n The scientific method is the best way to approach investing. Big strategies backed up with big data. Driven by\n deep learning and innovative ideas. And improved by iteration. That's {FactionNames.FourSigma}.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.KuaiGongInternational]: new FactionInfo({\n infoText: <>Dream big. Work hard. Make history.>,\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n // Other Corporations\n [FactionNames.FulcrumSecretTechnologies]: new FactionInfo({\n infoText: (\n <>\n The human organism has an innate desire to worship. That is why they created gods. If there were no gods, it\n would be necessary to create them. And now we can.\n >\n ),\n offerHackingWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n // Hacker groups\n [FactionNames.BitRunners]: new FactionInfo({\n infoText: (\n <>\n Our entire lives are controlled by bits. All of our actions, our thoughts, our personal information. It's all\n transformed into bits, stored in bits, communicated through bits. It’s impossible for any person to move, to\n live, to operate at any level without the use of bits. And when a person moves, lives, and operates, they leave\n behind their bits, mere traces of seemingly meaningless fragments of information. But these bits can be\n reconstructed. Transformed. Used.\n \n \n Those who run the bits, run the world.\n >\n ),\n offerHackingWork: true,\n }),\n\n [FactionNames.TheBlackHand]: new FactionInfo({\n infoText: (\n <>\n The world, so afraid of strong government, now has no government. Only power - Digital power. Financial power.\n Technological power. And those at the top rule with an invisible hand. They built a society where the rich get\n richer, and everyone else suffers.\n \n \n So much pain. So many lives. Their darkness must end.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n }),\n\n // prettier-ignore\n [FactionNames.NiteSec]: new FactionInfo({\n infoText:(<>\n {\" __..__ \"} \n {\" _.nITESECNIt. \"} \n {\" .-'NITESECNITESEc. \"} \n {\" .' NITESECNITESECn \"} \n {\" / NITESECNITESEC; \"} \n {\" : :NITESECNITESEC; \"} \n {\" ; $ NITESECNITESECN \"} \n {\" : _, ,N'ITESECNITESEC \"} \n {\" : .+^^`, : `NITESECNIT \"} \n {\" ) /), `-,-=,NITESECNI \"} \n {\" / ^ ,-;|NITESECN; \"} \n {\" / _.' '-';NITESECN \"} \n {\" ( , ,-''`^NITE' \"} \n {\" )` :`. .' \"} \n {\" )-- ; `- / \"} \n {\" ' _.-' : \"} \n {\" ( _.-' . \"} \n {\" ------. \"} \n {\" . \"} \n {\" _.nIt \"} \n {\" _.nITESECNi \"} \n {\" nITESECNIT^' \"} \n {\" NITE^' ___ \"} \n {\" / .gP''''Tp. \"} \n {\" : d' . `b \"} \n {\" ; d' o `b ; \"} \n {\" / d; `b| \"} \n {\" /, $; @ `: \"} \n {\" /' $/ ; \"} \n {\" .' $/b o | \"} \n {\" .' d$/$; : \"} \n {\" / .d/$/$; , ; \"} \n {\" d .dNITESEC $ | \"} \n {\" :bp.__.gNITESEC/$ :$ ; \"} \n {\" NITESECNITESECNIT /$b : \"} >),\n offerHackingWork: true,\n offerFieldWork: false,\n offerSecurityWork: false,\n special: false,\n keepOnInstall: false,\n }),\n\n // City factions, essentially governments\n [FactionNames.Aevum]: new FactionInfo({\n infoText: <>The Silicon City.>,\n enemies: [FactionNames.Chongqing, FactionNames.NewTokyo, FactionNames.Ishima, FactionNames.Volhaven],\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n [FactionNames.Chongqing]: new FactionInfo({\n infoText: <>Serve the People.>,\n enemies: [FactionNames.Sector12, FactionNames.Aevum, FactionNames.Volhaven],\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n [FactionNames.Ishima]: new FactionInfo({\n infoText: <>The East Asian Order of the Future.>,\n enemies: [FactionNames.Sector12, FactionNames.Aevum, FactionNames.Volhaven],\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n [FactionNames.NewTokyo]: new FactionInfo({\n infoText: <>Asia's World City.>,\n enemies: [FactionNames.Sector12, FactionNames.Aevum, FactionNames.Volhaven],\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n [FactionNames.Sector12]: new FactionInfo({\n infoText: <>The City of the Future.>,\n enemies: [FactionNames.Chongqing, FactionNames.NewTokyo, FactionNames.Ishima, FactionNames.Volhaven],\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n [FactionNames.Volhaven]: new FactionInfo({\n infoText: <>Benefit, Honor, and Glory.>,\n enemies: [\n FactionNames.Chongqing,\n FactionNames.Sector12,\n FactionNames.NewTokyo,\n FactionNames.Aevum,\n FactionNames.Ishima,\n ],\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n\n // Criminal Organizations/Gangs\n [FactionNames.SpeakersForTheDead]: new FactionInfo({\n infoText: <>It is better to reign in Hell than to serve in Heaven.>,\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n\n [FactionNames.TheDarkArmy]: new FactionInfo({\n infoText: <>The World doesn't care about right or wrong. It only cares about power.>,\n offerHackingWork: true,\n offerFieldWork: true,\n }),\n\n [FactionNames.TheSyndicate]: new FactionInfo({\n infoText: <>Honor holds you back.>,\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n\n [FactionNames.Silhouette]: new FactionInfo({\n infoText: (\n <>\n Corporations have filled the void of power left behind by the collapse of Western government. The issue is\n they've become so big that you don't know who they're working for. And if you're employed at one of these\n corporations, you don't even know who you're working for.\n \n \n That's terror. Terror, fear, and corruption. All born into the system, all propagated by the system.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n }),\n\n [FactionNames.Tetrads]: new FactionInfo({\n infoText: <>Following the mandate of Heaven and carrying out the way.>,\n\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n\n [FactionNames.SlumSnakes]: new FactionInfo({\n infoText: <>{FactionNames.SlumSnakes} rule!>,\n\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n\n // Earlygame factions - factions the player will prestige with early on that don't belong in other categories.\n [FactionNames.Netburners]: new FactionInfo({\n infoText: <>{\"~~//*>H4CK||3T 8URN3R5**>?>\\\\~~\"}>,\n offerHackingWork: true,\n }),\n\n [FactionNames.TianDiHui]: new FactionInfo({\n infoText: <>Obey Heaven and work righteously.>,\n offerHackingWork: true,\n\n offerSecurityWork: true,\n }),\n\n [FactionNames.CyberSec]: new FactionInfo({\n infoText: (\n <>\n The Internet is the first thing that was built that we don't fully understand, the largest experiment in anarchy\n that we have ever had. And as the world becomes increasingly dominated by it, society approaches the brink of\n total chaos. We serve only to protect society, to protect humanity, to protect the world from imminent collapse.\n >\n ),\n offerHackingWork: true,\n }),\n\n // Special Factions\n [FactionNames.Bladeburners]: new FactionInfo({\n infoText: (\n <>\n It's too bad they won't live. But then again, who does?\n \n \n Note that for this faction, reputation can only be gained through {FactionNames.Bladeburners} actions.{\" \"}\n Completing {FactionNames.Bladeburners} contracts/operations will increase your reputation.\n >\n ),\n\n special: true,\n assignment: (): React.ReactElement => {\n const router = use.Router();\n return (\n