From 460d9808e51f35dfb2445499e92dd9c2dcfcf54c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C5=BD=C3=A1=C4=8Dek?= Date: Fri, 6 Nov 2026 22:06:38 +0100 Subject: [PATCH] Simplify content controls and add vehicle roles; record Workshop 0.0.144 Discover installed mod vehicles and save independent garage, traffic, patrol and convoy assignments. Retire the superseded RHS 1.9 overrides. Include native menu, crew/driving and publication evidence. --- .gitignore | 4 +- CHANGELOG.md | 9 +- README.md | 7 +- .../Scripts/Game/ERR/00_Core/ERR_AdminMenu.c | 5 +- .../Game/ERR/00_Core/ERR_AdminMenuPages.c | 14 +- .../Game/ERR/00_Core/ERR_AdminSession.c | 59 +- .../Game/ERR/00_Core/ERR_ContentMenu.c | 3 +- .../Game/ERR/00_Core/ERR_ItemPreferences.c | 92 +- .../ERR/00_Core/ERR_NativeAdminMenuProbe.c | 6 +- .../Game/ERR/00_Core/ERR_ServerItemCatalog.c | 67 +- .../Game/ERR/00_Core/ERR_ServerItemsMenu.c | 143 ++- .../ERR/00_Core/ERR_ServerItemsWeightsMenu.c | 4 +- .../ERR/00_Core/ERR_ServerVehicleCatalog.c | 260 +++++ .../Game/ERR/00_Core/ERR_ServerVehiclesMenu.c | 195 ++++ .../Game/ERR/10_AI/ERR_CivilianTraffic.c | 16 +- .../Game/ERR/10_AI/ERR_ConvoyService.c | 19 +- .../Game/ERR/10_AI/ERR_GarageVehicles.c | 18 +- .../Game/ERR/10_AI/ERR_HunterService.c | 16 +- addons/core/UI/layouts/ERR/AdminMenu.layout | 146 +-- addons/core/UI/layouts/ERR/ContentRow.layout | 14 +- addons/core/UI/layouts/ERR/ItemRow.layout | 12 +- compatibility/rhs-1.9/README.md | 30 +- .../rhs-1.9/mission-workshop-description.txt | 9 +- compatibility/rhs-1.9/prepare.py | 144 +-- .../rhs-1.9/workshop-description.txt | 20 +- docs/civilian-traffic.md | 4 +- docs/configuration.md | 80 ++ docs/current-status.md | 12 +- .../content-menu-2026-11-06/README.md | 46 + .../external-addons-inputs.json | 851 ++++++++++++++++ .../content-menu-2026-11-06/items.png | Bin 0 -> 114656 bytes .../launch-source-sha256.json | 726 ++++++++++++++ .../launch-source.json | 45 + .../content-menu-2026-11-06/mods-final.png | Bin 0 -> 112606 bytes .../evidence/content-menu-2026-11-06/mods.png | Bin 0 -> 111500 bytes .../native-assertions.log | 20 + .../native-fixture.c.txt | 146 +++ .../content-menu-2026-11-06/native-result.log | 53 + .../repository-checks.log | 942 +++++++++++++++++ .../content-menu-2026-11-06/runner.json | 34 + .../source-comparison.json | 22 + .../content-menu-2026-11-06/vehicles.png | Bin 0 -> 113463 bytes .../evidence/rhs-retired-2026-11-06/README.md | 25 + .../rhs-retired-2026-11-06/checks.log | 11 + .../external-addons-inputs.json | 851 ++++++++++++++++ .../rhs-retired-2026-11-06/fixture.c.txt | 17 + .../generator-check.log | 1 + .../launch-source-sha256.json | 724 ++++++++++++++ .../rhs-retired-2026-11-06/launch-source.json | 45 + .../rhs-retired-2026-11-06/native-result.log | 53 + .../rhs-retired-2026-11-06/runner.json | 34 + .../rhs-retired-2026-11-06/script.log | 90 ++ .../source-comparison.json | 8 + .../README.md | 14 + .../console.log | 231 +++++ .../external-addons-inputs.json | 851 ++++++++++++++++ .../manifest.json | 1 + .../package-inventory.json | 43 + .../publication-status.json | 14 + .../recovery-cleanup.json | 1 + .../runner.json | 34 + .../vehicle-roles-2026-11-06/README.md | 67 ++ .../escort-filter.png | Bin 0 -> 110655 bytes .../escort-independent.png | Bin 0 -> 110326 bytes .../final-run/external-addons-inputs.json | 851 ++++++++++++++++ .../fixture-prefabs/ERR_RoleTestCar.et | 2 + .../fixture-prefabs/ERR_RoleTestCar.et.meta | 7 + .../fixture-prefabs/ERR_RoleTestEscort.et | 2 + .../ERR_RoleTestEscort.et.meta | 7 + .../fixture-prefabs/ERR_RoleTestTruck.et | 2 + .../fixture-prefabs/ERR_RoleTestTruck.et.meta | 7 + .../final-run/fixture.c.txt | 303 ++++++ .../final-run/launch-source-sha256.json | 732 ++++++++++++++ .../final-run/launch-source.json | 45 + .../final-run/result.log | 56 ++ .../final-run/runner.json | 34 + .../final-run/script.log | 314 ++++++ .../focused-final.log | 14 + .../garage-browser.png | Bin 0 -> 115919 bytes .../menu-run/external-addons-inputs.json | 851 ++++++++++++++++ .../fixture-prefabs/ERR_RoleTestCar.et | 2 + .../fixture-prefabs/ERR_RoleTestCar.et.meta | 7 + .../fixture-prefabs/ERR_RoleTestEscort.et | 2 + .../ERR_RoleTestEscort.et.meta | 7 + .../fixture-prefabs/ERR_RoleTestTruck.et | 2 + .../fixture-prefabs/ERR_RoleTestTruck.et.meta | 7 + .../menu-run/fixture.c.txt | 300 ++++++ .../menu-run/launch-source-sha256.json | 732 ++++++++++++++ .../menu-run/launch-source.json | 45 + .../menu-run/result.log | 56 ++ .../menu-run/runner.json | 34 + .../menu-run/script.log | 369 +++++++ .../patrol-browser.png | Bin 0 -> 109626 bytes .../repository-checks.log | 943 ++++++++++++++++++ .../source-comparison.json | 736 ++++++++++++++ .../workshop-0.0.144-2026-11-06/README.md | 10 + .../workshop-0.0.144-2026-11-06/upload.log | 5 + .../verification.json | 412 ++++++++ docs/external-addons.json | 10 +- tests/test_admin_menu.py | 2 +- tests/test_civilian_traffic.py | 4 +- tests/test_content_browser.py | 28 + tests/test_convoy_dispatch.py | 9 +- tests/test_item_preferences.py | 31 +- tests/test_server_item_catalog.py | 26 +- tests/test_vehicle_roles.py | 50 + tools/check.py | 9 +- ui/admin_menu/components/ContentRow.layout.in | 14 +- ui/admin_menu/components/ItemRow.layout.in | 12 +- ui/admin_menu/navigation.json | 45 +- .../pages/AllowedItemsPage.layout.in | 39 +- ui/admin_menu/pages/ItemPresetsPage.layout.in | 4 +- ui/admin_menu/pages/ModsPage.layout.in | 22 +- ui/admin_menu/pages/PacksPage.layout.in | 17 + ui/admin_menu/pages/VehiclePoolPage.layout.in | 20 + ui/admin_menu/shell.layout.in | 2 + 116 files changed, 14244 insertions(+), 404 deletions(-) create mode 100644 addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehicleCatalog.c create mode 100644 addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehiclesMenu.c create mode 100644 docs/evidence/content-menu-2026-11-06/README.md create mode 100644 docs/evidence/content-menu-2026-11-06/external-addons-inputs.json create mode 100644 docs/evidence/content-menu-2026-11-06/items.png create mode 100644 docs/evidence/content-menu-2026-11-06/launch-source-sha256.json create mode 100644 docs/evidence/content-menu-2026-11-06/launch-source.json create mode 100644 docs/evidence/content-menu-2026-11-06/mods-final.png create mode 100644 docs/evidence/content-menu-2026-11-06/mods.png create mode 100644 docs/evidence/content-menu-2026-11-06/native-assertions.log create mode 100644 docs/evidence/content-menu-2026-11-06/native-fixture.c.txt create mode 100644 docs/evidence/content-menu-2026-11-06/native-result.log create mode 100644 docs/evidence/content-menu-2026-11-06/repository-checks.log create mode 100644 docs/evidence/content-menu-2026-11-06/runner.json create mode 100644 docs/evidence/content-menu-2026-11-06/source-comparison.json create mode 100644 docs/evidence/content-menu-2026-11-06/vehicles.png create mode 100644 docs/evidence/rhs-retired-2026-11-06/README.md create mode 100644 docs/evidence/rhs-retired-2026-11-06/checks.log create mode 100644 docs/evidence/rhs-retired-2026-11-06/external-addons-inputs.json create mode 100644 docs/evidence/rhs-retired-2026-11-06/fixture.c.txt create mode 100644 docs/evidence/rhs-retired-2026-11-06/generator-check.log create mode 100644 docs/evidence/rhs-retired-2026-11-06/launch-source-sha256.json create mode 100644 docs/evidence/rhs-retired-2026-11-06/launch-source.json create mode 100644 docs/evidence/rhs-retired-2026-11-06/native-result.log create mode 100644 docs/evidence/rhs-retired-2026-11-06/runner.json create mode 100644 docs/evidence/rhs-retired-2026-11-06/script.log create mode 100644 docs/evidence/rhs-retired-2026-11-06/source-comparison.json create mode 100644 docs/evidence/rhs-standalone-published-2026-11-05/README.md create mode 100644 docs/evidence/rhs-standalone-published-2026-11-05/console.log create mode 100644 docs/evidence/rhs-standalone-published-2026-11-05/external-addons-inputs.json create mode 100644 docs/evidence/rhs-standalone-published-2026-11-05/manifest.json create mode 100644 docs/evidence/rhs-standalone-published-2026-11-05/package-inventory.json create mode 100644 docs/evidence/rhs-standalone-published-2026-11-05/publication-status.json create mode 100644 docs/evidence/rhs-standalone-published-2026-11-05/recovery-cleanup.json create mode 100644 docs/evidence/rhs-standalone-published-2026-11-05/runner.json create mode 100644 docs/evidence/vehicle-roles-2026-11-06/README.md create mode 100644 docs/evidence/vehicle-roles-2026-11-06/escort-filter.png create mode 100644 docs/evidence/vehicle-roles-2026-11-06/escort-independent.png create mode 100644 docs/evidence/vehicle-roles-2026-11-06/final-run/external-addons-inputs.json create mode 100644 docs/evidence/vehicle-roles-2026-11-06/final-run/fixture-prefabs/ERR_RoleTestCar.et create mode 100644 docs/evidence/vehicle-roles-2026-11-06/final-run/fixture-prefabs/ERR_RoleTestCar.et.meta create mode 100644 docs/evidence/vehicle-roles-2026-11-06/final-run/fixture-prefabs/ERR_RoleTestEscort.et create mode 100644 docs/evidence/vehicle-roles-2026-11-06/final-run/fixture-prefabs/ERR_RoleTestEscort.et.meta create mode 100644 docs/evidence/vehicle-roles-2026-11-06/final-run/fixture-prefabs/ERR_RoleTestTruck.et create mode 100644 docs/evidence/vehicle-roles-2026-11-06/final-run/fixture-prefabs/ERR_RoleTestTruck.et.meta create mode 100644 docs/evidence/vehicle-roles-2026-11-06/final-run/fixture.c.txt create mode 100644 docs/evidence/vehicle-roles-2026-11-06/final-run/launch-source-sha256.json create mode 100644 docs/evidence/vehicle-roles-2026-11-06/final-run/launch-source.json create mode 100644 docs/evidence/vehicle-roles-2026-11-06/final-run/result.log create mode 100644 docs/evidence/vehicle-roles-2026-11-06/final-run/runner.json create mode 100644 docs/evidence/vehicle-roles-2026-11-06/final-run/script.log create mode 100644 docs/evidence/vehicle-roles-2026-11-06/focused-final.log create mode 100644 docs/evidence/vehicle-roles-2026-11-06/garage-browser.png create mode 100644 docs/evidence/vehicle-roles-2026-11-06/menu-run/external-addons-inputs.json create mode 100644 docs/evidence/vehicle-roles-2026-11-06/menu-run/fixture-prefabs/ERR_RoleTestCar.et create mode 100644 docs/evidence/vehicle-roles-2026-11-06/menu-run/fixture-prefabs/ERR_RoleTestCar.et.meta create mode 100644 docs/evidence/vehicle-roles-2026-11-06/menu-run/fixture-prefabs/ERR_RoleTestEscort.et create mode 100644 docs/evidence/vehicle-roles-2026-11-06/menu-run/fixture-prefabs/ERR_RoleTestEscort.et.meta create mode 100644 docs/evidence/vehicle-roles-2026-11-06/menu-run/fixture-prefabs/ERR_RoleTestTruck.et create mode 100644 docs/evidence/vehicle-roles-2026-11-06/menu-run/fixture-prefabs/ERR_RoleTestTruck.et.meta create mode 100644 docs/evidence/vehicle-roles-2026-11-06/menu-run/fixture.c.txt create mode 100644 docs/evidence/vehicle-roles-2026-11-06/menu-run/launch-source-sha256.json create mode 100644 docs/evidence/vehicle-roles-2026-11-06/menu-run/launch-source.json create mode 100644 docs/evidence/vehicle-roles-2026-11-06/menu-run/result.log create mode 100644 docs/evidence/vehicle-roles-2026-11-06/menu-run/runner.json create mode 100644 docs/evidence/vehicle-roles-2026-11-06/menu-run/script.log create mode 100644 docs/evidence/vehicle-roles-2026-11-06/patrol-browser.png create mode 100644 docs/evidence/vehicle-roles-2026-11-06/repository-checks.log create mode 100644 docs/evidence/vehicle-roles-2026-11-06/source-comparison.json create mode 100644 docs/evidence/workshop-0.0.144-2026-11-06/README.md create mode 100644 docs/evidence/workshop-0.0.144-2026-11-06/upload.log create mode 100644 docs/evidence/workshop-0.0.144-2026-11-06/verification.json create mode 100644 tests/test_content_browser.py create mode 100644 tests/test_vehicle_roles.py create mode 100644 ui/admin_menu/pages/PacksPage.layout.in create mode 100644 ui/admin_menu/pages/VehiclePoolPage.layout.in diff --git a/.gitignore b/.gitignore index 327719a1..06252dab 100644 --- a/.gitignore +++ b/.gitignore @@ -6,8 +6,8 @@ __pycache__/ .local/ profiles/ -# Generated from installed RHS by compatibility/rhs-1.9/prepare.py --mission. -# Keep upstream source out of Git; include these files in the Workshop package. +# Retired RHS 1.9 overrides: keep archived/generated upstream source out of Git. +# These files must be absent from the active addon and future Workshop packages. /addons/core/Scripts/Game/Editor/Components/EditableEntity/RHS_CAS_EditableEntityComponent.c /addons/core/Scripts/Game/Vehicle/RHS_DestructionTireComponent.c diff --git a/CHANGELOG.md b/CHANGELOG.md index c486fd2e..10c100f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ # Changelog -Latest published Workshop version: **0.0.143** +Latest published Workshop version: **0.0.144** + +## 2026-11-06 — Clearer content controls + +- Unified mod, item and vehicle controls under Content, with searchable lists and clear enabled/disabled states. +- Added mod switches that remember individual choices. +- Removed the obsolete RHS 1.9 script overrides so updated RHS scripts are used directly. +- Discover vehicles from installed mods and assign them to garages, yards, traffic, enemy patrols and convoy escort or supply roles. ## 2026-11-06 — Rural traffic and menu scaling diff --git a/README.md b/README.md index 22ee24be..e0a2b390 100644 --- a/README.md +++ b/README.md @@ -48,10 +48,9 @@ Register only this project and its external dependencies in Workbench. Remove st AI/Intel/Map/Chat project entries if you previously added them. RHS: Status Quo, WCS Armaments and WCS BMP-1 (including their dependencies) remain separate, author-supplied mods; see [external dependencies](docs/external-addons.md). -Their assets are referenced. For Reforger 1.9, generate the two pinned RHS script -replacements directly into Escape before testing or packaging a fresh checkout; -see [RHS compatibility preparation](compatibility/rhs-1.9/README.md). Players do -not need a separate RHS compatibility addon. +Their assets are referenced. Use updated RHS Status Quo directly. The old RHS 1.9 +script overrides and standalone compatibility addon are retired; do not generate +or load them. See [RHS compatibility retirement](compatibility/rhs-1.9/README.md). With a shovel equipped, look at a dead body and hold **Bury body** for eight seconds. This removes the corpse and its remaining equipment; loot it first. diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenu.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenu.c index fee6f723..9eea92aa 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenu.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenu.c @@ -29,6 +29,7 @@ class ERR_AdminMenu : ChimeraMenuBase protected bool m_ScrollToEnd; protected int m_LogCursor = -1; + protected void OpenVehicleAddon(string addon) {} static ERR_AdminMenu GetOpenMenu() { if (!GetGame() || !GetGame().GetMenuManager()) return null; @@ -132,7 +133,9 @@ class ERR_AdminMenu : ChimeraMenuBase protected void OnBack() { if (!IsFocused()) return; - foreach (string key : ERR_AdminMenuFields.Keys()) + array editFields = ERR_AdminMenuFields.Keys(); + editFields.InsertAll({"ModsSearch", "ItemsSearch", "VehiclesSearch", "ItemsPresetName"}); + foreach (string key : editFields) { SCR_EditBoxComponent edit = SCR_EditBoxComponent.GetEditBoxComponent(key, GetRootWidget()); if (edit && edit.IsInWriteMode()) return; diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuPages.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuPages.c index b1847f6c..b4065188 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuPages.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuPages.c @@ -28,23 +28,25 @@ enum ERR_AdminPage TELEMETRY = 24, VEHICLES = 25, CHECKPOINTS = 26, + VEHICLE_POOL = 27, + PACKS = 28, } class ERR_AdminMenuPages { - static array Pages() { return {"SettingsPage", "HQPage", "JournalPage", "ModsPage", "FactionsPage", "WorldPage", "IntelPage", "StatusPage", "TerrainsPage", "ItemsPage", "TTSPage", "ForcesPage", "GuardsPage", "SitesPage", "PlanePage", "RecommendationsPage", "WeightsPage", "AllowedItemsPage", "ItemPresetsPage", "AIPage", "StarterPage", "SarkaPage", "DronesPage", "RadioIntelPage", "TelemetryPage", "VehiclesPage", "CheckpointsPage"}; } - static array Navigation() { return {"OpenSettings", "OpenHQ", "OpenJournal", "OpenMods", "OpenFactions", "OpenWorld", "OpenIntel", "OpenStatus", "OpenTerrains", "OpenItems", "OpenTTS", "OpenForces", "OpenGuards", "OpenSites", "OpenPlane", "OpenRecommendations", "OpenWeights", "OpenAllowedItems", "OpenItemPresets", "OpenAI", "OpenStarter", "OpenSarka", "OpenDrones", "OpenRadioIntel", "OpenTelemetry", "OpenVehicles", "OpenCheckpoints"}; } - static array MainButtons() { return {"Main_Mission", "Main_Forces", "Main_HQ", "Main_Intel", "Main_Items", "Main_Mods", "Main_Audio", "Main_Status"}; } - static array Sidebars() { return {"Sidebar_Mission", "Sidebar_Forces", "Sidebar_HQ", "Sidebar_Intel", "Sidebar_Items", "Sidebar_Mods", "Sidebar_Audio", "Sidebar_Status"}; } + static array Pages() { return {"SettingsPage", "HQPage", "JournalPage", "ModsPage", "FactionsPage", "WorldPage", "IntelPage", "StatusPage", "TerrainsPage", "ItemsPage", "TTSPage", "ForcesPage", "GuardsPage", "SitesPage", "PlanePage", "RecommendationsPage", "WeightsPage", "AllowedItemsPage", "ItemPresetsPage", "AIPage", "StarterPage", "SarkaPage", "DronesPage", "RadioIntelPage", "TelemetryPage", "VehiclesPage", "CheckpointsPage", "VehiclePoolPage", "PacksPage"}; } + static array Navigation() { return {"OpenSettings", "OpenHQ", "OpenJournal", "OpenMods", "OpenFactions", "OpenWorld", "OpenIntel", "OpenStatus", "OpenTerrains", "OpenItems", "OpenTTS", "OpenForces", "OpenGuards", "OpenSites", "OpenPlane", "OpenRecommendations", "OpenWeights", "OpenAllowedItems", "OpenItemPresets", "OpenAI", "OpenStarter", "OpenSarka", "OpenDrones", "OpenRadioIntel", "OpenTelemetry", "OpenVehicles", "OpenCheckpoints", "OpenVehiclePool", "OpenPacks"}; } + static array MainButtons() { return {"Main_Mission", "Main_Forces", "Main_HQ", "Main_Intel", "Main_Content", "Main_Audio", "Main_Status"}; } + static array Sidebars() { return {"Sidebar_Mission", "Sidebar_Forces", "Sidebar_HQ", "Sidebar_Intel", "Sidebar_Content", "Sidebar_Audio", "Sidebar_Status"}; } static int Group(int page) { - array groups = {0, 2, 7, 5, 1, 0, 3, 7, 0, 4, 6, 1, 1, 1, 2, 5, 4, 4, 4, 2, 4, 1, 2, 3, 0, 0, 1}; + array groups = {0, 2, 6, 4, 1, 0, 3, 6, 0, 4, 5, 1, 1, 1, 2, 0, 4, 4, 4, 2, 4, 1, 2, 3, 0, 4, 1, 4, 1}; if (page < 0 || page >= groups.Count()) return -1; return groups[page]; } static int MainPage(int group) { - array pages = {ERR_AdminPage.MISSION, ERR_AdminPage.FORCES, ERR_AdminPage.HQ, ERR_AdminPage.INTEL, ERR_AdminPage.ITEMS, ERR_AdminPage.MODS, ERR_AdminPage.SPEECH, ERR_AdminPage.STATUS}; + array pages = {ERR_AdminPage.MISSION, ERR_AdminPage.FORCES, ERR_AdminPage.HQ, ERR_AdminPage.INTEL, ERR_AdminPage.MODS, ERR_AdminPage.SPEECH, ERR_AdminPage.STATUS}; if (group < 0 || group >= pages.Count()) return -1; return pages[group]; } diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_AdminSession.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_AdminSession.c index b6df281f..c80e6429 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_AdminSession.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_AdminSession.c @@ -11,6 +11,8 @@ class ERR_AdminSession protected int m_Cursor; protected string m_ItemAddon; protected int m_ItemPage; + protected int m_ItemFilter; + protected string m_ItemQuery; protected float m_LastRequest = -1000; protected float m_LastSnapshot = -1000; protected float m_LastLog = -1000; @@ -68,7 +70,7 @@ class ERR_AdminSession return; } array replies = {}; - if (!StartBackpackCommand(arguments, replies) && !ItemCatalogCommand(arguments, replies) && !JournalCommand(arguments, replies) && !m_Tools.Execute(m_Mode, m_Controller, arguments, replies)) + if (!StartBackpackCommand(arguments, replies) && !ItemCatalogCommand(arguments, replies) && !VehicleCatalogCommand(arguments, replies) && !JournalCommand(arguments, replies) && !m_Tools.Execute(m_Mode, m_Controller, arguments, replies)) m_Mode.Admin().Execute(m_Mode, true, arguments, replies); foreach (string reply : replies) m_Controller.ERR_AdminDeliverReply(m_Token, reply, menu); if (menu) Snapshot(true); @@ -107,6 +109,22 @@ class ERR_AdminSession if (parts.IsEmpty() || parts[0] != "items") return false; int page; ERR_ServerItemCatalog catalog = GetGame().ERR_ServerItems(); catalog.Start(m_Mode); + if (parts.Count() == 4 && parts[1] == "mod" && catalog.Find(parts[2]) && (parts[3] == "0" || parts[3] == "1")) + { + if (GetGame().ERR_ItemSelections().SetSwitch(parts[2], "mod", parts[3] == "1")) replies.Insert("Mod selection saved for future random equipment and civilian vehicles. Individual choices are remembered."); + else replies.Insert("Could not save mod selection. Previous choices retained."); + return true; + } + if (parts.Count() >= 5 && parts[1] == "browse" && catalog.Find(parts[2])) + { + int filter; + if (!ERR_CommandArguments.Integer(parts[3], page) || page < 0 || page > 2730 || !ERR_CommandArguments.Integer(parts[4], filter) || filter < 0 || filter > 2) return true; + string query; + for (int q = 5; q < parts.Count(); q++) { if (!query.IsEmpty()) query += " "; query += parts[q]; } + if (query.Length() > 64) return true; + m_ItemAddon = parts[2]; m_ItemPage = page; m_ItemFilter = filter; m_ItemQuery = query; + return true; + } if (parts.Count() == 4 && parts[1] == "preset") { if (GetGame().ERR_ItemSelections().Preset(parts[2], parts[3])) replies.Insert("Preset " + parts[2] + " completed: " + parts[3] + ". Future random equipment uses the saved selection."); @@ -129,7 +147,7 @@ class ERR_AdminSession } if (parts.Count() != 4 || parts[1] != "list" || !catalog.Find(parts[2]) || !ERR_CommandArguments.Integer(parts[3], page) || page < 0 || page > 2730) { replies.Insert("Choose a loaded server mod in Items, then press Show items."); return true; } - m_ItemAddon = parts[2]; m_ItemPage = page; + m_ItemAddon = parts[2]; m_ItemPage = page; m_ItemFilter = 0; m_ItemQuery = ""; return true; } protected bool JournalCommand(string arguments, array replies) @@ -162,7 +180,8 @@ class ERR_AdminSession if (m_Mode.Discovery()) values.Insert("radioIntelProgress=" + m_Mode.Discovery().RadioIntelStatus()); m_Mode.Admin().Capabilities(values); ERR_RecommendedAddons.Snapshot(m_Mode, values); - GetGame().ERR_ServerItems().Snapshot(m_Mode, values, m_ItemAddon, m_ItemPage); + GetGame().ERR_ServerItems().Snapshot(m_Mode, values, m_ItemAddon, m_ItemPage, m_ItemFilter, m_ItemQuery); + GetGame().ERR_ServerVehicles().Snapshot(values, m_VehicleAddon, m_VehiclePage, m_VehicleFilter, m_VehicleQuery, m_VehicleRole); GetGame().ERR_StartingSupplies().Snapshot(values); m_Mode.Admin().Execute(m_Mode, true, "status", status); m_Controller.ERR_AdminDeliverSnapshot(m_Token, true, values, status); @@ -209,4 +228,38 @@ class ERR_AdminSession m_Tools.Stop(); if (m_Mode) m_Mode.OnStop().Remove(Stop); } + + protected string m_VehicleAddon; + protected int m_VehiclePage; + protected int m_VehicleFilter; + protected int m_VehicleRole; + protected string m_VehicleQuery; + protected bool VehicleCatalogCommand(string arguments, array replies) + { + array parts = {}; arguments.Split(" ", parts, true); + if (parts.IsEmpty() || parts[0] != "vehicles") return false; + ERR_ServerVehicleCatalog catalog = GetGame().ERR_ServerVehicles(); catalog.Start(); + if (parts.Count() == 6 && parts[1] == "role" && catalog.Find(parts[2])) + { + int role; + if (!ERR_CommandArguments.Integer(parts[3], role) || role < 0 || role > 4 || (parts[5] != "0" && parts[5] != "1")) return true; + if (parts[4] != "*" && (!catalog.Contains(parts[2], parts[4]) || (parts[5] == "1" && !catalog.Capable(parts[4], role)))) return true; + if (GetGame().ERR_ItemSelections().SetVehicleRole(parts[2], parts[4], role, parts[5] == "1")) replies.Insert("Vehicle assignment saved for future spawns. Existing vehicles stay."); + else replies.Insert("Could not save assignment. Previous choices retained."); + return true; + } + if (parts.Count() >= 6 && parts[1] == "browse" && catalog.Find(parts[2])) + { + int page, filter, role; + if (!ERR_CommandArguments.Integer(parts[3], page) || page < 0 || page > 2730 || !ERR_CommandArguments.Integer(parts[4], filter) || filter < 0 || filter > 2 || !ERR_CommandArguments.Integer(parts[5], role) || role < 0 || role > 4) return true; + string query; + for (int q = 6; q < parts.Count(); q++) { if (!query.IsEmpty()) query += " "; query += parts[q]; } + if (query.Length() > 64) return true; + m_VehicleAddon = parts[2]; m_VehiclePage = page; m_VehicleFilter = filter; m_VehicleQuery = query; m_VehicleRole = role; + replies.Insert("Vehicle list updated. Assignments apply to future spawns."); + return true; + } + replies.Insert("Choose a mod in Content / Vehicles, then choose a use, then assign vehicles."); + return true; + } } diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_ContentMenu.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_ContentMenu.c index fbbbc001..2807758f 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_ContentMenu.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_ContentMenu.c @@ -12,12 +12,13 @@ modded class ERR_AdminMenu override void OnMenuOpen() { super.OnMenuOpen(); - Widget list = GetRootWidget().FindAnyWidget("ModList"); + Widget list = GetRootWidget().FindAnyWidget("PackList"); foreach (string pack : ERR_ContentRegistry.Ids()) { Widget row = GetGame().GetWorkspace().CreateWidgets("{F092D45656A8E02B}UI/layouts/ERR/ContentRow.layout", list); if (!row) { Close(); return; } m_ModRows.Set(pack, row); + row.FindAnyWidget("EditItems").SetVisible(false); row.FindAnyWidget("EditVehicles").SetVisible(false); TextWidget label = TextWidget.Cast(row.FindAnyWidget("PackLabel")); if (label) label.SetText(ERR_ContentRegistry.Label(pack)); SCR_ButtonTextComponent enable = SCR_ButtonTextComponent.GetButtonText("Enable", row); diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_ItemPreferences.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_ItemPreferences.c index da5d7fda..a451f401 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_ItemPreferences.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_ItemPreferences.c @@ -41,6 +41,12 @@ class ERR_ItemPreferences for (int i = 0; i < 16; i++) if ("0123456789abcdef".IndexOf(value.Substring(i, 1)) < 0) return false; return true; } + static bool RoleKey(string key) + { + if (key.Length() != 3 && key.Length() != 18) return false; + if (key.Substring(0, 1) != "r" || "01234".IndexOf(key.Substring(1, 1)) < 0) return false; + return key.Substring(2, key.Length() - 2) == "*" || Guid(key.Substring(2, key.Length() - 2)); + } static bool WeightKey(string key) { return key == "w*" || (key.Length() == 17 && key.Substring(0, 1) == "w" && Guid(key.Substring(1, 16))); @@ -67,7 +73,7 @@ class ERR_ItemPreferences { if (parts.Count() != 4 || !Name(parts[0]) || !Guid(parts[1])) return false; if (WeightKey(parts[2])) { if (!WeightValue(parts[3])) return false; } - else if ((parts[2] != "*" && !Guid(parts[2])) || (parts[3] != "0" && parts[3] != "1")) return false; + else if ((parts[2] != "*" && parts[2] != "mod" && parts[2] != "v*" && !RoleKey(parts[2]) && !Guid(parts[2]) && !(parts[2].Length() == 17 && parts[2].StartsWith("v") && Guid(parts[2].Substring(1, 16)))) || (parts[3] != "0" && parts[3] != "1")) return false; } } if (names.Count() > 17) return false; @@ -137,13 +143,91 @@ class ERR_ItemPreferences key = addon + "|*"; return !m_Rules.Contains(key) || m_Rules.Get(key) == 1; } + bool ModEnabled(string addon) + { + string key = addon + "|mod"; + return !m_Rules.Contains(key) || m_Rules.Get(key) == 1; + } + bool VehicleEnabled(string addon, string item) + { + string key = addon + "|v" + item; + if (m_Rules.Contains(key)) return m_Rules.Get(key) == 1; + key = addon + "|v*"; + return !m_Rules.Contains(key) || m_Rules.Get(key) == 1; + } + bool SetSwitch(string addon, string key, bool enabled) + { + if (!Guid(addon) || (key != "mod" && key != "v*" && !(key.Length() == 17 && key.StartsWith("v") && Guid(key.Substring(1, 16))))) return false; + array next = {}; + foreach (string row : m_Records) + { + array parts = {}; row.Split("|", parts, false); + if (parts.Count() == 4 && parts[0] == "active" && parts[1] == addon && (parts[2] == key || (key == "v*" && parts[2].StartsWith("v")))) continue; + next.Insert(row); + } + string value = "0"; if (enabled) value = "1"; + next.Insert("active|" + addon + "|" + key + "|" + value); + return Save(next); + } + bool SetVehicleRole(string addon, string item, int role, bool enabled) + { + if (!Guid(addon) || (item != "*" && !Guid(item)) || role < 0 || role > 4) return false; + string prefix = "r" + role.ToString(), key = prefix + item; + array next = {}; + foreach (string row : m_Records) + { + array parts = {}; row.Split("|", parts, false); + if (parts.Count() == 4 && parts[0] == "active" && parts[1] == addon) + { + if (parts[2] == key || (item == "*" && parts[2].StartsWith(prefix))) continue; + if (enabled && (parts[2] == "v" + item || (item == "*" && parts[2].StartsWith("v")))) continue; + } + next.Insert(row); + } + string value = "0"; if (enabled) value = "1"; + next.Insert("active|" + addon + "|" + key + "|" + value); + if (enabled) next.Insert("active|" + addon + "|v" + item + "|1"); + return Save(next); + } + // -1 means inherit the mission's defaults. Shared-source explicit exclusions win. + int VehicleRole(string addon, string item, int role) + { + string prefix = addon + "|r" + role.ToString(); + if (m_Rules.Contains(prefix + item)) return m_Rules.Get(prefix + item); + if (m_Rules.Contains(prefix + "*")) return m_Rules.Get(prefix + "*"); + return -1; + } + bool AllowsVehicleRole(ResourceName prefab, int role, bool defaultEnabled) + { + if (role < 0 || role > 4 || !AllowsVehicle(prefab)) return false; + string item = ERR_TerrainCatalog.Key(prefab); + bool enabled = defaultEnabled; + array sources = SCR_AddonTool.GetResourceAddons(prefab); + foreach (string project : sources) + { + if (!m_Loaded.Contains(project)) continue; + int rule = VehicleRole(m_Loaded.Get(project), item, role); + if (rule == 0) return false; + if (rule == 1) enabled = true; + } + return enabled; + } + bool AllowsVehicle(ResourceName prefab) + { + string item = ERR_TerrainCatalog.Key(prefab); + if (item.IsEmpty()) return false; + array sources = SCR_AddonTool.GetResourceAddons(prefab); + foreach (string project : sources) + if (m_Loaded.Contains(project) && (!ModEnabled(m_Loaded.Get(project)) || !VehicleEnabled(m_Loaded.Get(project), item))) return false; + return true; + } bool Allows(ResourceName prefab) { string item = ERR_TerrainCatalog.Key(prefab); if (item.IsEmpty()) return true; array sources = SCR_AddonTool.GetResourceAddons(prefab); foreach (string project : sources) - if (m_Loaded.Contains(project) && !Enabled(m_Loaded.Get(project), item)) return false; + if (m_Loaded.Contains(project) && (!ModEnabled(m_Loaded.Get(project)) || !Enabled(m_Loaded.Get(project), item))) return false; return true; } bool Set(string addon, string item, bool enabled) @@ -153,7 +237,7 @@ class ERR_ItemPreferences foreach (string row : m_Records) { array parts = {}; row.Split("|", parts, false); - if (parts.Count() == 4 && parts[0] == "active" && parts[1] == addon && (item == "*" || parts[2] == item) && !WeightKey(parts[2])) continue; + if (parts.Count() == 4 && parts[0] == "active" && parts[1] == addon && (parts[2] == item || (item == "*" && (parts[2] == "*" || Guid(parts[2]))))) continue; next.Insert(row); } string value = "0"; if (enabled) value = "1"; @@ -225,6 +309,6 @@ class ERR_ItemPreferences { foreach (string row : m_Records) if (row != "active" && row.IndexOf("|") < 0) values.Insert("itemPreset=" + row); if (m_ReadOnly) values.Insert("itemsStorage=Read-only: preference file needs repair"); - else values.Insert("itemsStorage=Auto-saved; applies to future random equipment. Presets include selections and probability weights for all mods."); + else values.Insert("itemsStorage=Auto-saved for future spawns. Presets include mod switches, item and vehicle-role choices, and equipment weights."); } } diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAdminMenuProbe.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAdminMenuProbe.c index 90a9f0db..8f96017c 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAdminMenuProbe.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAdminMenuProbe.c @@ -131,7 +131,7 @@ modded class ERR_AdminMenu { GetRootWidget().Update(); PrintFormat("ERR MOD MENU: page=%1 rows=%2 saved=%3 active=%4", m_Page, m_ModRows.Count(), m_ModSaved.Count(), m_ModActive.Count()); - if (m_Page != 3 || m_ModRows.Count() != ERR_ContentRegistry.Ids().Count()) return false; + if (m_Page != ERR_AdminPage.PACKS || m_ModRows.Count() != ERR_ContentRegistry.Ids().Count()) return false; foreach (string pack, Widget row : m_ModRows) { TextWidget text = TextWidget.Cast(row.FindAnyWidget("PackState")); @@ -286,7 +286,7 @@ class ERR_NativeAdminMenuProbe Pass("all thirteen setting descriptions fit their native text widgets"); System.MakeScreenshot("$logs:err-admin-open"); if (!menu.ERR_ProbeNavigation(0)) return Fail("Esc entry did not open Mission page with shared navigation"); - menu.ERR_ProbePage(3); + menu.ERR_ProbePage(ERR_AdminPage.PACKS); if (!menu.ERR_ProbeMods()) return Fail("mod rows missing state or collapsed"); Print("ERR MOD CAPTURE READY"); menu.ERR_ProbePage(0); @@ -335,7 +335,7 @@ class ERR_NativeAdminMenuProbe if (m_Mode.Settings().Get("radioDefenceSeconds") != m_RadioSeconds) return Fail("test setting restoration failed"); Pass("test setting restored without resetting menu drafts"); System.MakeScreenshot("$logs:err-admin-hq"); - menu.ERR_ProbePage(3); + menu.ERR_ProbePage(ERR_AdminPage.PACKS); menu.ERR_ProbeMod(!m_RhsSaved); m_Wait = now + 2000; m_Stage = 11; return 0; } diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemCatalog.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemCatalog.c index 152df335..67d3a87b 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemCatalog.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemCatalog.c @@ -2,6 +2,7 @@ class ERR_ServerItem { ResourceName Prefab; string Label; + string SearchLabel; bool Eligible; } class ERR_ServerAddonItems @@ -74,6 +75,7 @@ class ERR_ServerItemCatalog if (addon.Label.IsEmpty()) addon.Label = Clean(addon.Project); m_Addons.Insert(addon); } + SortAddons(m_Addons); Queue(manager.GetEntityCatalogOfType(EEntityCatalogType.ITEM, false)); array all = {}; factions.GetFactionsList(all); foreach (Faction faction : all) @@ -109,6 +111,7 @@ class ERR_ServerItemCatalog item = new ERR_ServerItem(); item.Prefab = prefab; item.Eligible = eligible; item.Label = Clean(entry.GetEntityName()); if (item.Label.IsEmpty()) item.Label = Clean(FilePath.StripPath(prefab.GetPath())); + item.SearchLabel = WidgetManager.Translate(item.Label); m_Seen.Set(key, item); array sources = SCR_AddonTool.GetResourceAddons(prefab); bool attributed; @@ -119,16 +122,51 @@ class ERR_ServerItemCatalog if (m_Cursor >= m_Pending.Count()) { GetGame().GetCallqueue().Remove(Scan); + foreach (ERR_ServerAddonItems sortedAddon : m_Addons) SortItems(sortedAddon.Items); PrintFormat("Reintroduced [server items]: addons=%1 uniqueItems=%2 unattributed=%3 truncated=%4", m_Addons.Count(), m_Seen.Count(), m_Unattributed, m_Truncated); } } + static void SortAddons(array addons) + { + array order = {}; map entries = new map(); + foreach (ERR_ServerAddonItems addon : addons) + { + string key = addon.Label + "|" + addon.Id; key.ToLower(); order.Insert(key); entries.Set(key, addon); + } + order.Sort(); addons.Clear(); + foreach (string key : order) addons.Insert(entries.Get(key)); + } + static void SortItems(array items) + { + array order = {}; map entries = new map(); + foreach (ERR_ServerItem item : items) + { + string key = item.SearchLabel + "|" + ERR_TerrainCatalog.Key(item.Prefab); key.ToLower(); order.Insert(key); entries.Set(key, item); + } + order.Sort(); items.Clear(); + foreach (string key : order) items.Insert(entries.Get(key)); + } + static string Flag(bool value) + { + if (value) return "1"; + return "0"; + } + static bool Matches(string label, string path, bool enabled, int filter, string query) + { + if ((filter == 1 && !enabled) || (filter == 2 && enabled)) return false; + if (query.IsEmpty()) return true; + string haystack = label + " " + path; haystack.ToLower(); query.ToLower(); + array words = {}; query.Split(" ", words, true); + foreach (string word : words) if (!haystack.Contains(word)) return false; + return true; + } static string Share(int tickets, int total) { if (total <= 0 || tickets <= 0) return "0%"; float percent = Math.Round(tickets * 10000.0 / total) / 100.0; return percent.ToString() + "%"; } - void Snapshot(ERR_GameMode mode, array values, string selected, int page) + void Snapshot(ERR_GameMode mode, array values, string selected, int page, int filter = 0, string query = "") { Start(mode); ERR_ItemPreferences preferences = GetGame().ERR_ItemSelections(); @@ -151,7 +189,7 @@ class ERR_ServerItemCatalog foreach (ERR_ServerAddonItems addon : m_Addons) { string defaultEnabled = "0"; if (preferences.Enabled(addon.Id, "*")) defaultEnabled = "1"; - values.Insert("serverMod=" + addon.Id + "|" + addon.Label + "|" + addon.Items.Count().ToString() + "|" + addon.EnabledCount.ToString() + "|" + defaultEnabled); + values.Insert("serverMod=" + addon.Id + "|" + addon.Label + "|" + addon.Items.Count().ToString() + "|" + addon.EnabledCount.ToString() + "|" + defaultEnabled + "|" + Flag(preferences.ModEnabled(addon.Id))); } string state = "Catalog complete"; if (!m_Started || m_Cursor < m_Pending.Count()) state = "Scanning inventory catalogs"; @@ -159,24 +197,28 @@ class ERR_ServerItemCatalog if (m_Unattributed > 0) state += "; " + m_Unattributed.ToString() + " items could not be attributed"; values.Insert("itemsScan=" + state); int extraChance = mode.Settings().Runtime("automaticEquipmentChancePercent"); - values.Insert("weightChance=" + extraChance.ToString() + "% current chance per eligible soldier. The Spawn chances page controls which extra item is chosen; inventory fit can still prevent a grant."); + values.Insert("weightChance=" + extraChance.ToString() + "% current chance per eligible soldier. Advanced weights controls which extra item is chosen; inventory fit can still prevent a grant."); ERR_ServerAddonItems chosen = Find(selected); if (!chosen) return; values.Insert("modWeight=" + chosen.Id + "|" + preferences.WeightSetting(chosen.Id, "*").ToString() + "|" + Share(chosen.TicketWeight, totalWeight)); - int lastPage = Math.Max(0, (chosen.Items.Count() - 1) / PAGE_SIZE); + array matches = {}; + foreach (ERR_ServerItem candidate : chosen.Items) + if (Matches(candidate.SearchLabel, candidate.Prefab.GetPath(), preferences.Allows(candidate.Prefab) && (!mode.Content() || mode.Content().Allows(candidate.Prefab)), filter, query)) matches.Insert(candidate); + int lastPage = Math.Max(0, (matches.Count() - 1) / PAGE_SIZE); page = Math.Clamp(page, 0, lastPage); - values.Insert("itemsPage=" + selected + "|" + page.ToString() + "|" + lastPage.ToString() + "|" + chosen.Items.Count().ToString()); - int end = Math.Min(chosen.Items.Count(), (page + 1) * PAGE_SIZE); + values.Insert("itemsPage=" + selected + "|" + page.ToString() + "|" + lastPage.ToString() + "|" + matches.Count().ToString()); + int end = Math.Min(matches.Count(), (page + 1) * PAGE_SIZE); for (int i = page * PAGE_SIZE; i < end; i++) { - ERR_ServerItem item = chosen.Items[i]; + ERR_ServerItem item = matches[i]; string stateText = "Catalog item; not in automatic equipment pool"; if (item.Eligible) stateText = "Eligible for automatic equipment"; if (mode.Content() && !mode.Content().Allows(item.Prefab)) stateText = "Blocked by current content-pack selection"; string key = ERR_TerrainCatalog.Key(item.Prefab); string enabled = "0"; if (preferences.Enabled(selected, key)) enabled = "1"; - if (!preferences.Allows(item.Prefab)) stateText = "Disabled by item/mod selection"; + if (!preferences.Allows(item.Prefab)) stateText = "Disabled by a source mod or item selection"; + if (!preferences.ModEnabled(selected)) stateText = "Mod disabled - item choice is remembered"; string effective = "0"; if (preferences.Allows(item.Prefab) && (!mode.Content() || mode.Content().Allows(item.Prefab))) effective = "1"; values.Insert("itemWeight=" + key + "|" + preferences.WeightSetting(selected, key).ToString() + "|" + Share(ERR_AutomaticEquipmentCatalog.TicketWeight(item.Prefab), totalWeight)); @@ -189,6 +231,12 @@ modded class ArmaReforgerScripted { protected ref ERR_ServerItemCatalog m_ERRServerItems; protected ref ERR_ItemPreferences m_ERRItemSelections; + protected ref ERR_ServerVehicleCatalog m_ERRServerVehicles; + ERR_ServerVehicleCatalog ERR_ServerVehicles() + { + if (!m_ERRServerVehicles) m_ERRServerVehicles = new ERR_ServerVehicleCatalog(); + return m_ERRServerVehicles; + } ERR_ItemPreferences ERR_ItemSelections() { if (!m_ERRItemSelections) m_ERRItemSelections = new ERR_ItemPreferences(); @@ -202,7 +250,8 @@ modded class ArmaReforgerScripted override protected void OnBeforeWorldCleanup() { if (m_ERRServerItems) m_ERRServerItems.Stop(); - m_ERRServerItems = null; m_ERRItemSelections = null; + if (m_ERRServerVehicles) m_ERRServerVehicles.Stop(); + m_ERRServerItems = null; m_ERRItemSelections = null; m_ERRServerVehicles = null; super.OnBeforeWorldCleanup(); } } diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsMenu.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsMenu.c index 08844645..fdab11fa 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsMenu.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsMenu.c @@ -10,13 +10,21 @@ modded class ERR_AdminMenu protected ref array m_ItemPresets = {}; protected ref map m_ItemSaved = new map(); protected ref map m_AddonSelectionStates = new map(); + protected ref map m_ServerModEnabled = new map(); + protected ref map m_ServerModLabels = new map(); + protected ref map m_ServerModItemCounts = new map(); + protected ref map m_ServerModVehicleCounts = new map(); + protected string m_ServerScanState; + protected string m_ItemRowSignature; + protected string m_LastItemChoice; + protected int m_LastItemFilter = -1; protected string m_ShownItemAddon; protected int m_ShownItemPage; protected int m_LastItemPage; override void OnMenuOpen() { super.OnMenuOpen(); - foreach (string name : {"ItemsShow", "ItemsPrevious", "ItemsNext", "ItemsEnableAll", "ItemsDisableAll", "ItemsPresetSave", "ItemsPresetLoad", "ItemsPresetDelete"}) + foreach (string name : {"ItemsShow", "ItemsClear", "ItemsPrevious", "ItemsNext", "ItemsEnableAll", "ItemsDisableAll", "ItemsPresetSave", "ItemsPresetLoad", "ItemsPresetDelete"}) { SCR_ButtonTextComponent button = SCR_ButtonTextComponent.GetButtonText(name, GetRootWidget()); if (!button) { Close(); return; } @@ -24,6 +32,12 @@ modded class ERR_AdminMenu if (name == "ItemsEnableAll") ERR_SelectionStyle.Action(button, true); button.m_OnClicked.Insert(OnItemsButton); m_ItemButtons.Insert(button); } + foreach (string filterName : {"ItemsFilter", "ModsFilter"}) + { + SCR_ComboBoxComponent filter = SCR_ComboBoxComponent.GetComboBoxComponent(filterName, GetRootWidget()); + if (filterName == "ModsFilter") filter.AddItem("With items / vehicles"); + filter.AddItem("All"); filter.AddItem("Enabled"); filter.AddItem("Disabled"); filter.SetCurrentItem(0, false, false, false); + } ERR_SelectionStyle.Status(GetRootWidget(), "ItemsSelectionState", -1); UpdateActions(); } @@ -31,8 +45,10 @@ modded class ERR_AdminMenu { foreach (SCR_ButtonTextComponent button : m_ItemButtons) if (button) button.m_OnClicked.Remove(OnItemsButton); ClearItemRows(); m_ItemPresets.Clear(); - foreach (string addon, Widget row : m_ServerAddonRows) SCR_ButtonTextComponent.GetButtonText("Enable", row).m_OnClicked.Remove(OnLoadedModEdit); - m_AddonSelectionStates.Clear(); + foreach (string addon, Widget row : m_ServerAddonRows) + foreach (string action : {"Enable", "Disable", "EditItems", "EditVehicles"}) SCR_ButtonTextComponent.GetButtonText(action, row).m_OnClicked.Remove(OnLoadedModEdit); + m_AddonSelectionStates.Clear(); m_ServerModEnabled.Clear(); m_ServerModLabels.Clear(); m_ServerModItemCounts.Clear(); m_ServerModVehicleCounts.Clear(); + m_LastItemChoice = ""; m_LastItemFilter = -1; m_ItemRowSignature = ""; m_ItemButtons.Clear(); m_ServerAddonRows.Clear(); m_ServerAddonKeys.Clear(); m_ServerAddonLabels.Clear(); m_ShownItemAddon = ""; m_ShownItemPage = 0; m_LastItemPage = 0; super.OnMenuClose(); @@ -49,11 +65,22 @@ modded class ERR_AdminMenu bool ready = m_Ready && !m_ServerAddonKeys.IsEmpty(); SCR_ComboBoxComponent combo = SCR_ComboBoxComponent.GetComboBoxComponent("ItemsMod", GetRootWidget()); if (combo) combo.SetEnabled(ready); - foreach (string addon, Widget loadedRow : m_ServerAddonRows) SCR_ButtonTextComponent.GetButtonText("Enable", loadedRow).SetEnabled(ready); + foreach (string addon, Widget loadedRow : m_ServerAddonRows) + { + bool hasItems = m_ServerModItemCounts.Get(addon) > 0; + bool hasVehicles = m_ServerModVehicleCounts.Get(addon) > 0; + bool selectedMod = m_ServerModEnabled.Get(addon) == 1; + SCR_ButtonTextComponent.GetButtonText("Enable", loadedRow).SetEnabled(ready && (hasItems || hasVehicles) && !selectedMod); + SCR_ButtonTextComponent.GetButtonText("Disable", loadedRow).SetEnabled(ready && (hasItems || hasVehicles) && selectedMod); + SCR_ButtonTextComponent.GetButtonText("EditItems", loadedRow).SetEnabled(ready && hasItems); + SCR_ButtonTextComponent.GetButtonText("EditVehicles", loadedRow).SetEnabled(ready && hasVehicles); + ERR_SelectionStyle.Pair(loadedRow, "Enable", "Disable", m_ServerModEnabled.Get(addon)); + } + bool rowReady = ItemSelectionReady(); foreach (string key, Widget row : m_ItemRows) { - SCR_ButtonTextComponent.GetButtonText("Enable", row).SetEnabled(ready && m_ItemSaved.Contains(key) && m_ItemSaved.Get(key) == 0); - SCR_ButtonTextComponent.GetButtonText("Disable", row).SetEnabled(ready && m_ItemSaved.Contains(key) && m_ItemSaved.Get(key) == 1); + SCR_ButtonTextComponent.GetButtonText("Enable", row).SetEnabled(rowReady && m_ItemSaved.Contains(key) && m_ItemSaved.Get(key) == 0); + SCR_ButtonTextComponent.GetButtonText("Disable", row).SetEnabled(rowReady && m_ItemSaved.Contains(key) && m_ItemSaved.Get(key) == 1); int selected = -1; if (m_ItemSaved.Contains(key)) selected = m_ItemSaved.Get(key); ERR_SelectionStyle.Pair(row, "Enable", "Disable", selected); } @@ -65,7 +92,7 @@ modded class ERR_AdminMenu if (button.GetRootWidget().GetName() == "ItemsPrevious") enabled = ready && m_ShownItemPage > 0; if (button.GetRootWidget().GetName() == "ItemsNext") enabled = ready && m_ShownItemPage < m_LastItemPage; string name = button.GetRootWidget().GetName(); - if (name == "ItemsEnableAll" || name == "ItemsDisableAll") enabled = ready && !m_ShownItemAddon.IsEmpty(); + if (name == "ItemsEnableAll" || name == "ItemsDisableAll") enabled = rowReady; if (name == "ItemsPresetLoad" || name == "ItemsPresetDelete") enabled = ready && !m_ItemPresets.IsEmpty(); button.SetEnabled(enabled); } @@ -74,7 +101,7 @@ modded class ERR_AdminMenu { array keys = {}, labels = {}; array itemRows = {}, presets = {}; - string scan, shown; + string scan, shown, signature; int page, last, total; if (authorized && values) foreach (string entry : values) @@ -87,9 +114,11 @@ modded class ERR_AdminMenu if (field == "itemPreset") presets.Insert(value); if (field == "itemsPage" && parts.Count() == 4) { shown = parts[0]; page = parts[1].ToInt(); last = parts[2].ToInt(); total = parts[3].ToInt(); } - if (field == "serverItem" && parts.Count() == 6) itemRows.Insert(value); - if (field != "serverMod" || parts.Count() != 5 || keys.Contains(parts[0])) continue; + if (field == "serverItem" && parts.Count() == 6) { itemRows.Insert(value); signature += parts[0]; } + if (field == "vehicleMod" && parts.Count() == 5) m_ServerModVehicleCounts.Set(parts[0], parts[2].ToInt()); + if (field != "serverMod" || parts.Count() != 6 || keys.Contains(parts[0])) continue; keys.Insert(parts[0]); labels.Insert(parts[1]); + m_ServerModEnabled.Set(parts[0], parts[5].ToInt()); m_ServerModLabels.Set(parts[0], parts[1]); m_ServerModItemCounts.Set(parts[0], parts[2].ToInt()); int aggregate = ERR_SelectionStyle.Aggregate(parts[2].ToInt(), parts[3].ToInt(), parts[4] == "1"); m_AddonSelectionStates.Set(parts[0], aggregate); Widget row = m_ServerAddonRows.Get(parts[0]); @@ -98,13 +127,11 @@ modded class ERR_AdminMenu row = GetGame().GetWorkspace().CreateWidgets("{F092D45656A8E02B}UI/layouts/ERR/ContentRow.layout", GetRootWidget().FindAnyWidget("ModList")); if (!row) continue; m_ServerAddonRows.Set(parts[0], row); - row.FindAnyWidget("Disable").SetVisible(false); - SCR_ButtonTextComponent edit = SCR_ButtonTextComponent.GetButtonText("Enable", row); - edit.SetText("Edit items"); edit.m_OnClicked.Insert(OnLoadedModEdit); + foreach (string action : {"Enable", "Disable", "EditItems", "EditVehicles"}) SCR_ButtonTextComponent.GetButtonText(action, row).m_OnClicked.Insert(OnLoadedModEdit); } - ERR_SelectionStyle.Status(row, "SelectionState", aggregate); + ERR_SelectionStyle.Status(row, "SelectionState", parts[5].ToInt()); TextWidget.Cast(row.FindAnyWidget("PackLabel")).SetText(parts[1]); - TextWidget.Cast(row.FindAnyWidget("PackState")).SetText("Loaded on server | " + parts[2] + " catalogued items | Edit future random equipment"); + TextWidget.Cast(row.FindAnyWidget("PackState")).SetText(parts[3] + " / " + parts[2] + " items enabled"); } bool changed = keys.Count() != m_ServerAddonKeys.Count(); if (!changed) for (int i = 0; i < keys.Count(); i++) if (keys[i] != m_ServerAddonKeys[i] || labels[i] != m_ServerAddonLabels[i]) changed = true; @@ -118,14 +145,16 @@ modded class ERR_AdminMenu combo.SetCurrentItem(Math.Max(0, keys.Find(draft)), false, false, false); m_ServerAddonKeys.Copy(keys); m_ServerAddonLabels.Copy(labels); } - SetText("ItemsScan", scan); + m_ServerScanState = scan; + SetText("ItemsHelp", "Extra equipment | " + scan); if (!shown.IsEmpty()) { - bool moved = shown != m_ShownItemAddon || page != m_ShownItemPage; + bool moved = shown != m_ShownItemAddon || page != m_ShownItemPage || signature != m_ItemRowSignature; + m_ItemRowSignature = signature; m_ShownItemAddon = shown; m_ShownItemPage = page; m_LastItemPage = last; int selected = keys.Find(shown); string title = shown; if (selected >= 0) title = labels[selected]; - SetText("ItemsPageState", title + " | " + total.ToString() + " items | Page " + (page + 1).ToString() + "/" + (last + 1).ToString()); + SetText("ItemsPageState", total.ToString() + " matching items | Page " + (page + 1).ToString() + " of " + (last + 1).ToString()); if (moved) { ClearItemRows(); @@ -150,11 +179,11 @@ modded class ERR_AdminMenu TextWidget.Cast(row.FindAnyWidget("PackLabel")).SetText(WidgetManager.Translate(parts[1])); m_ItemSaved.Set(parts[0], parts[4].ToInt()); ERR_SelectionStyle.Status(row, "SelectionState", parts[5].ToInt()); - string selection = "Disabled"; if (parts[4] == "1") selection = "Enabled"; - TextWidget.Cast(row.FindAnyWidget("PackState")).SetText(selection + " here | " + parts[3] + "\n" + parts[2]); + TextWidget.Cast(row.FindAnyWidget("PackState")).SetText(parts[3] + " | " + FilePath.StripPath(parts[2])); } - string empty; if (itemRows.IsEmpty()) empty = "No registered inventory items found for this mod."; + string empty; if (itemRows.IsEmpty()) empty = "No items match. Clear search or choose All to see more."; SetText("ItemsText", empty); + GetRootWidget().FindAnyWidget("ItemsText").SetVisible(!empty.IsEmpty()); ScrollLayoutWidget scroll = ScrollLayoutWidget.Cast(GetRootWidget().FindAnyWidget("ItemsScroll")); if (moved && scroll) scroll.SetSliderPos(0, 0); } @@ -175,9 +204,15 @@ modded class ERR_AdminMenu { if (!button || !m_Ready || !IsFocused() || !m_Controller || m_Age > 6 || m_ClickDelay > 0) return; string name = button.GetRootWidget().GetName(); + if (name == "ItemsClear") + { + SCR_EditBoxComponent.GetEditBoxComponent("ItemsSearch", GetRootWidget()).SetValue(""); + SCR_ComboBoxComponent.GetComboBoxComponent("ItemsFilter", GetRootWidget()).SetCurrentItem(0, false, false, false); + BrowseItems(0); return; + } if (name == "ItemsEnableAll" || name == "ItemsDisableAll") { - if (m_ShownItemAddon.IsEmpty()) return; + if (!ItemSelectionReady()) return; string value = "0"; if (name == "ItemsEnableAll") value = "1"; SubmitItems("items set " + m_ShownItemAddon + " * " + value); return; } @@ -206,23 +241,73 @@ modded class ERR_AdminMenu if (button.GetRootWidget().GetName() == "ItemsPrevious") page = Math.Max(0, page - 1); if (button.GetRootWidget().GetName() == "ItemsNext") page = Math.Min(m_LastItemPage, page + 1); } - SubmitItems("items list " + addon + " " + page.ToString()); + if (name == "ItemsShow") page = 0; + BrowseItems(page); + } + protected bool ItemSelectionReady() + { + SCR_ComboBoxComponent combo = SCR_ComboBoxComponent.GetComboBoxComponent("ItemsMod", GetRootWidget()); + if (!m_Ready || !combo) return false; + int index = combo.GetCurrentIndex(); + return index >= 0 && index < m_ServerAddonKeys.Count() && m_ServerAddonKeys[index] == m_ShownItemAddon; + } + protected void BrowseItems(int page) + { + SCR_ComboBoxComponent combo = SCR_ComboBoxComponent.GetComboBoxComponent("ItemsMod", GetRootWidget()); + int index = combo.GetCurrentIndex(); if (index < 0 || index >= m_ServerAddonKeys.Count()) return; + int filter = SCR_ComboBoxComponent.GetComboBoxComponent("ItemsFilter", GetRootWidget()).GetCurrentIndex(); + string query = SCR_EditBoxComponent.GetEditBoxComponent("ItemsSearch", GetRootWidget()).GetValue().Trim(); + if (query.Length() > 64) { ReceiveReply("Search can contain up to 64 characters."); return; } + m_LastItemChoice = m_ServerAddonKeys[index]; m_LastItemFilter = filter; + SubmitItems("items browse " + m_LastItemChoice + " " + page.ToString() + " " + filter.ToString() + " " + query); + UpdateActions(); + } + override void OnMenuUpdate(float tDelta) + { + super.OnMenuUpdate(tDelta); + if (!m_Ready || !IsFocused() || m_ClickDelay > 0 || m_Age > 6) return; + if (m_Page == ERR_AdminPage.ALLOWED_ITEMS) + { + SCR_ComboBoxComponent combo = SCR_ComboBoxComponent.GetComboBoxComponent("ItemsMod", GetRootWidget()); + int index = combo.GetCurrentIndex(); + int filter = SCR_ComboBoxComponent.GetComboBoxComponent("ItemsFilter", GetRootWidget()).GetCurrentIndex(); + if (index >= 0 && index < m_ServerAddonKeys.Count() && (m_ServerAddonKeys[index] != m_LastItemChoice || filter != m_LastItemFilter)) BrowseItems(0); + } + if (m_Page != ERR_AdminPage.ALLOWED_ITEMS) m_LastItemChoice = ""; + if (m_Page != ERR_AdminPage.MODS) return; + string query = SCR_EditBoxComponent.GetEditBoxComponent("ModsSearch", GetRootWidget()).GetValue(); + int filter = SCR_ComboBoxComponent.GetComboBoxComponent("ModsFilter", GetRootWidget()).GetCurrentIndex(); + int shown; + foreach (string addon, Widget row : m_ServerAddonRows) + { + bool visible = ERR_ServerItemCatalog.Matches(m_ServerModLabels.Get(addon), addon, m_ServerModEnabled.Get(addon) == 1, Math.Max(0, filter - 1), query); + if (filter == 0 && m_ServerModItemCounts.Get(addon) == 0 && m_ServerModVehicleCounts.Get(addon) == 0) visible = false; + row.SetVisible(visible); if (visible) shown++; + string details = m_ServerModItemCounts.Get(addon).ToString() + " items / " + m_ServerModVehicleCounts.Get(addon).ToString() + " vehicles"; + if (m_ServerModItemCounts.Get(addon) == 0 && m_ServerModVehicleCounts.Get(addon) == 0) details = "No selectable items or vehicles"; + TextWidget.Cast(row.FindAnyWidget("PackState")).SetText(details); + } + SetText("ModsCount", shown.ToString() + " of " + m_ServerAddonRows.Count().ToString() + " loaded mods | " + m_ServerScanState); } protected void OnLoadedModEdit(SCR_ButtonBaseComponent button) { if (!button || !m_Ready || !IsFocused() || !m_Controller || m_Age > 6 || m_ClickDelay > 0) return; foreach (string addon, Widget row : m_ServerAddonRows) { - if (button.GetRootWidget() != row.FindAnyWidget("Enable")) continue; - SCR_ComboBoxComponent combo = SCR_ComboBoxComponent.GetComboBoxComponent("ItemsMod", GetRootWidget()); - if (combo) combo.SetCurrentItem(m_ServerAddonKeys.Find(addon), false, false, false); - ShowPage(ERR_AdminPage.ALLOWED_ITEMS); SubmitItems("items list " + addon + " 0"); return; + if (button.GetRootWidget() == row.FindAnyWidget("Enable")) { SubmitItems("items mod " + addon + " 1"); return; } + if (button.GetRootWidget() == row.FindAnyWidget("Disable")) { SubmitItems("items mod " + addon + " 0"); return; } + if (button.GetRootWidget() == row.FindAnyWidget("EditVehicles")) { OpenVehicleAddon(addon); return; } + if (button.GetRootWidget() != row.FindAnyWidget("EditItems")) continue; + SCR_ComboBoxComponent.GetComboBoxComponent("ItemsMod", GetRootWidget()).SetCurrentItem(m_ServerAddonKeys.Find(addon), false, false, false); + SCR_EditBoxComponent.GetEditBoxComponent("ItemsSearch", GetRootWidget()).SetValue(""); + SCR_ComboBoxComponent.GetComboBoxComponent("ItemsFilter", GetRootWidget()).SetCurrentItem(0, false, false, false); + ShowPage(ERR_AdminPage.ALLOWED_ITEMS); BrowseItems(0); return; } } protected void SubmitItems(string command) { m_ClickDelay = 0.3; - SetText("Feedback", "Saving selection on the server..."); + SetText("Feedback", "Waiting for server confirmation..."); m_Controller.ERR_AdminSubmit(command, true); } protected void ClearItemRows() @@ -237,7 +322,7 @@ modded class ERR_AdminMenu } protected void OnItemRowButton(SCR_ButtonBaseComponent button) { - if (!button || !m_Ready || !IsFocused() || !m_Controller || m_Age > 6 || m_ClickDelay > 0 || m_ShownItemAddon.IsEmpty()) return; + if (!button || !m_Ready || !IsFocused() || !m_Controller || m_Age > 6 || m_ClickDelay > 0 || !ItemSelectionReady()) return; foreach (string key, Widget row : m_ItemRows) { string value; diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsWeightsMenu.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsWeightsMenu.c index 1af77467..4b784b7b 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsWeightsMenu.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsWeightsMenu.c @@ -5,6 +5,7 @@ modded class ERR_AdminMenu protected ref map m_WeightRows = new map(); protected ref map m_WeightSaved = new map(); protected ref array m_WeightMods = {}; + protected string m_WeightRowSignature; protected string m_WeightAddon; protected int m_WeightPage = -1; override void OnMenuOpen() @@ -68,7 +69,8 @@ modded class ERR_AdminMenu m_WeightMods.Copy(m_ServerAddonKeys); combo.SetCurrentItem(Math.Max(0, m_ServerAddonKeys.Find(m_ShownItemAddon)), false, false, false); } - bool moved = m_WeightAddon != m_ShownItemAddon || m_WeightPage != m_ShownItemPage; + bool moved = m_WeightAddon != m_ShownItemAddon || m_WeightPage != m_ShownItemPage || m_WeightRowSignature != m_ItemRowSignature; + m_WeightRowSignature = m_ItemRowSignature; if (moved) { ClearWeightRows(); m_WeightAddon = m_ShownItemAddon; m_WeightPage = m_ShownItemPage; diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehicleCatalog.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehicleCatalog.c new file mode 100644 index 00000000..74447520 --- /dev/null +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehicleCatalog.c @@ -0,0 +1,260 @@ +// Server discovery never instantiates a vehicle. New entries are opt-in per use. +class ERR_VehicleEntry +{ + ResourceName Prefab; + int Defaults; + int Capabilities; +} +class ERR_ServerVehicleCatalog +{ + protected ref array m_Addons = {}; + protected ref map m_Entries = new map(); + protected ref map m_Items = new map(); + protected ref array m_Pending = {}; + protected ref set m_Queued = new set(); + protected ERR_GameMode m_Mode; + protected int m_Cursor; + protected bool m_Started; + protected bool m_Truncated; + static string RoleName(int role) + { + if (role == 0) return "Garages / yards"; + if (role == 1) return "Civilian traffic"; + if (role == 2) return "Enemy patrols"; + if (role == 3) return "Convoy armed escorts"; + return "Convoy supply trucks"; + } + static string RoleHint(int role) + { + if (role == 0) return "Garages / yards: unarmed vehicles that fit the parking space."; + if (role == 1) return "Traffic: vehicles with AI driving support; road size limits apply."; + if (role == 2) return "Enemy patrols: driver and crew, up to 15 seats; your enemy faction supplies the soldiers."; + if (role == 3) return "Convoy escorts: driver and gunner required. The specialized BMP slot stays unchanged."; + return "Convoy supply slot: AI vehicle with cargo storage; normal supply capacity checks apply."; + } + static bool Candidate(string path) + { + path.ToLower(); + return path.EndsWith(".et") && path.Contains("vehicle") && !path.Contains("wreck") + && !path.Contains("_base") && !path.Contains("/parts/") && !path.Contains("/turrets/"); + } + protected void Queue(ResourceName prefab, string path = "") + { + string key = ERR_TerrainCatalog.Key(prefab); + if (key.IsEmpty() || m_Queued.Contains(key)) return; + if (m_Pending.Count() >= 8192) { m_Truncated = true; return; } + m_Queued.Insert(key); m_Pending.Insert(prefab); + } + protected void Search(ResourceName prefab, string path = "") { if (Candidate(prefab)) Queue(prefab); } + protected void Catalog(SCR_EntityCatalog catalog) + { + if (!catalog) return; + array entries = {}; catalog.GetEntityList(entries); + foreach (SCR_EntityCatalogEntry entry : entries) if (entry && entry.IsEnabled()) Queue(entry.GetPrefab()); + } + void Start() + { + if (m_Started || !Replication.IsServer()) return; + m_Mode = ERR_GameMode.Get(); + SCR_EntityCatalogManagerComponent manager = SCR_EntityCatalogManagerComponent.GetInstance(); + if (!m_Mode || !manager || !GetGame().GetFactionManager()) return; + m_Started = true; + array loaded = {}; GameProject.GetLoadedAddons(loaded); + foreach (string guid : loaded) + { + ERR_ServerAddonItems addon = new ERR_ServerAddonItems(); addon.Id = guid; addon.Id.ToLower(); + addon.Project = GameProject.GetAddonID(guid); addon.Label = ERR_ServerItemCatalog.Clean(GameProject.GetAddonTitle(guid)); + if (addon.Label.IsEmpty()) addon.Label = addon.Project; + m_Addons.Insert(addon); + } + ERR_ServerItemCatalog.SortAddons(m_Addons); + ERR_ParkedCarCatalog cars = new ERR_ParkedCarCatalog(); cars.Find(); + foreach (ResourceName parked : cars.Prefabs) Seed(parked, 0); + foreach (ResourceName road : cars.RoadPrefabs) Seed(road, 1); + Seed(ERR_CivilianTraffic.CarPrefab(2), 1); + foreach (ResourceName tractor : cars.Tractors) Seed(tractor, 0); + ERR_MotorbikeCatalog bikes = new ERR_MotorbikeCatalog(); bikes.Find(); + foreach (ResourceName bike : bikes.Prefabs) Seed(bike, 0); + Seed(ERR_HunterFleetRules.VehiclePrefab(0), 2); Seed(ERR_HunterFleetRules.VehiclePrefab(2), 2); + Seed(ERR_ConvoyResources.VehiclePrefab(0), 3); Seed(ERR_ConvoyResources.VehiclePrefab(1), 4); + Catalog(manager.GetEntityCatalogOfType(EEntityCatalogType.VEHICLE, false)); + array factions = {}; GetGame().GetFactionManager().GetFactionsList(factions); + foreach (Faction faction : factions) + { + SCR_Faction nativeFaction = SCR_Faction.Cast(faction); + if (nativeFaction) Catalog(nativeFaction.GetFactionEntityCatalogOfType(EEntityCatalogType.VEHICLE, false)); + } + // Also find complete vehicle prefabs from mods without faction catalogs. + foreach (ERR_ServerAddonItems project : m_Addons) + { + SearchResourcesFilter filter = new SearchResourcesFilter(); filter.fileExtensions = {"et"}; filter.recursive = true; + filter.rootPath = "$" + project.Project + ":Prefabs"; + ResourceDatabase.SearchResources(filter, Search); + } + GetGame().GetCallqueue().CallLater(Scan, 50, true); m_Mode.OnStop().Insert(Stop); + } + void Stop() + { + if (GetGame()) GetGame().GetCallqueue().Remove(Scan); + if (m_Mode) m_Mode.OnStop().Remove(Stop); + m_Mode = null; m_Started = false; m_Cursor = 0; + m_Addons.Clear(); m_Entries.Clear(); m_Items.Clear(); m_Pending.Clear(); m_Queued.Clear(); + } + protected void Seed(ResourceName prefab, int role) + { + string key = ERR_TerrainCatalog.Key(prefab); + ERR_VehicleEntry entry = m_Entries.Get(key); + if (!entry) { entry = new ERR_VehicleEntry(); entry.Prefab = prefab; m_Entries.Set(key, entry); } + entry.Defaults = entry.Defaults | (1 << role); + // Authored defaults remain available while asynchronous discovery completes. + entry.Capabilities = entry.Capabilities | (1 << role); + Queue(prefab); + } + protected bool Has(Resource resource, typename component) + { + IEntitySource source = SCR_BaseContainerTools.FindEntitySource(resource); + if (!source) return false; + array matches = {}; + SCR_BaseContainerTools.FindComponentSourcesOfClass(source, component, true, matches); + return !matches.IsEmpty(); + } + protected void Scan() + { + if (!m_Mode || m_Mode != ERR_GameMode.Get() || !Replication.IsServer()) { Stop(); return; } + int end = Math.Min(m_Cursor + 4, m_Pending.Count()); + while (m_Cursor < end) + { + ResourceName prefab = m_Pending[m_Cursor++]; string key = ERR_TerrainCatalog.Key(prefab); + Resource resource = Resource.Load(prefab); + if (!resource || !resource.IsValid()) continue; + bool wheeled = Has(resource, VehicleWheeledSimulation); + bool tracked = Has(resource, VehicleTrackedSimulation); + if (!wheeled && !tracked) continue; + bool ai = (Has(resource, ChimeraAIVehicleControlComponent) || Has(resource, AICarMovementComponent)) && Has(resource, SCR_AIVehicleUsageComponent); + ERR_VehicleEntry entry = m_Entries.Get(key); + if (!entry) { entry = new ERR_VehicleEntry(); entry.Prefab = prefab; m_Entries.Set(key, entry); } + int capabilities; + if (wheeled) capabilities = 1; + if (ai) + { + capabilities = capabilities | 12; + if (wheeled) capabilities = capabilities | 2; + if (Has(resource, InventoryStorageManagerComponent)) capabilities = capabilities | 16; + } + entry.Capabilities = capabilities; + ERR_ServerItem item = new ERR_ServerItem(); item.Prefab = prefab; item.Eligible = true; + item.Label = FilePath.StripPath(prefab.GetPath()); item.Label.Replace(".et", ""); item.Label.Replace("_", " "); item.SearchLabel = item.Label; + m_Items.Set(key, item); + array sources = SCR_AddonTool.GetResourceAddons(prefab); + foreach (ERR_ServerAddonItems addon : m_Addons) if (sources.Contains(addon.Project)) addon.Items.Insert(item); + } + if (m_Cursor >= m_Pending.Count()) + { + GetGame().GetCallqueue().Remove(Scan); + foreach (ERR_ServerAddonItems sorted : m_Addons) ERR_ServerItemCatalog.SortItems(sorted.Items); + PrintFormat("Reintroduced [server vehicles]: inspected=%1 groundVehicles=%2 truncated=%3", m_Cursor, m_Items.Count(), m_Truncated); + } + } + ERR_ServerAddonItems Find(string id) + { + foreach (ERR_ServerAddonItems addon : m_Addons) if (addon.Id == id) return addon; + return null; + } + bool Contains(string addonId, string itemId) + { + ERR_ServerAddonItems addon = Find(addonId); if (!addon) return false; + foreach (ERR_ServerItem item : addon.Items) if (ERR_TerrainCatalog.Key(item.Prefab) == itemId) return true; + return false; + } + void Reject(ResourceName prefab, int role) + { + ERR_VehicleEntry entry = m_Entries.Get(ERR_TerrainCatalog.Key(prefab)); + if (!entry || role < 0 || role > 4) return; + entry.Capabilities = entry.Capabilities & ~(1 << role); + PrintFormat("Reintroduced [vehicle assignment]: rejected %1 for %2: physical fit, driver, crew seats or storage unavailable; excluded until next round", prefab, RoleName(role)); + } + bool Capable(string key, int role) + { + ERR_VehicleEntry entry = m_Entries.Get(key); + return role >= 0 && role < 5 && entry && (entry.Capabilities & (1 << role)) != 0; + } + bool Allowed(ResourceName prefab, int role) + { + Start(); string key = ERR_TerrainCatalog.Key(prefab); ERR_VehicleEntry entry = m_Entries.Get(key); + return Capable(key, role) && GetGame().ERR_ItemSelections().AllowsVehicleRole(prefab, role, (entry.Defaults & (1 << role)) != 0); + } + ResourceName Choose(int role, ResourceName preferred, bool otherDefaults = true) + { + Start(); array choices = {}; + if (!preferred.IsEmpty() && Allowed(preferred, role)) choices.Insert(preferred); + foreach (string key, ERR_VehicleEntry entry : m_Entries) + if ((entry.Defaults & (1 << role)) == 0 && Allowed(entry.Prefab, role) && !choices.Contains(entry.Prefab)) choices.Insert(entry.Prefab); + // If the preferred default was disabled, another enabled default may serve. + if (choices.IsEmpty() && otherDefaults) + foreach (string key, ERR_VehicleEntry entry : m_Entries) + if (Allowed(entry.Prefab, role)) choices.Insert(entry.Prefab); + if (choices.IsEmpty()) return ""; + return choices[Math.RandomInt(0, choices.Count())]; + } + void Snapshot(array values, string selected, int page, int filter, string query, int role = 0) + { + Start(); ERR_ItemPreferences preferences = GetGame().ERR_ItemSelections(); + foreach (ERR_ServerAddonItems addon : m_Addons) + { + if (addon.Items.IsEmpty()) continue; + int enabled; + foreach (ERR_ServerItem item : addon.Items) if (Allowed(item.Prefab, role)) enabled++; + values.Insert("vehicleMod=" + addon.Id + "|" + addon.Label + "|" + addon.Items.Count().ToString() + "|" + enabled.ToString() + "|" + ERR_ServerItemCatalog.Flag(preferences.ModEnabled(addon.Id))); + } + string scan = "Vehicle discovery complete"; + if (!m_Started || m_Cursor < m_Pending.Count()) scan = "Discovering vehicles from loaded mods"; + if (m_Truncated) scan += "; scan limit reached"; + values.Insert("vehiclesScan=" + scan); + ERR_ServerAddonItems chosen = Find(selected); if (!chosen) return; + array matches = {}; + foreach (ERR_ServerItem candidate : chosen.Items) + if (ERR_ServerItemCatalog.Matches(candidate.SearchLabel, candidate.Prefab.GetPath(), Allowed(candidate.Prefab, role), filter, query)) matches.Insert(candidate); + int last = Math.Max(0, (matches.Count() - 1) / ERR_ServerItemCatalog.PAGE_SIZE); page = Math.Clamp(page, 0, last); + values.Insert("vehiclesPage=" + selected + "|" + page.ToString() + "|" + last.ToString() + "|" + matches.Count().ToString() + "|" + role.ToString()); + int end = Math.Min(matches.Count(), (page + 1) * ERR_ServerItemCatalog.PAGE_SIZE); + for (int i = page * ERR_ServerItemCatalog.PAGE_SIZE; i < end; i++) + { + ERR_ServerItem item = matches[i]; string key = ERR_TerrainCatalog.Key(item.Prefab); ERR_VehicleEntry entry = m_Entries.Get(key); + bool capable = Capable(key, role), effective = Allowed(item.Prefab, role); + int rule = preferences.VehicleRole(selected, key, role); + bool selectedChoice = rule == 1 || (rule == -1 && (entry.Defaults & (1 << role)) != 0); + string use = RoleName(role) + ": not assigned"; + if (selectedChoice) use = RoleName(role) + ": selected; fit and crew checked at spawn"; + if (!preferences.ModEnabled(selected)) use = "Mod disabled - assignments remembered"; + else if (selectedChoice && !effective) use = "Disabled by another source mod or vehicle switch"; + if (!capable) use = "Unavailable for this use: missing support or failed spawn checks"; + values.Insert("serverVehicle=" + key + "|" + item.Label + "|" + ERR_ServerItemCatalog.Clean(item.Prefab.GetPath()) + "|" + use + "|" + ERR_ServerItemCatalog.Flag(selectedChoice) + "|" + ERR_ServerItemCatalog.Flag(effective) + "|" + ERR_ServerItemCatalog.Flag(capable)); + } + } +} + +class ERR_VehicleSelection +{ + static bool Allowed(ResourceName prefab) { return !prefab.IsEmpty() && GetGame().ERR_ItemSelections().AllowsVehicle(prefab); } + static ResourceName Choose(array pool, int role = -1) + { + array enabled = {}; + foreach (ResourceName prefab : pool) if ((role < 0 && Allowed(prefab)) || (role >= 0 && RoleAllowed(prefab, role))) enabled.Insert(prefab); + if (enabled.IsEmpty()) return ""; + return enabled[Math.RandomInt(0, enabled.Count())]; + } + static ResourceName ForRole(int role, ResourceName preferred, bool otherDefaults = true) { return GetGame().ERR_ServerVehicles().Choose(role, preferred, otherDefaults); } + static bool RoleAllowed(ResourceName prefab, int role) { return !prefab.IsEmpty() && GetGame().ERR_ServerVehicles().Allowed(prefab, role); } + static bool PatrolSeats(int drivers, int turrets, int cargo, int total) + { + return drivers == 1 && turrets >= 0 && cargo >= 0 && turrets + cargo >= 1 && total == drivers + turrets + cargo && total <= 15; + } + // A mod cannot enlarge the existing 4m x 9m x 3.5m road deployment envelope. + static bool RoadFit(Vehicle vehicle) + { + if (!vehicle || (!vehicle.FindComponent(ChimeraAIVehicleControlComponent) && !vehicle.FindComponent(AICarMovementComponent)) || !vehicle.FindComponent(SCR_AIVehicleUsageComponent)) return false; + vector low, high; vehicle.GetBounds(low, high); + return ERR_ForceRules.FiniteVector(low) && ERR_ForceRules.FiniteVector(high) + && low[0] >= -2 && high[0] <= 2 && low[2] >= -4.5 && high[2] <= 4.5 && high[1] - low[1] > 0 && high[1] - low[1] <= 3.5; + } +} diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehiclesMenu.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehiclesMenu.c new file mode 100644 index 00000000..d307c074 --- /dev/null +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehiclesMenu.c @@ -0,0 +1,195 @@ +modded class ERR_AdminMenu +{ + protected ref array m_VehicleMods = {}; + protected ref array m_VehicleLabels = {}; + protected ref array m_VehicleButtons = {}; + protected ref map m_VehicleRows = new map(); + protected ref map m_VehicleSaved = new map(); + protected ref map m_VehicleStates = new map(); + protected string m_ShownVehicleAddon; + protected string m_LastVehicleChoice; + protected string m_VehicleRowSignature; + protected int m_ShownVehiclePage; + protected int m_LastVehiclePage; + protected int m_LastVehicleFilter = -1; + protected int m_LastVehicleRole = -1; + protected int m_ShownVehicleRole; + protected ref map m_VehicleCapable = new map(); + override void OnMenuOpen() + { + super.OnMenuOpen(); + foreach (string name : {"VehiclesShow", "VehiclesClear", "VehiclesPrevious", "VehiclesNext", "VehiclesEnableAll", "VehiclesDisableAll"}) + { + SCR_ButtonTextComponent button = SCR_ButtonTextComponent.GetButtonText(name, GetRootWidget()); + if (!button) { Close(); return; } + button.m_OnClicked.Insert(OnVehiclesButton); m_VehicleButtons.Insert(button); + } + SCR_ComboBoxComponent filter = SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesFilter", GetRootWidget()); + filter.AddItem("All"); filter.AddItem("Enabled"); filter.AddItem("Disabled"); filter.SetCurrentItem(0, false, false, false); + SCR_ComboBoxComponent roles = SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesRole", GetRootWidget()); + for (int role = 0; role < 5; role++) roles.AddItem("Use for: " + ERR_ServerVehicleCatalog.RoleName(role)); + roles.SetCurrentItem(0, false, false, false); + UpdateActions(); + } + protected void ClearVehicleRows() + { + foreach (string key, Widget row : m_VehicleRows) + { + SCR_ButtonTextComponent.GetButtonText("Enable", row).m_OnClicked.Remove(OnVehicleRowButton); + SCR_ButtonTextComponent.GetButtonText("Disable", row).m_OnClicked.Remove(OnVehicleRowButton); + row.RemoveFromHierarchy(); + } + m_VehicleRows.Clear(); m_VehicleSaved.Clear(); m_VehicleCapable.Clear(); + } + override void OnMenuClose() + { + foreach (SCR_ButtonTextComponent button : m_VehicleButtons) button.m_OnClicked.Remove(OnVehiclesButton); + m_LastVehicleChoice = ""; m_LastVehicleFilter = -1; m_LastVehicleRole = -1; m_ShownVehicleAddon = ""; m_VehicleRowSignature = ""; + ClearVehicleRows(); m_VehicleButtons.Clear(); m_VehicleMods.Clear(); m_VehicleLabels.Clear(); m_VehicleStates.Clear(); + super.OnMenuClose(); + } + protected override void UpdateActions() + { + super.UpdateActions(); + bool ready = VehicleSelectionReady(); + foreach (SCR_ButtonTextComponent button : m_VehicleButtons) + { + string name = button.GetRootWidget().GetName(); bool enabled = ready; + if (name == "VehiclesShow" || name == "VehiclesClear") enabled = m_Ready && !m_VehicleMods.IsEmpty(); + if (name == "VehiclesPrevious") enabled = ready && m_ShownVehiclePage > 0; + if (name == "VehiclesNext") enabled = ready && m_ShownVehiclePage < m_LastVehiclePage; + button.SetEnabled(enabled); + } + foreach (string key, Widget row : m_VehicleRows) + { + SCR_ButtonTextComponent.GetButtonText("Enable", row).SetEnabled(ready && m_VehicleCapable.Get(key) == 1 && m_VehicleSaved.Get(key) == 0); + SCR_ButtonTextComponent.GetButtonText("Disable", row).SetEnabled(ready && m_VehicleSaved.Get(key) == 1); + ERR_SelectionStyle.Pair(row, "Enable", "Disable", m_VehicleSaved.Get(key)); + if (!m_Ready) ERR_SelectionStyle.Status(row, "SelectionState", -1); + } + int state = -1; if (ready && m_VehicleStates.Contains(m_ShownVehicleAddon)) state = m_VehicleStates.Get(m_ShownVehicleAddon); + ERR_SelectionStyle.Status(GetRootWidget(), "VehiclesSelectionState", state); + } + override void ReceiveSnapshot(bool authorized, array values, array status) + { + super.ReceiveSnapshot(authorized, values, status); + if (!authorized || !values) return; + array keys = {}, labels = {}, rows = {}; string shown, signature, scan; int page, last, total, role; + foreach (string entry : values) + { + int divider = entry.IndexOf("="); if (divider < 0) continue; + string field = entry.Substring(0, divider), value = entry.Substring(divider + 1, entry.Length() - divider - 1); + array parts = {}; value.Split("|", parts, false); + if (field == "vehiclesScan") scan = value; + if (field == "vehicleMod" && parts.Count() == 5) + { + keys.Insert(parts[0]); labels.Insert(parts[1]); + m_VehicleStates.Set(parts[0], ERR_SelectionStyle.Aggregate(parts[2].ToInt(), parts[3].ToInt(), parts[4] == "1")); + } + if (field == "vehiclesPage" && parts.Count() == 5) { shown = parts[0]; page = parts[1].ToInt(); last = parts[2].ToInt(); total = parts[3].ToInt(); role = parts[4].ToInt(); } + if (field == "serverVehicle" && parts.Count() == 7) { rows.Insert(value); signature += parts[0]; } + } + SCR_ComboBoxComponent combo = SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesMod", GetRootWidget()); + if (keys.Count() != m_VehicleMods.Count()) + { + combo.ClearAll(); foreach (string label : labels) combo.AddItem(label); + m_VehicleMods.Copy(keys); m_VehicleLabels.Copy(labels); combo.SetCurrentItem(Math.Max(0, keys.Find(m_ShownVehicleAddon)), false, false, false); + } + if (!shown.IsEmpty()) + { + bool moved = shown != m_ShownVehicleAddon || page != m_ShownVehiclePage || signature != m_VehicleRowSignature || role != m_ShownVehicleRole; + SetText("VehiclesHelp", ERR_ServerVehicleCatalog.RoleHint(role)); + m_ShownVehicleRole = role; m_ShownVehicleAddon = shown; m_ShownVehiclePage = page; m_LastVehiclePage = last; m_VehicleRowSignature = signature; + if (moved) ClearVehicleRows(); + string scanNote; if (scan != "Vehicle discovery complete") scanNote = " (scanning)"; + SetText("VehiclesPageState", total.ToString() + " matching vehicles | Page " + (page + 1).ToString() + " of " + (last + 1).ToString() + scanNote); + foreach (string data : rows) + { + array parts = {}; data.Split("|", parts, false); Widget row = m_VehicleRows.Get(parts[0]); + if (!row) + { + row = GetGame().GetWorkspace().CreateWidgets("{93A8120CBE7DA469}UI/layouts/ERR/ItemRow.layout", GetRootWidget().FindAnyWidget("VehiclesContent")); + if (!row) continue; + m_VehicleRows.Set(parts[0], row); + SCR_ButtonTextComponent.GetButtonText("Enable", row).m_OnClicked.Insert(OnVehicleRowButton); + SCR_ButtonTextComponent.GetButtonText("Disable", row).m_OnClicked.Insert(OnVehicleRowButton); + } + TextWidget.Cast(row.FindAnyWidget("PackLabel")).SetText(WidgetManager.Translate(parts[1])); + TextWidget.Cast(row.FindAnyWidget("PackState")).SetText(parts[3]); + m_VehicleCapable.Set(parts[0], parts[6].ToInt()); m_VehicleSaved.Set(parts[0], parts[4].ToInt()); ERR_SelectionStyle.Status(row, "SelectionState", parts[5].ToInt()); + } + string empty; if (rows.IsEmpty()) empty = "No vehicles match. Clear search or choose All to see more."; + SetText("VehiclesText", empty); + GetRootWidget().FindAnyWidget("VehiclesText").SetVisible(!empty.IsEmpty()); + if (moved) ScrollLayoutWidget.Cast(GetRootWidget().FindAnyWidget("VehiclesScroll")).SetSliderPos(0, 0); + } + else if (keys.IsEmpty()) SetText("VehiclesText", "Discovering ground vehicles on this server..."); + UpdateActions(); + } + protected override void OpenVehicleAddon(string addon) + { + int index = m_VehicleMods.Find(addon); if (index < 0) return; + SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesMod", GetRootWidget()).SetCurrentItem(index, false, false, false); + SCR_EditBoxComponent.GetEditBoxComponent("VehiclesSearch", GetRootWidget()).SetValue(""); + SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesFilter", GetRootWidget()).SetCurrentItem(0, false, false, false); + ShowPage(ERR_AdminPage.VEHICLE_POOL); BrowseVehicles(0); + } + protected bool VehicleSelectionReady() + { + SCR_ComboBoxComponent combo = SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesMod", GetRootWidget()); + if (!m_Ready || !combo) return false; + int index = combo.GetCurrentIndex(); + return index >= 0 && index < m_VehicleMods.Count() && m_VehicleMods[index] == m_ShownVehicleAddon && SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesRole", GetRootWidget()).GetCurrentIndex() == m_ShownVehicleRole; + } + protected void BrowseVehicles(int page) + { + int index = SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesMod", GetRootWidget()).GetCurrentIndex(); + if (index < 0 || index >= m_VehicleMods.Count()) return; + int filter = SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesFilter", GetRootWidget()).GetCurrentIndex(); + string query = SCR_EditBoxComponent.GetEditBoxComponent("VehiclesSearch", GetRootWidget()).GetValue().Trim(); + if (query.Length() > 64) { ReceiveReply("Search can contain up to 64 characters."); return; } + m_LastVehicleChoice = m_VehicleMods[index]; m_LastVehicleFilter = filter; + m_LastVehicleRole = SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesRole", GetRootWidget()).GetCurrentIndex(); + SubmitItems("vehicles browse " + m_LastVehicleChoice + " " + page.ToString() + " " + filter.ToString() + " " + m_LastVehicleRole.ToString() + " " + query); + UpdateActions(); + } + override void OnMenuUpdate(float tDelta) + { + super.OnMenuUpdate(tDelta); + if (!m_Ready || !IsFocused() || m_ClickDelay > 0 || m_Age > 6 || m_Page != ERR_AdminPage.VEHICLE_POOL) return; + int index = SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesMod", GetRootWidget()).GetCurrentIndex(); + int filter = SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesFilter", GetRootWidget()).GetCurrentIndex(); + if (index >= 0 && index < m_VehicleMods.Count() && (m_VehicleMods[index] != m_LastVehicleChoice || filter != m_LastVehicleFilter || SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesRole", GetRootWidget()).GetCurrentIndex() != m_LastVehicleRole)) BrowseVehicles(0); + } + protected void OnVehiclesButton(SCR_ButtonBaseComponent button) + { + if (!button || !m_Ready || !IsFocused() || !m_Controller || m_Age > 6 || m_ClickDelay > 0) return; + string name = button.GetRootWidget().GetName(); + if (name == "VehiclesEnableAll" || name == "VehiclesDisableAll") + { + if (!VehicleSelectionReady()) return; + string value = "0"; if (name == "VehiclesEnableAll") value = "1"; + SubmitItems("vehicles role " + m_ShownVehicleAddon + " " + m_ShownVehicleRole.ToString() + " * " + value); return; + } + if (name == "VehiclesClear") + { + SCR_EditBoxComponent.GetEditBoxComponent("VehiclesSearch", GetRootWidget()).SetValue(""); + SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesFilter", GetRootWidget()).SetCurrentItem(0, false, false, false); + } + int page; + if (name == "VehiclesPrevious") page = Math.Max(0, m_ShownVehiclePage - 1); + if (name == "VehiclesNext") page = Math.Min(m_LastVehiclePage, m_ShownVehiclePage + 1); + BrowseVehicles(page); + } + protected void OnVehicleRowButton(SCR_ButtonBaseComponent button) + { + if (!button || !m_Ready || !IsFocused() || !m_Controller || m_Age > 6 || m_ClickDelay > 0 || !VehicleSelectionReady()) return; + foreach (string key, Widget row : m_VehicleRows) + { + string value; + if (button.GetRootWidget() == row.FindAnyWidget("Enable")) value = "1"; + if (button.GetRootWidget() == row.FindAnyWidget("Disable")) value = "0"; + if (!value.IsEmpty()) { SubmitItems("vehicles role " + m_ShownVehicleAddon + " " + m_ShownVehicleRole.ToString() + " " + key + " " + value); return; } + } + } +} diff --git a/addons/core/Scripts/Game/ERR/10_AI/ERR_CivilianTraffic.c b/addons/core/Scripts/Game/ERR/10_AI/ERR_CivilianTraffic.c index 29501d3a..23ee4635 100644 --- a/addons/core/Scripts/Game/ERR/10_AI/ERR_CivilianTraffic.c +++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_CivilianTraffic.c @@ -209,20 +209,28 @@ class ERR_CivilianTraffic m_Catalog.Find(false); // Keep the transport van in traffic; premium Rally cars stay in parked pools. ResourceName prefab = CarPrefab(2); - if (Math.RandomInt(0, 5) != 0) prefab = m_Catalog.RoadPrefabs[Math.RandomInt(0, m_Catalog.RoadPrefabs.Count())]; + if (Math.RandomInt(0, 5) != 0 || !ERR_VehicleSelection.RoleAllowed(prefab, 1)) prefab = ERR_VehicleSelection.Choose(m_Catalog.RoadPrefabs, 1); + if (prefab.IsEmpty() && ERR_VehicleSelection.RoleAllowed(CarPrefab(2), 1)) prefab = CarPrefab(2); + prefab = ERR_VehicleSelection.ForRole(1, prefab); + if (prefab.IsEmpty()) return false; array required = {prefab, DriverPrefab(), ERR_ConvoyResources.GroupPrefab(), ERR_Resources.MoveWaypoint()}; foreach (ResourceName name : required) { Resource loaded = Resource.Load(name); if (!loaded || !loaded.IsValid()) return false; } // Loading can take time: check every observer again immediately before spawn. if (!Observers(observers, actors) || observers.IsEmpty() || !ERR_CivilianTrafficRules.Far(route[0], observers, 1000) || !Hidden(route[0], actors)) return false; ERR_ConvoyPlacement finalPlacement = new ERR_ConvoyPlacement(); - if (!finalPlacement.Clear(route[0], angles[0])) return false; + if (!finalPlacement.Clear(route[0], angles[0]) || !ERR_VehicleSelection.RoleAllowed(prefab, 1)) return false; ERR_CivilianCar traffic = new ERR_CivilianCar(); traffic.Route.Copy(route); traffic.Number = m_Serial + 1; traffic.Prefab = prefab; traffic.Deadline = now + 120000; traffic.ProgressAt = now; traffic.ProgressPosition = route[0]; traffic.Car = Vehicle.Cast(ERR_Actors.Spawn(prefab, route[0], angles)); + m_Serial++; // Rejected mod vehicles still consume one of the 64 native creation attempts. + if (!ERR_VehicleSelection.RoadFit(traffic.Car)) + { + GetGame().ERR_ServerVehicles().Reject(prefab, 1); ERR_Actors.DeleteSpawned(traffic.Car); return false; + } traffic.Group = SCR_AIGroup.Cast(ERR_Actors.Spawn(ERR_ConvoyResources.GroupPrefab(), route[0])); // Retain failed partial creations for the same distant-only cleanup policy. - m_Cars.Insert(traffic); m_Serial++; traffic.Protect(true); + m_Cars.Insert(traffic); traffic.Protect(true); Faction civilian = GetGame().GetFactionManager().GetFactionByKey("CIV"); if (traffic.Group) { traffic.Group.SetFaction(civilian); traffic.Group.SetDeleteWhenEmpty(false); } if (!traffic.Car || !ERR_ConvoyRules.EmptyCrewTemplate(traffic.Group)) { traffic.Finish("creation failed: vehicle or crew group"); return false; } @@ -231,7 +239,7 @@ class ERR_CivilianTraffic if (!ERR_ConvoyRules.CollectSeats(traffic.Car, seats)) { traffic.Finish("creation failed: compartments unavailable"); return false; } foreach (BaseCompartmentSlot seat : seats) if (seat.GetType() == ECompartmentType.PILOT && seat.IsCompartmentAccessible() && !seat.GetOccupant()) { traffic.Seat = seat; break; } - if (!traffic.Seat) { traffic.Finish("creation failed: no accessible driver seat"); return false; } + if (!traffic.Seat) { GetGame().ERR_ServerVehicles().Reject(prefab, 1); traffic.Finish("creation failed: no accessible driver seat"); return false; } AIGroup group = traffic.Group; traffic.Driver = traffic.Seat.SpawnCharacterInCompartment(DriverPrefab(), group, ERR_ConvoyResources.GroupPrefab()); traffic.Protect(true); diff --git a/addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyService.c b/addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyService.c index 92c23b1d..cc773b9d 100644 --- a/addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyService.c +++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyService.c @@ -404,6 +404,16 @@ class ERR_ConvoyService ERR_ConvoyTask Dispatch(ERR_ConvoyReceipt receipt, array positions, array angles, ERR_ForceRoute route, float now) { if (!Current() || !ERR_ForceRules.Finite(now) || now < 0 || !ERR_ConvoyRules.Plan(positions, angles, route) || !ERR_ConvoyResources.Available() || !ERR_ConvoyRules.GroundClear(positions, angles)) return null; + // Choose once before consuming a finite receipt. Empty assigned pools defer dispatch. + array selected = {}; + for (int slot = 0; slot < 6; slot++) + { + ResourceName prefab = ERR_ConvoyResources.VehiclePrefab(slot); + if (slot == 1) prefab = ERR_VehicleSelection.ForRole(4, prefab); + if (slot == 0 || slot == 3 || slot == 5) prefab = ERR_VehicleSelection.ForRole(3, prefab); + if (slot != 2 && prefab.IsEmpty()) return null; + selected.Insert(prefab); + } // The server role selection owns the memberless group affiliation. if (!m_Mode.EnemyFaction() || !m_Pool.Consume(receipt)) return null; ERR_ConvoyTask task = NewTask(); task.Receipt = receipt; task.Route = route; task.Deadline = now + 30000; @@ -414,10 +424,13 @@ class ERR_ConvoyService if (index == 2) { unit.Released = true; continue; } unit.Group = SCR_AIGroup.Cast(ERR_Actors.Spawn(ERR_ConvoyResources.GroupPrefab(), positions[index])); if (unit.Group) m_Mode.Own(unit.Group); - unit.Entity = Vehicle.Cast(ERR_Actors.Spawn(ERR_ConvoyResources.VehiclePrefab(index), positions[index], angles[index])); + unit.Entity = Vehicle.Cast(ERR_Actors.Spawn(selected[index], positions[index], angles[index])); if (unit.Entity) m_Mode.Own(unit.Entity); - if (!unit.Group || !unit.Entity || unit.Group.GetFaction() != m_Mode.EnemyFaction() || !ERR_ConvoyRules.EmptyCrewTemplate(unit.Group) || !FillCrew(unit)) - { task.Stop(m_Mode, "finite convoy startup failed; receipt consumed without retry"); return task; } + bool assigned = selected[index] != ERR_ConvoyResources.VehiclePrefab(index); + bool compatible = !assigned || (ERR_VehicleSelection.RoadFit(unit.Entity) && (index != 1 || unit.Entity.FindComponent(InventoryStorageManagerComponent))); + int role = 3; if (index == 1) role = 4; + if (!compatible || !unit.Group || !unit.Entity || unit.Group.GetFaction() != m_Mode.EnemyFaction() || !ERR_ConvoyRules.EmptyCrewTemplate(unit.Group) || !FillCrew(unit)) + { if (assigned) GetGame().ERR_ServerVehicles().Reject(selected[index], role); task.Stop(m_Mode, "finite convoy startup failed; receipt consumed without retry"); return task; } FactionAffiliationComponent affiliation = FactionAffiliationComponent.Cast(unit.Entity.FindComponent(FactionAffiliationComponent)); if (affiliation) affiliation.SetAffiliatedFaction(m_Mode.EnemyFaction()); AICarMovementComponent movement = AICarMovementComponent.Cast(unit.Entity.FindComponent(AICarMovementComponent)); diff --git a/addons/core/Scripts/Game/ERR/10_AI/ERR_GarageVehicles.c b/addons/core/Scripts/Game/ERR/10_AI/ERR_GarageVehicles.c index 591fab10..88586494 100644 --- a/addons/core/Scripts/Game/ERR/10_AI/ERR_GarageVehicles.c +++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_GarageVehicles.c @@ -309,15 +309,24 @@ class ERR_GarageVehicles } if (ChimeraWorldUtils.TryGetWaterSurfaceSimple(GetGame().GetWorld(), position) || !Clear(position, transform, null, site.Farm) || !Hidden(position, angles, actors, null, site.Farm)) return; m_Pending = site; m_Position = position; m_Angles = angles; - m_Prefab = m_Cars.Prefabs[Math.RandomInt(0, m_Cars.Prefabs.Count())]; - if (site.Farm) m_Prefab = m_Cars.Tractors[0]; - m_PendingBike = !site.Farm && m_Spawned % 4 == 3 && m_BikeCandidate < m_Bikes.Prefabs.Count(); - if (m_PendingBike) m_Prefab = m_Bikes.Prefabs[m_BikeCandidate]; + m_Prefab = ERR_VehicleSelection.Choose(m_Cars.Prefabs, 0); + if (site.Farm) m_Prefab = ERR_VehicleSelection.Choose(m_Cars.Tractors, 0); + m_PendingBike = !site.Farm && (m_Prefab.IsEmpty() || m_Spawned % 4 == 3) && m_BikeCandidate < m_Bikes.Prefabs.Count(); + if (m_PendingBike) + { + if (ERR_VehicleSelection.RoleAllowed(m_Bikes.Prefabs[m_BikeCandidate], 0)) m_Prefab = m_Bikes.Prefabs[m_BikeCandidate]; + else { m_BikeCandidate++; m_PendingBike = false; } + } + ResourceName preferred = m_Prefab; + m_Prefab = ERR_VehicleSelection.ForRole(0, preferred, false); + if (m_Prefab != preferred) m_PendingBike = false; + if (m_Prefab.IsEmpty()) { m_Pending = null; return; } m_Stage = 1; return; } } protected void Pending(array observers, array actors) { + if (!ERR_VehicleSelection.RoleAllowed(m_Prefab, 0)) { m_Pending = null; return; } if (m_Stage == 1) { if (!m_LoadedNames.Contains(m_Prefab)) @@ -349,6 +358,7 @@ class ERR_GarageVehicles if (site.Farm) fits = ERR_GarageVehicleRules.FarmEnvelope(low, high); if (!driver || armed || !fits || !Clear(m_Position, transform, entity, site.Farm)) { + if (!driver || armed || !fits) GetGame().ERR_ServerVehicles().Reject(m_Prefab, 0); ERR_Actors.DeleteSpawned(entity); if (m_PendingBike) m_BikeCandidate++; return; } // Empty vehicles start unaffiliated; vanilla assigns the first occupant's diff --git a/addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c b/addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c index 7a8a34ae..121309fc 100644 --- a/addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c +++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c @@ -62,6 +62,7 @@ class ERR_HunterVehicle : ERR_ConvoyVehicle bool DeliveredSearch; float PendingObservedAt = -1; bool TroopTransport; + bool AssignedVehicle; bool Motorbike; bool Sarka; bool OpeningPatrol; @@ -513,10 +514,16 @@ class ERR_HunterService : ERR_ConvoyService { if (!ERR_SarkaRules.Seats(drivers.Count(), turrets.Count(), cargo.Count(), all.Count())) return false; } + else if (hunter.AssignedVehicle) + { + if (!ERR_VehicleSelection.PatrolSeats(drivers.Count(), turrets.Count(), cargo.Count(), all.Count())) return false; + hunter.TroopTransport = turrets.IsEmpty(); + } else if (!ERR_HunterFleetRules.Seats(hunter.TroopTransport, drivers.Count(), turrets.Count(), cargo.Count(), all.Count())) return false; unit.Seats.Insert(drivers[0]); foreach (BaseCompartmentSlot turret : turrets) unit.Seats.Insert(turret); int medicIndex = unit.Seats.Count(); + if (hunter.AssignedVehicle && cargo.IsEmpty()) medicIndex = unit.Seats.Count() - 1; foreach (BaseCompartmentSlot passenger : cargo) unit.Seats.Insert(passenger); AIGroup nativeGroup = unit.Group; for (int i = 0; i < unit.Seats.Count(); i++) @@ -547,15 +554,18 @@ class ERR_HunterService : ERR_ConvoyService unit.OpeningPatrol = Deployed() < 3; unit.PatrolHome = position; unit.Source = "aggression-uaz-" + (Deployed() + 1).ToString(); if (unit.TroopTransport) unit.Source = "aggression-truck-" + (Deployed() + 1).ToString(); - ResourceName vehiclePrefab = ERR_HunterFleetRules.VehiclePrefab(Deployed()); + ResourceName originalPrefab = ERR_HunterFleetRules.VehiclePrefab(Deployed()); + ResourceName vehiclePrefab = ERR_VehicleSelection.ForRole(2, originalPrefab); + if (vehiclePrefab.IsEmpty()) { m_NextSpawn = now + 30000; return false; } + unit.AssignedVehicle = vehiclePrefab != originalPrefab; unit.Deadline = now + 120000; unit.LaunchedAt = now; m_Hunters.Insert(unit); CommitReserve(unit, now); unit.Group = SCR_AIGroup.Cast(ERR_Actors.Spawn(ERR_ConvoyResources.GroupPrefab(), position)); unit.Entity = Vehicle.Cast(ERR_Actors.Spawn(vehiclePrefab, position, angles)); if (unit.Group) m_Mode.Own(unit.Group); if (unit.Entity) m_Mode.Own(unit.Entity); - if (!unit.Group || !unit.Entity || !ERR_ConvoyRules.EmptyCrewTemplate(unit.Group) || !FillCrew(unit)) - { unit.Release(m_Mode); ERR_HQ.Event("HUNTER FAILED", unit.Source + " native vehicle/crew spawn failed; allowance consumed"); return false; } + if (!unit.Group || !unit.Entity || !ERR_ConvoyRules.EmptyCrewTemplate(unit.Group) || (unit.AssignedVehicle && !ERR_VehicleSelection.RoadFit(unit.Entity)) || !FillCrew(unit)) + { GetGame().ERR_ServerVehicles().Reject(vehiclePrefab, 2); unit.Release(m_Mode); ERR_HQ.Event("HUNTER FAILED", unit.Source + " native vehicle/crew spawn failed; allowance consumed"); return false; } unit.Recovery = new ERR_HunterCrewRecovery(unit); unit.Recovery.Update(m_Mode, now); FactionAffiliationComponent affiliation = FactionAffiliationComponent.Cast(unit.Entity.FindComponent(FactionAffiliationComponent)); diff --git a/addons/core/UI/layouts/ERR/AdminMenu.layout b/addons/core/UI/layouts/ERR/AdminMenu.layout index b2bf207e..3babc07b 100644 --- a/addons/core/UI/layouts/ERR/AdminMenu.layout +++ b/addons/core/UI/layouts/ERR/AdminMenu.layout @@ -22,14 +22,14 @@ ImageWidgetClass { "Is Visible" 1 Name "Selected_Main_Mission" Slot FrameWidgetS FrameWidgetClass { "Is Visible" 1 Name "Sidebar_Mission" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 166 OffsetTop 166 SizeX 180 OffsetRight -208 SizeY 480 OffsetBottom -646 } { ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenSettings" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 0 OffsetTop 0 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -42 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "General" } } } ImageWidgetClass { "Is Visible" 1 Name "Selected_OpenSettings" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 44 OffsetTop 44 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -47 } Color 0.9 0.66 0.25 1 } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenVehicles" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 54 OffsetTop 54 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -96 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Civilian vehicles" } } } -ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenVehicles" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 98 OffsetTop 98 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -101 } Color 0.9 0.66 0.25 1 } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenWorld" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 108 OffsetTop 108 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -150 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "World" } } } -ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenWorld" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 152 OffsetTop 152 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -155 } Color 0.9 0.66 0.25 1 } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenTerrains" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 162 OffsetTop 162 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -204 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Terrains" } } } -ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenTerrains" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 206 OffsetTop 206 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -209 } Color 0.9 0.66 0.25 1 } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenTelemetry" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 216 OffsetTop 216 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -258 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Statistics" } } } -ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenTelemetry" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 260 OffsetTop 260 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -263 } Color 0.9 0.66 0.25 1 } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenWorld" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 54 OffsetTop 54 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -96 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "World" } } } +ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenWorld" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 98 OffsetTop 98 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -101 } Color 0.9 0.66 0.25 1 } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenTerrains" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 108 OffsetTop 108 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -150 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Terrains" } } } +ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenTerrains" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 152 OffsetTop 152 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -155 } Color 0.9 0.66 0.25 1 } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenTelemetry" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 162 OffsetTop 162 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -204 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Statistics" } } } +ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenTelemetry" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 206 OffsetTop 206 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -209 } Color 0.9 0.66 0.25 1 } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenRecommendations" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 216 OffsetTop 216 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -258 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Recommended mods" } } } +ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenRecommendations" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 260 OffsetTop 260 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -263 } Color 0.9 0.66 0.25 1 } } } ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Main_Forces" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 174 OffsetLeft 174 PositionY 106 OffsetTop 106 SizeX 138 OffsetRight -312 SizeY 42 OffsetBottom -148 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Forces" } } } ImageWidgetClass { "Is Visible" 0 Name "Selected_Main_Forces" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 174 OffsetLeft 174 PositionY 150 OffsetTop 150 SizeX 138 OffsetRight -312 SizeY 3 OffsetBottom -153 } Color 0.9 0.66 0.25 1 } @@ -46,6 +46,8 @@ ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_But ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenSites" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 260 OffsetTop 260 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -263 } Color 0.9 0.66 0.25 1 } ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenSarka" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 270 OffsetTop 270 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -312 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Šárka hunters" } } } ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenSarka" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 314 OffsetTop 314 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -317 } Color 0.9 0.66 0.25 1 } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenPacks" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 324 OffsetTop 324 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -366 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Enemy packs" } } } +ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenPacks" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 368 OffsetTop 368 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -371 } Color 0.9 0.66 0.25 1 } } } ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Main_HQ" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 320 OffsetLeft 320 PositionY 106 OffsetTop 106 SizeX 138 OffsetRight -458 SizeY 42 OffsetBottom -148 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "HQ" } } } ImageWidgetClass { "Is Visible" 0 Name "Selected_Main_HQ" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 320 OffsetLeft 320 PositionY 150 OffsetTop 150 SizeX 138 OffsetRight -458 SizeY 3 OffsetBottom -153 } Color 0.9 0.66 0.25 1 } @@ -67,36 +69,34 @@ ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenIntel" Slot FrameWidgetSlot ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenRadioIntel" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 54 OffsetTop 54 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -96 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Radio intel" } } } ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenRadioIntel" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 98 OffsetTop 98 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -101 } Color 0.9 0.66 0.25 1 } } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Main_Items" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 612 OffsetLeft 612 PositionY 106 OffsetTop 106 SizeX 138 OffsetRight -750 SizeY 42 OffsetBottom -148 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Items" } } } -ImageWidgetClass { "Is Visible" 0 Name "Selected_Main_Items" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 612 OffsetLeft 612 PositionY 150 OffsetTop 150 SizeX 138 OffsetRight -750 SizeY 3 OffsetBottom -153 } Color 0.9 0.66 0.25 1 } -FrameWidgetClass { "Is Visible" 0 Name "Sidebar_Items" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 166 OffsetTop 166 SizeX 180 OffsetRight -208 SizeY 480 OffsetBottom -646 } { -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenItems" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 0 OffsetTop 0 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -42 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Extra equipment" } } } -ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenItems" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 44 OffsetTop 44 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -47 } Color 0.9 0.66 0.25 1 } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenAllowedItems" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 54 OffsetTop 54 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -96 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Allowed items" } } } -ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenAllowedItems" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 98 OffsetTop 98 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -101 } Color 0.9 0.66 0.25 1 } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenWeights" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 108 OffsetTop 108 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -150 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Spawn chances" } } } -ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenWeights" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 152 OffsetTop 152 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -155 } Color 0.9 0.66 0.25 1 } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenItemPresets" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 162 OffsetTop 162 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -204 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Presets" } } } -ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenItemPresets" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 206 OffsetTop 206 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -209 } Color 0.9 0.66 0.25 1 } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenStarter" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 216 OffsetTop 216 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -258 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Starting backpack" } } } -ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenStarter" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 260 OffsetTop 260 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -263 } Color 0.9 0.66 0.25 1 } -} } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Main_Mods" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 758 OffsetLeft 758 PositionY 106 OffsetTop 106 SizeX 138 OffsetRight -896 SizeY 42 OffsetBottom -148 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Mods" } } } -ImageWidgetClass { "Is Visible" 0 Name "Selected_Main_Mods" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 758 OffsetLeft 758 PositionY 150 OffsetTop 150 SizeX 138 OffsetRight -896 SizeY 3 OffsetBottom -153 } Color 0.9 0.66 0.25 1 } -FrameWidgetClass { "Is Visible" 0 Name "Sidebar_Mods" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 166 OffsetTop 166 SizeX 180 OffsetRight -208 SizeY 480 OffsetBottom -646 } { -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenMods" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 0 OffsetTop 0 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -42 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Installed mods" } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Main_Content" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 612 OffsetLeft 612 PositionY 106 OffsetTop 106 SizeX 138 OffsetRight -750 SizeY 42 OffsetBottom -148 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Content" } } } +ImageWidgetClass { "Is Visible" 0 Name "Selected_Main_Content" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 612 OffsetLeft 612 PositionY 150 OffsetTop 150 SizeX 138 OffsetRight -750 SizeY 3 OffsetBottom -153 } Color 0.9 0.66 0.25 1 } +FrameWidgetClass { "Is Visible" 0 Name "Sidebar_Content" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 166 OffsetTop 166 SizeX 180 OffsetRight -208 SizeY 480 OffsetBottom -646 } { +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenMods" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 0 OffsetTop 0 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -42 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "1. Mods" } } } ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenMods" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 44 OffsetTop 44 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -47 } Color 0.9 0.66 0.25 1 } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenRecommendations" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 54 OffsetTop 54 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -96 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Recommended mods" } } } -ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenRecommendations" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 98 OffsetTop 98 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -101 } Color 0.9 0.66 0.25 1 } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenAllowedItems" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 54 OffsetTop 54 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -96 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "2. Items" } } } +ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenAllowedItems" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 98 OffsetTop 98 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -101 } Color 0.9 0.66 0.25 1 } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenVehiclePool" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 108 OffsetTop 108 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -150 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "3. Vehicles" } } } +ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenVehiclePool" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 152 OffsetTop 152 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -155 } Color 0.9 0.66 0.25 1 } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenVehicles" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 162 OffsetTop 162 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -204 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Vehicle spawning" } } } +ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenVehicles" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 206 OffsetTop 206 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -209 } Color 0.9 0.66 0.25 1 } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenItems" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 216 OffsetTop 216 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -258 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Equipment chance" } } } +ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenItems" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 260 OffsetTop 260 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -263 } Color 0.9 0.66 0.25 1 } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenWeights" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 270 OffsetTop 270 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -312 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Advanced weights" } } } +ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenWeights" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 314 OffsetTop 314 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -317 } Color 0.9 0.66 0.25 1 } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenItemPresets" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 324 OffsetTop 324 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -366 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Presets" } } } +ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenItemPresets" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 368 OffsetTop 368 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -371 } Color 0.9 0.66 0.25 1 } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenStarter" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 378 OffsetTop 378 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -420 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Starting backpack" } } } +ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenStarter" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 422 OffsetTop 422 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -425 } Color 0.9 0.66 0.25 1 } } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Main_Audio" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 904 OffsetLeft 904 PositionY 106 OffsetTop 106 SizeX 138 OffsetRight -1042 SizeY 42 OffsetBottom -148 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Audio" } } } -ImageWidgetClass { "Is Visible" 0 Name "Selected_Main_Audio" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 904 OffsetLeft 904 PositionY 150 OffsetTop 150 SizeX 138 OffsetRight -1042 SizeY 3 OffsetBottom -153 } Color 0.9 0.66 0.25 1 } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Main_Audio" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 758 OffsetLeft 758 PositionY 106 OffsetTop 106 SizeX 138 OffsetRight -896 SizeY 42 OffsetBottom -148 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Audio" } } } +ImageWidgetClass { "Is Visible" 0 Name "Selected_Main_Audio" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 758 OffsetLeft 758 PositionY 150 OffsetTop 150 SizeX 138 OffsetRight -896 SizeY 3 OffsetBottom -153 } Color 0.9 0.66 0.25 1 } FrameWidgetClass { "Is Visible" 0 Name "Sidebar_Audio" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 166 OffsetTop 166 SizeX 180 OffsetRight -208 SizeY 480 OffsetBottom -646 } { ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenTTS" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 0 OffsetTop 0 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -42 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Speech and sounds" } } } ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenTTS" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 44 OffsetTop 44 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -47 } Color 0.9 0.66 0.25 1 } } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Main_Status" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 1050 OffsetLeft 1050 PositionY 106 OffsetTop 106 SizeX 138 OffsetRight -1188 SizeY 42 OffsetBottom -148 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Status" } } } -ImageWidgetClass { "Is Visible" 0 Name "Selected_Main_Status" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 1050 OffsetLeft 1050 PositionY 150 OffsetTop 150 SizeX 138 OffsetRight -1188 SizeY 3 OffsetBottom -153 } Color 0.9 0.66 0.25 1 } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Main_Status" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 904 OffsetLeft 904 PositionY 106 OffsetTop 106 SizeX 138 OffsetRight -1042 SizeY 42 OffsetBottom -148 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Status" } } } +ImageWidgetClass { "Is Visible" 0 Name "Selected_Main_Status" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 904 OffsetLeft 904 PositionY 150 OffsetTop 150 SizeX 138 OffsetRight -1042 SizeY 3 OffsetBottom -153 } Color 0.9 0.66 0.25 1 } FrameWidgetClass { "Is Visible" 0 Name "Sidebar_Status" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 166 OffsetTop 166 SizeX 180 OffsetRight -208 SizeY 480 OffsetBottom -646 } { ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "OpenStatus" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 0 OffsetTop 0 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -42 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Mission status" } } } ImageWidgetClass { "Is Visible" 0 Name "Selected_OpenStatus" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 44 OffsetTop 44 SizeX 180 OffsetRight -180 SizeY 3 OffsetBottom -47 } Color 0.9 0.66 0.25 1 } @@ -419,22 +419,51 @@ ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_But } } } FrameWidgetClass { "Is Visible" 0 Name "ModsPage" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 220 OffsetLeft 220 PositionY 160 OffsetTop 160 SizeX 1000 OffsetRight -1220 SizeY 486 OffsetBottom -646 } { +TextWidgetClass { Name "ModsHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 0 OffsetTop 0 SizeX 936 OffsetRight -964 SizeY 30 OffsetBottom -30 } Color 0.9 0.92 0.94 1 Text "Enable mods first. Their individual item and vehicle choices are remembered when disabled." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +TextWidgetClass { Name "ModsScope" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 32 OffsetTop 32 SizeX 936 OffsetRight -964 SizeY 28 OffsetBottom -60 } Color 0.9 0.92 0.94 1 Text "Controls future extra equipment and assigned vehicles. Loaded Workshop scripts stay active." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +TextWidgetClass { Name "ModsSearchLabel" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 64 OffsetTop 64 SizeX 430 OffsetRight -458 SizeY 22 OffsetBottom -86 } Color 0.9 0.92 0.94 1 Text "Find a mod" "Font Size" 14 "Min Font Size" 14 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name "ModsSearch" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 88 OffsetTop 88 SizeX 540 OffsetRight -568 SizeY 36 OffsetBottom -124 } components { SCR_EditBoxComponent "{547290FFBD5B33E9}" { m_sLabel "" } } } +ButtonWidgetClass : "{4B5AE6E64037FFB4}UI/layouts/WidgetLibrary/ComboBox/WLib_ComboBox.layout" { Name "ModsFilter" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 586 OffsetLeft 586 PositionY 88 OffsetTop 88 SizeX 378 OffsetRight -964 SizeY 36 OffsetBottom -124 } components { SCR_ComboBoxComponent "{546B1D464BC32853}" { m_bUseLabel 0 m_sLabel "" m_fSizeWithoutLabel 36 } } } +TextWidgetClass { Name "ModsCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 130 OffsetTop 130 SizeX 936 OffsetRight -964 SizeY 28 OffsetBottom -158 } Color 0.9 0.92 0.94 1 Text "Waiting for server..." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +ScrollLayoutWidgetClass { Name "ModsScroll" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 166 OffsetTop 166 SizeX 936 OffsetRight -964 SizeY 310 OffsetBottom -476 } { VerticalLayoutWidgetClass { Name "ModList" Slot AlignableSlot { HorizontalAlign 3 VerticalAlign 3 Padding 0 0 12 0 } { } } } } +} } +FrameWidgetClass { "Is Visible" 0 Name "PacksPage" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 220 OffsetLeft 220 PositionY 160 OffsetTop 160 SizeX 1000 OffsetRight -1220 SizeY 486 OffsetBottom -646 } { TextWidgetClass { - Name "ModsHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 6 OffsetTop 6 SizeX 650 OffsetRight -678 SizeY 50 OffsetBottom -56 } - Color 0.9 0.92 0.94 1 Text "Mission content switches are followed by all server-loaded mods. Workshop mods stay loaded; use Edit items to manage their random equipment." "Font Size" 19 "Min Font Size" 19 Wrap 1 + Name "PacksHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 6 OffsetTop 6 SizeX 650 OffsetRight -678 SizeY 50 OffsetBottom -56 } + Color 0.9 0.92 0.94 1 Text "Choose supported enemy packs and factions for the next round. Item and vehicle choices are under Content." "Font Size" 19 "Min Font Size" 19 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } TextWidgetClass { - Name "ModsScope" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 58 OffsetTop 58 SizeX 936 OffsetRight -964 SizeY 46 OffsetBottom -104 } + Name "PacksScope" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 58 OffsetTop 58 SizeX 936 OffsetRight -964 SizeY 46 OffsetBottom -104 } Color 0.9 0.92 0.94 1 Text "Switches apply only to supported mission content, next round. Use Edit items for random equipment and presets." "Font Size" 19 "Min Font Size" 19 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } -ScrollLayoutWidgetClass { Name "ModsScroll" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 112 OffsetTop 112 SizeX 936 OffsetRight -964 SizeY 362 OffsetBottom -474 } { -VerticalLayoutWidgetClass { Name "ModList" Slot AlignableSlot { HorizontalAlign 3 VerticalAlign 3 } { } } +ScrollLayoutWidgetClass { Name "PacksScroll" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 112 OffsetTop 112 SizeX 936 OffsetRight -964 SizeY 362 OffsetBottom -474 } { +VerticalLayoutWidgetClass { Name "PackList" Slot AlignableSlot { HorizontalAlign 3 VerticalAlign 3 } { } } } } } } +FrameWidgetClass { "Is Visible" 0 Name "VehiclePoolPage" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 220 OffsetLeft 220 PositionY 160 OffsetTop 160 SizeX 1000 OffsetRight -1220 SizeY 486 OffsetBottom -646 } { +TextWidgetClass { Name "VehiclesHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 0 OffsetTop 0 SizeX 936 OffsetRight -964 SizeY 28 OffsetBottom -28 } Color 0.9 0.92 0.94 1 Text "Choose a mod and a use. New mod vehicles start unassigned; enable the ones you want." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +ButtonWidgetClass : "{4B5AE6E64037FFB4}UI/layouts/WidgetLibrary/ComboBox/WLib_ComboBox.layout" { Name "VehiclesMod" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 34 OffsetTop 34 SizeX 370 OffsetRight -398 SizeY 36 OffsetBottom -70 } components { SCR_ComboBoxComponent "{546B1D464BC32853}" { m_bUseLabel 0 m_sLabel "" m_fSizeWithoutLabel 36 } } } +ButtonWidgetClass : "{4B5AE6E64037FFB4}UI/layouts/WidgetLibrary/ComboBox/WLib_ComboBox.layout" { Name "VehiclesRole" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 410 OffsetLeft 410 PositionY 34 OffsetTop 34 SizeX 380 OffsetRight -790 SizeY 36 OffsetBottom -70 } components { SCR_ComboBoxComponent "{546B1D464BC32853}" { m_bUseLabel 0 m_sLabel "" m_fSizeWithoutLabel 36 } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "VehiclesSelectionState" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 804 OffsetLeft 804 PositionY 34 OffsetTop 34 SizeX 160 OffsetRight -964 SizeY 36 OffsetBottom -70 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Waiting..." } } } +TextWidgetClass { Name "VehiclesSearchLabel" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 77 OffsetTop 77 SizeX 430 OffsetRight -458 SizeY 22 OffsetBottom -99 } Color 0.9 0.92 0.94 1 Text "Search name" "Font Size" 14 "Min Font Size" 14 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +TextWidgetClass { Name "VehiclesFilterLabel" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 470 OffsetLeft 470 PositionY 77 OffsetTop 77 SizeX 220 OffsetRight -690 SizeY 22 OffsetBottom -99 } Color 0.9 0.92 0.94 1 Text "Show" "Font Size" 14 "Min Font Size" 14 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name "VehiclesSearch" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 100 OffsetTop 100 SizeX 430 OffsetRight -458 SizeY 36 OffsetBottom -136 } components { SCR_EditBoxComponent "{547290FFBD5B33E9}" { m_sLabel "" } } } +ButtonWidgetClass : "{4B5AE6E64037FFB4}UI/layouts/WidgetLibrary/ComboBox/WLib_ComboBox.layout" { Name "VehiclesFilter" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 470 OffsetLeft 470 PositionY 100 OffsetTop 100 SizeX 220 OffsetRight -690 SizeY 36 OffsetBottom -136 } components { SCR_ComboBoxComponent "{546B1D464BC32853}" { m_bUseLabel 0 m_sLabel "" m_fSizeWithoutLabel 36 } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "VehiclesShow" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 704 OffsetLeft 704 PositionY 100 OffsetTop 100 SizeX 120 OffsetRight -824 SizeY 36 OffsetBottom -136 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Search" } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "VehiclesClear" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 838 OffsetLeft 838 PositionY 100 OffsetTop 100 SizeX 126 OffsetRight -964 SizeY 36 OffsetBottom -136 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Clear" } } } +TextWidgetClass { Name "VehiclesBulkScope" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 145 OffsetTop 145 SizeX 350 OffsetRight -378 SizeY 28 OffsetBottom -173 } Color 0.9 0.92 0.94 1 Text "This use, whole mod:" "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "VehiclesEnableAll" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 554 OffsetLeft 554 PositionY 140 OffsetTop 140 SizeX 198 OffsetRight -752 SizeY 36 OffsetBottom -176 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Enable all for use" } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "VehiclesDisableAll" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 766 OffsetLeft 766 PositionY 140 OffsetTop 140 SizeX 198 OffsetRight -964 SizeY 36 OffsetBottom -176 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Disable all for use" } } } +ScrollLayoutWidgetClass { Name "VehiclesScroll" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 184 OffsetTop 184 SizeX 936 OffsetRight -964 SizeY 248 OffsetBottom -432 } { VerticalLayoutWidgetClass { Name "VehiclesContent" Slot AlignableSlot { HorizontalAlign 3 VerticalAlign 3 Padding 0 0 12 0 } { TextWidgetClass { Name "VehiclesText" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 0 OffsetTop 0 SizeX 920 OffsetRight -920 SizeY 30 OffsetBottom -30 } Color 0.9 0.92 0.94 1 Text "Select a mod above." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } + } } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "VehiclesPrevious" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 440 OffsetTop 440 SizeX 120 OffsetRight -148 SizeY 36 OffsetBottom -476 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Previous" } } } +TextWidgetClass { Name "VehiclesPageState" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 162 OffsetLeft 162 PositionY 444 OffsetTop 444 SizeX 668 OffsetRight -830 SizeY 32 OffsetBottom -476 } Color 0.9 0.92 0.94 1 Text "Waiting for server..." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "VehiclesNext" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 844 OffsetLeft 844 PositionY 440 OffsetTop 440 SizeX 120 OffsetRight -964 SizeY 36 OffsetBottom -476 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Next" } } } +} } FrameWidgetClass { "Is Visible" 0 Name "FactionsPage" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 220 OffsetLeft 220 PositionY 160 OffsetTop 160 SizeX 1000 OffsetRight -1220 SizeY 486 OffsetBottom -646 } { TextWidgetClass { Name "FactionHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 6 OffsetTop 6 SizeX 936 OffsetRight -964 SizeY 50 OffsetBottom -56 } @@ -1184,32 +1213,27 @@ ScrollLayoutWidgetClass { Name "WeightsScroll" Slot FrameWidgetSlot { Anchor 0 0 TextWidgetClass { Name "WeightsFooter" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 392 OffsetTop 392 SizeX 936 OffsetRight -964 SizeY 38 OffsetBottom -430 } Color 0.9 0.92 0.94 1 Text "Shown percentages apply when an extra item is chosen. Mod and item weights multiply. Blocked items remain excluded." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } } } FrameWidgetClass { "Is Visible" 0 Name "AllowedItemsPage" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 220 OffsetLeft 220 PositionY 160 OffsetTop 160 SizeX 1000 OffsetRight -1220 SizeY 486 OffsetBottom -646 } { -TextWidgetClass { Name "ItemsHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 4 OffsetTop 4 SizeX 936 OffsetRight -964 SizeY 48 OffsetBottom -52 } Color 0.9 0.92 0.94 1 Text "Choose a mod, then allow or block its items. Allow all / Block all resets individual selections for this mod. Changes affect future extra equipment." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } - - - -ButtonWidgetClass : "{4B5AE6E64037FFB4}UI/layouts/WidgetLibrary/ComboBox/WLib_ComboBox.layout" { Name "ItemsMod" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 58 OffsetTop 58 SizeX 420 OffsetRight -448 SizeY 42 OffsetBottom -100 } components { SCR_ComboBoxComponent "{546B1D464BC32853}" { m_bUseLabel 0 m_sLabel "" m_fSizeWithoutLabel 42 } } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "ItemsShow" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 458 OffsetLeft 458 PositionY 58 OffsetTop 58 SizeX 150 OffsetRight -608 SizeY 42 OffsetBottom -100 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Show items" } } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "ItemsEnableAll" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 618 OffsetLeft 618 PositionY 58 OffsetTop 58 SizeX 166 OffsetRight -784 SizeY 42 OffsetBottom -100 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Allow all" } } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "ItemsDisableAll" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 794 OffsetLeft 794 PositionY 58 OffsetTop 58 SizeX 170 OffsetRight -964 SizeY 42 OffsetBottom -100 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Block all" } } } -TextWidgetClass { Name "ItemsScan" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 104 OffsetTop 104 SizeX 756 OffsetRight -784 SizeY 24 OffsetBottom -128 } Color 0.9 0.92 0.94 1 Text "Waiting for server..." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "ItemsSelectionState" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 804 OffsetLeft 804 PositionY 102 OffsetTop 102 SizeX 160 OffsetRight -964 SizeY 28 OffsetBottom -130 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Waiting..." m_fDisabledOpacity 1 } } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "ItemsPrevious" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 132 OffsetTop 132 SizeX 130 OffsetRight -158 SizeY 42 OffsetBottom -174 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Previous" } } } -TextWidgetClass { Name "ItemsPageState" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 170 OffsetLeft 170 PositionY 136 OffsetTop 136 SizeX 646 OffsetRight -816 SizeY 40 OffsetBottom -176 } Color 0.9 0.92 0.94 1 Text "Choose a mod and press Show items." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "ItemsNext" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 834 OffsetLeft 834 PositionY 132 OffsetTop 132 SizeX 130 OffsetRight -964 SizeY 42 OffsetBottom -174 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Next" } } } -ScrollLayoutWidgetClass { Name "ItemsScroll" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 180 OffsetTop 180 SizeX 936 OffsetRight -964 SizeY 246 OffsetBottom -426 } { VerticalLayoutWidgetClass { Name "ItemsContent" Slot AlignableSlot { HorizontalAlign 3 VerticalAlign 3 Padding 8 4 14 4 } { TextWidgetClass { Name "ItemsText" Slot LayoutSlot { HorizontalAlign 3 Padding 0 0 0 8 SizeMode Fill } Text "Choose a mod to edit its inventory items." "Font Size" 18 Wrap 1 } } } } } - - - - - - - - +TextWidgetClass { Name "ItemsHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 0 OffsetTop 0 SizeX 936 OffsetRight -964 SizeY 28 OffsetBottom -28 } Color 0.9 0.92 0.94 1 Text "Choose a mod, search by name, then enable or disable individual items." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +ButtonWidgetClass : "{4B5AE6E64037FFB4}UI/layouts/WidgetLibrary/ComboBox/WLib_ComboBox.layout" { Name "ItemsMod" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 34 OffsetTop 34 SizeX 540 OffsetRight -568 SizeY 36 OffsetBottom -70 } components { SCR_ComboBoxComponent "{546B1D464BC32853}" { m_bUseLabel 0 m_sLabel "" m_fSizeWithoutLabel 36 } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "ItemsSelectionState" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 804 OffsetLeft 804 PositionY 34 OffsetTop 34 SizeX 160 OffsetRight -964 SizeY 36 OffsetBottom -70 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Waiting..." } } } +TextWidgetClass { Name "ItemsSearchLabel" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 77 OffsetTop 77 SizeX 430 OffsetRight -458 SizeY 22 OffsetBottom -99 } Color 0.9 0.92 0.94 1 Text "Search name" "Font Size" 14 "Min Font Size" 14 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +TextWidgetClass { Name "ItemsFilterLabel" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 470 OffsetLeft 470 PositionY 77 OffsetTop 77 SizeX 220 OffsetRight -690 SizeY 22 OffsetBottom -99 } Color 0.9 0.92 0.94 1 Text "Show" "Font Size" 14 "Min Font Size" 14 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name "ItemsSearch" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 100 OffsetTop 100 SizeX 430 OffsetRight -458 SizeY 36 OffsetBottom -136 } components { SCR_EditBoxComponent "{547290FFBD5B33E9}" { m_sLabel "" } } } +ButtonWidgetClass : "{4B5AE6E64037FFB4}UI/layouts/WidgetLibrary/ComboBox/WLib_ComboBox.layout" { Name "ItemsFilter" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 470 OffsetLeft 470 PositionY 100 OffsetTop 100 SizeX 220 OffsetRight -690 SizeY 36 OffsetBottom -136 } components { SCR_ComboBoxComponent "{546B1D464BC32853}" { m_bUseLabel 0 m_sLabel "" m_fSizeWithoutLabel 36 } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "ItemsShow" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 704 OffsetLeft 704 PositionY 100 OffsetTop 100 SizeX 120 OffsetRight -824 SizeY 36 OffsetBottom -136 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Search" } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "ItemsClear" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 838 OffsetLeft 838 PositionY 100 OffsetTop 100 SizeX 126 OffsetRight -964 SizeY 36 OffsetBottom -136 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Clear" } } } +TextWidgetClass { Name "ItemsBulkScope" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 145 OffsetTop 145 SizeX 350 OffsetRight -378 SizeY 28 OffsetBottom -173 } Color 0.9 0.92 0.94 1 Text "Whole selected mod:" "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "ItemsEnableAll" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 554 OffsetLeft 554 PositionY 140 OffsetTop 140 SizeX 198 OffsetRight -752 SizeY 36 OffsetBottom -176 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Enable all items" } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "ItemsDisableAll" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 766 OffsetLeft 766 PositionY 140 OffsetTop 140 SizeX 198 OffsetRight -964 SizeY 36 OffsetBottom -176 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Disable all items" } } } +ScrollLayoutWidgetClass { Name "ItemsScroll" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 184 OffsetTop 184 SizeX 936 OffsetRight -964 SizeY 248 OffsetBottom -432 } { VerticalLayoutWidgetClass { Name "ItemsContent" Slot AlignableSlot { HorizontalAlign 3 VerticalAlign 3 Padding 0 0 12 0 } { TextWidgetClass { Name "ItemsText" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 0 OffsetTop 0 SizeX 920 OffsetRight -920 SizeY 30 OffsetBottom -30 } Color 0.9 0.92 0.94 1 Text "Select a mod above." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } + } } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "ItemsPrevious" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 440 OffsetTop 440 SizeX 120 OffsetRight -148 SizeY 36 OffsetBottom -476 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Previous" } } } +TextWidgetClass { Name "ItemsPageState" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 162 OffsetLeft 162 PositionY 444 OffsetTop 444 SizeX 668 OffsetRight -830 SizeY 32 OffsetBottom -476 } Color 0.9 0.92 0.94 1 Text "Waiting for server..." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "ItemsNext" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 844 OffsetLeft 844 PositionY 440 OffsetTop 440 SizeX 120 OffsetRight -964 SizeY 36 OffsetBottom -476 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Next" } } } } } FrameWidgetClass { "Is Visible" 0 Name "ItemPresetsPage" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 220 OffsetLeft 220 PositionY 160 OffsetTop 160 SizeX 1000 OffsetRight -1220 SizeY 486 OffsetBottom -646 } { -TextWidgetClass { Name "PresetsHeading" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 4 OffsetTop 4 SizeX 936 OffsetRight -964 SizeY 30 OffsetBottom -34 } Color 0.9 0.92 0.94 1 Text "Save your item selections" "Font Size" 22 "Min Font Size" 22 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } -TextWidgetClass { Name "PresetsHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 42 OffsetTop 42 SizeX 936 OffsetRight -964 SizeY 46 OffsetBottom -88 } Color 0.9 0.92 0.94 1 Text "A preset includes allowed / blocked items and their weights across all mods. It does not change the overall extra-equipment chance. Missing mods stay inactive." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +TextWidgetClass { Name "PresetsHeading" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 4 OffsetTop 4 SizeX 936 OffsetRight -964 SizeY 30 OffsetBottom -34 } Color 0.9 0.92 0.94 1 Text "Save your content choices" "Font Size" 22 "Min Font Size" 22 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +TextWidgetClass { Name "PresetsHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 42 OffsetTop 42 SizeX 936 OffsetRight -964 SizeY 46 OffsetBottom -88 } Color 0.9 0.92 0.94 1 Text "Presets include mod switches, item and vehicle-role choices, and equipment weights. Spawn counts and overall equipment chance are separate." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } TextWidgetClass { Name "ItemsPresetsLabel" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 98 OffsetTop 98 SizeX 936 OffsetRight -964 SizeY 26 OffsetBottom -124 } Color 0.9 0.92 0.94 1 Text "Saved presets" "Font Size" 17 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } ButtonWidgetClass : "{4B5AE6E64037FFB4}UI/layouts/WidgetLibrary/ComboBox/WLib_ComboBox.layout" { Name "ItemsPresets" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 134 OffsetTop 134 SizeX 560 OffsetRight -588 SizeY 42 OffsetBottom -176 } components { SCR_ComboBoxComponent "{546B1D464BC32853}" { m_bUseLabel 0 m_sLabel "" m_fSizeWithoutLabel 42 } } } ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "ItemsPresetLoad" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 608 OffsetLeft 608 PositionY 134 OffsetTop 134 SizeX 170 OffsetRight -778 SizeY 42 OffsetBottom -176 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Load" } } } diff --git a/addons/core/UI/layouts/ERR/ContentRow.layout b/addons/core/UI/layouts/ERR/ContentRow.layout index fcba3384..651d4002 100644 --- a/addons/core/UI/layouts/ERR/ContentRow.layout +++ b/addons/core/UI/layouts/ERR/ContentRow.layout @@ -1,9 +1,11 @@ -SizeLayoutWidgetClass { Name "ContentRow" Slot LayoutSlot { HorizontalAlign 3 Padding 0 0 0 16 } WidthOverride 900 HeightOverride 160 { +SizeLayoutWidgetClass { Name "ContentRow" WidthOverride 900 HeightOverride 108 Slot LayoutSlot { HorizontalAlign 3 Padding 0 0 0 8 } { FrameWidgetClass { Name "ContentRowBody" Slot AlignableSlot { HorizontalAlign 3 VerticalAlign 3 } { -TextWidgetClass { Name "PackLabel" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 0 OffsetTop 0 SizeX 718 OffsetRight -718 SizeY 32 OffsetBottom -32 } Color 0.9 0.92 0.94 1 Text "Content pack" "Font Size" 26 "Min Font Size" 26 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "SelectionState" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 734 OffsetLeft 734 PositionY 0 OffsetTop 0 SizeX 160 OffsetRight -894 SizeY 32 OffsetBottom -32 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Waiting..." m_fDisabledOpacity 1 } } } -TextWidgetClass { Name "PackState" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 40 OffsetTop 40 SizeX 900 OffsetRight -900 SizeY 30 OffsetBottom -70 } Color 0.9 0.92 0.94 1 Text "Waiting for server settings..." "Font Size" 18 "Min Font Size" 18 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Enable" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 90 OffsetTop 90 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -132 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Enable" } } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Disable" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 196 OffsetLeft 196 PositionY 90 OffsetTop 90 SizeX 180 OffsetRight -376 SizeY 42 OffsetBottom -132 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Disable" } } } +TextWidgetClass { Name "PackLabel" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 0 OffsetTop 0 SizeX 530 OffsetRight -530 SizeY 32 OffsetBottom -32 } Color 0.9 0.92 0.94 1 Text "Content" "Font Size" 20 "Min Font Size" 20 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "SelectionState" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 540 OffsetLeft 540 PositionY 0 OffsetTop 0 SizeX 120 OffsetRight -660 SizeY 32 OffsetBottom -32 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Waiting..." } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Enable" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 670 OffsetLeft 670 PositionY 0 OffsetTop 0 SizeX 108 OffsetRight -778 SizeY 32 OffsetBottom -32 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Enable" } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Disable" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 788 OffsetLeft 788 PositionY 0 OffsetTop 0 SizeX 108 OffsetRight -896 SizeY 32 OffsetBottom -32 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Disable" } } } +TextWidgetClass { Name "PackState" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 38 OffsetTop 38 SizeX 900 OffsetRight -900 SizeY 40 OffsetBottom -78 } Color 0.9 0.92 0.94 1 Text "Waiting for server..." "Font Size" 14 "Min Font Size" 14 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "EditItems" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 670 OffsetLeft 670 PositionY 70 OffsetTop 70 SizeX 108 OffsetRight -778 SizeY 32 OffsetBottom -102 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Items" } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "EditVehicles" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 788 OffsetLeft 788 PositionY 70 OffsetTop 70 SizeX 108 OffsetRight -896 SizeY 32 OffsetBottom -102 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Vehicles" } } } } } } } diff --git a/addons/core/UI/layouts/ERR/ItemRow.layout b/addons/core/UI/layouts/ERR/ItemRow.layout index d1a3e4fb..018e8905 100644 --- a/addons/core/UI/layouts/ERR/ItemRow.layout +++ b/addons/core/UI/layouts/ERR/ItemRow.layout @@ -1,9 +1,9 @@ -SizeLayoutWidgetClass { Name "ItemRow" WidthOverride 900 HeightOverride 180 Slot LayoutSlot { HorizontalAlign 3 Padding 0 0 0 16 } { +SizeLayoutWidgetClass { Name "ItemRow" WidthOverride 900 HeightOverride 82 Slot LayoutSlot { HorizontalAlign 3 Padding 0 0 0 8 } { FrameWidgetClass { Name "ContentRowBody" Slot AlignableSlot { HorizontalAlign 3 VerticalAlign 3 } { -TextWidgetClass { Name "PackLabel" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 0 OffsetTop 0 SizeX 718 OffsetRight -718 SizeY 32 OffsetBottom -32 } Color 0.9 0.92 0.94 1 Text "Content pack" "Font Size" 26 "Min Font Size" 26 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "SelectionState" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 734 OffsetLeft 734 PositionY 0 OffsetTop 0 SizeX 160 OffsetRight -894 SizeY 32 OffsetBottom -32 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Waiting..." m_fDisabledOpacity 1 } } } -TextWidgetClass { Name "PackState" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 36 OffsetTop 36 SizeX 900 OffsetRight -900 SizeY 66 OffsetBottom -102 } Color 0.9 0.92 0.94 1 Text "Waiting for server settings..." "Font Size" 18 "Min Font Size" 18 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Enable" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 112 OffsetTop 112 SizeX 180 OffsetRight -180 SizeY 42 OffsetBottom -154 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Enable" } } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Disable" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 196 OffsetLeft 196 PositionY 112 OffsetTop 112 SizeX 180 OffsetRight -376 SizeY 42 OffsetBottom -154 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Disable" } } } +TextWidgetClass { Name "PackLabel" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 0 OffsetTop 0 SizeX 530 OffsetRight -530 SizeY 32 OffsetBottom -32 } Color 0.9 0.92 0.94 1 Text "Content" "Font Size" 20 "Min Font Size" 20 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "SelectionState" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 540 OffsetLeft 540 PositionY 0 OffsetTop 0 SizeX 120 OffsetRight -660 SizeY 32 OffsetBottom -32 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Waiting..." } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Enable" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 670 OffsetLeft 670 PositionY 0 OffsetTop 0 SizeX 108 OffsetRight -778 SizeY 32 OffsetBottom -32 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Enable" } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Disable" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 788 OffsetLeft 788 PositionY 0 OffsetTop 0 SizeX 108 OffsetRight -896 SizeY 32 OffsetBottom -32 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Disable" } } } +TextWidgetClass { Name "PackState" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 38 OffsetTop 38 SizeX 900 OffsetRight -900 SizeY 40 OffsetBottom -78 } Color 0.9 0.92 0.94 1 Text "Waiting for server..." "Font Size" 14 "Min Font Size" 14 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } } } } } diff --git a/compatibility/rhs-1.9/README.md b/compatibility/rhs-1.9/README.md index 8868acf2..60df3255 100644 --- a/compatibility/rhs-1.9/README.md +++ b/compatibility/rhs-1.9/README.md @@ -1,6 +1,20 @@ -# RHS 1.9 compatibility +# RHS 1.9 compatibility — retired -## Embedded in Escape +## Retired on 6 November 2026 + +The user confirmed the upstream fix; installed RHS Status Quo is now 0.17.5281. +The two embedded script replacements have been removed from Escape. The generator +now refuses to run, so it cannot silently restore old RHS scripts during a build. +Use updated RHS directly, without the standalone `E119F1C05A274B83` compatibility +addon. Escape still requires RHS itself. The independent Reaper/RHS character-slot +workaround is unchanged. + +The published standalone listing has not been changed by this source edit. +The descriptions beside this file contain retirement wording for a future update. +The following sections preserve the old patch and publication history; their +preparation commands are retired and must not be used for current RHS. + +## Historical: embedded in Escape The same two replacements can live directly in Escape. Prepare them before opening Workbench, testing, or packaging a fresh checkout: @@ -29,7 +43,13 @@ the inputs inside Escape's PAK. See the [embedded test evidence](../../docs/evid It was published inside Escape **0.0.141** after successful Workshop upload and backend processing. Inherited dependency diagnostics remain. -## Standalone experiment +## Standalone addon + +Published as [RHS 1.9 Compatibility](https://reforger.armaplatform.com/workshop/E119F1C05A274B83) +version **1.0.0**, public, Systems category, APL-ND, with the gear preview. +Upload and backend processing were confirmed; see the +[publication evidence](../../docs/evidence/rhs-standalone-published-2026-11-05/README.md). +Escape 0.0.141 already embeds these fixes and does not need this extra addon. Separate addon for RHS Status Quo **0.16.5237** and Reforger **1.9.0.37**. It uses same-path script replacement to fix declarations before compilation: @@ -53,7 +73,7 @@ python3 compatibility/rhs-1.9/prepare.py \ For an isolated test, add dependency `E119F1C05A274B83` to the test copy of Escape's `addon.gproj`, and expose the generated addon through its addon search directory. Keep the original RHS dependency. The GUID is a local project identity, -not a published Workshop ID. +also the published Workshop ID since 5 November 2026. Both changes pass native compilation of GameLib, Game and WorkbenchGame with Escape's complete RHS/WCS/BMP/Parachute dependency graph on 1.9.0.37. The current @@ -62,7 +82,7 @@ scenario prepares and spawns the player. The six-faction rescue fixture complete crews and cargo capacity, two physical landings, wounded boarding, and loaded airborne departure. This is local Workbench evidence, not multiplayer or general vehicle-handling qualification. Both replaced scripts are byte-identical in the -native packed output. No Workshop publication has been performed. +native packed output. The standalone addon has now been published as 1.0.0. The full logs also exposed a WCS BMP tire initialization failure. A separate local WCS experiment is not included in the published mission. Other inherited diff --git a/compatibility/rhs-1.9/mission-workshop-description.txt b/compatibility/rhs-1.9/mission-workshop-description.txt index ea5704a5..c0f8788e 100644 --- a/compatibility/rhs-1.9/mission-workshop-description.txt +++ b/compatibility/rhs-1.9/mission-workshop-description.txt @@ -1,7 +1,2 @@ -Includes an unofficial RHS Status Quo 0.16.5237 script compatibility patch for -Arma Reforger 1.9.0.37. The original RHS addon and content packs remain required; -no separate RHS compatibility addon is needed. - -Original RHS scripts and content are by Red Hammer Studios. This mission and -its compatibility changes are not an official RHS release. -RHS terms: https://docs.rhsmods.org/rhs-status-quo-user-documentation/arma-reforger/rhs-status-quo/eula +Requires updated RHS Status Quo. The legacy RHS 1.9 script compatibility +overrides have been removed; no separate RHS compatibility addon is needed. diff --git a/compatibility/rhs-1.9/prepare.py b/compatibility/rhs-1.9/prepare.py index c3ed640c..29c9c3c9 100644 --- a/compatibility/rhs-1.9/prepare.py +++ b/compatibility/rhs-1.9/prepare.py @@ -1,146 +1,12 @@ #!/usr/bin/env python3 -"""Generate a local RHS 0.16.5237 compatibility addon from installed scripts. - -Only two pinned scripts are read; installed Workshop files are never modified. -The generated addon replaces scripts at their original paths before compilation. -""" -import argparse -import hashlib -import json -from pathlib import Path -import shutil -import struct -import sys -import zlib - -HERE = Path(__file__).resolve().parent -sys.path.insert(0, str(HERE.parents[1] / 'tools')) -from pak_inventory import Limits, parse_tree - -CAS = 'Scripts/Game/Editor/Components/EditableEntity/RHS_CAS_EditableEntityComponent.c' -TIRE = 'Scripts/Game/Vehicle/RHS_DestructionTireComponent.c' -EXPECTED = { - CAS: '1b4c5c8d3078f60f617cab94457bd0d9c96a048ad05117353e67e22b9972af37', - TIRE: '9fc9fffa3e63a1115e174e51faa222504038e57790f95c57ef691da8745039c9', -} - - -def replace_once(text, old, new): - if text.count(old) != 1: - raise ValueError('Expected exactly one patch location: ' + old) - return text.replace(old, new) - - -def patched(path, raw): - if hashlib.sha256(raw).hexdigest() != EXPECTED[path]: - raise ValueError('RHS script changed; review compatibility before patching: ' + path) - text = raw.decode('utf-8').replace('\r\n', '\n') - if path == CAS: - text = replace_once(text, 'override void SetAuthor(int playerID)', - 'override void SetAuthor(int playerID, bool isGM = false)') - text = replace_once(text, 'super.SetAuthor(playerID);\n\n\t\tRHS_CAS_', - 'super.SetAuthor(playerID, isGM);\n\n\t\tRHS_CAS_') - elif path == TIRE: - text = replace_once(text, 'return m_iWheelIndex;', 'return GetWheelIndex();') - return text.encode('utf-8') - - -def read_scripts(folder): - project = folder / 'addon.gproj' - expected_project = '51fda0afde5ebcd4dc88c6c9451d960b67aceaee437f02f1cc80aef724e3779c' - if hashlib.sha256(project.read_bytes()).hexdigest() != expected_project: - raise ValueError('Expected the audited RHS Status Quo 0.16.5237 project') - found = {} - for pak in sorted(folder.glob('*.pak')): - with pak.open('rb') as stream: - header = stream.read(12) - if header[:4] != b'FORM' or header[8:] != b'PAC1': - raise ValueError('Unsupported archive: ' + str(pak)) - offset, chunks = 12, {} - for expected in (b'HEAD', b'DATA', b'FILE'): - stream.seek(offset) - tag, size = struct.unpack('>4sI', stream.read(8)) - if tag != expected or offset + 8 + size > pak.stat().st_size: - raise ValueError('Invalid archive chunks') - chunks[tag] = (offset + 8, size) - offset += 8 + size - start, size = chunks[b'FILE'] - if size > 32 * 1024**2: - raise ValueError('Archive tree too large') - stream.seek(start) - data_start, data_size = chunks[b'DATA'] - entries, _, _ = parse_tree(stream.read(size), data_start, - data_start + data_size, Limits(total_bytes=32 * 1024**3)) - for entry in entries: - path = entry['path'] - if path not in EXPECTED: - continue - if path in found or entry['content_bytes'] > 1024**2: - raise ValueError('Duplicate or oversized target script') - stream.seek(entry['offset']) - raw = stream.read(entry['stored_bytes']) - if entry['compression'] == 'zlib': - raw = zlib.decompress(raw) - found[path] = raw - if set(found) != set(EXPECTED): - raise ValueError('Missing expected RHS scripts') - return found +"""Retired entry point: updated RHS supplies the 1.9 fixes itself.""" def main(): - parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument('--rhs', type=Path, required=True, help='Installed RHS Status Quo directory') - destination = parser.add_mutually_exclusive_group(required=True) - destination.add_argument('--output', type=Path, help='New standalone addon directory') - destination.add_argument('--mission', type=Path, help='Existing Escape addon directory to embed the fixes in') - args = parser.parse_args() - if args.mission: - mission = args.mission.resolve() - if mission.is_relative_to(args.rhs.resolve()): - parser.error('Mission must be outside the installed RHS directory') - project = (mission / 'addon.gproj').read_text() - if 'GUID "2528466DE220D91C"' not in project or '"595F2BF2F44836FB"' not in project: - parser.error('Expected the Escape project with its original RHS dependency') - if '"E119F1C05A274B83"' in project: - parser.error('Remove the standalone RHS fix dependency before embedding it') - originals = read_scripts(args.rhs) - outputs = {path: patched(path, raw) for path, raw in originals.items()} - # Validate all destinations before writing; never overwrite a local edit - # or follow a link into another addon. Repeating the same patch is safe. - for path, raw in outputs.items(): - target = mission / path - if any(parent.is_symlink() for parent in [target, *target.parents] if parent != mission.parent): - parser.error('Symlink in mission destination: ' + path) - if target.exists() and (not target.is_file() or target.read_bytes() != raw): - parser.error('Existing mission script differs; preserve and review it: ' + path) - for path, raw in outputs.items(): - target = mission / path - target.parent.mkdir(parents=True, exist_ok=True) - target.write_bytes(raw) - print('Embedded both pinned RHS fixes in ' + str(mission)) - return - if args.output.exists(): - parser.error('Output already exists; choose a new directory to preserve prior work') - if args.output.resolve().is_relative_to(args.rhs.resolve()): - parser.error('Output must be outside the installed RHS directory') - report_path = args.output.with_name(args.output.name + '-patch-inputs.json') - if report_path.exists(): - parser.error('Output provenance already exists; choose a new directory') - # Validate every input and patch before creating any output. - originals = read_scripts(args.rhs) - outputs = {path: patched(path, raw) for path, raw in originals.items()} - args.output.mkdir(parents=True) - shutil.copy2(HERE / 'addon.gproj', args.output / 'addon.gproj') - report = {'rhs_version': '0.16.5237', 'target_game_version': '1.9.0.37', - 'native_validation': 'required', 'scripts': {}} - for path, raw in outputs.items(): - target = args.output / path - target.parent.mkdir(parents=True, exist_ok=True) - target.write_bytes(raw) - report['scripts'][path] = {'original_sha256': EXPECTED[path], - 'patched_sha256': hashlib.sha256(raw).hexdigest()} - report_path.write_text(json.dumps(report, indent=2) + '\n') - print(args.output.resolve()) + raise SystemExit( + "Retired: use updated RHS Status Quo. Remove the old RHS 1.9 " + "compatibility addon/overrides; do not regenerate them." + ) if __name__ == '__main__': diff --git a/compatibility/rhs-1.9/workshop-description.txt b/compatibility/rhs-1.9/workshop-description.txt index 077dd5f4..ef0ffe49 100644 --- a/compatibility/rhs-1.9/workshop-description.txt +++ b/compatibility/rhs-1.9/workshop-description.txt @@ -1,17 +1,9 @@ -RHS 1.9 Script Compatibility +RHS 1.9 Script Compatibility — retired -Unofficial compatibility patch for RHS Status Quo 0.16.5237 on Arma Reforger 1.9.0.37. -Requires the original RHS Status Quo addon and its content packs. - -Updates the CAS editor component's SetAuthor signature and the tire component's -wheel-index accessor so the installed RHS scripts compile on 1.9. It does not -retune vehicle handling or add support for every new 1.9 feature. - -Original RHS scripts and content are by Red Hammer Studios. This is a community -compatibility addon and is not an official RHS release. +Use the updated original RHS Status Quo addon and remove this compatibility +addon from your mod list. Its old script replacements are no longer needed +and can mask newer RHS changes. +This was an unofficial community patch for RHS 0.16.5237 on Reforger 1.9.0.37. +Original RHS scripts and content are by Red Hammer Studios. RHS terms: https://docs.rhsmods.org/rhs-status-quo-user-documentation/arma-reforger/rhs-status-quo/eula - -Built specifically for the versions above. Reassess or remove this patch when -RHS publishes its own compatible update, because these replacements can otherwise -hide newer upstream script changes. diff --git a/docs/civilian-traffic.md b/docs/civilian-traffic.md index 712102b3..7c44e38e 100644 --- a/docs/civilian-traffic.md +++ b/docs/civilian-traffic.md @@ -2,7 +2,7 @@ Unarmed civilians drive ordinary S105 and V2101 cars and S1203 vans along the terrain's roads. The street-car catalog is discovered once per traffic service, with an 80% car / 20% van selection. Rally cars and tractors are excluded from moving traffic. T601 cars remain in the parked pool: native AI failed to start them on two test routes in 1.9.0.37. This is ambient life, separate from enemy convoys and VirtualHQ: drivers receive no enemy loadouts, intelligence or pursuit orders. -The admin menu's **Mission → Civilian vehicles** page has **Civilian traffic (0–6 cars)**. The default is 3. Set 0 to stop new traffic; existing unclaimed cars retire only when the normal distance and visibility checks allow it. The same setting is available as `/esc mission traffic set N` and `mission.civilianTrafficCount` in the unified server `Escapists.json`. Old configurations receive the default automatically. +The admin menu's **Content → Vehicle spawning** page has **Civilian traffic (0–6 cars)**. The default is 3. Set 0 to stop new traffic; existing unclaimed cars retire only when the normal distance and visibility checks allow it. The same setting is available as `/esc mission traffic set N` and `mission.civilianTrafficCount` in the unified server `Escapists.json`. Old configurations receive the default automatically. After the prison phase, the server tries one new car every 30 seconds, with at most eight route candidates per attempt. Each fixed route starts on a clear road at least 1,000 m from every controlled player body and known spectator target, passes a road near the selected player area, then leaves along another road. Exit candidates include both sides of the area so a coastal road does not require an endpoint across water. It is not redirected to follow moving players. Positions come from the current terrain's road network; terrain-specific adapters are unnecessary. Roads and usable native vehicle navigation are still required. @@ -21,3 +21,5 @@ Validation: `tests/test_civilian_traffic.py` executes the production ownership, Final 2026-10-04 validation: all 315 registered checks passed. The final isolated Nogova run compiled with no script errors, verified native garbage protection and a neutral unarmed seated driver, observed more than 25 m of real road driving, and completed unclaimed retirement after the observer left and the production grace period elapsed. Earlier three-car runs verified physical fleet creation and recorded-claim preservation. Other terrain/resource warnings remain; no clean-all-logs or multiplayer claim. See [evidence](evidence/civilian-traffic-2026-10-04/review.json). 2026-10-05 driver readiness: native AI is activated before waiting for asynchronous compartment seating. The original living civilian driver can receive a native boarding task if still outside the car; vehicle registration precedes that recovery. No driver replacement or teleport is used. Boarding is cancelled on readiness, failure or player claim. The existing 120-second readiness deadline and distant-only retirement policy remain. Logs distinguish missing/incapacitated drivers, group admission, vehicle registration, and boarding. A hidden native comparison on Everon confirmed that deliberately unseated drivers stayed idle with the old preparation path, then boarded and drove with the updated path; the exact trigger of the live server’s initial seating failure remains unproven. + +Content → Vehicles → Use for: Civilian traffic can assign discovered mod vehicles or exclude individual models from future traffic spawns. A disabled master mod also excludes its vehicles. With no enabled candidate, traffic creation is skipped; existing and claimed cars are kept. diff --git a/docs/configuration.md b/docs/configuration.md index 67e62402..b0904a1b 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -464,3 +464,83 @@ protection as cars. Normal DLC driver restrictions remain in effect. The administration menu keeps the selected UI scale while its panel fits, then reduces only that panel enough to remain inside the viewport with a small margin. It does not change the player's saved interface scale or other game UI. + + +### Content menu + +The **Content** top tab groups **1. Mods**, **2. Items**, **3. Vehicles**, vehicle +spawn settings, equipment chance, advanced weights, presets and starting supplies. +Supported enemy-pack/faction switches are under **Forces → Enemy packs**. + +Mods initially shows packs with selectable items or vehicles. Search +narrows the list; the filter can also show all loaded mods, enabled mods or +disabled mods. Each row links directly to its items and vehicles. A mod switch +controls future automatic extra equipment and civilian spawns, while remembering +its individual choices. It does not unload Workshop scripts, remove existing +inventory or vehicles, or rewrite authored enemy loadouts. + +Item and vehicle pages select one mod and search its whole catalog before paging +(12 results per page). Search matches names and prefab filenames, ignores case, +and requires every entered word. All / Enabled / Disabled filters use the +effective selection, including disabled contributing mods. Counts describe the +filtered results. Catalogs are sorted by name when discovery completes. Each +item shows its filename to distinguish variants with identical display names. + +**Enable all** / **Disable all** applies to the whole selected mod in that page, +including entries outside the current search and page. These actions reset the +individual choices for that domain only; item changes do not erase vehicle +choices, and neither action turns a disabled mod back on. A disabled source mod +wins when several mods contribute to a resource. Choices are confirmed by the +server and retained across restarts. Presets now include mod switches, item and +vehicle-role choices, and equipment weights; spawn counts remain separate. + +The **Vehicles → Use for** selector stores independent assignments for garages / +yards, civilian traffic, enemy patrols, convoy armed escorts and convoy supply +trucks. Select an installed mod, choose a use, then enable vehicles. The same +vehicle can serve several uses. Whole-mod buttons affect only the selected use. +A disabled master mod still overrides remembered assignments. + +Discovery reads server vehicle catalogs plus complete vehicle prefabs under each +loaded mod's Prefabs directory, including mods without faction catalogs. It +inspects resources in small batches without spawning them. Aircraft, boats, +wrecks and vehicle parts are excluded. The scan is bounded to 8,192 candidates; +the menu reports incomplete discovery if the limit is reached. Mods must be +installed and enabled on the server, with their dependencies available. This +menu does not download or unload Workshop addons. + +Newly discovered vehicles start unassigned. Existing authored pools retain their +defaults. Explicit bulk assignments also apply to later discovered compatible +entries from that same mod. Missing mod choices remain dormant and return when +the mod is loaded again. Configurations and presets save all five uses. + +Garages/yards require an unarmed vehicle with a usable driver seat that fits the +existing parking envelope; farm-yard tractor defaults remain. Traffic requires +native AI driving support. Patrols use the selected enemy faction's soldier / +medic profiles, one driver and up to 14 other crew, within the existing finite +patrol allowance. Both armed and unarmed patrol vehicles are supported. These +assignments control the main HQ vehicle patrol roster; separate optional bike +and Sarka waves retain their own settings. + +Convoy armed escorts replace the three light escort slots and retain one driver +and one gunner each. Supply assignments replace the cargo truck and retain one +driver; existing storage-capacity and finite-cargo rules remain. The specialized +BMP slot is unchanged because its interception and mounted-ammunition logic +requires that specific vehicle. Neither aircraft nor extraction is affected. + +AI road vehicles must fit the existing 4m × 9m × 3.5m deployment envelope. Native +crew, driver, AI-use, inventory and placement checks still apply; component +presence alone does not certify that every third-party vehicle drives correctly. +A vehicle failing physical fit or crew checks is excluded from that use until +the next round, with a log message and unavailable status. Empty pools defer +spawns rather than re-enable a disabled vehicle. Convoy pools are selected before +consuming their finite receipt; a subsequent physical startup failure retains +the existing no-retry receipt policy. Existing vehicles are never deleted by a +menu change. Normal DLC access, visibility, claim and cleanup rules remain. + +Preferences remain in the `items.records` section of `Escapists.json`. A `mod` +rule stores the master switch; `v*` and `v` store vehicle defaults +and individual overrides. `r0` through `r4`, followed by `*` or the vehicle GUID, +store each use (garage, traffic, patrol, escort, supply). Assigning a vehicle also +restores its legacy vehicle permission, without enabling its master mod. Existing +`*`, item GUID and weight rules retain their +meaning. Old configurations need no automatic rewrite and default to enabled. diff --git a/docs/current-status.md b/docs/current-status.md index 2a719284..cdf78f13 100644 --- a/docs/current-status.md +++ b/docs/current-status.md @@ -1,12 +1,22 @@ # Current development status +**6 November 2026 — Workshop 0.0.144 published:** Unified Content controls now +provide searchable mod/item lists and per-use assignments for discovered vehicles. +Garage/traffic, patrol, convoy escort and supply selections are saved separately; +new vehicles remain unassigned by default. The obsolete RHS 1.9 overrides are +removed. Workbench upload and backend processing succeeded, and all 398 current +mission scripts match the published bundle; both retired overrides are absent. +See [publication evidence](evidence/workshop-0.0.144-2026-11-06/README.md). + **5 November 2026 — Workshop 0.0.141 published:** Escape now embeds the two RHS 1.9 script replacements, with the original RHS dependency retained and no separate compatibility addon required. Native compilation and normal player spawn passed; the uploaded PAK contains the exact tested replacements. Workbench confirmed upload and backend processing through its command-line updater. See [publication evidence](evidence/rhs-1.9-embedded-2026-11-05/README.md). -Fresh checkouts must run the documented [RHS preparation](../compatibility/rhs-1.9/README.md). +As of 6 November, the local source removes these overrides for updated RHS +0.17.5281; [RHS preparation is retired](../compatibility/rhs-1.9/README.md). +This removal shipped in Workshop 0.0.144. The WCS BMP-1 tyre issue remains unresolved in this release. The user confirmed the server starts after removing optional Cessna/Propeller Flight Core; no Propeller patch was made. Full multiplayer and vehicle handling remain unqualified. diff --git a/docs/evidence/content-menu-2026-11-06/README.md b/docs/evidence/content-menu-2026-11-06/README.md new file mode 100644 index 00000000..be0f6f59 --- /dev/null +++ b/docs/evidence/content-menu-2026-11-06/README.md @@ -0,0 +1,46 @@ +# Content menu verification — 2026-11-06 + +The menu now groups mod, item and civilian vehicle controls under Content, with +left-hand subsections, master switches, searches, effective-state filters and +12-result pages. Individual choices survive master toggles and profile reloads. + +## Checks + +- `python3 tools/check.py`: full repository checks passed (`repository-checks.log`). +- `python3 tools/build_admin_menu.py --check`: generated layouts and palette current. +- Native Workbench: real local admin menu actions, item disable, master off/on, + preserved item choice, empty search, search restored after visiting weights, + vehicle disable, disabled-only filter, persisted configuration reload, and + disabled candidates excluded from vehicle selection. +- Native navigation probe checks all 29 pages. Screenshots show Mods, Items and + Vehicles in the actual game UI, captured from the owned private test window. +- The search policy test exercises 5,000 entries and multiword/case-insensitive + name/path matching. Preferences and command tests cover domain isolation, + presets, save failures, allowlists and independent browser state. + +The native fixture is saved as `native-fixture.c.txt`. It runs in a disposable +source snapshot and profile, suppresses scenario startup, and hides the loading +placeholder only while inspecting the menu. No fixture code is in the addon. +`source-comparison.json` verifies production addon files match the tested copy. +The disposable project adds the installed Rally dependency for this test. + +## Scope and limitations + +This is local Workbench integration, not dedicated-server multiplayer validation. +It verifies vehicle eligibility, not physical placement of every vehicle. Optional +motorbikes were not installed in the tested dependency closure. Existing placement, +DLC access and lifecycle rules remain in use. + +The runner reports smoke completion and confirmed cleanup. Its overall process +exit remains nonzero because existing external resource errors are counted: +localization GUID references, DLC ownership request, and legacy landing fields. +No script compilation or VM errors occurred in this run. See `native-result.log`. + +Installed RHS content packs 01 and 02 were version 0.17.5281. Their verified +fingerprints were accepted only in the disposable test audit; the repository's +external dependency manifest was not changed. Exact external inputs and launch +source hashes accompany the run. This does not certify all external mods. + +All tests used the hidden, muted, private Workbench prefix and profile. Source +and external-addon immutability and owned-process cleanup are recorded in +`runner.json`. This change has not been published or pushed. diff --git a/docs/evidence/content-menu-2026-11-06/external-addons-inputs.json b/docs/evidence/content-menu-2026-11-06/external-addons-inputs.json new file mode 100644 index 00000000..838084af --- /dev/null +++ b/docs/evidence/content-menu-2026-11-06/external-addons-inputs.json @@ -0,0 +1,851 @@ +{ + "1337C0DE5DABBEEF": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-ContentPack01_1337C0DE5DABBEEF", + "title": "RHS: Status Quo - Content Pack 01", + "version": "0.17.5281", + "files": { + "ServerData.json": { + "stat": [ + 47, + 916830, + 236, + 1793966354242463962, + 1793966354242463962 + ], + "sha256": "cc4cc1b0d1d06fc4f1ced0117845930d8ed5291f63ca89577a47518018444706" + }, + "addon.gproj": { + "stat": [ + 47, + 40147728, + 339, + 1793966331111982831, + 1793966354215463398 + ], + "sha256": "09baf9fff74b1a8aadb03786d6d9ebe7159ddf074f7d46b35123501325332d98" + }, + "addon.gproj_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147698, + 362, + 1793966311083569723, + 1793966311083569723 + ], + "sha256": "2155ab32d13dd234b511ae5a390c1a5a4377ee9f3bde8a011b7b474c7da9b855" + }, + "data.pak": { + "stat": [ + 47, + 40147713, + 1992950655, + 1793966345831288514, + 1793966354160462249 + ], + "sha256": "46e22e1f561de7435912a9263e06cce6d6f81bb82c0c1da92d5937758b35963f" + }, + "data.pak_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147695, + 232639, + 1793966310556558900, + 1793966310556558900 + ], + "sha256": "1398f6275e2adb99ac13705a43071734105853f83ed427cff3f6a333a5f6907f" + }, + "data001.pak": { + "stat": [ + 47, + 40147722, + 1992538370, + 1793966346382299991, + 1793966354214463377 + ], + "sha256": "97314ce4854b3a35dc5cd181378af27281b2897586d59b1e5b108aff9a3c2eda" + }, + "data001.pak_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147696, + 349868, + 1793966310769563274, + 1793966310769563274 + ], + "sha256": "9800ba8266e30b2a81e59b119b1261a7a3b441adcc211dff9c08dda704853e83" + }, + "data002.pak": { + "stat": [ + 47, + 40147707, + 1992467288, + 1793966346414300657, + 1793966353764453977 + ], + "sha256": "4aadf524b9144c4f2886edf3442db02f36cecc93913926f815755a5f7d307d0b" + }, + "data002.pak_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147694, + 332026, + 1793966310371555100, + 1793966310371555100 + ], + "sha256": "9e33445c078f4dccd8ace6eb5a98e0ff04071c157b3182e1fcc315ee47c6ee0c" + }, + "data003.pak": { + "stat": [ + 47, + 40147725, + 364992473, + 1793966333186025798, + 1793966354215463398 + ], + "sha256": "e40e45672321aa36c0650bec960b7dd00ce55bdeff0fd27eb2ccfaa1c12070f5" + }, + "data003.pak_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147697, + 96625, + 1793966310953567053, + 1793966310953567053 + ], + "sha256": "881f85eed91e415e78bf28caa43b77d0ccc0ca8b5b1c8b89831058c1088c9671" + }, + "meta": { + "stat": [ + 47, + 911092, + 8398, + 1793966354241463941, + 1793966354241463941 + ], + "sha256": "7bab7f27e0808955b9e5feecbf94febc8de11d6e12e56f60c1e17c68791aa3d2" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 40147731, + 567493, + 1793966331188984425, + 1793966354215463398 + ], + "sha256": "29c053dcec2fd7f1e5187188f91eb1b652296e5d8a0f98a9ffd2bb48dcab374b" + }, + "resourceDatabase.rdb_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147699, + 368, + 1793966311208572292, + 1793966311208572292 + ], + "sha256": "a8fb8e19912a9450e68f702befa6d61320479bfce5b02faccea866b01b305ac4" + }, + "thumbnail.png": { + "stat": [ + 47, + 40147703, + 18180, + 1793966330833526806, + 1793966353682252124 + ], + "sha256": "4c70bf384375f069cab9ed719f3865441fd363a010495e7b465f3ae83ed887c3" + }, + "thumbnail.png_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147692, + 366, + 1793966310025547994, + 1793966310025547994 + ], + "sha256": "d0e233b32d3d41ac44ea127ea5eb028b97a63555f7867278a7a6f5e8e1df7255" + } + } + }, + "595F2BF2F44836FB": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-StatusQuo_595F2BF2F44836FB", + "title": "RHS: Status Quo", + "version": "0.16.5237", + "files": { + "ServerData.json": { + "stat": [ + 47, + 910012, + 8466, + 1793966281368963106, + 1793966281368963106 + ], + "sha256": "7a507c69efaca22a8ee61dda96ac8a7e337e3ad2b4cabd5ae203bec43d9e44d6" + }, + "addon.gproj": { + "stat": [ + 47, + 40146987, + 1101, + 1793966269260853248, + 1793966281217205538 + ], + "sha256": "51fda0afde5ebcd4dc88c6c9451d960b67aceaee437f02f1cc80aef724e3779c" + }, + "addon.gproj_0.17.5281_manifest.json": { + "stat": [ + 47, + 40146979, + 364, + 1793966268094694637, + 1793966268094694637 + ], + "sha256": "c67690023c7ecfda231509b46545febea451145a060277b8178c14ebaebb82b8" + }, + "data.pak": { + "stat": [ + 47, + 40146990, + 203659379, + 1793966280554946596, + 1793966281282961360 + ], + "sha256": "0aa031f2f9103e4663b99698a8712d2bb9a35601a0a8611e0acb2680cc2e46da" + }, + "data.pak_0.17.5281_manifest.json": { + "stat": [ + 47, + 40146980, + 1429277, + 1793966268286698509, + 1793966268286698509 + ], + "sha256": "50866475ea8bfb505b492852b22da7e082a1fa90171a7200d93067baabe14036" + }, + "meta": { + "stat": [ + 47, + 902077, + 17982, + 1793966281341962557, + 1793966281341962557 + ], + "sha256": "d062f6ede1b0ada0957339060074a87a119a67936e8f99f3422bdbb1f42fe28a" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 40146995, + 834332, + 1793966269484722676, + 1793966281284961401 + ], + "sha256": "32d8435e20292c6f6d8c3b48e3d76239ca84881bcbd4f1f9fe56bf2fc64b1c71" + }, + "resourceDatabase.rdb_0.17.5281_manifest.json": { + "stat": [ + 47, + 40146982, + 368, + 1793966268409700990, + 1793966268409700990 + ], + "sha256": "fd95cde11bd5c9bf8840fd43d2a20e257fc03907ed778f20b923e9f5b6fb840d" + }, + "thumbnail.png": { + "stat": [ + 47, + 40147000, + 18180, + 1793966269260853248, + 1793966281284961401 + ], + "sha256": "4c70bf384375f069cab9ed719f3865441fd363a010495e7b465f3ae83ed887c3" + }, + "thumbnail.png_0.17.5281_manifest.json": { + "stat": [ + 47, + 40146983, + 366, + 1793966268537703572, + 1793966268537703572 + ], + "sha256": "d0e233b32d3d41ac44ea127ea5eb028b97a63555f7867278a7a6f5e8e1df7255" + } + } + }, + "5E389BB9F58B79A6": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/SpaceCore_5E389BB9F58B79A6", + "title": "WCS_SpaceCore", + "version": "8.3.0", + "files": { + "ServerData.json": { + "stat": [ + 47, + 919166, + 273, + 1793966267029981947, + 1793966267029981947 + ], + "sha256": "758d38e13ee5254ed5c01c8f8d1b872af58481d0b839b55e5ee365ac96193691" + }, + "addon.gproj": { + "stat": [ + 47, + 40146953, + 2957, + 1793966266428418870, + 1793966267018672944 + ], + "sha256": "2db2e318e6f45bede0d1173d77af03314f888aedfb31bc767d569ccfb6e70a34" + }, + "addon.gproj_9.0.1_manifest.json": { + "stat": [ + 47, + 40146942, + 364, + 1793966266181656079, + 1793966266181656079 + ], + "sha256": "67d15a8e8623130546332c6d6433314cbdf38e034a66330b9c7a739a94731e21" + }, + "data.pak": { + "stat": [ + 47, + 40146950, + 25392420, + 1793966266923671030, + 1793966267018672944 + ], + "sha256": "d89a5253dbd6707176e7d515cea3e4701725c8197afb20aded18bb231aa6434f" + }, + "data.pak_9.0.1_manifest.json": { + "stat": [ + 47, + 40146941, + 32668, + 1793966266050653438, + 1793966266050653438 + ], + "sha256": "b4b9d9b1ca3534e5d09bed4ac8ce990a2f765f6386791e0241c3dd9a4bb7c308" + }, + "meta": { + "stat": [ + 47, + 918678, + 2510, + 1793966267027673125, + 1793966267027673125 + ], + "sha256": "203fd32b2a44e941808b0c621b5e885687262099d83c7b876c2e805c3ef6d313" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 40146956, + 22656, + 1793966266553663574, + 1793966267019672964 + ], + "sha256": "88b92c9ed25b3e2b0794a9d2ebd3449f616d2810f330a6330683eca7d533c769" + }, + "resourceDatabase.rdb_9.0.1_manifest.json": { + "stat": [ + 47, + 40146943, + 366, + 1793966266305658577, + 1793966266305658577 + ], + "sha256": "73614d689e2701b75bc009e9e4f4fd0a1c4b0df0061f4a299371cbb148c9f607" + }, + "thumbnail.png": { + "stat": [ + 47, + 40146947, + 689401, + 1793966266428661055, + 1793966267011366549 + ], + "sha256": "8da2e133303f21bb16a2abd25d5bd6c2a4a6f5eccedae74a98358db485a170d1" + }, + "thumbnail.png_9.0.1_manifest.json": { + "stat": [ + 47, + 40146940, + 368, + 1793966265925650920, + 1793966265925650920 + ], + "sha256": "5aaa5989b5f44b48ff03082a0d4004ae71420db6eebeb56282af7d98f36c7000" + } + } + }, + "5E524E4FEECCA92B": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/BMP-1IFV_5E524E4FEECCA92B", + "title": "WCS_BMP-1", + "version": "8.3.0", + "files": { + "ServerData.json": { + "stat": [ + 47, + 918673, + 193, + 1793966264963885489, + 1793966264963885489 + ], + "sha256": "bf2d1bf174c0385e65fa28e5991b49f6b86ee6c1463ca5fec742fa5d5bb1264c" + }, + "addon.gproj": { + "stat": [ + 47, + 40146895, + 2900, + 1793966263344149147, + 1793966264913686889 + ], + "sha256": "ad44151140adf62e99eaa639984c2b9c400be17481e934186d61c307b5221259" + }, + "addon.gproj_9.0.1_manifest.json": { + "stat": [ + 47, + 40146888, + 364, + 1793966262546582905, + 1793966262546582905 + ], + "sha256": "3065c7c353cb7623ee85f83d462d4dac37c92efad1a0255f2661470e6cedfd0f" + }, + "data.pak": { + "stat": [ + 47, + 40146898, + 120212943, + 1793966264519622607, + 1793966264949631264 + ], + "sha256": "d9d23369b41d3bdcb1e4a98a03bf27b944e688459f773f2cd8ab8484d434b63c" + }, + "data.pak_9.0.1_manifest.json": { + "stat": [ + 47, + 40146889, + 32902, + 1793966262705586103, + 1793966262705586103 + ], + "sha256": "fddebd10d715fc1f2255aa0b6d72184ec9a1da5a725033923ac82d60772a095f" + }, + "gallery0_776x436.jpg": { + "stat": [ + 47, + 23106914, + 64588, + 1788720671481676966, + 1788720671481676966 + ], + "sha256": "63649f5239059dd12234250b8c8e313b14ca134e30e4309fbd1eb45f92e77097" + }, + "gallery1_776x436.jpg": { + "stat": [ + 47, + 23106915, + 47808, + 1788720671495639547, + 1788720671495639547 + ], + "sha256": "81f89b026a1bf341f8cd3bb19facd67e8d0f56073c924e026983836fee6bfb4c" + }, + "meta": { + "stat": [ + 47, + 918496, + 2928, + 1793966264961631505, + 1793966264961631505 + ], + "sha256": "552e3e90048cfa515be78f992371b5b4ef29f1266f9a91b76369ec5bc8d95a27" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 40146904, + 20362, + 1793966263427600628, + 1793966264951631303 + ], + "sha256": "f29ecdc46a023287f2be40a502e3f0117be5a9278ab0eef7a0ce4628d30692e5" + }, + "resourceDatabase.rdb_9.0.1_manifest.json": { + "stat": [ + 47, + 40146891, + 366, + 1793966262950591030, + 1793966262950591030 + ], + "sha256": "4619fe9c8439d518292e6c511fd2be970893eda93eeb8554089823ebd4abaae3" + }, + "thumbnail.png": { + "stat": [ + 47, + 40146901, + 708338, + 1793966263345598978, + 1793966264950631284 + ], + "sha256": "103a98bf476d510ab3081abb371170ae6cf65aea65b9095636d651170a5b0038" + }, + "thumbnail.png_9.0.1_manifest.json": { + "stat": [ + 47, + 40146890, + 368, + 1793966262825588516, + 1793966262825588516 + ], + "sha256": "5bf1e0f8794a4e2e862658a10071360df63ed6a440ee2ca5514afbc2e97e375e" + } + } + }, + "629B2BA37EFFD577": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/WCS_Armaments_629B2BA37EFFD577", + "title": "WCS_Armaments", + "version": "8.3.0", + "files": { + "ServerData.json": { + "stat": [ + 47, + 920134, + 197, + 1793966262210522872, + 1793966262210522872 + ], + "sha256": "4f9a7b1c661f78832b570e3b050d05d643b531deb944336b99fc018028460b5d" + }, + "addon.gproj": { + "stat": [ + 47, + 40146643, + 2926, + 1793966255452440454, + 1793966262199575927 + ], + "sha256": "e6ffcf559a2e7898848349c090300ea8eca8cb2e13ecef456a108bcc82efc8b1" + }, + "addon.gproj_9.0.1_manifest.json": { + "stat": [ + 47, + 40146630, + 364, + 1793966254019411735, + 1793966254019411735 + ], + "sha256": "ba8f2b36575408f11b2107fc4b0f9449c9dc057629ebf894c7bdbc77f53cbc1f" + }, + "data.pak": { + "stat": [ + 47, + 40146634, + 442600639, + 1793966260630544384, + 1793966262197575885 + ], + "sha256": "26f63ca2134fb092a014e096664bea436720ec6af8d38788875bbb66417a8002" + }, + "data.pak_9.0.1_manifest.json": { + "stat": [ + 47, + 40146627, + 315478, + 1793966253656404464, + 1793966253656404464 + ], + "sha256": "c9f5b6bf65507836bb8243a83726f62eb53a190992f951da11e74919eb48dbab" + }, + "meta": { + "stat": [ + 47, + 919170, + 2601, + 1793966262208576106, + 1793966262208576106 + ], + "sha256": "8299678c3779dc13ea2a2d234407ea1ffae0d690398b45279261e8f68fef9a75" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 40146637, + 205606, + 1793966255643444284, + 1793966262198575906 + ], + "sha256": "d229ebb54d52c7417c7bcf05c934d41d51b3d936d610118239217962aa869562" + }, + "resourceDatabase.rdb_9.0.1_manifest.json": { + "stat": [ + 47, + 40146628, + 368, + 1793966253776406868, + 1793966253776406868 + ], + "sha256": "c69021b58814cec675c6f98da27d2810fe523e8fef71b023e3a4610739aca03d" + }, + "thumbnail.png": { + "stat": [ + 47, + 40146640, + 689544, + 1793966255454440494, + 1793966262199575927 + ], + "sha256": "ccd771dba7f3f222e9733e688e6dd9e4c5edae2accdd80a6876241094e23f3dd" + }, + "thumbnail.png_9.0.1_manifest.json": { + "stat": [ + 47, + 40146629, + 368, + 1793966253899409332, + 1793966253899409332 + ], + "sha256": "e58ef73e4a794e56ecd04bfd84940ec539e5ca481d6b69ffb20f9fedcd3c2e77" + } + } + }, + "65930CB4CD0237B2": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/ParachuteFramework_65930CB4CD0237B2", + "title": "Parachute Framework", + "version": "1.2.0", + "files": { + "ServerData.json": { + "stat": [ + 47, + 23608865, + 764, + 1788881939235881733, + 1788881939235881733 + ], + "sha256": "ec665641799be1f97100937ce87c894a88bee99526fac0695303c339121e8bd1" + }, + "addon.gproj": { + "stat": [ + 47, + 23608826, + 124, + 1788881938831871187, + 1788881938831871187 + ], + "sha256": "183fbb521382a95ad33af9efc547147a80241bd536a29d124c93064b5ae5e8bc" + }, + "addon.gproj_1.2.0_manifest.json": { + "stat": [ + 47, + 23608818, + 362, + 1788881938288857014, + 1788881938288857014 + ], + "sha256": "5030f4430dbd237d93fbcc49ab5c667241b803f1beee4060498e882ea85c9d7f" + }, + "data.pak": { + "stat": [ + 47, + 23608829, + 5048302, + 1788881939131386944, + 1788881939131386944 + ], + "sha256": "ccb22523ba0040cb9d9206a7ab0ae7e5b4411b1704bde39e3e4a7953416e3042" + }, + "data.pak_1.2.0_manifest.json": { + "stat": [ + 47, + 23608820, + 4696, + 1788881938426860616, + 1788881938426860616 + ], + "sha256": "168504d70f88650b0e7acbdcc80ef384ee5b90e2f044839f837b1220b767afcb" + }, + "meta": { + "stat": [ + 47, + 23608819, + 5088, + 1788881955440304751, + 1788881955440304751 + ], + "sha256": "178156f61a332f596dc3783c4d02b0ab5d50a47d4aa1572395760d0fe062500b" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 23608835, + 3188, + 1788881939082877739, + 1788881939082877739 + ], + "sha256": "0994a4b1fcfacdd8d8f69759ba6bde878d633545e380a5774a05e4cac3b6b2c4" + }, + "resourceDatabase.rdb_1.2.0_manifest.json": { + "stat": [ + 47, + 23608822, + 364, + 1788881938690867507, + 1788881938690867507 + ], + "sha256": "6a0793ea2080ae22fac1efd6d3da3ddb3100fd0b60869098e5572be66318c883" + }, + "thumbnail.png": { + "stat": [ + 47, + 23608832, + 2255011, + 1788881939194880662, + 1788881939194880662 + ], + "sha256": "715ac1bf4b6abefb2726cc4c61e903e63ae3a2bfec1e8a85be6cb81eb308407a" + }, + "thumbnail.png_1.2.0_manifest.json": { + "stat": [ + 47, + 23608821, + 370, + 1788881938560864114, + 1788881938560864114 + ], + "sha256": "2bd7127d58adee39c3aa1e2212436499b10adf4fe2faa0b3ed5fcadbfaaae768" + } + } + }, + "BADC0DEDABBEDA5E": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-ContentPack02_BADC0DEDABBEDA5E", + "title": "RHS: Status Quo - Content Pack 02", + "version": "0.17.5281", + "files": { + "ServerData.json": { + "stat": [ + 47, + 911088, + 236, + 1793966308641519583, + 1793966308641519583 + ], + "sha256": "64b0ff774b52b41cc3711fed424f3e377de4854652b4197f257893f892775e3e" + }, + "addon.gproj": { + "stat": [ + 47, + 40147536, + 337, + 1793966290112140796, + 1793966307987506163 + ], + "sha256": "196b2bc1da74c0b5154c7346c63989df237da487f29cff7b2094f53e0f17ff18" + }, + "addon.gproj_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147526, + 362, + 1793966282662989362, + 1793966282662989362 + ], + "sha256": "44a5d0e2cb0ff23da171ef0c929d1083d8ba71b2680a43ab7c3e53d6c40e74f3" + }, + "data.pak": { + "stat": [ + 47, + 40147548, + 1995519845, + 1793966301329369751, + 1793966308616519071 + ], + "sha256": "292e73f28ff1fc49f9a6503537615b124e7b447345e3230391f0a19322acd350" + }, + "data.pak_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147529, + 166380, + 1793966283062997480, + 1793966283062997480 + ], + "sha256": "6782e9310e8f40bf64b79c967bed419125575b1401a63d1fdb979758d5cffe54" + }, + "data001.pak": { + "stat": [ + 47, + 40147543, + 264943574, + 1793966292531190079, + 1793966308063507722 + ], + "sha256": "494ae75e15d681346e6b3637b7cc8b03a8313cc1326bf61048a24d524fef1eb7" + }, + "data001.pak_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147528, + 42695, + 1793966282903994252, + 1793966282903994252 + ], + "sha256": "3b8d813857f9d2c66053bd7c9a99a8f5a85e2421dd9b1634bcc18c55694daf18" + }, + "meta": { + "stat": [ + 47, + 910016, + 7867, + 1793966308640519563, + 1793966308640519563 + ], + "sha256": "c40492c4bb30eab03b030a34a0e12d594aab5cc62e2ab3a0a4602e5ea29c74e1" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 40147539, + 116443, + 1793966290235143301, + 1793966307987506163 + ], + "sha256": "e50f65fb8f49d84fe4819e8bd2b4520b62ca21e1c608099487c070d8834356a2" + }, + "resourceDatabase.rdb_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147527, + 368, + 1793966282782991797, + 1793966282782991797 + ], + "sha256": "1e2f8bad8ad8e44e1d1ebed49e22e81f3ea6e80788540090888afe4c94ee82a4" + }, + "thumbnail.png": { + "stat": [ + 47, + 40147533, + 18180, + 1793966289918911310, + 1793966307986845317 + ], + "sha256": "4c70bf384375f069cab9ed719f3865441fd363a010495e7b465f3ae83ed887c3" + }, + "thumbnail.png_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147525, + 366, + 1793966282534986763, + 1793966282534986763 + ], + "sha256": "d0e233b32d3d41ac44ea127ea5eb028b97a63555f7867278a7a6f5e8e1df7255" + } + } + } +} diff --git a/docs/evidence/content-menu-2026-11-06/items.png b/docs/evidence/content-menu-2026-11-06/items.png new file mode 100644 index 0000000000000000000000000000000000000000..d80d575365b8bbc3cb804af53d935e36d6535fae GIT binary patch literal 114656 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 Q@F_>F>@EL1eDTh|0iEosdjJ3c literal 0 HcmV?d00001 diff --git a/docs/evidence/content-menu-2026-11-06/mods.png b/docs/evidence/content-menu-2026-11-06/mods.png new file mode 100644 index 0000000000000000000000000000000000000000..7000604e6ff180cc857c6d3ce0823e3565973019 GIT binary patch literal 111500 zcmb@tbySsI+dYa%Y^64xlAG>sq#L9|x>HITMCnGlL22pk5F|H^lyrB4APVYPJn#3s z<9EJs{yF2EJsfT}-20BTu614Wnscs5HB~u`rzB4i5D+jFM{0LNdhBrC64;Wi*>tpIfcS2>#UdF%P`3OA8!~$E{GBV zk#gv+%fu!FiCkoYFu425|NM6Vh51+}F9h7gzpszkR7$V@{qXQEUi+>a+}yt}@rB2T zsQ-Qd?^ak4vj5{_vM8m?|M5}n=KtN7FOlPNbIFlU7+x_WM5|)n>URC|h&7mj$EC5m zJPgr4F9z07aM%K6ksMd+^;Ifkm(l62{jt1Q*X3+={aX^ALF(P^G9<4Tub(@x8*gij zCa52nM*XF7dA`S{-pdhK{onf&>R~9JoGOq*?jm^6^Az7%eb&C!f2Z8!@4);YwG$oh z9>4kN>4F|7#e6MP7}`yZyr}fyvkB_4$)!k?e@`-rqmC#?p#NC%CblYQt9&_a;Mm2e zC#MtZ!L!yy=tHKr_4@A^Q`qzK zQ})cx`J&5E?AN@P#=4h_!)1a$V({FTp<*L4By^LCRiZ-Q$sZ!~;q@^n0XIKU=7RGl zEd}z$X^=*+RPvgY)P2}u!QPaeSidw5lOQi%X%C~7>?uwWx&?E%<$nWW|EVAqlm5OZ z5es>vS75or_Af@fWi`JU2;?g%Q&Hknuf�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%0DhuiC{_p6j7+WDl29j5+0B03dG)A&F{)1m& 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 avbj7WYTPO==jukvvbS-verk34xBmd~o-7Uk literal 0 HcmV?d00001 diff --git a/docs/evidence/content-menu-2026-11-06/native-assertions.log b/docs/evidence/content-menu-2026-11-06/native-assertions.log new file mode 100644 index 00000000..f84745e5 --- /dev/null +++ b/docs/evidence/content-menu-2026-11-06/native-assertions.log @@ -0,0 +1,20 @@ +14:39:24.221 SCRIPT : ERR CONTENT: controller=1 +14:39:25.223 SCRIPT : ERR CONTENT STAGE: 0 page=0 vehicles=0 addon= +14:39:25.226 SCRIPT : ERR CONTENT MODS: rows=11 vehicleMods=4 +14:39:28.226 SCRIPT : ERR CONTENT STAGE: 1 page=3 vehicles=0 addon= +14:39:31.234 SCRIPT : ERR CONTENT STAGE: 2 page=17 vehicles=0 addon= +14:39:35.236 SCRIPT : ERR CONTENT STAGE: 3 page=17 vehicles=0 addon= +14:39:39.243 SCRIPT : ERR CONTENT STAGE: 4 page=17 vehicles=0 addon= +14:39:43.320 SCRIPT : ERR CONTENT STAGE: 5 page=17 vehicles=0 addon= +14:39:46.325 SCRIPT : ERR CONTENT STAGE: 6 page=17 vehicles=0 addon= +14:39:46.325 SCRIPT : ERR SMOKE PASS: real menu item disable, master mod restoration and empty search +14:39:46.325 SCRIPT : ERR CONTENT VEHICLE INDEX: 0 +14:39:49.334 SCRIPT : ERR CONTENT STAGE: 10 page=16 vehicles=0 addon= +14:39:52.342 SCRIPT : ERR CONTENT STAGE: 11 page=17 vehicles=0 addon= +14:39:52.342 SCRIPT : ERR SMOKE PASS: item search restored after visiting advanced weights +14:39:55.350 SCRIPT : ERR CONTENT STAGE: 7 page=27 vehicles=12 addon=58d0fb3206b6f859 +14:39:59.370 SCRIPT : ERR CONTENT STAGE: 8 page=27 vehicles=12 addon=58d0fb3206b6f859 +14:40:02.376 SCRIPT : ERR CONTENT STAGE: 9 page=27 vehicles=1 addon=58d0fb3206b6f859 +14:40:02.376 SCRIPT : ERR SMOKE PASS: vehicle disable, filtered list and persisted preferences reload +14:40:02.424 SCRIPT : ERR SMOKE PASS: all navigation pages fit and disabled vehicles are excluded from selection +14:40:02.425 SCRIPT : ERR SMOKE COMPLETE: content menu native admin actions and saved selections diff --git a/docs/evidence/content-menu-2026-11-06/native-fixture.c.txt b/docs/evidence/content-menu-2026-11-06/native-fixture.c.txt new file mode 100644 index 00000000..3712bb07 --- /dev/null +++ b/docs/evidence/content-menu-2026-11-06/native-fixture.c.txt @@ -0,0 +1,146 @@ +#ifdef WORKBENCH +modded class SCR_RespawnSystemComponent +{ + override void UpdateLoadingPlaceholder(float dt) + { + super.UpdateLoadingPlaceholder(dt); + if (ERR_AdminMenu.GetOpenMenu() && m_wLoadingPlaceholder) m_wLoadingPlaceholder.SetVisible(false); + } +} + +modded class ERR_GameMode +{ + protected override void StartScenario() {} + protected override void EOnInit(IEntity owner) + { + super.EOnInit(owner); + if (SCR_Global.IsEditMode() || !Replication.IsServer()) return; + GetGame().GetCallqueue().CallLater(ERR_ContentReviewBegin, 5000, false); + } + protected void ERR_ContentReviewBegin() + { + PrintFormat("ERR CONTENT: controller=%1",GetGame().GetPlayerController()!=null); + ERR_AdminMenu.Open(); + } +} +modded class ERR_AdminMenu +{ + protected int m_ContentReviewStage; + protected float m_ContentReviewAt; + protected string m_ContentReviewItem; + protected string m_ContentReviewVehicle; + protected string m_ContentReviewAddon="58d0fb3206b6f859"; + override void OnMenuOpen() + { + super.OnMenuOpen(); + GetGame().GetCallqueue().CallLater(ERR_ContentReviewTick,1000,true); + } + override void OnMenuClose() + { + GetGame().GetCallqueue().Remove(ERR_ContentReviewTick); + super.OnMenuClose(); + } + void ERR_ContentReviewFail(string reason) + { + Print("ERR SMOKE FAIL: content menu "+reason,LogLevel.ERROR); + GetGame().GetCallqueue().Remove(ERR_ContentReviewTick); + } + void ERR_ContentReviewTick() + { + float now=GetGame().GetWorld().GetWorldTime(); + if(!m_Ready || now disabledPool={ERR_CivilianTraffic.CarPrefab(0)}; + if(!ERR_VehicleSelection.Choose(disabledPool).IsEmpty()){ERR_ContentReviewFail("disabled mod still permits traffic candidate");return;} + SubmitItems("items mod "+m_ContentReviewAddon+" 1");m_ContentReviewStage=5;return; + } + if(m_ContentReviewStage==5) + { + if(!prefs.ModEnabled(m_ContentReviewAddon)||prefs.Enabled(m_ContentReviewAddon,m_ContentReviewItem)){ERR_ContentReviewFail("master restore lost item choice");return;} + SCR_EditBoxComponent.GetEditBoxComponent("ItemsSearch",GetRootWidget()).SetValue("err_no_such_item_9387");BrowseItems(0);m_ContentReviewStage=6;return; + } + if(m_ContentReviewStage==6) + { + if(!m_ItemRows.IsEmpty()){ERR_ContentReviewFail("search stale rows");return;} + Print("ERR SMOKE PASS: real menu item disable, master mod restoration and empty search"); + PrintFormat("ERR CONTENT VEHICLE INDEX: %1",m_VehicleMods.Find(m_ContentReviewAddon)); + ShowPage(ERR_AdminPage.WEIGHTS); SubmitItems("items list "+m_ContentReviewAddon+" 0");m_ContentReviewStage=10;return; + } + if(m_ContentReviewStage==10) + { + ShowPage(ERR_AdminPage.ALLOWED_ITEMS);m_ContentReviewStage=11;return; + } + if(m_ContentReviewStage==11) + { + if(!m_ItemRows.IsEmpty()){ERR_ContentReviewFail("search lost after advanced page");return;} + Print("ERR SMOKE PASS: item search restored after visiting advanced weights"); + OpenVehicleAddon(m_ContentReviewAddon);m_ContentReviewStage=7;return; + } + if(m_ContentReviewStage==7) + { + if(m_VehicleRows.IsEmpty())return; + if(!ERR_ProbeNavigation(ERR_AdminPage.VEHICLE_POOL)){ERR_ContentReviewFail("vehicle navigation");return;} + foreach(string key,Widget row:m_VehicleRows){m_ContentReviewVehicle=key;OnVehicleRowButton(SCR_ButtonTextComponent.GetButtonText("Disable",row));break;} + System.MakeScreenshot("$logs:content-vehicles");m_ContentReviewStage=8;return; + } + if(m_ContentReviewStage==8) + { + if(prefs.VehicleEnabled(m_ContentReviewAddon,m_ContentReviewVehicle)){ERR_ContentReviewFail("vehicle disable");return;} + ERR_ServerAddonItems vehicles=GetGame().ERR_ServerVehicles().Find(m_ContentReviewAddon); + foreach(ERR_ServerItem vehicle:vehicles.Items) + if(ERR_TerrainCatalog.Key(vehicle.Prefab)==m_ContentReviewVehicle) + { + array pool={vehicle.Prefab}; + if(!ERR_VehicleSelection.Choose(pool).IsEmpty()){ERR_ContentReviewFail("disabled vehicle still selected");return;} + } + ERR_ItemPreferences reloaded=new ERR_ItemPreferences(); + if(reloaded.VehicleEnabled(m_ContentReviewAddon,m_ContentReviewVehicle)||reloaded.Enabled(m_ContentReviewAddon,m_ContentReviewItem)||!reloaded.ModEnabled(m_ContentReviewAddon)){ERR_ContentReviewFail("saved configuration reload");return;} + SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesFilter",GetRootWidget()).SetCurrentItem(2,false,false,false);BrowseVehicles(0);m_ContentReviewStage=9;return; + } + if(m_ContentReviewStage==9) + { + if(m_VehicleRows.Count()!=1 || !m_VehicleRows.Contains(m_ContentReviewVehicle)){ERR_ContentReviewFail("disabled vehicle filter");return;} + Print("ERR SMOKE PASS: vehicle disable, filtered list and persisted preferences reload"); + for(int page=0;page + _warnings.warn(self.warn_message, ResourceWarning) +.......... +---------------------------------------------------------------------- +Ran 16 tests in 0.137s + +OK +PASS: authoritative kills/deaths, duplicate-event protection, friendly kills, suicide, GM and vehicle exclusions, down/recovery edges, disconnected escapees and terminal gates +PASS: production roster reconciliation preserves disconnected names and reconnect counters, refuses connection-ID inheritance, freezes records and bounds retained participants +PASS: held/tapped AI horn limits, half-second pulses, 30-second cooldown, clock reset, player/passenger/aircraft/replica exclusion and ended mission cleanup +PASS: telemetry outcomes, exactly-once finish, opt-out gate, stale callbacks, HTTP status handling and bounded retry +PASS: durable installation credential, restart/endpoint/identity isolation, write failure, corruption, bounded retention and disabled-send gates +PASS: running dedicated configuration, automatic server config/lobby name, explicit override, startup absence, rename and payload bound +PASS: map/server/mission/event/outcome validation, bounded counters, stale delivery exclusion, current-round refresh and unavailable recovery +PASS: deployment init waits for mode, runs once, cancels on deletion/world change and bounds retries; respawn RPC registration stays immediate +PASS: native chat retained on both peers, nested ownership detached, absent chat supplied by replicated fallback, authored mission chat preserved +PASS: configurable independent restarts, idle clock reset and live setting changes; last disconnect, pending admission/spectator population, five-hour boundary, repeated empty rounds, preparation, authority and duplicate-end guards +PASS: faction aircraft profiles provide 12+ cargo capacity; FIA/ION crew comes only from the selected faction +PASS: fleet space is required before pickup registration; dispatch rechecks/replaces only the secondary within the original 48-candidate footprint budget +Policy-only arrival from 90 m offset / 150 m height at 15 Hz: original 65.60s, rescue 32.20s +Policy-only arrival from 90 m offset / 150 m height at 30 Hz: original 65.73s, rescue 32.30s +Policy-only arrival from 90 m offset / 150 m height at 60 Hz: original 65.72s, rescue 32.33s +Policy-only arrival from 90 m offset / 150 m height at 120 Hz: original 65.72s, rescue 32.33s +PASS: faster rescue descent, continuous near-ground braking, alignment gate, unchanged recovery/escort/default profile, and bounded settling at 15/30/60/120 Hz +PASS: split-fleet boarding, escort rejection, lost transport failure and both transports airborne for thirty seconds +PASS: actual nearest usable registered-fleet selection, patient reservation priority, independent ranges, audited benches/skids and captured-aircraft handshake guards +PASS: production Cessna boarding requires exact observed occupancy, activates before requesting, caps retries at three with 5s spacing, and preserves transition, ownership, health and seat restrictions; engine behavior is faked +PASS: traffic distance/grace, all-observer veto, player claims, foreign custody, bounded spawn cadence, failure/stall retention and shutdown preserve nearby/claimed entities +PASS: actual observer collection includes spectator targets and controlled bodies; missing views/controllers and open editor cameras veto spawn/cleanup +PASS: civilian traffic defaults to three; menu command resolves to persisted 0..6 setting with zero disabling new cars +PASS: bounded exit-road selection can turn along a coastline when the opposite road is unavailable; no-route case is withheld +PASS: managed traffic pins both native garbage entries; release/retirement removes only those pins, including partial creation +PASS: garage/yard family admission, bounded wall offsets, civilian and optional Rally catalog exclusions, vehicle-fit limits +PASS: yard road-width margin, missing road data, footprint water/slope and nonfinite-input vetoes +PASS: bodies and spectator targets are collected; unknown, nonfinite and editor views veto spawning/cleanup; no connected players yields an empty known view +PASS: permanent entry/movement/occupancy claims; far hidden grace cleanup; proximity/visibility/unknown-view resets; one staged operation per update, no same-frame catch-up, stop and client guards +PASS: saved garage menu settings configure the round once; unit conversion and cleanup radius scale correctly; count/chance zero disable startup; clients and stopped rounds do no work +PASS: exhausted/blocked opening keeps configured radius; distant objective fallback rejected; bounds, player clearance, separation, force cap and retry delay retained +PASS: separated rear vehicle approaches, opposite infantry sectors, radio-gated ownership, failed-order preservation, visual cover or bounded supported reconnaissance, bounded dismount/search/regroup and loss cleanup +PASS: production dismount/boarding allocation, all crew allowances, waypoint ownership, one-time vehicle detach/restore and capture/teardown guards +PASS: covering support requires the original conscious turret gunner, valid mounted driver, live crew and delivered assignment +PASS: alternate positions exclude failed and occupied stages, roll back on failed planning/allocation, and preserve the total time budget +PASS: blocked crew deadline survives combat interruptions, defers unsafe exits, resets after recovery; failed stages survive assignments with bounded expiry +PASS: native-callback cleanup, bounded retries and budget, pending quarantine, objective/ownership/lifecycle protection, no evidence retirement or forced entity deletion +PASS: radio intel boundary, exclusions, preparation cap, next-round configuration, sticky unlock, redirection/evidence, fixed retention, automatic recovery and lifecycle guards +PASS: actual terrain refusal reasons, counted summaries, site/attempt/time context, 30-second rate limit and per-site reset +PASS: actual low/negative dry terrain, height-correct shallow/lake/ocean/interior water refusal and downstream startup dry-ground gates +PASS: failure-only menu, repeated-frame/dialog focus, pause fallback, exact error, Esc routing, single local exit, stale/recovered mode guards and listener cleanup; native rendering unverified +PASS: only original fit loaded healthy uncaptured gunners stay mounted; driver can leave; infantry readiness excludes the retained gunner but regroup requires all survivors +PASS: actual HQ allocator selects reachable reports, distinct cover/flanks, simultaneous fronts, bounded reservations and failed-radio/placement rollback +PASS: shared own-force attack spacing, own-group refresh, exact release, expiry/deletion, finite capacity and fresh confirmed sighting-only flank permission +PASS: actual convoy foot transport detachment is idempotent; regroup restores only its live friendly uncaptured original truck +PASS: opposing native flank orders are transactional; arrived teams sweep twice, travelling/boarding teams retain orders, failed redirects retry and replayed contacts are ignored +PASS: expired-report approach, arrival-only search, completion, newer/older/replayed reports, visual priority, interrupted search and bounded travel +PASS: drone cooldown, capacity, freshness, replay, bounded retries, round cap, stop, optional API and radio boundaries +PASS: production camera cone/range rejects behind-camera and distant actors; control directions, damping and limits +PASS: production drone radio queue rejects wrong phase/authority/group, busy or unconscious radios and absent routes; snapshots only eligible observations +PASS: target equipment counts as character contact; unrelated blockers and cyclic hierarchies stay blocked +PASS: burial requires a conscious current player, actual held shovel, dead nearby unobstructed corpse and no vehicle; authority and duplicate deletion guards preserve player/tool +PASS: nearest reported idle team, blocked teams, guards, active/pending orders, combat, radio routes, stale status and distance limit +PASS: six editor listeners transferred idempotently, unrelated handlers retained, authority guard and lifecycle ordering +PASS: takeover reconnect creates only missing managers, restores native roles, never grants non-admin access, skips stale/disconnected/client states +PASS: Game Master button becomes enabled on native permission arrival and disabled on revocation; no permission bypass +PASS: native creation called once per editor; pending/duplicate ownership waits, host works, retry is bounded and stale-world callbacks cannot create editors +PASS: catalog-independent cleanup removes original subscriptions once, handles never-initialized/preload items, preserves live validation and opted-out/editor behavior +PASS: shared config transaction rejects client writes, preserves first-save/prior/fallback state across open, write, backup, partial-copy, readback and mismatch failures +PASS: actual Save/Commit preserves semantically valid backup across unrelated menu edits and repairs; unknown fields/default sections retained; actual terrain parser; other parsers, catalog and disk doubled +.....TTS request rejected: authentication failed (403) +TTS request completed (200) +....TTS request completed (200) +TTS request completed (200) +.. +---------------------------------------------------------------------- +Ran 11 tests in 1.075s + +OK +PASS: all 37 fixed messages have validated exact audio, native graph identities and source-bundle inclusion +PASS: production incremental decoder preserves binary data, bounds each slice, yields on elapsed time and rejects malformed or oversized payloads +PASS: production speech transfer checks order, exact part sizes and stable bounded totals without changing audio +PASS: production client callbacks only queue; shared updates prepare one bounded slice, preserve bytes, handle file failures and cancel safely before playback +PASS: production soldier timeout preserves queued/completed preparation, expires stalled requests and removes stopped graphs only once +PASS: actual welcome tick waits for URL/readiness/server permit, preserves local once-only state across worlds and refuses stopped callbacks +PASS: account greeting survives client/controller/round changes; owner validation, delayed readiness, idempotent retry, stale replies and bounded ledger +PASS: original body/equipment retained past old timeout; expiry, death, canonical account/body, occupied controller, failed handoff, missing/dead/expired body replacement and extraction/duplicate-audit guards +frame_ms=33.3333 buffered_step_variation=0.0336441 baseline=1.32469 +frame_ms=16.6667 buffered_step_variation=0.0660537 baseline=0.822226 +frame_ms=6.94444 buffered_step_variation=0.0253502 baseline=0.427864 +PASS: actual view buffer validates samples, follows position/roll/FOV, rejects stale/foreign/reordered data, buffers jitter without drift, bounds memory and expires gaps +PASS: actual relay rejects noncanonical sources, live/foreign/stale viewers, invalid/replayed/fast packets; bounds leases and owner-only target delivery +PASS: production scope sampling preserves ordinary views, selects active ADS only, carries zoom/zeroing/illumination and rejects mismatched/unstreamed optics; native APIs doubled +PASS: native head/helmet fade is local, target-scoped, restored on exit/switch and does not overwrite a later camera owner +PASS: actual orbit branch rotates and zooms without a target; anchor tracking, bounds, collision and menu gating; corpse/vehicle orbit and living player-view fallback preserved +PASS: production TTS settings/test/enable/failure/disable/timeout flows preserve fallback, secrets, authorization, saved state and late-callback cancellation +PASS: TTS admin authorization, limits, case preservation and menu control contract +PASS: actual atlas preparation shows disclosed markers on overview, regional and detail sheets; cover hidden; overlay matches map rectangle above print for square/wide/tall terrains +PASS: actual objective overlay lifecycle preserves separate ownership, late readiness/reopen, data refresh, pan/zoom/culling, supported sibling/shared-frame parents, coordinate offsets, native task-clear isolation and terminal cleanup; native rendering remains unverified +PASS: actual map element initializes each widget, retries missing widgets, updates position and changes only stale text/icon data; no native image-load claim +PASS: all atlas identifiers, including the quoted question mark, match the generator +PASS: actual native fixture root/config ownership and idempotent cleanup preserve foreign map, selector excludes ordinary route, fixed budgets/screenshots/UGC boundaries retained; native operations not executed +PASS: actual full Inspect rejects canvas parenting, wrong active container/canvas, omitted origin offset, wrong rendered box and stale coordinates; differing origins and DPI accepted +PASS: actual long-warning phases retain visible label through1500ms checkpoint then restore radio before close; synthetic marker separated from unmoved player +PASS: actual Center keeps marker offset within large and small native viewports at both fixture zooms without altering disclosed coordinates +PASS: missing, child-only, malformed, zero and duplicate prefab root IDs rejected +PASS: delayed scene/inventory arrival, deferred preload, identity checks, stale replies, timeout and observer cleanup +PASS: loading protection restores only its own damage change, rejects invalid admission actors, and tolerates repeat/deleted cleanup +PASS: actual inventory manifest, delayed/missing/wrong-owner item links, finite cap, consumed-stock refresh and preload ordering +PASS: spawn scene remains held through final acknowledgement and nearby use; leaving, reassignment, disconnect and teardown release it +PASS: production prison AI hold/release, repeat activation, authority/faction/player exclusion, dead actor and stop cleanup +PASS: actual protected/capped damage plus exact-actor terminal fixture bypass through delayed native damage, fail-closed ownership and untouched ordinary actor; no native claim +PASS: actual full planner selection/commit body, 360 equivalence scenarios, orders/reservations/cooldowns identical; one128-unit scan vs >10000 repeated unit visits; no FPS claim +PASS: actual observer monitor/recovery/cleanup rejects retained old controller, preserves new camera/editor/hints/timer, restarts once and retains normal recovery; native effects modeled from SDK, no runtime claim +PASS: former chat controller releases only its own callbacks and preserves replacement menu; current-owner stop/scope and repeated teardown remain intact +PASS: wrong observer fixture selector rejected before runtime/profile setup; no engine launched +PASS: native camera fixture uses current generated sites instead of the obsolete fixed extraction pickup +PASS: actual depot mixed-roster worker/item selection, ownership/refusal and radio/planning/two-leg state transitions, fixed deadline, late proof quarantine, finite import and no adoption after Stop +PASS: actual depot HQ lifecycle, existing planner priority, server/mode/owner gates, idempotent polling and owner replacement +PASS: actual HQ mine/magazine claim separation, real demand methods, exact token cleanup and original authority gates; native availability doubled +PASS: actual full magazine/inert-PMN4 depot leaf, exact custody, isolated callbacks, finite reservation, false/unknown and Stop quarantine, once-only delivery and caps; native movement unqualified +PASS: actual mine/magazine provenance and separated finite mine imports; actual authored identity capture, READY-only detached provenance, same shared stock admission, completed exact two-leg proof, lifetime caps and Stop no late adoption +PASS: anger per car, all thresholds and remainders, disable/re-enable, wave cap, staged retries, empty-round reset, no backlog, four seats and nearest-player road distance +PASS: motorbikes require all mounted addons and exactly two crew seats; base/wreck prefabs rejected +.. +---------------------------------------------------------------------- +Ran 2 tests in 0.001s + +OK +PASS: road width/bridge/length checks, prison and post spacing, setting bounds/default, finite startup and owned HQ admission +PASS: exact configurable width cutoff, separate quotas and independent disabling +PASS: every saved setting has a fresh-profile constructor default +PASS: actual roadblock scheduler yields initial deadline/attempt cap to background, budgets samples, pauses empty/full worlds, completes 30 after unlock, preserves safety and never replenishes losses; teardown cancels work +PASS: actual staged post creation spawns at most one entity per callback, commits only all four/eight guards, all planned props and waypoint, and rolls back player approach, obstructions, spawn/replication/ledger failure and cancellation; all committed props bypass distance streaming +PASS: both shipped checkpoint layouts preserve vehicle lane, opposing signs, staggered barriers, clear guard slots and separate props across 4–16m roads and all tested headings +PASS: actual prop clearance excludes owned geometry while retaining moved-guard, foreign-obstruction, water and terrain rejection +PASS: road-edge/intersection clearance, mine detour geometry, checkpoint hold authority and retask cancellation +PASS: actual crash geometry, detached definition setup, frozen server choice and guarded phase policy; integration/source ordering checked +PASS: actual GameMode readiness admission and common full-footprint survey require crash authorization and both surveyed areas +PASS: actual start defaults/parse/save, failure retention and authorized command wiring; current/next feedback, aliases and no random choice; native UI and core mode freezing are separate +PASS: native-rejected custom items remain available without startup delay; required map and async insertion safeguards retained +PASS: exact starting-stock edits, quantities/type/total limits, duplicate rejection, saved custom/default modes, authority/read-only/save-failure retention and authenticated catalog routing +PASS: actual immutable measured footprint/root/attachment matching, bounds/transforms, moving geometry, seated-body and cargo reciprocity, finite hierarchy caps; native geometry doubled +PASS: actual BMP singleton geometry and typed current order; one survey, full straight segment, width, known history, reservations, settlement/clearance and work caps; placement/footprint tested separately +PASS: actual five random-radius diagnostic wrappers, disabled transparency, cached opt-in, exact zero and exclusion branch, native arguments/returns/outarg preservation, single superclass call and shared16-log cap +PASS: zero-radius trace disabled by default, scoped before setup, exact opt-in emission; no native launch +PASS: complete actual supply-travel probe, immutable 6+2 formations and 25 actors, admission/travel deadlines, six observed native-boundary moves, stop/ownership/partial-substitution refusals +PASS: actual distinct supply-travel hook, fixed420s selector, original observer protection/restoration, failure/terminal cleanup and no legacy convoy setup +PASS: actual supply-travel selector requires Chat, one round and480s; existing outcomes unaffected; no native launch +usage: test_native_mounted_intercept.py [-h] [--steam STEAM] + [--external-addons EXTERNAL_ADDONS] + --compat COMPAT --profile PROFILE + [--smoke {coordinated-ai,crash-start,crash-geometry,normal-escape-route,escape-route,optional-site-skip,infantry-combat,medical-combat,hunter-faction,unconscious-camera,self-epinephrine,starter-backpack,speech-download,bundled-speech,objective-map,town-garrisons,site-garrisons,radio-interaction,enemy-loadout,aggression,sarka-hunters,air-logistics,air-assault,air-recon,airfield-markers,opening-tools,mortar-station,generated-sites,roadblocks,hq-local-handoff,infantry-transfer,hq-body,convoy,supply-convoys,supply-travel,mounted-ammo,alarm-hearing,hq-memory,hq-awareness,aircraft-field,aircraft-route,native-end-active,native-end-preparing,aircraft-control,aircraft-cancel,aircraft-translate,map-ownership,mortar-refresh,mortar-salvo,mortar-courier,station-teardown,inventory-hitzone,prison-breach,powered-flight,powered-translate,local-admission,mortar-expiry,mortar-transfer,mortar-fire,patrol-hq,victory,lost-helicopter,player-death,radio-network,hq-response,mortar-inventory,startup-failure,site-survey,cache-loss,extraction-capacity,early-helicopter-loss,extraction-startup-failure,extraction-boundary-failure,transport-loss,transport-survey,lifecycle,objective-ui,recovery,prisoner-kit,medical,casualty-load,casualty-direct,casualty-bench,casualty-remove,environment,environment-restart,patrols,radio-document-loss,radio-document-loss-partial,guard-cancel,casualty-service}] + [--roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--large-roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--speech-probe-url SPEECH_PROBE_URL] + [--trace-random-radius] + [--maintenance-refuel] + [--mounted-swap-eligibility] + [--mounted-bmp] [--mine-stock] + [--mounted-courier] + [--mounted-intercept] [--convoy-cover] + [--field-terrain-audit] + [--field-service-cancel] + [--route-service-cancel] + [--station-teardown-diagnostics] + [--flight-autohover] + [--flight-action-inputs] + [--flight-input-diagnostics] + [--recon-takeover-only] + [--body-recovery-only] + [--coordinated-blocked-only] + [--rounds ROUNDS] [--timeout TIMEOUT] + [--project {core,chat}] +test_native_mounted_intercept.py: error: --mounted-intercept requires Chat --smoke convoy, one round and timeout at least900 seconds +usage: test_native_mounted_intercept.py [-h] [--steam STEAM] + [--external-addons EXTERNAL_ADDONS] + --compat COMPAT --profile PROFILE + [--smoke {coordinated-ai,crash-start,crash-geometry,normal-escape-route,escape-route,optional-site-skip,infantry-combat,medical-combat,hunter-faction,unconscious-camera,self-epinephrine,starter-backpack,speech-download,bundled-speech,objective-map,town-garrisons,site-garrisons,radio-interaction,enemy-loadout,aggression,sarka-hunters,air-logistics,air-assault,air-recon,airfield-markers,opening-tools,mortar-station,generated-sites,roadblocks,hq-local-handoff,infantry-transfer,hq-body,convoy,supply-convoys,supply-travel,mounted-ammo,alarm-hearing,hq-memory,hq-awareness,aircraft-field,aircraft-route,native-end-active,native-end-preparing,aircraft-control,aircraft-cancel,aircraft-translate,map-ownership,mortar-refresh,mortar-salvo,mortar-courier,station-teardown,inventory-hitzone,prison-breach,powered-flight,powered-translate,local-admission,mortar-expiry,mortar-transfer,mortar-fire,patrol-hq,victory,lost-helicopter,player-death,radio-network,hq-response,mortar-inventory,startup-failure,site-survey,cache-loss,extraction-capacity,early-helicopter-loss,extraction-startup-failure,extraction-boundary-failure,transport-loss,transport-survey,lifecycle,objective-ui,recovery,prisoner-kit,medical,casualty-load,casualty-direct,casualty-bench,casualty-remove,environment,environment-restart,patrols,radio-document-loss,radio-document-loss-partial,guard-cancel,casualty-service}] + [--roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--large-roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--speech-probe-url SPEECH_PROBE_URL] + [--trace-random-radius] + [--maintenance-refuel] + [--mounted-swap-eligibility] + [--mounted-bmp] [--mine-stock] + [--mounted-courier] + [--mounted-intercept] [--convoy-cover] + [--field-terrain-audit] + [--field-service-cancel] + [--route-service-cancel] + [--station-teardown-diagnostics] + [--flight-autohover] + [--flight-action-inputs] + [--flight-input-diagnostics] + [--recon-takeover-only] + [--body-recovery-only] + [--coordinated-blocked-only] + [--rounds ROUNDS] [--timeout TIMEOUT] + [--project {core,chat}] +test_native_mounted_intercept.py: error: --mounted-intercept requires Chat --smoke convoy, one round and timeout at least900 seconds +usage: test_native_mounted_intercept.py [-h] [--steam STEAM] + [--external-addons EXTERNAL_ADDONS] + --compat COMPAT --profile PROFILE + [--smoke {coordinated-ai,crash-start,crash-geometry,normal-escape-route,escape-route,optional-site-skip,infantry-combat,medical-combat,hunter-faction,unconscious-camera,self-epinephrine,starter-backpack,speech-download,bundled-speech,objective-map,town-garrisons,site-garrisons,radio-interaction,enemy-loadout,aggression,sarka-hunters,air-logistics,air-assault,air-recon,airfield-markers,opening-tools,mortar-station,generated-sites,roadblocks,hq-local-handoff,infantry-transfer,hq-body,convoy,supply-convoys,supply-travel,mounted-ammo,alarm-hearing,hq-memory,hq-awareness,aircraft-field,aircraft-route,native-end-active,native-end-preparing,aircraft-control,aircraft-cancel,aircraft-translate,map-ownership,mortar-refresh,mortar-salvo,mortar-courier,station-teardown,inventory-hitzone,prison-breach,powered-flight,powered-translate,local-admission,mortar-expiry,mortar-transfer,mortar-fire,patrol-hq,victory,lost-helicopter,player-death,radio-network,hq-response,mortar-inventory,startup-failure,site-survey,cache-loss,extraction-capacity,early-helicopter-loss,extraction-startup-failure,extraction-boundary-failure,transport-loss,transport-survey,lifecycle,objective-ui,recovery,prisoner-kit,medical,casualty-load,casualty-direct,casualty-bench,casualty-remove,environment,environment-restart,patrols,radio-document-loss,radio-document-loss-partial,guard-cancel,casualty-service}] + [--roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--large-roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--speech-probe-url SPEECH_PROBE_URL] + [--trace-random-radius] + [--maintenance-refuel] + [--mounted-swap-eligibility] + [--mounted-bmp] [--mine-stock] + [--mounted-courier] + [--mounted-intercept] [--convoy-cover] + [--field-terrain-audit] + [--field-service-cancel] + [--route-service-cancel] + [--station-teardown-diagnostics] + [--flight-autohover] + [--flight-action-inputs] + [--flight-input-diagnostics] + [--recon-takeover-only] + [--body-recovery-only] + [--coordinated-blocked-only] + [--rounds ROUNDS] [--timeout TIMEOUT] + [--project {core,chat}] +test_native_mounted_intercept.py: error: --mounted-intercept requires Chat --smoke convoy, one round and timeout at least900 seconds +usage: test_native_mounted_intercept.py [-h] [--steam STEAM] + [--external-addons EXTERNAL_ADDONS] + --compat COMPAT --profile PROFILE + [--smoke {coordinated-ai,crash-start,crash-geometry,normal-escape-route,escape-route,optional-site-skip,infantry-combat,medical-combat,hunter-faction,unconscious-camera,self-epinephrine,starter-backpack,speech-download,bundled-speech,objective-map,town-garrisons,site-garrisons,radio-interaction,enemy-loadout,aggression,sarka-hunters,air-logistics,air-assault,air-recon,airfield-markers,opening-tools,mortar-station,generated-sites,roadblocks,hq-local-handoff,infantry-transfer,hq-body,convoy,supply-convoys,supply-travel,mounted-ammo,alarm-hearing,hq-memory,hq-awareness,aircraft-field,aircraft-route,native-end-active,native-end-preparing,aircraft-control,aircraft-cancel,aircraft-translate,map-ownership,mortar-refresh,mortar-salvo,mortar-courier,station-teardown,inventory-hitzone,prison-breach,powered-flight,powered-translate,local-admission,mortar-expiry,mortar-transfer,mortar-fire,patrol-hq,victory,lost-helicopter,player-death,radio-network,hq-response,mortar-inventory,startup-failure,site-survey,cache-loss,extraction-capacity,early-helicopter-loss,extraction-startup-failure,extraction-boundary-failure,transport-loss,transport-survey,lifecycle,objective-ui,recovery,prisoner-kit,medical,casualty-load,casualty-direct,casualty-bench,casualty-remove,environment,environment-restart,patrols,radio-document-loss,radio-document-loss-partial,guard-cancel,casualty-service}] + [--roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--large-roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--speech-probe-url SPEECH_PROBE_URL] + [--trace-random-radius] + [--maintenance-refuel] + [--mounted-swap-eligibility] + [--mounted-bmp] [--mine-stock] + [--mounted-courier] + [--mounted-intercept] [--convoy-cover] + [--field-terrain-audit] + [--field-service-cancel] + [--route-service-cancel] + [--station-teardown-diagnostics] + [--flight-autohover] + [--flight-action-inputs] + [--flight-input-diagnostics] + [--recon-takeover-only] + [--body-recovery-only] + [--coordinated-blocked-only] + [--rounds ROUNDS] [--timeout TIMEOUT] + [--project {core,chat}] +test_native_mounted_intercept.py: error: --mounted-intercept requires Chat --smoke convoy, one round and timeout at least900 seconds +usage: test_native_mounted_intercept.py [-h] [--steam STEAM] + [--external-addons EXTERNAL_ADDONS] + --compat COMPAT --profile PROFILE + [--smoke {coordinated-ai,crash-start,crash-geometry,normal-escape-route,escape-route,optional-site-skip,infantry-combat,medical-combat,hunter-faction,unconscious-camera,self-epinephrine,starter-backpack,speech-download,bundled-speech,objective-map,town-garrisons,site-garrisons,radio-interaction,enemy-loadout,aggression,sarka-hunters,air-logistics,air-assault,air-recon,airfield-markers,opening-tools,mortar-station,generated-sites,roadblocks,hq-local-handoff,infantry-transfer,hq-body,convoy,supply-convoys,supply-travel,mounted-ammo,alarm-hearing,hq-memory,hq-awareness,aircraft-field,aircraft-route,native-end-active,native-end-preparing,aircraft-control,aircraft-cancel,aircraft-translate,map-ownership,mortar-refresh,mortar-salvo,mortar-courier,station-teardown,inventory-hitzone,prison-breach,powered-flight,powered-translate,local-admission,mortar-expiry,mortar-transfer,mortar-fire,patrol-hq,victory,lost-helicopter,player-death,radio-network,hq-response,mortar-inventory,startup-failure,site-survey,cache-loss,extraction-capacity,early-helicopter-loss,extraction-startup-failure,extraction-boundary-failure,transport-loss,transport-survey,lifecycle,objective-ui,recovery,prisoner-kit,medical,casualty-load,casualty-direct,casualty-bench,casualty-remove,environment,environment-restart,patrols,radio-document-loss,radio-document-loss-partial,guard-cancel,casualty-service}] + [--roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--large-roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--speech-probe-url SPEECH_PROBE_URL] + [--trace-random-radius] + [--maintenance-refuel] + [--mounted-swap-eligibility] + [--mounted-bmp] [--mine-stock] + [--mounted-courier] + [--mounted-intercept] [--convoy-cover] + [--field-terrain-audit] + [--field-service-cancel] + [--route-service-cancel] + [--station-teardown-diagnostics] + [--flight-autohover] + [--flight-action-inputs] + [--flight-input-diagnostics] + [--recon-takeover-only] + [--body-recovery-only] + [--coordinated-blocked-only] + [--rounds ROUNDS] [--timeout TIMEOUT] + [--project {core,chat}] +test_native_mounted_intercept.py: error: --mounted-intercept and --convoy-cover are mutually exclusive +PASS: actual native interception witness requires real radio cursor/lineage, original actor identities, fixed movement/hold/expiry/resume and immutable deadline; no movement/delivery injection +PASS: actual CLI rejects wrong mode/project/rounds/899s/conflict before runtime; valid flag and terminal branch identify synthetic-observation qualification +PASS: visible base hook and actual fixture override delegate once; delivery proof uses retained pre-super route only on successful production transition +actual mounted HQ dispatch planning, radio, ownership and lifecycle checks passed +PASS: actual mounted intercept eligibility/order chronology, fixed destinations, native road selection bounds, width, segment heading, clearance and settlement delegation; no native driving claim +PASS: actual paired arc geometry,40m/80m spacing, separate original polylines, both-position validation and128road/4096segment budget; no native driving proof +PASS: actual typed original BMP singleton, loss/footprint/custody guards and native cancellation, UAZ-only pair admission, rollback, native allocation/revocation boundaries, per-member ownership, hold and expiry +PASS: actual Tick clock initialization admits fractional first ticks and expires without extending the original start +PASS: actual finite conservation/deadline/callback policies; read-only selection, bounded once-only inventory submission and no can refill; native transfer not executed +PASS: actual exact-context membership, bounded identity/reach gates, native start/cache/eligibility ordering and no duplicate/foreign action start; fuel manager identity and empty-can headroom guards checked +PASS: actual detached node/value snapshot and conservation refuse mismatched lengths before indexed reads, retain original identities under native out-array aliasing and log bounded counts once; native cause remains unknown +PASS: actual mine evidence sealing/recovery, historical coarse publication, caps, canonical ownership, marker join retry/owner-change/stop; native arming and replicated vector-array transport untested +PASS: actual full document recovery retains authored/sealed targets, one shared spent ledger, retry/exhaustion semantics and canonical multi-player ownership alongside supplemental mine intel +PASS: actual infantry search suspension, quiet grace, finite resume, expiry/replacement and defensive/ownership boundaries +PASS: infantry combat gate precedes radio delivery and preserves non-task transports +PASS: actual HQ contact transition wakes only fit squad members, cancels only task orders and logs changes once +PASS: actual finite medicine grants, authored stock deduction, full-backpack refusal/pouch fallback, no loot replenishment, unresolved-operation quarantine and ownership/stop guards +PASS: only recent native detected/identified threats suspend hunter travel; stale/disarmed/destroyed contacts cannot strand patrols +PASS: actual hunter combat transition cancels only its travel once, holds through renewed contact and resumes after quiet; unregistered startup preserved +PASS: actual movement recovery retries delivered orders three times, respects combat/speed/arrival/progress, then abandons the stalled vehicle +PASS: actual abandonment releases once, detaches transport, requests native exits only for fit original AI aboard, and leaves players/captured crews alone +PASS: captured sighting retention, immutable details, expiry, replay rejection, bounded sound uncertainty/cooldown, radio loss, priority and overdue-status fairness +PASS: arrow press/release, held keys, opposing keys, disabled/menu input and firearm-only retention +PASS: actual self-injection eligibility matrix and authority/rate limit; default-off persistence, authenticated menu route, owned finite injector and native effect/consumption boundaries +PASS: town trigger and hard 700m exclusion for all observers, empty/invalid positions and final-check crossings +PASS: object guard split, hard 1000m exclusion / 1400m activation, footprint support, slopes, holes and invalid traces +PASS: actual fixed-post admission reserves only stationary guards from HQ retasking and tightens their defend radius +PASS: production site classification accepts structures/descriptors and excludes industrial props, fragments, flags, ruins and vehicles +PASS: increased site populations preserve the 32 fixed / 16 mobile field-soldier budget, with guards at every site +PASS: exact finite site squads, invalid roster/count rejection, committed-site spacing and safe fallback boundary +PASS: mortar couriers use the mobile site team and refuse permanent-only garrisons +PASS: omitted preferred mortar depot selects a surviving owned camp/mobile team; no camp, foreign cache and permanent-only sites are unavailable; historical priority retained +PASS: real-session mortar deadline, failed-support convoy admission and hunter survivor/recovery gates +PASS: native-route retry preserves delivered target, limits attempts and suspends during combat +PASS: stale/deleted AI utility cannot receive Complete; mortar HQ preflight withholds unsafe orders; mounted convoy cover never creates infantry Defend +PASS: flight crew affiliation and group precede native boarding; preparation remains bounded even while passengers wait +PASS: factionless/deleted map targets do not abort perception; faction lookup tolerates teardown; deleting helicopter releases without capture/engine access +PASS: shoot adapter waits for a physical round; bounded same-shell retries, interrupted/never-started loads, committed no-retry, order/owner changes and normal native delegation +PASS: observed mortar corrections, radio delivery, bounded expiry, aim preservation and out-of-order impacts; native flight untested +PASS: splash reports retain HQ-estimated movement with matching position/time; stale, mismatched or unsupported estimates rejected +PASS: missing/invalid faction crew defers before any native spawn or allowance insertion; all registered RHS factions have explicit soldier and medic profiles +PASS: vehicle radio issued once; pending, refusal and looting cannot duplicate or fabricate a physical radio link +PASS: actual vehicle-radio link requires the original seated crew, physical manpack and live uncaptured mission vehicle; looting, dismount, release and teardown remove it +PASS: actual hunter release preserves survivors/HQ, releases driving ownership once, delegates capture/teardown, and excludes prison/patrol/mortar from generic objective defence +PASS: actual hunter cancellation releases exactly the pending source/message once; teardown clears ownership without HQ/game/world +PASS: actual player-entry hook latches original hunter capture before native callbacks; both release layers cancel ownership without new entities/refund; bounded current-owner guards and prior-release policy +PASS: real opening road geometry enforces wide azimuths; fresh delivered contact preempts patrol cooldown, respects radio failures and does not starve in-flight interception +PASS: delivered ground search survives the 60-second mortar cutoff, with five-minute/500m uncertainty bounds and no live target reads; mortar policy unchanged +PASS: reserve uses HQ reports/dispatch deadlines, preserves radio uncertainty, spends once, respects cooldown/availability/three-reserve/15-vehicle caps +PASS: searches expire ten minutes after observation, ignore replays, wait at arrival, widen within 1 km and bound road queries +PASS: actual scoped 10% tighter REGULAR aim error and alert perception; preserves equipment multiplier and restores vanilla behavior when unbound +PASS: physical inspection and parent-wreck retention; server-only searched/report delivery unlocks native cleanup once with a 300-second delay +PASS: 570 folders cover 57 unfinished sites evenly; known/automatic targets excluded, late camps included, and exact issued/authored documents preserved +PASS: bounded same-group empty-spawn retries, no casualty refill, queue retirement, delivery-gated intel, prepared-team reuse, throttled diagnostics and LOD release +PASS: four-team/twelve-wave bounds; two-thirds nearby radio defence; nearest selection, radio failures, expiry, perimeter separation, protected duties and independent response budgets +PASS: production airborne memory confidence, persistence, ground coverage, confirmed losses, artillery veto, cooldown and invalid-input rules +PASS: production bounded approach deadline, empty-drop reuse, partial-drop protection; cover retains the carried HQ target until its deadline; airport reload waits until the drop pass and cover have finished +PASS: air logistics reservation preserves delivered search until radio handoff, excludes guards/combat/in-flight orders, and quarantines unresolved native loads/moves +PASS: actual ammunition cargo selector handles empty rifle/machinegun/sniper magazines, preserves loaded variants, excludes auxiliary launchers and tolerates missing native metadata +PASS: original 15-minute launch/loss cadence, active/captured timer disarm, saved delay reset, stop, 300m orbit and bounded close-contact standoff at 30/60/120 Hz +PASS: actual aircraft-removal notification guards owner/server/active/stop and schedules one full delay without replay extension +PASS: actual helicopter delay applies resolved Random values, preserves countdown on save failure, and leaves active flights running +PASS: hill prominence/elevation, actual road edges/heights/bends and server-only finite scout admission, pending stock, timeout and no replacements/refills +PASS: mortar duty scope excludes players, other crews, stopped/client/inactive states; only destruction releases an active assignment, while the gunner may approach the gun +PASS: random mode restrictions, full numeric ranges, independent calendar dates and strict daylight boundaries +PASS: actual killais eligibility includes the 1000m boundary, excludes players/retained bodies/dead/non-character entities and checks full 3D distance +PASS: actual generation scheduler bounds each tick, enforces deadline/candidate ceiling, validates fallback, commits only accepted positions, skips only dispensable sites, preserves required objectives/intel, and resets the next search budget +PASS: actual background activation waits an hour empty without consuming placement time; disconnect does not reset active budget +PASS: actual separation keeps randomized extraction within the escape boundary in both placement orders, including fallback +PASS: scenario validation admits randomized extraction definitions and rejects unsupported randomized site kinds +PASS: terrain placement samples world bounds, retains streaming candidates, bounds waits/work, rejects foreign fallbacks, preserves objectives/intel and validates completion +PASS: actual navigation readiness supports static meshes, yields only for loadable streaming tiles and refuses unreachable positions +PASS: automatic extraction samples the whole terrain immediately and retains geometry/navigation/flatness and fleet-space checks without airport bias +PASS: universal connector, embedded/standalone exports, multiple terrains, stable IDs, native nav configs, missing-nav visibility, path validation and overwrite protection +PASS: airfield detection accepts physical runways/towers and bounded authored markers, rejects unrelated props, water and out-of-world markers, and samples terrain height +PASS: configured airport parsing, bounded readiness, stale admission rejection and cleanup wiring +PASS: automatic default, explicit header/CLI opt-out, editor/authored-mode guards, optional airport override precedence and fresh-round saving guard +PASS: singleton identity guards, paired faction deserialization and client world-cleanup wiring +PASS: task/map/respawn getters survive delayed old destruction and preserve ordinary-mode behavior +PASS: replication hierarchy refuses absent/aliased nodes and establishes delivery dependencies idempotently +PASS: standalone old faction delegates collected once, with null/deleted owners ignored +PASS: actual terrain takeover startup skips mode-less/menu worlds, always forwards super, retains eligible/unsupported/authored/client/editor semantics +PASS: native name callback preserves authored modes, opt-outs and failures; terrain suffix follows world changes, cached resolution and confirmed takeover text restores on cleanup without changing scenario identity or overwriting later edits +PASS: actual terrain parent traversal, Armenhof/Nogova names, Everon alias, missing-resource fallback, empty names and bounded cycles/depth +PASS: actual loading title/description hooks follow late takeover, apply text limits and empty updates, retain native progress and tolerate missing headers/widgets/game +PASS: saved terrain GUIDs, defaults, restart persistence, clearing, backup recovery, corrupt-file preservation, write failures, and client write denial +PASS: startup terrain capture protects client/editor/menu worlds, default behavior, same-map loads and reload-loop recovery +PASS: actual transition waits for native startup, disconnects without bans, requires an empty session, retains every loaded mod, bounds waiting and consumes requests once +PASS: actual faction resolution reserves explicit roles, samples without replacement, substitutes disabled selections, and rejects duplicate/unknown/missing choices and insufficient pools +PASS: Random all submits persistent random roles immediately; manual mixed choices, stale/unauthorized UI guards and debounce preserved +PASS: actual content policy gates parent packs, individual factions, faction identity and finite group rotation with vanilla fallback +PASS: actual delivered road eligibility, ahead projection without chords, reservations, stock road query bounds, terrain/water/obstruction refusal and clean outputs +PASS: actual delivered-task lineage, expiry, old-order retention, native commit, release, road precision expiry and duplicate delivery +PASS: actual original-roster local handoff,100m3D bound,busy carrier/budget exclusion,origin interruption including deletedsource,normal radio delivery and per-source replay history +PASS: actual visual intake retains source/time/position/id, rejects replay, prefers usable own route, excludes simultaneous callers and conservatively resets negative-sweep dwell +PASS: actual fixture local/radio gating, immutable source/time/position, interrupted-report exclusion and exact-owner cleanup +PASS: local-handoff runner refuses wrong project/round count/insufficient deadline before runtime work +PASS: actual fixture allocator terminal/unsubmitted guard, original-group lookup and both candidate gates +PASS: actual report-derived waypoint insertion/order and tighter positive radii; no formation navigation claim +PASS: actual Place/Stop waits native pose update, bounds four attempts, preserves original position, restores pending/settled placement and respects ownership/accepted-move quarantine +PASS: actual fixture current/original recipient ownership, unresolved transfer cleanup, exact-token release and idempotent Stop +PASS: actual fixture phased-cargo readiness, bounded callbacks, captured-stock mixed-caliber selection/continuation, reservation cleanup and component magazine counts +PASS: actual inventory-fixture setup uses ordinary prison unlock before constructing its convoy-waiting probe; failed unlock cannot run fixture +PASS: actual authored storage anchors, native trace flags, own-hierarchy exclusion, external wall/vehicle obstruction, range, unknown geometry and bounded context refusal +PASS: actual Compatible and bounded stock preflight before report/claim consumption, later compatible truck, launcher controls, convoy binding, finite identities, disjoint tokens, shared report replay/cooldown, original recipients and HQ cleanup +PASS: actual finite convoy supply pool; immutable slots, shared demand state, sparse/capped discovery and permanent shutdown +PASS: actual HQ rotates finite donors, skips unavailable/contacted trucks, uses delivered reports and dispatches at most one trip per planning cadence +PASS: actual original turret identity, native/canonical guards, scoped maximum-skill profile, reset, dismount/reboard, requested-skill preservation and restoration +PASS: bounded HQ startup/memory windows and outcome-specific full-route deadlines +PASS: explicit escape-route skips only administrator stress, preserving original full-fixture wait/failure paths +PASS: normal escape route keeps ordinary catalog and generated placement; historical selectors remain unchanged +PASS: actual patrol fixture leaves prison before responder HQ proof, followed by separate permanent-patrol observation +PASS: exact patrol-hq finite responder preparation and native search-radius receipt verification +PASS: actual read migrates old valid settings, preserves explicit disabled state, rejects invalid data; next-round feedback and fixed menu remain honest +PASS: actual automatic convoy timing/authority/admission/one-attempt/manual-task/stop policy; native deployment unproved +PASS: late authoritative failure reason refreshes open result; detach, mode change and success subscriptions preserved +infantry resupply actual rules, radio transitions, owned cleanup and unresolved-operation tests passed +PASS: actual resupply Roster preserves permanent release, original slot mapping and bounded ownership +PASS: actual designated zero/one original carrier selection, settled startup, shared finite claims, no refund after submission +PASS: actual HQ startup grant readiness forwarding is authoritative and fail-closed +PASS: actual finite PMN4 designated-zero/one entitlement, pinned original ownership, shared commit, physical custody, callback quarantine/deletion and no retry +PASS: actual bounded empty-return and finite delivery; phase-isolated callbacks, exact ownership proof, stop quarantine and original actor/vehicle boundaries +PASS: actual shared finite identity reservation; competing consumers, submission permanence, stale cleanup and96-item bound +PASS: actual carried-mounted swap, shared committed claim, physical slot reach, exact two-way proof, uncertainty and terminal cleanup +PASS: actual mounted pickup, exact finite ownership, pre-submission commit, physical custody, bounded callback and quarantine lifecycle; no native coverage claim +PASS: actual mounted courier admission, radio, individual orders, two-stage transfer, reboarding, token cleanup and quarantine lifecycle +PASS: actual scoped crew permit and native board completion/failure preserves foreign seats without teleport fallback +PASS: actual shared mounted stock/history ownership, atomic exact HQ pair claim, and bounded stopped-owner proof polling +PASS: actual carried/mounted early ammunition policy and status-first shared uplink; complete threshold, phases, cooldown, failures requested check-ins and non-urgent detached carried-mine status +PASS: actual group radio startup preservation, finite native grants, callback quarantine, frozen selection/actor ownership and bounded observation +PASS: actual maintenance native-stock check rejects missing/duplicate/wrong-identity/unowned/depleted/malformed stock and is read-only; native runtime not executed +.................. +---------------------------------------------------------------------- +Ran 18 tests in 0.300s + +OK +PASS: actual radio node rejects current incapacitation, death, ownership and faction changes despite cached inventory; one-second capability refresh remains explicit +PASS: Southern finite maintenance stock preserves weapons/clues and optional transport, historical Western fixture stays separate; native capacity/consumption untested +PASS: optional transport deferred behind required readiness, bounded once-only spawn/omission, isolated cleanup, occupied-candidate retention and required-default preservation +PASS: actual diagnostic fallback runs only on failed missing-context call, derives unique native pilot door, preserves stock eligibility and restores prior index on success/failure; diagnostics mutate no game state. +PASS: actual native-prelude cleanup restores only original changed damage, refuses stale/incapacitated/aboard teleport; bounded five-seat/four-door fixture wiring checked. Native execution remains pending. +PASS: actual CreateTransport requires successful scoped Configure after handbrake, preserves ordinary vehicles, tracks spawned entity before failures and never treats failed lock registration as ready. +PASS: actual preparation Configure guards/idempotence/breach preservation, security eligibility/final current-body server mutation and all scoped action guards; all five seat/four door resource overrides. Native hold, prefab merge, replication and boarding remain unverified. +PASS: production vehicle alarm single trigger/replica completion/no replay, fixed deadline/readiness wait, failed audio, dedicated server, moving exact handle, destruction/native end/deletion/clock and mission teardown. Native sound and multiplayer delivery require engine qualification. +PASS: production alarm emitter/receiver original time/location, explicit native queue only, 32-entry cap, 50m local witness eligibility, bound perception, native-super preservation; actual engine broadcast/hearing remains unverified. +PASS: actual optional candidate barrier, exact callback/custody proof and unchanged mine/primary snapshots; no native transfer claim +Native finite mine-stock runner: parser, scope, exclusions and command pass +PASS: actual bounded native mounted proof/detached payload/deadline/cleanup methods, production-only setup and isolated runner selector +PASS: actual one-existing-convoy candidate readiness, sender-root identity, incomplete cargo refusal and fixed three-candidate bound +PASS: actual BMP capture requires complete armed exact original resource; pinned delivery/slot checks and isolated CLI flag +PASS: actual opt-in pre-unlock isolation refuses wrong mode/phase/flag and existing hunters; no baseline service changes +PASS: actual once-only native dry query, exact before/after slots, native refusal, shutdown; shared bounded discovery and distinct opt-in verdict +PASS: actual completion selector and pre-cleanup variant capture preserve separate radio and eligibility verdicts +PASS: actual cargo diagnostic stages separate absent/foreign magazines, used/empty/invalid rounds, well mismatch and exact truck storage/attachment without mutation +PASS: actual native courier witness rejects missing radio/custody/swap/reboard evidence; CLI opt-in bounded; native success remains unqualified +PASS: actual courier constructor/Tick waits for preparation, returns before physical checks, preserves fixed deadline and sticky stop/failure; Enfusion startup awaits native verification +PASS: actual arranged native alarm fixture deadline, single emit, natural-route observation, original timestamp/area/detail assertions, natural observer proximity/activation wait, failure cleanup and independent canonical-body restoration; native delivery itself remains unqualified. +PASS: actual convoy cover observation/snapshot/uplink/HOLD/RESUME/cleanup transitions; native boundaries mocked, non-convoy runner opt-in refused +Enemy optics actual-service ownership, preservation, callback, deadline and bounded-inspection policies passed +PASS: actual delivered cover freshness/lineage/replay and canonical executor; owned waypoint-only hold, one resume at preserved route index, invalid ownership/crew/ledger refusal and fail-closed native recreation +PASS: actual Stinger show/set/help state precise actor-roll effects; read-only help, bounded values, malformed syntax and failed-save preservation; no rerolls/gameplay edits and no native persistence claim +PASS: new/retasked search and radio delivery ammo gates; active tasks and delivered release preserved +HQ convoy delivered-report planning and downlink regressions passed +PASS: actual own-inventory ammo inspection deduplicates loaded/carried/shared wells, separates chambers/launchers, freezes scalar snapshots and treats unsupported/capped/foreign inventory as unknown +PASS: actual carried PMN4 inventory, original-owner guards, bounded deduplication, independent unknown state and detached counts +PASS: actual mounted hierarchy sampling, ownership exclusion, deduplication, completeness/caps, quarter threshold and detached validation; no runtime policy or ammunition mutation +PASS: WORKBENCH opt-in diagnostics distinguish cycles/cap/storage/manager/mount failures without repeated native traversal +PASS: actual HQ original convoy-root admission rejects wrong force/server/group and never supplies replacement lookup +PASS: production mounted structural seat scan ignores >128 carried/cargo descendants, shares exact native mount/magazine ownership, preserves attachment seats and exact occupants, rejects unknown/cyclic/oversize structures; native binding still requires qualification. +PASS: native body fixture uses existing immutable actors, real production LOS/queued uplink, pre-delivery isolation, actual status overlap, bounded cleanup and no fabricated reports/spawns +PASS: actual native fixture lookup selects exact BODY kind/identity/message from bounded evaluations, never sighting-only Get +PASS: actual ammo snapshot comparison checks every scalar/category flag; native probe requires real roster rescan, loaded-round lower bound and separate immutable pending/Watch objects +PASS: actual delivered slot-union bodies preserve overlap/disjoint evidence, replay idempotence, status subset integrity, full-wipe closure and formation-local bounds +test_review_added_allowed_media_invalidates_snapshot (__main__.ReviewTests.test_review_added_allowed_media_invalidates_snapshot) ... ok +test_review_added_source_directory_rejected (__main__.ReviewTests.test_review_added_source_directory_rejected) ... ok +test_review_loose_root_resource_and_symlink_rejected (__main__.ReviewTests.test_review_loose_root_resource_and_symlink_rejected) ... ok +test_review_metadata_media_and_sidecars_remain_allowed_and_bound (__main__.ReviewTests.test_review_metadata_media_and_sidecars_remain_allowed_and_bound) ... ok +test_review_missing_link_rejected (__main__.ReviewTests.test_review_missing_link_rejected) ... ok +test_review_package_guard_sees_new_scripts (__main__.ReviewTests.test_review_package_guard_sees_new_scripts) ... ok +test_review_retargeted_private_link_rejected (__main__.ReviewTests.test_review_retargeted_private_link_rejected) ... ok + +---------------------------------------------------------------------- +Ran 7 tests in 0.069s + +OK +PASS: actual report methods reproduce old starvation; status-first scheduler delivers check-ins and requires 30s without combat or actual visible contacts before negative reports +PASS: actual actor group lookup retains controlled character membership when seated/inherited vehicle agents differ; missing control or parent refuses +................. +---------------------------------------------------------------------- +Ran 17 tests in 6.504s + +OK +PASS: actual convoy motion thresholds, native-only proof boundaries, physical cargo/crew ownership and pre-launch runner restrictions +PASS: actual new measured ClearFootprint 25/441 sample grids, measured extents/height, water/invalid world/terrain/trace refusal plus legacy filled rotated-footprint TraceBox and nine terrain/water samples; broad tree/cable bounds alone accepted, actual collision/nonfinite trace refused, nonzero sweep and ENTS/OCEAN flags, bounded diagnostic query and reset +PASS: actual road interpolation/projection/orientation, six35m starts,200m forward tail, preserved bends, short/far/degenerate/nonfinite/overdense/hairpin refusal and deterministic candidate ties +PASS: actual authenticated convoy dispatch, active/ready admission gates, canonical receipt, safe unconsumed preflight retry, pool refusal, retained partial failure and consumed no-retry +PASS: actual native readiness exact membership, one-time per-vehicle ledger admission/reservation, partial readiness retry without duplicate records and one-pass56-item cargo allocation without replenishment +PASS: actual per-vehicle readiness reasons, native agent/activity counts, intended-seat diagnostics, five-second throttle and read-only observation +PASS: actual convoy dispatch validates before receipt consumption, consumes once before native mutation, retains all10 partial-failure paths, accepts the selected non-USSR enemy, and allocates exact10 bodies without capacity shrinking +PASS: own memberless prefab disables automatic spawn before initialization; actual admission rejects populated, immediate or authored-slot templates before finite crew creation +PASS: actual native seated-group arrival outside35m, native waypoint removal, idempotent advance, and convoy waypoint idempotence/arrival/deadline, missing/dead/captured/reparented crew refusal, failed native waypoint release, original vehicle/member preservation and no replacement +PASS: actual convoy/team Release retains original active survivors and HQ identity, rejects takeover/terminal/unknown roster, preserves exact logistics quarantine and normal eligibility +PASS: actual convoy receipt identity/one-use, shared60-body and128-formation caps, outstanding/native-ledger accounting, exact10-body composition, source reuse, mode/client guards and no consumed receipt refunds +PASS: actual supply route cycling/arrival/stops, finite startup bounds, contact freshness, dismount hold, quiet interval, interrupted boarding, timeout and lost-truck release +PASS: moving-convoy perception boundaries and scoped individual/group abandonment priorities +PASS: actual supply startup reasons expose unchanged body budget/requirement, journal only failure changes, preserve retry cadence/caps and report the true final refusal +PASS: actual combat start releases only exact intercept claims before owning route/orders; foreign claim defers combat takeover +PASS: actual StartOne plus actual pool preserve unconsumed receipt retry, reject consumed replay, skip impossible new-budget surveys, retain equality, retry caps and journal dedup; no FPS claim +PASS: actual admission seeds use exact installed loaded prefab, reject replacement/foreign/projectile paths and preserve bounded immutable identity +PASS: actual primary-before-mounted one-shot batch, shared96/128 caps, physical snapshot headroom, original ownership, callback refusal and admission pinning +PASS: actual bounded HQ query validates only existing original binding without admission or replacement lookup +PASS: exact optional PMN4 startup, primary callback independence, original owner,128 capacity/callback limits, terminal no-retry and callback-proven freeze +PASS: production convoy spacing, physical arrival, stable follower targets, supply ownership, leader promotion and bounded stuck recovery +PASS: convoy combat keeps native manoeuvres for unchanged contacts and refreshes when contact moves +PASS: native convoy proof excludes pre-departure movement and ends via explicit fixture reset, not prohibited player death +PASS: boarding retries only after approach/seat progress stops, capped at three, with delayed native reissue and completed-team preservation +PASS: slow only owned vehicles near fit dismounted infantry; ignore passengers, casualties and released teams/vehicles +PASS: restore missing native driving registration only for healthy owned seated crews; preserve existing association and refuse invalid/released vehicles +PASS: actual convoy support preserves visual cover and ongoing approach, retries masked arrived positions, withholds unsafe moves and preserves ammo withdrawal +PASS: production support geometry rejects occupied, disallowed, blocked and too-close positions; only explicit intermediate approaches waive the firing-lane requirement +PASS: actual body observer enforces owned physical roster, local death-only candidates, native trace gating, budget/cadence/caps, immutable body-only snapshots, radio retries and confirmed suppression +PASS: own initial roster, explicit retained corpse evidence, unconscious/missing/ref transfer guards, fixed strength, no replacement adoption, detached samples, surviving radio sender, immutable convoy root/ledger, mounted capture release and lost-root unknown +PASS: delivered-only status snapshots, two missed check-ins/reply deadline, last reported coordinates, episode/replay guards, confirmed-loss idempotence, detached/validated mounted payload replacement 256-record cap and detached carried-mine radio delivery/chronology +PASS: actual failed-retask deadline rollback plus assignment cancellation/release preserves radio ownership, native waypoint lifecycle and failed-order retry boundaries +PASS: actual force ledger, finite casualties/identity/cap, routes/arrival/elevation/overshoot, server and physical guards, staggered 256-record simulated hour without world queries +PASS: actual equipment coordinator registration dedupe, startup delay, five member scans, finite component retries, unregister/stop terminal behavior and 256-group bound +PASS: actual percentage selection, native/preferred launcher preservation, failure/removal fallback, pending-operation quarantine, capture, finite two-mine grants and no replenishment +PASS: automatic inventory one-shot roll, exact item ownership, finite compatible ammo, rejection, capture/stop, deletion, loot and late callback quarantine +PASS: enabled/valid catalog eligibility, category restrictions, content filtering, GUID deduplication across factions and bounded catalogs and exact weighted ticket boundaries (100:1, zero excluded) +PASS: actual engineer native group-envelope admission and phase cancellation, preparation/deadline, original custody/identity, once-only callback removal, cancellation quarantine, withdrawal/clearance, native refusal and owned-action cleanup; native execution untested +PASS: actual mine selector respects road and settlement flank safety; native boundaries doubled +PASS: actual HQ and post ledger: second delivered post, one query/tick,2 active/32 jobs,4 consumed lifetime attempts, no-stock/query refusal consumption, pending old job and original identity constraints +PASS: actual mine post ledger immutable history, strict chronology/evidence, aliases, >160m separation, detached sites and finite4/32 consumed attempts +PASS: actual objective heading/threat/approach rules, persistent doctrine weight, fresh-contact coverage invalidation, stale-sweep rejection and atomic radio retask ownership +PASS: actual bounded delivered-negative coverage, replay/freshness/expiry/invalid guards, oldest eviction, small-circle and nearest-unswept selection, reserved-cell exclusion and cleanup +PASS: actual five/six bounded hypotheses, observation-relative ETA, future lead, hiding/reverse, local negative weighting, immutable report lineage, road bends/heights and finite cache budgets +PASS: actual10/40m local negative patches, same-cell hidden-ground preservation, proportional residual belief, replay, chronology, physical-report guards, caps and cleanup +PASS: actual operation selection/replay, pending reservations, detached reports, identity/sequence/time gates, terminal lifecycle, bounded ledger, finite roles, no shadow mutation or hidden-player inputs +PASS: actual squad judgment, stable caution, delivered casualty/contact/ammo trends, isolation, replay/time validation, recovery hysteresis, no invented healing or enemy knowledge +PASS: actual terrain survey chooses usable cover/concealment, preserves search and bound envelopes, honours finite support, delivered evidence, ownership, async tiles and shared geometry budget +PASS: actual-action speech, finite current cover, local search wording, silence after replacement/transfer/stale queue, stable cooldown and optional direct speech +PASS: actual hunter reservation ledger, pending/delivered replacement, independent six/eight caps, stale/empty status, finite observation deadline, no hidden force-position lookup +PASS: actual coordinated adapter report gates, local evidence, delivered-force snapshots, ownership/lease checks, continuous-contact arbitration, legacy isolation and shadow no-native-order boundary +PASS: actual execution lifecycle, original physical arrivals, failed movement, quiet footprint, local support expiry and delivered report acknowledgments +PASS: native support wiring requires own activity, soldier suppression, actual projectile event and immutable roster; no waypoint-completion arrival shortcut +PASS: actual finite native LOD leases restore prior overrides and protect transferred agents, player ownership and intervening overrides +PASS: actual waypoint pause/resume owns only its finite order, preserves unrelated routes and cannot resurrect a superseded or deleted hold +PASS: installed native priorities authorize group suppression71 over ordinary combat70, below native healing80; tagged soldier suppression91 yields ammo100, retreat110, medics111 and immediate danger (action SHA256=dbc652e6885f5d52d9dcdd465f74a7f8eb742eeb7f3a47d38fd11bb8b93ed1d8) +PASS: actual suppression and projectile methods retain a fixed eight-second last-seen area, deny blind support, require exact owned behavior, preserve finite ammo/shot budgets and bound retries +............. +---------------------------------------------------------------------- +Ran 13 tests in 0.783s + +OK +PASS: actual coordinated runner admission and explicit blocked-only engine flag; no native launch +PASS: actual HQ active/pending reservations, interruption, committed replacement, bounded coverage and unchanged force counts +PASS: actual bounded pursuit roles/objectives/scores, stale search degradation, physical/busy/home guards, finite lifetime and two-bearing escape gap; no hidden player reads or spawning +PASS: actual finite45..110 radius and both ordinary search queue snapshot expressions +PASS: actual HQ memory rules/service preserve delivered snapshots, chronology, replay bounds, decay, motion limits, identity and negative-search revisions +........... +---------------------------------------------------------------------- +Ran 11 tests in 0.301s + +OK +PASS: actual session Tick + journal router delivers each grant completion and new HQ line once, without repeats on empty/unavailable feeds or unauthorized ticks +..... +---------------------------------------------------------------------- +Ran 5 tests in 0.697s + +OK +PASS: actual current-controller/admin/mode authorization, per-round anti-replay, token-rotation refusal, command/snapshot throttles and client scope; owner-only replies and player-tool cleanup wiring +PASS: mission provider registration is idempotent, optional dispatch is ordered, status aggregates, journals preserve cursors, aliases stay with their addons and topic help is bounded +PASS: actual menu command routing covers all menu settings, rejects unsupported keys, gates companions, and matches unique authored widgets +PASS: explicit weapon retention buttons use the same ready/authorized server command path +PASS: restart toggle submits authorized settings commands; Mission controls fit without overlap +PASS: item editor, preset controls and dynamic item-row layout are structurally valid +PASS: selected choices remain green/red and fully visible when disabled; unselected choices return to neutral +PASS: probability editor and weighted item-row layout have all bound controls +PASS: panel fits narrow/large-DPI viewports, restores requested size, avoids repeated writes and preserves user DPI +PASS: catalog requests use authenticated sessions, independent admin page selections, loaded-mod allowlisting, bounded pages and allowlisted item mutations +PASS: whole-catalog multiword/case-insensitive search, name/path matching, enabled/disabled filters and large result sets +PASS: actual item rules, shared-source conflicts, missing/returning mods, bulk reset, independent named presets, bounds, malformed data and failed-save state preservation +PASS: actual summaries preserve queued/delivered meaning, clear counts and IDs; raw records, legacy display, cursor gaps and RPC limits remain intact +PASS: actual admin body authorization, god restoration, vanilla item deposit, callback completion/failure, timeout quarantine and stop/revocation paths +PASS: same-body revoke/regrant preserves pending insertions and timeout quarantine; new-body binding isolates late callbacks and never inherits god mode +PASS: actual Intel commands distinguish status/start/failure, preserve authorization gate and reject malformed requests; spent ledger is idempotent, server-only and bounded +PASS: actual reroll snapshot, authority, cancellation, ownership, accepted operations, quarantine, bounded work and stop methods; no native runtime claim +PASS: production Intel feedback coalescing, rough secrecy, rate limit, bounded dedupe, local/remote delivery and round cleanup; native UI/RPC not exercised +PASS: actual per-squad bounded report selector rotates visible targets, survives ordering/turnover, records only queued attempts, and preserves radio intake ordering +PASS: actual action denial/clearing, server request failure, single submitted-result feedback, current rescuer identity and terminal/stop suppression; native UI/RPC pending +PASS: actual physical denial precedence and transport-seat occupancy/reservation/access/lock checks +PASS: actual initial admission exhaustion and ServerTick grace; new/pending/empty/controller/life guards, normal death preserved +...................... +---------------------------------------------------------------------- +Ran 22 tests in 0.256s + +OK +...................... +---------------------------------------------------------------------- +Ran 22 tests in 25.378s + +OK +.................. +---------------------------------------------------------------------- +Ran 18 tests in 2.884s + +OK +......... +---------------------------------------------------------------------- +Ran 9 tests in 2.283s + +OK +............... +---------------------------------------------------------------------- +Ran 15 tests in 1.034s + +OK +PASS: actual field result/braking observer and Chat dispatch rules; one finite fixed candidate, deferred callback failure and guarded cleanup; no native measurement +PASS: actual opt-in terrain audit records one fixed1681-point grid, preserves original survey refusal/success and exact no-allocation scope; malformed heights stop without retry; no native data acquired +.... +---------------------------------------------------------------------- +Ran 4 tests in 0.628s + +OK +PASS: actual field PI/ramp/vector caps, antiwindup, braking hypothesis, immutable admission limits and segment bounds; no native physics tested +PASS: actual100m whole-field survey sampling/4096cap, rotated coverage, all-node terrain and native trace refusal; original certificate lineage retained; no native qualification +PASS: actual QualifyField preserves original identity/footprint/time, orders complete surveys before issuance, and refuses failed stages/moved body/expired or changed world; native boundaries faked +PASS: WORKBENCH first-refusal diagnostics preserve ordinary predicates, query order/count/budget and opt-in scope; no native logging run +PASS: actual field startup delegation, immutable lease/target, braking/settling/cancel transitions, early abort, callback scope, physical terminal policy and shared landing demand; native boundaries faked +PASS: actual inherited airborne pre-CLIMB cancellation enables verified native autohover once, refuses failed enable and never writes after capture +PASS: actual Core maintenance/default/tick/stop methods; empty/populated authority, terminal reentry, no tactical resume or new scheduler; native boundaries substituted +PASS: actual finite registration, unique claims/tokens, retention/cancel/stop, readiness gating, capture/expiry retirement and bounded cross-kind order history and typed field/route construction; native boundaries faked +PASS: actual WORKBENCH route observer returns exact retained route subtype and refuses absent/field controllers +..... +---------------------------------------------------------------------- +Ran 5 tests in 0.616s + +OK +...................... +---------------------------------------------------------------------- +Ran 22 tests in 0.174s + +OK +................ +---------------------------------------------------------------------- +Ran 16 tests in 10.034s + +OK +...... +---------------------------------------------------------------------- +Ran 6 tests in 0.018s + +OK +PASS: actual production bridge lookup, lease/world/mode/seat/capture guards, no allocation, native super ordering and read-only fixture hooks +............... +---------------------------------------------------------------------- +Ran 15 tests in 0.051s + +OK +............. +---------------------------------------------------------------------- +Ran 13 tests in 4.710s + +OK +PASS: actual route gain/caps/braking, callback selection, old landing/cancellation control and matching read-only telemetry +.............................. +---------------------------------------------------------------------- +Ran 30 tests in 0.387s + +OK +.............. +---------------------------------------------------------------------- +Ran 14 tests in 0.224s + +OK +......... +---------------------------------------------------------------------- +Ran 9 tests in 0.099s + +OK +PASS: actual gate observer binds native registered action/context and current life, reads accumulated progress, refuses stale bindings and never revives outside original bounds +PASS: actual read-only look observer methods enforce explicit scope, pinned native camera/body/identity, normalized pose, terminal cancellation and original sample/time bounds +........... +---------------------------------------------------------------------- +Ran 11 tests in 0.064s + +OK +....................... +---------------------------------------------------------------------- +Ran 23 tests in 0.030s + +OK +PASS: actual initial WAITING task/guide copy, configured duration, unchanged interruption and rounded progress; native task assertion pending +........ +---------------------------------------------------------------------- +Ran 8 tests in 0.014s + +OK +PASS: actual inventory adapter scope, grid placement, sole compatible host, refresh reuse, rollback, foreign hierarchy refusal and exactly-once native delegation; native compatibility pending +................................................................................. +---------------------------------------------------------------------- +Ran 81 tests in 0.520s + +OK +...... +---------------------------------------------------------------------- +Ran 6 tests in 0.076s + +OK +................. +---------------------------------------------------------------------- +Ran 17 tests in 0.004s + +OK +........... +---------------------------------------------------------------------- +Ran 11 tests in 0.088s + +OK +......... +---------------------------------------------------------------------- +Ran 9 tests in 0.322s + +OK +PASS: actual observer nonce, admission pins, baseline/menu sequencing, snapshots, bounded clocks/samples, cleanup and one-attempt latch; native untested +PASS: actual corridor caps/height/hold and whole-rectangle survey bounds, terrain refusal, native trace refusal and exact certificate lineage; native route unqualified +PASS: actual route entry, fixed corridor/target, hover hold, cancellation landing freeze, shared lease/capture/deadline gate and unchanged native startup/tick sequence +PASS: finite opt-in route fixture, original native input order, meaningful physical-arrival evidence and guarded cleanup; no native launch +PASS: actual Chat route step result dispatch and scoped completion/cleanup wiring; six real early-parser refusal paths leave no prefix/profile output +PASS: actual retained-service fixture entry, immutable controller/token/deadline/count bindings, observer getter and cleanup ownership ordering; native route validation pending +PASS: actual measured cancellation gate, one-shot retained service Stop, no premature drain, immutable lease, fresh real controller readback and separate physical cancellation result policy +PASS: actual rough-intel objective selection, exact precedence, source grid dimensions and unchanged other-phase dispatch; native UI pending +................................. +---------------------------------------------------------------------- +Ran 33 tests in 0.116s + +OK +............... +---------------------------------------------------------------------- +Ran 15 tests in 0.035s + +OK +PASS: actual preparation status scope, persistent updates, spinner restoration, placeholder replacement/deletion/destruction, native observation persistence/timeout; rendering remains native-pending +PASS: replaced respawn system receives frame updates, disabled updater wakes, stale/non-Escape binding refused; terminal and stale preload leases release black overlay +PASS: actual guide ownership and scoped timer cancellation, current-controller preservation/reacquisition, hint retry/dedup and observer boundaries; native UI not exercised +PASS: actual native-end shutdown, existing terminal snapshots, reentrancy, unchanged native end data and stale preparation guards +.... +---------------------------------------------------------------------- +Ran 4 tests in 1.288s + +OK +PASS: actual three-state result wording and UI refresh; stale winner IDs never manufacture escape +........... +---------------------------------------------------------------------- +Ran 11 tests in 0.105s + +OK +PASS: actual immutable target, bounded autohover demand, drift refusal, five-second hold and unchanged qualification/deadline +PASS: actual admission attempt budget bounds blocked/missing prerequisites; preparation, spent life and async pending remain protected +PASS: delayed admission retry retains controller ownership across same-account recycled connection IDs +PASS: actual scene deadline overrides delayed native preload only for rejection; late completion cannot assign, ordinary verified admission preserved +PASS: actual action permission matrix unchanged; useful phase/intel/consciousness denials, stale reason cleared, native door denial preserved; no native UI claim +..... +---------------------------------------------------------------------- +Ran 5 tests in 0.203s + +OK +PASS: actual aircraft cancellation/stage rules, ground-only completion, expiry/capture faults, input ownership and no physical shortcuts +PASS: actual exact-instance single-use qualification, native-clock staleness/movement refusal, footprint bounds and ownership-safe ground/fault cleanup +PASS: actual optional screenshot helper flag/identity/world/life revalidation, one queued attempt, delayed capture and mission/world cleanup; no native image/presentation claim +PASS: actual yard diagnostic exact registered prison ownership, eight native-bound corner projections, no root-sibling escape, bounded duplicate/deep/wide hierarchy traversal; native projection/mask still unmeasured +PASS: actual CurrentActor, SpawnPosition and observer-selection methods reject pending/unregistered/replaced/recycled/foreign bodies; canonical live selection and roster-corpse cycling, unconscious following and prison/geometry fallback preserved; native boundaries adapted +PASS: actual native-map fixture ownership, cleanup and callback evidence fail closed; native execution remains separate +PASS: actual shared-map callbacks bind exact map/config/root, preserve replacement UI/camera, defer focus, and remove only owned delayed work +PASS: actual Intel/HQ methods and one-shot qualified readiness handoff deliver late actors once; duplicate readiness, accepted spawn, pickup/drop, death and original negative rolls do not mint assignments +PASS: Workbench-only read accessor rejects unknown/nonserver identities; Chat observes all distinct ready crew before existing shell-depletion mutation +PASS: actual native-event latch survives deselection, requires exact activity/order, detaches before cleanup, preserves failure/timeout and never infers completion from physical shot count +......... +---------------------------------------------------------------------- +Ran 9 tests in 0.108s + +OK +PASS: actual refresh-fixture gates pin immutable observations/actual downlinks/original activity, reject unaccepted or relabelled commits, stop queueing early and require all queued contacts claimed before replay +.......................... +---------------------------------------------------------------------- +Ran 26 tests in 0.198s + +OK +PASS: actual refresh scheduler/delivery/cancellation/projectile methods reject interrupted or replayed reports, retain committed ownership, preserve immutable snapshots/aim geometry and isolate stopped or replaced orders; native radio/crew behavior remains separate +..................... +---------------------------------------------------------------------- +Ran 21 tests in 0.036s + +OK +........... +---------------------------------------------------------------------- +Ran 11 tests in 0.036s + +OK +PASS: actual full-salvo gates require eight fresh committed physical launches, natural closure and exact finite inventory; reject partial/extra/replayed events +PASS: actual reason/availability guidance and refresh matrix; no-target copy omits cycling, hint retry retained, existing command/admin paths unchanged; native UI pending +PASS: actual client camera policy closes immediately on healing or mission end; late unconscious metadata cannot keep the view active +PASS: actual open-chat capture/context renewal and camera/menu priority, text-entry isolation, held-key release; actual revival camera handoff with editor close/retry, missing camera, replacement body and stopped round +................usage: test_native_package.py [-h] [--project {core}] --session SESSION + --compat COMPAT [--steam STEAM] + [--timeout TIMEOUT] + [--external-addons EXTERNAL_ADDONS] + [--silent-workbench | --exit-after-init] + [--continue-on-failure] +test_native_package.py: error: argument --exit-after-init: not allowed with argument --silent-workbench +................................ +---------------------------------------------------------------------- +Ran 48 tests in 21.976s + +OK +....... +---------------------------------------------------------------------- +Ran 7 tests in 0.243s + +OK +.................. +---------------------------------------------------------------------- +Ran 18 tests in 5.914s + +OK +.... +---------------------------------------------------------------------- +Ran 4 tests in 0.314s + +OK +.... +---------------------------------------------------------------------- +Ran 4 tests in 0.061s + +OK +PASS: actual finite-courier age, token, exact ownership/callback and delivered-status admission reject stale, replayed, captured, canceled and ambiguous work +PASS: actual native-gun ownership gate rejects player/foreign/replaced/dead occupant, faction change, missing seat and missing registry +PASS: four-battery courier selection preserves pending trip/report/transfer identity, skips unavailable crews, and selects the next depleted battery without new stock +PASS: 64 bounded distinct storage candidates; native gates, five-store barrier and finite-stock ownership retained; native placement pending +PASS: 128 coarse+80 local refinement+169 airport grid candidates retain all native clearance gates; real terrain untested +PASS: actual prison registration/crossing policies reject missing/duplicate/destroyed initial gate, incomplete ownership/scan, outside-only body, jumps and stale samples; physical exit independent of later gate damage +PASS: actual prison door execution blocks direct AI/UI bypass while locked and delegates unchanged native action once after unlock and permission approval +.................. +---------------------------------------------------------------------- +Ran 18 tests in 1.876s + +OK +..... +---------------------------------------------------------------------- +Ran 5 tests in 1.106s + +OK +PASS: native local-admission snapshot rejects changed life/key/body/participant/pending state; authentication is not simulated +PASS: actual mortar report ledger prevents duplicate response after cancellation, expiry and interleaved reports; native scheduler separate +......... +---------------------------------------------------------------------- +Ran 9 tests in 0.013s + +OK +.... +---------------------------------------------------------------------- +Ran 4 tests in 0.135s + +OK +PASS: actual aim renewal requires fresh same-report solve and original-command equivalence; native firing untested +......... +---------------------------------------------------------------------- +Ran 9 tests in 0.064s + +OK +PASS: actual startup/generation/ownership/timeout/callback policies and native-counter wait; integration preserves one-shot allocation and pending-crew cancellation +PASS: rapid mortar cycle counts eight physical rounds once and waits for native completion without a ninth aim or shell +PASS: actual probe binds native events to fresh immutable commits, permits delayed emission, rejects unrelated expiry closure and premature stop +PASS: actual noSplash Load body requires both explicit diagnostic and noSplash, preserves vanilla otherwise, and handles repeated Load/reload +PASS: actual fixture method permits one native resilience operation and restores either prior protection state, including failure paths +PASS: actual safe-exit boundary policy, native action/door selection, stop/cache cleanup, separate old mechanism and opt-in runner contracts +PASS: actual one-shot deadline/stability policies and preparation ownership, fuel, cleanup integration contracts +PASS: pending-only cancellation retires copied instance intent, preserves physical/control actors, and stops once +PASS: actual short-cast hit, upward support normal, no self support and no dynamic support +PASS: actual committed-ticket structure preserves reservation after death, rejects missing bodies/seats and ends at observation expiry +PASS: actual pending callback expires an empty-server reservation once, preserves its full lease, and cancels on completion/Stop +PASS: rescue lease expiry/reordering, fresh five-second settling, independent rescue ranges and grounded upright aircraft motion boundaries +PASS: requested guard population requires complete physical conscious membership before deadline +...................................... +---------------------------------------------------------------------- +Ran 38 tests in 0.018s + +OK +.......... +---------------------------------------------------------------------- +Ran 10 tests in 0.002s + +OK +..... +---------------------------------------------------------------------- +Ran 5 tests in 0.980s + +OK +PASS: authored radio/optional-site bounds and physical horizontal/vertical boundaries +... +---------------------------------------------------------------------- +Ran 3 tests in 0.001s + +OK +PASS: all phase transitions, terminal states, defence boundaries, stale/future observations, intel discovery +PASS: Core document-discovery alias, companion-only alias exclusion, strict integer parsing and setting boundaries +PASS: player admission phase/life/identity/controller matrix, preload displacement limits, pending reservation overlap and owner exclusion +PASS: actual gate and pre-inventory document guards reject noncanonical/faction/life/disconnect/server mismatches; canonical reconnect and unconscious carried intel preserved +PASS: WB-only native fault injection restores both body mutations before checks/returns and requires eligible held-document negative/positive proof; runtime pending +PASS: actual discovery coordinates disclose stable 500m cell center until identified, then exact point, including negative/boundary coordinates +PASS: hidden/anonymous/rough/identified markers, toggle transitions, prepared sites, no identity leakage, intel discovery and replicated authority wiring +PASS: actual local admission context/selection/latch, same-round late identity, replacement/mode failure, fresh round and untouched network path +PASS: prison search packs 16 unique 3m-spaced inside-wall centers, prioritizes inner/edge positions and never bypasses clearance +PASS: physical body occupancy rejects overlap, permits diagonal neighboring slots, and excludes own body and unrelated broad-phase bounds +PASS: recovery state excludes dead bodies, preserves reservations, requires controlled rescuers and distinguishes empty/all-dead teams +PASS: actual native-probe lifecycle/counters with doubled boundaries; fixed deadline, exact seven sources, true forwarding, async close, no late updates and selector wiring +PASS: actual one-argument adapter, explicit refresh, native initialization flag, duplicate/blood ownership, rebind/detach/destruction and foreign-mode transparency +PASS: authority-scoped slow recovery, bleeding pauses resilience, medicine unaffected, player-only lethal damage cap without healing +PASS: bleeding severity survives low health, retains armour, causes no knockout and restores the actual damage/blood-loss cap +PASS: viable passive recovery survives native delay; bleeding, disabled/full effects and low-blood resilience do not block defeat +PASS: actual combat injector admission/effect alignment; mild blood-only refusal, native threshold equality and all existing useful treatments preserved; engine consumption untested +PASS: every minute round-trips, malformed clocks rejected, defaults limited to added keys, progression bounds and day duration aligned +PASS: native settings policy matches calendar boundaries 1900-2050, date/profile parsing is strict, authored defaults preserve old worlds +PASS: view-distance bounds, default, save failures, command parsing, temporary ownership, server/platform limits and lifecycle wiring +..... +---------------------------------------------------------------------- +Ran 5 tests in 0.567s + +OK +. +---------------------------------------------------------------------- +Ran 1 test in 0.330s + +OK +PASS: radio authorization/discovery/phase matrix, exact distance limits, defender handover, interruption, empty samples, clock regression and duration boundary +PASS: actual radio feedback policy, initial wait, interruption persistence, resumption and terminal/new-round reset +............... +---------------------------------------------------------------------- +Ran 15 tests in 2.166s + +OK +.............................................. +---------------------------------------------------------------------- +Ran 46 tests in 0.895s + +OK +PASS: legacy values preserved, unsupported fields reported, invalid data rejected, existing files protected, runtime bounds aligned +PASS: failed initial settings promotion leaves defaults writable after restart; prior/fallback saves survive copy, readback and mismatch faults +PASS: real-carrier shortest-hop paths, 500m boundary, three-hop cap, no-manpack failure, three-second originating-call interruption, unchanged downlink hop timing, completed-hop survival, interrupted final uplink, radio loss, capture, motion, timeout, reset and network bounds +PASS: migrated aircraft availability policy (controller migration still pending) +PASS: migrated salvo offsets are deterministic, spread and bounded (native firing and complete salvo qualification are separate) +PASS: 48 prefabs have unique saved root entity IDs +PASS: 299 original script entries tracked across 18 unfinished responsibilities +PASS: 1 isolated addons, acyclic dependencies, 158 unique resources, exact vanilla/authorized external references +All repository checks passed. Native compilation and multiplayer tests are separate requirements. diff --git a/docs/evidence/content-menu-2026-11-06/runner.json b/docs/evidence/content-menu-2026-11-06/runner.json new file mode 100644 index 00000000..650c5e40 --- /dev/null +++ b/docs/evidence/content-menu-2026-11-06/runner.json @@ -0,0 +1,34 @@ +{ + "stopped_unix": 1793972409.1451256, + "console_sha256": "1f5aae3e9252385c708255fa5b400ecabfaaa6477d91993e1aa12ea178e6d3c0", + "end_source_sha256": "eda6a4af3dee957c03145fc726acd44e261bc0c998723e79578a83dcc885c852", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "c5cbdc3f-80c4-4f30-aa80-294ad74d9076", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "eda6a4af3dee957c03145fc726acd44e261bc0c998723e79578a83dcc885c852", + "external_addons_unchanged_after_run": true, + "external_addon_count": 7, + "external_addon_inputs": "external-addons-inputs.json", + "started_unix": 1793972316.640831, + "result": "smoke-completed", + "result_before_cleanup": "smoke-completed", + "cleanup_confirmed": true, + "cleanup_report": { + "cleanup_confirmed": true, + "idle_verified": true, + "errors": [], + "orphan_cleanup": { + "attempted": false, + "reason": "noncanonical-private-prefix" + } + }, + "runner_error": null, + "session": "/home/jakub/devel/escapistsrereintroduced/.local/content-menu/native9/logs/logs_2026-11-06_14-38-38", + "rounds_required": 1, + "project": "chat", + "display": "headless Gamescope 1920x1080/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/content-menu-2026-11-06/source-comparison.json b/docs/evidence/content-menu-2026-11-06/source-comparison.json new file mode 100644 index 00000000..a6fe2b89 --- /dev/null +++ b/docs/evidence/content-menu-2026-11-06/source-comparison.json @@ -0,0 +1,22 @@ +{ + "matched_production_files": { + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenu.c": "cac52cfb9f31ba42daed671e55bf5d55ea0840139deba5d13a0e156ec90559ff", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuPages.c": "fc07549ba14900998223e8c1a95f57ddb0f365d0d687ac4907b0d97ffe1612b8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminSession.c": "01d5620298efff575be3c1026ea7dad7e6feb41a96a3d5dc846af8d001e038ec", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentMenu.c": "d9df3b2dd8fca119ecee466dc71d336b5a70ee7d5fced368cf34e250d22075de", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ItemPreferences.c": "6459e7ea7c10781efa30374470f36829ba214406cf6a461fcbcb432b6fc39522", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAdminMenuProbe.c": "2deded62be82adcf9866dacf8065f0c6a9a643bdd60a1c3e87990e1c70254c48", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemCatalog.c": "5e607807af07b92f62fef2743a9d1734df924bc43d6a67c1f3dc9fa412fc4615", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsMenu.c": "2acdce016628a362dba311965c3417f7e42bf0edbad58ec129b986a3c1c08811", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsWeightsMenu.c": "f0900e42100c9a58402cfdd48b7f27689144f53e03d3ae3dcd4bbebc13a5f61f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_CivilianTraffic.c": "7e7fabafe98bbf04f9dc306b1df331713244d4ed779d0daca51ead613f8b23e3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GarageVehicles.c": "0e080b4a0f2d419e886e5f0a68d9f99ab85250b3c2f9ec6636243cdd34cb2ed8", + "addons/core/UI/layouts/ERR/AdminMenu.layout": "1bb91d6913386635e523336964db7935be32b499ce87cb4c2a4d52d411aa0fa9", + "addons/core/UI/layouts/ERR/ContentRow.layout": "7bf19d12b1b5e2c165f8671e92ae9227b54b4d1e551de94fa67bd54d3a66fddb", + "addons/core/UI/layouts/ERR/ItemRow.layout": "3c7ae3acdf2fad0ba661a1152ea319392668d774adc09a2a8b61e9a0319db312", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehicleCatalog.c": "64f09e15be6acc9e7b44b5fce1107b6f6c34107efc526aab65159722e764161a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehiclesMenu.c": "11c6a1a14c46472819f9ff2e66ba0cd193797127822534b9d6c98cd095d481c1" + }, + "fixture_only": "ERR_ZZZContentReviewProbe.c", + "project_difference": "Rally dependency enabled in disposable addon.gproj" +} diff --git a/docs/evidence/content-menu-2026-11-06/vehicles.png b/docs/evidence/content-menu-2026-11-06/vehicles.png new file mode 100644 index 0000000000000000000000000000000000000000..c4f28a5dbcf5f61c8112a9ed2df393948292e1e7 GIT binary patch literal 113463 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/evidence/vehicle-roles-2026-11-06/escort-independent.png b/docs/evidence/vehicle-roles-2026-11-06/escort-independent.png new file mode 100644 index 0000000000000000000000000000000000000000..fb0006aa4835e443bc42fdbaee7633159338aa65 GIT binary patch literal 110326 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�MR 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 disabledPool={ERR_CivilianTraffic.CarPrefab(0)}; + if(!ERR_VehicleSelection.Choose(disabledPool).IsEmpty()){ERR_ContentReviewFail("disabled mod still permits traffic candidate");return;} + SubmitItems("items mod "+m_ContentReviewAddon+" 1");m_ContentReviewStage=5;return; + } + if(m_ContentReviewStage==5) + { + if(!prefs.ModEnabled(m_ContentReviewAddon)||prefs.Enabled(m_ContentReviewAddon,m_ContentReviewItem)){ERR_ContentReviewFail("master restore lost item choice");return;} + SCR_EditBoxComponent.GetEditBoxComponent("ItemsSearch",GetRootWidget()).SetValue("err_no_such_item_9387");BrowseItems(0);m_ContentReviewStage=6;return; + } + if(m_ContentReviewStage==6) + { + if(!m_ItemRows.IsEmpty()){ERR_ContentReviewFail("search stale rows");return;} + Print("ERR SMOKE PASS: real menu item disable, master mod restoration and empty search"); + PrintFormat("ERR CONTENT VEHICLE INDEX: %1",m_VehicleMods.Find(m_ContentReviewAddon)); + ShowPage(ERR_AdminPage.WEIGHTS); SubmitItems("items list "+m_ContentReviewAddon+" 0");m_ContentReviewStage=10;return; + } + if(m_ContentReviewStage==10) + { + ShowPage(ERR_AdminPage.ALLOWED_ITEMS);m_ContentReviewStage=11;return; + } + if(m_ContentReviewStage==11) + { + if(!m_ItemRows.IsEmpty()){ERR_ContentReviewFail("search lost after advanced page");return;} + Print("ERR SMOKE PASS: item search restored after visiting advanced weights"); + OpenVehicleAddon(m_ContentReviewAddon);m_ContentReviewStage=7;return; + } + if(m_ContentReviewStage==7) + { + SCR_ComboBoxComponent enabledFilter=SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesFilter",GetRootWidget()); + if(enabledFilter.GetCurrentIndex()!=1){enabledFilter.SetCurrentItem(1,false,false,false);BrowseVehicles(0);return;} + if(m_VehicleRows.IsEmpty())return; + if(!ERR_ProbeNavigation(ERR_AdminPage.VEHICLE_POOL)){ERR_ContentReviewFail("vehicle navigation");return;} + foreach(string key,Widget row:m_VehicleRows){m_ContentReviewVehicle=key;OnVehicleRowButton(SCR_ButtonTextComponent.GetButtonText("Disable",row));break;} + System.MakeScreenshot("$logs:content-vehicles");m_ContentReviewStage=8;return; + } + if(m_ContentReviewStage==8) + { + if(prefs.VehicleRole(m_ContentReviewAddon,m_ContentReviewVehicle,0)!=0){ERR_ContentReviewFail("vehicle disable");return;} + ERR_ServerAddonItems vehicles=GetGame().ERR_ServerVehicles().Find(m_ContentReviewAddon); + foreach(ERR_ServerItem vehicle:vehicles.Items) + if(ERR_TerrainCatalog.Key(vehicle.Prefab)==m_ContentReviewVehicle) + { + array pool={vehicle.Prefab}; + if(ERR_VehicleSelection.RoleAllowed(pool[0],0)){ERR_ContentReviewFail("disabled vehicle still selected");return;} + } + ERR_ItemPreferences reloaded=new ERR_ItemPreferences(); + if(reloaded.VehicleRole(m_ContentReviewAddon,m_ContentReviewVehicle,0)!=0||reloaded.Enabled(m_ContentReviewAddon,m_ContentReviewItem)||!reloaded.ModEnabled(m_ContentReviewAddon)){ERR_ContentReviewFail("saved configuration reload");return;} + SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesFilter",GetRootWidget()).SetCurrentItem(2,false,false,false);BrowseVehicles(0);m_ContentReviewStage=9;return; + } + if(m_ContentReviewStage==12) + { + SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesMod",GetRootWidget()).SetCurrentItem(m_VehicleMods.Find("2528466de220d91c"),false,false,false); + SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesRole",GetRootWidget()).SetCurrentItem(2,false,false,false); + SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesFilter",GetRootWidget()).SetCurrentItem(0,false,false,false); + SCR_EditBoxComponent.GetEditBoxComponent("VehiclesSearch",GetRootWidget()).SetValue("RoleTestCar"); + ShowPage(ERR_AdminPage.VEHICLE_POOL);BrowseVehicles(0);m_ContentReviewStage=13;return; + } + if(m_ContentReviewStage==13) + { + Widget row=m_VehicleRows.Get("f001c0de00000001"); + if(!row||!VehicleSelectionReady()||m_ShownVehicleRole!=2){ERR_ContentReviewFail("role browser selected wrong result");return;} + OnVehicleRowButton(SCR_ButtonTextComponent.GetButtonText("Enable",row));m_ContentReviewStage=14;return; + } + if(m_ContentReviewStage==14) + { + if(!GetGame().ERR_ServerVehicles().Allowed(ERR_VehicleRolePhysicalProbe.Car(),2)||GetGame().ERR_ServerVehicles().Allowed(ERR_VehicleRolePhysicalProbe.Car(),0)){ERR_ContentReviewFail("per-use enabling through menu");return;} + SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesRole",GetRootWidget()).SetCurrentItem(3,false,false,false); + if(VehicleSelectionReady()){ERR_ContentReviewFail("stale role buttons accepted");return;} + BrowseVehicles(0);m_ContentReviewStage=15;return; + } + if(m_ContentReviewStage==15) + { + ERR_ItemPreferences reloadRoles=new ERR_ItemPreferences(); + if(m_ShownVehicleRole!=3||reloadRoles.VehicleRole("2528466de220d91c","f001c0de00000001",2)!=1||reloadRoles.VehicleRole("2528466de220d91c","f001c0de00000001",3)!=-1){ERR_ContentReviewFail("independent roles/save reload");return;} + Print("ERR SMOKE PASS: real menu assigns a discovered vehicle to patrols, preserves independent uses, blocks stale role actions and reloads saved assignments"); + SubmitItems("vehicles role 2528466de220d91c 2 f001c0de00000001 0");m_ContentReviewStage=16;return; + } + if(m_ContentReviewStage==16) + { + ERR_VehicleRolePhysicalProbe.Begin();GetGame().GetCallqueue().Remove(ERR_ContentReviewTick);return; + } + if(m_ContentReviewStage==9) + { + if(m_VehicleRows.IsEmpty()){ERR_ContentReviewFail("disabled vehicle filter");return;} + Print("ERR SMOKE PASS: vehicle disable, filtered list and persisted preferences reload"); + for(int page=0;page Units = {}; + static ref array Starts = {}; + static float Began; + static bool Failed; + static ResourceName Car() { return "{F001C0DE00000001}Prefabs/Vehicles/ERR_RoleTestCar.et"; } + static ResourceName Escort() { return "{F001C0DE00000002}Prefabs/Vehicles/ERR_RoleTestEscort.et"; } + static ResourceName Truck() { return "{F001C0DE00000003}Prefabs/Vehicles/ERR_RoleTestTruck.et"; } + static void Fail(string message) + { + Failed = true; Print("ERR SMOKE FAIL: vehicle roles " + message, LogLevel.ERROR); + GetGame().GetCallqueue().Remove(Tick); + } + static void Begin() + { + ERR_GameMode mode = ERR_GameMode.Get(); + ERR_ServerVehicleCatalog catalog = GetGame().ERR_ServerVehicles(); + ERR_ItemPreferences preferences = GetGame().ERR_ItemSelections(); + string addon = "2528466de220d91c"; + array prefabs = {Car(), Escort(), Truck()}; + array roles = {2, 3, 4}; + ERR_ConvoyService convoy = new ERR_ConvoyService(mode, null); + ERR_HunterService hunterService = new ERR_HunterService(mode, null); + for (int i = 0; i < 3; i++) + { + ResourceName prefab = prefabs[i]; int role = roles[i]; string key = ERR_TerrainCatalog.Key(prefab); + PrintFormat("ERR ROLE FOUND: %1 contains=%2 capable=%3 sources=%4",prefab,catalog.Contains(addon,key),catalog.Capable(key,role),SCR_AddonTool.GetResourceAddons(prefab)); + Resource inspected=Resource.Load(prefab);IEntitySource source=SCR_BaseContainerTools.FindEntitySource(inspected); + if(source)for(int c=0;c agents={};unit.Group.GetAgents(agents); + foreach(AIAgent agent:agents){agent.SetPermanentLOD(0);agent.ActivateAI();} + vector target,angles;vector transform[4];unit.Entity.GetTransform(transform); + if(!ERR_SupplyConvoySystem.ApproachDirected(Starts[i]+transform[2]*150,target,angles)){movedAll=false;continue;} + unit.Waypoint=AIWaypoint.Cast(ERR_Actors.Spawn(ERR_Resources.MoveWaypoint(),target)); + if(!unit.Waypoint){Fail("move waypoint");return;} + ERR_GameMode.Get().Own(unit.Waypoint);unit.Group.AddWaypoint(unit.Waypoint);unit.Registered=true; + } + float distance=vector.DistanceXZ(Starts[i],unit.Entity.GetOrigin()); + if(distance<20)movedAll=false; + if(now-Began>120000){Fail("driving timeout role="+i.ToString()+" distance="+distance.ToString());return;} + } + if(!movedAll)return; + Print("ERR SMOKE PASS: newly discovered patrol, escort and supply vehicles physically driven more than20m with production crews"); + Print("ERR SMOKE COMPLETE: vehicle roles discovery assignments native crews and driving"); + GetGame().GetCallqueue().Remove(Tick); + } +} +#endif diff --git a/docs/evidence/vehicle-roles-2026-11-06/final-run/launch-source-sha256.json b/docs/evidence/vehicle-roles-2026-11-06/final-run/launch-source-sha256.json new file mode 100644 index 00000000..4a6c53e7 --- /dev/null +++ b/docs/evidence/vehicle-roles-2026-11-06/final-run/launch-source-sha256.json @@ -0,0 +1,732 @@ +{ + "addons/core/AI/BehaviorTrees/ERR/MortarRapidFire.bt": "16b263bcb2fb3ae361367a600753a829425620d2e6b350a891c51fba47437ab6", + "addons/core/AI/BehaviorTrees/ERR/MortarRapidFire.bt.meta": "f2a44ece28891240e6bfa1d01af29428adcadbe82c80e287eb33cd5e58f1f90a", + "addons/core/Assets/Items/ERR_Atlas/AtlasCover.emat": "0a536cd31d1917965ab36d33e273a881be384eb8b863eb5da03d1666e141d45a", + "addons/core/Assets/Items/ERR_Atlas/AtlasCover.emat.meta": "9f4d59cd6d103547e3e494baf7cc8fce70f31f87c66fe6d26b70011bbd27e38b", + "addons/core/Assets/Items/ERR_Atlas/AtlasPaper.emat": "88a2c1061c01eb96ce8a0f753bd3e89e1d7af01471ccc4abb4774a7aa9a532fb", + "addons/core/Assets/Items/ERR_Atlas/AtlasPaper.emat.meta": "e0093b7df155499444f93a1148a07f66cc755489192db17c81f4035d17378efb", + "addons/core/Assets/Items/ERR_Atlas/AtlasPrint.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/core/Assets/Items/ERR_Atlas/AtlasPrint.emat.meta": "33a9eaa49871813f2e8537f071ea0f5a4422eb08d536355a47314b6b6d845b19", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agf": "48dc42771b7e44994839dfabe9b007c23e37bd9be900196c757f42351e5c6b04", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agf.meta": "c081aec31c927c0c374dcc0f8eb3eaec498f71cb0e2ac746879b926f8dc7d00e", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agr": "8ec57b278c9d63324d00f7af62abf75230c5ef631d1cc070661585ee235c8a1f", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agr.meta": "b045e26f86116703d1b3599fdf747b413cc0064d8101eff659ded0355eff31fe", + "addons/core/Assets/Items/ERR_Atlas/AtlasWire.emat": "372247aac7b84ddf6c66e276d03321d22496e65726f55e490ee7287a90151318", + "addons/core/Assets/Items/ERR_Atlas/AtlasWire.emat.meta": "ea10c7bd630b31febf511fb28a42cc73597fcc1e3010597dc074c651813ede94", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.fbx": "03a654900103878223ab5c4a42e71d17022ca4885ced71b99c67d8c91652b5fc", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.txo": "9838bcb2e4ff1cd649586535ca7d5ad2497e6118cdfb76b8aadabded9cafb938", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.xob": "a4602d65e84cec1b23b6b09b5bc5847cbd52efe82925986c6eaf1c43bec1ac78", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.xob.meta": "04f4039be7950ca393ea74469898dabcfec4dc8b8f9e08068898c00333445878", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.fbx": "4ca13bbeafaa0dc0bf007ae9024b8d6c2a5279afc62e0ebc227e2bec2ad67a30", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.txo": "8ed37705192d3d9b18f26b5deb51af6f2a6d694e7e2dcdbd04b317497610b50d", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.xob": "fe6ea401412fdbb3bb46367cf7dc9215f7d01c6373c8ac954cbf23f2a6927bf7", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.xob.meta": "492a44fc323d3df469753d4bbbc35ceb3d362e734f48083ba633b3de5dd42d8b", + "addons/core/Configs/ERR/AdminMenus.conf": "5a4b405060135efd0f7faf913c7f061f6250a1e6e9d27f2bb394281d784b20e6", + "addons/core/Configs/ERR/AdminMenus.conf.meta": "5faf5ddc0a51c1d0f82d60af00d91edc22fe9c39aac50d8d04b772a2c9271be1", + "addons/core/Configs/ERR/Content/Registry.conf": "546a5a407c9e6c25c9157ae4392898fa3f40c04c7956649e62201f9ac0ba187c", + "addons/core/Configs/ERR/Content/Registry.conf.meta": "046aa988bf8e972afcf7a60b6f2312f605f016f98625dbbd9cd75ebf9ea88800", + "addons/core/Configs/ERR/EveronSites.conf": "781a9a3f4d2d4ea5b913fbfd15c2f1a991efdee7e033b7ba4241ad632609f52f", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/Factions/MissionVehicles.conf": "5f74f4a7089c7e7b54ad62463159ce8f0bab25a6b85268dc3872ea6001e048fb", + "addons/core/Configs/ERR/Factions/MissionVehicles.conf.meta": "00c368b6271d3440cc8bf627b03a384d247635723923fc5ad2104b8b4007b035", + "addons/core/Configs/ERR/Factions/US.conf": "4c3da063abb6e3ee39a6e4e0c5a9ffd5eae9d209d58470ea18b45dba5528db1b", + "addons/core/Configs/ERR/Factions/US.conf.meta": "a05469aef028e9e17eba545e81e2af2887b59f0fef17dac51a23c7b8155e381b", + "addons/core/Configs/ERR/Factions/USSR.conf": "407ea27f80a64c5184c089d43cdd0bdabfc5974c84f1d2a245081fdf2afa3f30", + "addons/core/Configs/ERR/Factions/USSR.conf.meta": "057397d97096346791b51b7b13fbe18af218bcf78e9984d9c01b49a2403de611", + "addons/core/Configs/ERR/GameOverScreens.conf": "1bb83c26a57d64595e91c3ba7926987e22b33dce2c6c876016e3ec2d04f9eb2a", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/ObserverInput.conf": "1efd2e1823f80e6b8a3e4a697cdeb72dd87888ec5a2d16ae289937575b880072", + "addons/core/Configs/ERR/ObserverInput.conf.meta": "9714dce6c38ee81bcc513c8ebef51d7af63fd15bcdda2e40946937c625dc3ba4", + "addons/core/Configs/ERR/Telemetry.conf": "12d895ba4fcd159e23c2f3e94dc59e6f1e54702470cf0b1dad7d04f15572cf7a", + "addons/core/Configs/ERR/Telemetry.conf.meta": "afd52b410ce1a1026f4b0900b10aae2ee50c30764a212a59668233f4f8b8c5a1", + "addons/core/Configs/ERR/Tests/LegacySites.conf": "3864eb638d0ed4dd313013d2d787f975ae6ce4bbe238569919f76b73d5f7ca42", + "addons/core/Configs/ERR/Tests/LegacySites.conf.meta": "097ac7daef4fc18344699a8471fdd77f9d158f8c70bab394068d7a08e4777ac0", + "addons/core/Configs/ERR/VanillaFactions.conf": "db890b61b48ee15484041fd2245a862d9fa9e7ba21b1229c281ff37c448a35b1", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Materials/ERRM_MapRenderTarget.emat": "4ab251037d40a850e3767c0de85136842bcd4fd130eda47bf8e19352b0d030e3", + "addons/core/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/core/Missions/ERR_Everon.conf": "c6cce48484301a76b81f3a0cd76a4012f5808b901754d4114034e92beeefcff3", + "addons/core/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/core/Prefabs/Characters/Core/Character_Base.et": "74a6f03a1e76173a0cfa20b23c711d02e70bac810d6743e16c60476bfe5be457", + "addons/core/Prefabs/Characters/Core/Character_Base.et.meta": "c6b142d1985719236268cdf12ac522fee4b1206871a6f22b568d9198d1fcc077", + "addons/core/Prefabs/ERR/AssaultParachute.et": "b556997989605e2a05982418b7e9f26d12d427eb3ea6e3bc50e85c67ea7aa4b8", + "addons/core/Prefabs/ERR/AssaultParachute.et.meta": "e9dea2d533ad1ce6ce689e0e2815c97a6382e1b90c35ce1efa88a885527e8e18", + "addons/core/Prefabs/ERR/CombatEpinephrine.et": "aa57d78bae861dc4a0fc509f7916190d2f2f0b36a1c3867f9bf9a071717cd7f5", + "addons/core/Prefabs/ERR/CombatEpinephrine.et.meta": "0e19ebd1dd4d81f739125a4dcbff898424ffe39572c2668bd56455d939b3f604", + "addons/core/Prefabs/ERR/ConvoyCrew.et": "29a525a29605386dfcf292dc2316e9fc7650ce39db9fbaa4ce4372ad0de66db4", + "addons/core/Prefabs/ERR/ConvoyCrew.et.meta": "0a909a15b7dcca34202ded136b3bdbbe8898153c9589e1cce1388433d362da02", + "addons/core/Prefabs/ERR/CrashSite.et": "8d06afe6e2db8986f06a7c5d6649e52df009f9eead7345bf2b477f50a0725b3c", + "addons/core/Prefabs/ERR/CrashSite.et.meta": "0f54fe80ed96394374c1922e1d0b05f7e0200ce5b979ff58325b033f51641f69", + "addons/core/Prefabs/ERR/CrashWreck.et": "f5de4785c0e3cdf02f1d5372e9b01171bd5a37acb9c36aa2a94bae3f429b2272", + "addons/core/Prefabs/ERR/CrashWreck.et.meta": "bde3299bdbbddb91d2ef471b61035b6cced29899cff4cd90c080fe584ce63f26", + "addons/core/Prefabs/ERR/Epinephrine.et": "e09c70b3d47a4dc5b92fd332c8222b99554b28a8a0c93cb5caac18eec4501571", + "addons/core/Prefabs/ERR/Epinephrine.et.meta": "f1861f0b0ccace1b7b3d9c29768e37a83bf0c6fae5a411b1bd61d6b2eec7ed89", + "addons/core/Prefabs/ERR/Extraction.et": "4d24c7811415c06386205e5bf5c132a23fcf21e96c75c7657ccd5f3ac914ac50", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FactionManager.et": "d34a8bbc5dce259c4a467c7bfa2ba746683bbeb9448de8c226856e65319f4911", + "addons/core/Prefabs/ERR/FactionManager.et.meta": "9bf53d5e4bcbe60dd1a4ece1409fc23c349055c860708620f5f6e9716290a97d", + "addons/core/Prefabs/ERR/FieldCover.et": "e403d5cb3a5966f0cea81f15e0e825d482ba1a7a27b12498319ba45a414963b0", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "a2b7e632714e646a7010592cc7ac75f0afff7da6c995bf91aaf65d9473a6af3f", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/Items/EmergencyRepairKit.et": "0157bc235eeb78a0e1373b561fd22a1dcb225c833ff7c2d4abae688bca0ec92a", + "addons/core/Prefabs/ERR/Items/EmergencyRepairKit.et.meta": "da6f065cb2414b5a4cbe9ef0f0b1295b2466f26ad406c0bddb83845d4598efb3", + "addons/core/Prefabs/ERR/MortarCrew.et": "21086e886fe3199624208c9a866f883ec109f7d08746c2b56b497e59857fb656", + "addons/core/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "5118ecaf9d2038eea44a4b785f05d2e78781dc1387249aa58a6782c7e6752e14", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "d3eca8fe9197c57a27a285cdb3baf168b037b198d92b39df28a338ae2cfd0c74", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "c0ca5219aa2d6322ba7d094b92000640b259112ff6611a745c0713c8875d09d4", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonBackpack.et": "ae750f08fc9af645561f59d7e5809bd22f4cec26ca8fa6409d09730765958c91", + "addons/core/Prefabs/ERR/PrisonBackpack.et.meta": "7da6aa45467250edc910ad7230dc244d1b041e8a6f55881eb3747ce51f9212ba", + "addons/core/Prefabs/ERR/PrisonDoor.et": "b0ff94443fe334032113a663917de23f920a8b73ffadc9c8e9f11b545022b3d2", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonPatrol.et": "dc88c31cf5c415573a874f74e13572f0add9e6122c8fcad507fe82860d789c47", + "addons/core/Prefabs/ERR/PrisonPatrol.et.meta": "5528e0d778dce5ed39c3e504c6427625527127b23269d20fbf12ca2bffe52ffe", + "addons/core/Prefabs/ERR/PrisonWall.et": "9b410b7c85bb001be4601ad93f750e17b8318b850306d84f29c4dc1b02723d7c", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Prisoner.et": "e6d345ac98ad9ec742bf6c3b8686839c3256df9833d31bb4bdf605cd41d0ba5c", + "addons/core/Prefabs/ERR/Prisoner.et.meta": "974278ba49fafeed70b619a0067bbc70ae4d534be441c812ce2bef4a5fb3c022", + "addons/core/Prefabs/ERR/Radio.et": "99b1d80b49d1e7f9d30aa4283772a36fd66e962369f288f5fe329c7fc911bb1b", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/RadioCamp.et": "5e6216bf8e6e160da5d9f966c8f7c2081bf6dd16dfac1b89d682a14b3b8a6716", + "addons/core/Prefabs/ERR/RadioCamp.et.meta": "3cb8d3d553ab6d8d111a74f721cf4e69ee1011cbb90248b83cdc7275697276bd", + "addons/core/Prefabs/ERR/ReconCrew.et": "33953379ceb725bcd0cbe505cd643c94adaed17dbbfa95dadd404d6b8e345715", + "addons/core/Prefabs/ERR/ReconCrew.et.meta": "2653e8c5b1cdb857de5badd5959ddd9826a6a298ab3c166628dbb835d7104d90", + "addons/core/Prefabs/ERR/ReconHelicopter.et": "c609ee59ab145e0a1936f95726b86df643f5cc425c43924029e9c1abc69ebbd0", + "addons/core/Prefabs/ERR/ReconHelicopter.et.meta": "d80f1c3d6a6f9104562b89729996c1c92ad240f08cdcf48d4c390a09d2047c08", + "addons/core/Prefabs/ERR/ReconPilotEast.et": "d961f329823b991eafed80d085de1bd89b44a4575be98d8dac385d6b77741ba2", + "addons/core/Prefabs/ERR/ReconPilotEast.et.meta": "d73df3c896359a54514d2efcd851f579feca7a2619b76c2a38f607649a31a4f1", + "addons/core/Prefabs/ERR/ReconPilotWest.et": "8f8221927269352e55c8026ee5b00e026c281c79af6684b386f24e7dc4675fb8", + "addons/core/Prefabs/ERR/ReconPilotWest.et.meta": "4785f23bb492c6af420ee7896ddbfc9767e0db1e06de95207df2dc949a1b1814", + "addons/core/Prefabs/ERR/RescueEscortION.et": "aa5cae65250936da239c865fe1070c68a1d20b49bcef37f6bd29021f22c274a9", + "addons/core/Prefabs/ERR/RescueEscortION.et.meta": "34eef8053198a49df774792322c6d3cba81f689e56b6a418aed5a14de0913537", + "addons/core/Prefabs/ERR/RescueEscortWest.et": "6f9671fb68e2716479d96be74b80ffb29fec535f1333c5e4dc4d7b684dca1ccb", + "addons/core/Prefabs/ERR/RescueEscortWest.et.meta": "45a87304712d6a18afb0ddc5b3ccbb70da395541e21aafe9d6d3641c392eaab3", + "addons/core/Prefabs/ERR/RescueHelicopter.et": "d9b3b01a0cdb6ed779f40f14f03dfd8fe732382931cdee02ea643f260783313c", + "addons/core/Prefabs/ERR/RescueHelicopter.et.meta": "f47b4a9a72faddcb5817e396dab7c115ac05a5455e5dc8ca4c6a3e9d5fc4093c", + "addons/core/Prefabs/ERR/RescueHelicopterAFRF.et": "cbd9c88b0a0c798096c78770cdef834cebfbdfd62fa12d96b56e74c5ac60dcb3", + "addons/core/Prefabs/ERR/RescueHelicopterAFRF.et.meta": "5cf8cdd7f34e2bffccedfab0cc0cf266d3c8a6856215e797874c531eb2a3ebf2", + "addons/core/Prefabs/ERR/RescueHelicopterFIA.et": "6aa11ddd56ebc9d0aefd06e1f55c7c61136d5c703b6eddc9cc84f3bcd8c8c26b", + "addons/core/Prefabs/ERR/RescueHelicopterFIA.et.meta": "ac0b32de9818aab77ff42d244cd5165112a7764eb6d289dcfe12ec77ea0c9b3b", + "addons/core/Prefabs/ERR/RescueHelicopterION.et": "a910548e7346439af90bb87e445f056aa1799572a69f87f45addbc17dc01fd85", + "addons/core/Prefabs/ERR/RescueHelicopterION.et.meta": "426a478d15718c0193490d5381f732e4c559348f2e5e9c7eb9473a4ca3017add", + "addons/core/Prefabs/ERR/RescueHelicopterWest.et": "dbf3827f58c27d957aac23f505a24c0af2a8f6c6555a82d0962a0ee5d47efb42", + "addons/core/Prefabs/ERR/RescueHelicopterWest.et.meta": "963b5b22139a2f3496e937855854c3ffe01604b86a93f1fb63b547bc1ba29068", + "addons/core/Prefabs/ERR/ScoutEast.et": "b4593aab494c4f21637757b3daff4f349da77b4c48ec5e8a4a2917a6a12cf811", + "addons/core/Prefabs/ERR/ScoutEast.et.meta": "7c72af632537f687e92f30b52d97fc7d70dadd39d33f37e0b1004f9596f55012", + "addons/core/Prefabs/ERR/ScoutGroup.et": "8dc0fce8ee3decc1c367411b00b6d8518df9d8458281cec0881464a2ce906af0", + "addons/core/Prefabs/ERR/ScoutGroup.et.meta": "62e43fd152ce57aa4ceb2187a49e4aecdeb9f428b3a1e8318f86bb83dbf8a259", + "addons/core/Prefabs/ERR/ScoutRadioPack.et": "f1c4911e2556c0e0caa8b896982190c5e7d0433e850b4610e19442caf9117607", + "addons/core/Prefabs/ERR/ScoutRadioPack.et.meta": "825506e3d814d30a52d5dbf64124470641c07a0453543ba71426841e6c783635", + "addons/core/Prefabs/ERR/ScoutWest.et": "2681b5a3f8621adb44195f0dbca6f3e79ef7decad8f9d0dd0e1a801ec2549627", + "addons/core/Prefabs/ERR/ScoutWest.et.meta": "22a6607b4b8fe606ca75a634a0b2ac3178e7bedae7f9ff01e7a4989f3b39a3da", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "761d845fc1c086da58fd87c8933bf58d46d1ff5e17cca5950141743d07c8ce16", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "4c97b0514fe7e723046f40f0b396f6573b12eb9981ca5df70b9e8aa3cf29323e", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "f33681281d26676fac88736091834d5a7b87fe0fa01883582542df964dcfc694", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Prefabs/ERR/TerrainConnector.et": "cf9cb28f5a3f41931380864a29ac979aa1d5e843456f564ac7a7de78f88e1aa8", + "addons/core/Prefabs/ERR/TerrainConnector.et.meta": "9f37c979ae282aabca29ce84beb0db851ee8b9a19f7f3a64d387c175616127f3", + "addons/core/Prefabs/ERR/TerrainTakeover.et": "63e26db48c624056350f9ee123ae5b815bc2fad392060a9c26cfcd86c0af872a", + "addons/core/Prefabs/ERR/TerrainTakeover.et.meta": "64e953e378ab1d2a75ee7246f876f4ef93ae8a4e3fddb5002d7ba37268cb959d", + "addons/core/Prefabs/ERR/TerrainTakeoverWithChat.et": "aa857f7e8e0585839c7e9b2e3616702180779e68c6fb149d94a83c05bd52449b", + "addons/core/Prefabs/ERR/TerrainTakeoverWithChat.et.meta": "a213272011050a881c87fdd94b229e002ece24f26f25db5fe53824f8a5b147a8", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZ.et": "29f157849f413261494a63d4d5b0a97e8bbe61cb076efcd59d6c940653f23352", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZ.et.meta": "544c94cf1c26757a10654de7856cd6cc48b821ce3bdc02add13cfe6514269915", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZRearSeats.et": "cd4acdcecad299445952aea0adefc85f2b9e9b43f8186f100e0505c5621b3656", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZRearSeats.et.meta": "123955da03462befb90e293b3bb856d49cc761166611b38ff47cb48ec2fbe95c", + "addons/core/Prefabs/Items/Equipment/ERRM_AtlasLeaf.et": "11185bc813c00c5bda09c0afaad78849a1c81d89843e8f7f3a14c0776b8296a9", + "addons/core/Prefabs/Items/Equipment/ERRM_AtlasLeaf.et.meta": "8cdfeb51c3774ed790a223ce74872cfbc4588fb6812a0e98136eb607dcc17d9d", + "addons/core/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "57dfbd215f28478a791b2e029832ddf3c363658d5dd5590cee4db9ec6a8b690a", + "addons/core/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/core/Prefabs/Vehicles/ERR_RoleTestCar.et": "2668ff0a0e80b12f80cdc04632b39b870c55d0d2ab38daf923e267d223d88198", + "addons/core/Prefabs/Vehicles/ERR_RoleTestCar.et.meta": "b8fb2ac3185c16a5c006a21fb7c7dd5c8a467cb01e1cb8a837f7b816fbacb77b", + "addons/core/Prefabs/Vehicles/ERR_RoleTestEscort.et": "1c99ccc57d5dc1622153638bead8fa031ce2cb9444355a88b5bad957de59172a", + "addons/core/Prefabs/Vehicles/ERR_RoleTestEscort.et.meta": "858fe6f5ff8e46992474342dbb68995b95dc1356780fcb1bc777c5417c592aad", + "addons/core/Prefabs/Vehicles/ERR_RoleTestTruck.et": "7f4f051525b4d6447f6df3e75da65a0c89c7513bee831baac8febb0ad2ab5769", + "addons/core/Prefabs/Vehicles/ERR_RoleTestTruck.et.meta": "bd4a554d93805b90b4affe61b1db5d7da8e6a480d62dd61a111b32450807778e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Actors.c": "7258b838f8365e4fa575c4f2ccc8532e22a33946405ebb490120534d5ca65607", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenu.c": "cac52cfb9f31ba42daed671e55bf5d55ea0840139deba5d13a0e156ec90559ff", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuFields.c": "55466b735c5c8f1041ac600338d55847372a71af48ba1ffbde8cce4286e55b19", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuPages.c": "fc07549ba14900998223e8c1a95f57ddb0f365d0d687ac4907b0d97ffe1612b8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuView.c": "6c34557350659782bc1a098169dbbabf1f71502c35cdf711b83ce0efad907142", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminPlayerTools.c": "56780d78bf423f54f482d8620f821b8d3eb0199194482b4f12e37f5ec3f55ef5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminProvider.c": "62e05aceb49da07fed7aa89fb6b2f8eb3efc373ac09eff286fba983c3ad570eb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminService.c": "277df355d00458bf4a337b68feeb926ec4aa12c1546a604d039121a1bde7d995", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminSession.c": "27c88e9317ada33351042f0d1bdbd8e406fd798de34d1057544f1c6165a289b2", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AirfieldPlacement.c": "0601d8da570e1f63e43ea7df451d0e997872e4e163669fd8ad37bedd59de7b9b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_BakedSpeech.c": "d11fff16f86fd3447126701af84c3800860d721263b3c2c16d3b91d686d8b2fc", + "addons/core/Scripts/Game/ERR/00_Core/ERR_BuryBodyAction.c": "adbf4cee5b5f5317b185f17738205f28b701a15364e643cc9fb443866a121109", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c": "8010394e7731d3bc2ce436cf795a37819e16d4d605e8d152027cf391e811d37c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingFeedback.c": "ac554a946cd14f73a5bf79005b8a3f770c9caaf0a6ea409134077b8d96f9433f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingGameMode.c": "1e670937736330716a467157d0f45bace512047d7e87d8678f4ae0ee123969c3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingOwner.c": "3f430930c2598951b75cba157a57967189686ca7a86aff8ecedd20f181262bbb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingService.c": "6efcfb4bb1bdf0da84400eef28a24f6c61e7f446073af2c9667b6f26f0bc47b5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ChatClient.c": "4bf937ff74e0483c17fa0103f73bfee3afd8f67a37c0c248b08772a17bfcc349", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CommunityStatistics.c": "84f2615fac1375bbe3738edd13a413ef1d524dea5ce0195b05b3a957aae84435", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentDefinition.c": "bc1dd4ed27ec894cf4bd617fb226cb8140b544aaa9ef6d8654e815d81e7f6fd0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentMenu.c": "d9df3b2dd8fca119ecee466dc71d336b5a70ee7d5fced368cf34e250d22075de", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentPolicy.c": "3a4987345d5a7159234a7e1a08bf5ac40dd5a23031e9b1953fc43a0501d9924b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentSettings.c": "3e2734dfb935a4e93d79b66ca4a7c883723a1fc348e3595432dbf2bfca643923", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CrashSiteResources.c": "832aebf6e754dba54ba28b8f480180d32ced968a2d2f192424c4007a862c2b43", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DebugAI.c": "bc5529c60591a6c36c39cdb753b1af948690fc3c3c725f38a8d595b41a499235", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DebugIntel.c": "a9f6e7e42a3214879a21052e897f9afc0653c12ff15d5bee7766e26a1af6ab17", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DiscoveryMap.c": "8a8653b322c948c462002077272dae79e2f45a24e883767b3ad9c1f24caad237", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DiscoveryService.c": "552d9e40f72a135f19d25a17fbecf475b8bba8d8b62ec6b6d055c65499a0b637", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DocumentComponent.c": "885c8ab4fc9e64c3f8b40056536096c8c32b011cb340b25ca00353a96da15c69", + "addons/core/Scripts/Game/ERR/00_Core/ERR_EnvironmentService.c": "c0fae5bf51ccf507bc84d44adc2d1dff021cd83653c0468b7645a4f343e3fc8d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Epinephrine.c": "14a75e040f510773313c7e70b57f338821bc1ded650bc65133968dcad6e49c7c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_EscapeGameOverScreenInfo.c": "4746b0715c6e9a527038b47d54d2ff305becea219da6b736f6998d81901143c9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionPlacement.c": "6d388fe21f08b25cbdb5dfa4e198d94a4c80c5092f8d17630a4654e18bf8b3f5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionRadio.c": "ad7fd91d8bb96f05f3be04a03fd00c20ab9413adb12d649d3020c6f7994319e1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionService.c": "c48e79a117990f83839704ae221af05fc7995b956af2d4b4f9ed2a6b91ec335a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_FactionMenu.c": "1deab4c396c307fc17dbaa8731b2943ffb73c37dc0121a5cba5c239c34901ba3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_FactionSelection.c": "04b8bd8a042cf743ab8a87ec3711f9758e7b0112995a9d363e81a63df4eabe5e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ForceLedger.c": "0ecaf1c5a52568e751678b0b1236e91e6adb538f8fbf010d38b61a312d1bf253", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ForceSimulation.c": "2bbb8888c752a3ffc042f3059937526d25ae288af5b4db024cc683025a2605ce", + "addons/core/Scripts/Game/ERR/00_Core/ERR_GameMode.c": "d26e665cf5b9c0e1dc6c5e2da200a99711ef9272718d330f5aa66b09cede40d1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_GeneratedSites.c": "4943f761d0274e163a1da325ac4f750de9180947b05b79ee173e12141bfd6661", + "addons/core/Scripts/Game/ERR/00_Core/ERR_InitialGuardRules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_InventoryHitZoneCompat.c": "23c34f901311dce63a79aafe83c11e2fc25bd3fddb0cde38bd313eb90878ca90", + "addons/core/Scripts/Game/ERR/00_Core/ERR_InventoryLayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ItemPreferences.c": "1319637add7f9fdb122ac130784c5426d90a32380d870df03efcce7f297c55e9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ItemStationLifecycle.c": "0feee55cc5ddf13e00fe73ae3926ec2cadd5ba861d793a939164287ccbe1861d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ItemStationTeardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_JournalText.c": "1ad00a77cb0be741c7b6ef5dad2d8a8c1ff1fcca3b093df2e132ead0b69f74e1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_LoadCasualtyAction.c": "1521af55a34110ce1c971b5226a618a9c6d931622abaae4946d9c0d27c05a273", + "addons/core/Scripts/Game/ERR/00_Core/ERR_LocalAdmission.c": "a076922d1ae966cf5cc67b198166ca6b1288358fb7f641207a4681e6a610a2ae", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Location.c": "6323facd2d5b32382b466a2aa0140064632a8c1de0597e0738cb09a3fcfd7abb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_MenuTheme.c": "90d9babfec7978b3d7f5baffedbbe5c1b54a9742f576f51e6232043e32d1cc9a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_MissionRules.c": "17d1f48878b02a457eebbe5ff87c4267488d68d2a9b3121dda77a8bc8e69c8c6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAdminMenuProbe.c": "2deded62be82adcf9866dacf8065f0c6a9a643bdd60a1c3e87990e1c70254c48", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAdminSettingsProbe.c": "73e58561e08e50008d33f81eed606dd4e8109fb69a627e892d28ca468d641f7d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAggressionProbe.c": "dcda8528a64d35e6aa2f030b59503a49ea8a85ffcc33beaecdf8da00c003b50e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAirfieldMarkersProbe.c": "980025c07d042c2f109e2c99ccee0316b596806ba2c4fcd9446b6ad7580d1d1f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeBaseSmoke.c": "f7697361c6a056a62aff86de7f7d69e9ccf47b92121dcb96ed012ad136e47e30", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyGroundProbe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyLoadProbe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyRemoveProbe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyServiceProbe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeContentProbe.c": "cb0ccfe1e1575f9ed80a8054058b471f3543378db059e6af2fed8eb42a262638", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeContractsProbe.c": "60aa767d9455f2f4958a6a47bd68bbd8ab0466adc8f1dd9ae433c40ae96c68ff", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCoordinatedAIProbe.c": "9104a7a5154bf34906f135f00c5793229e343da6a1ed19dd572e3c1d9821d393", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeDefinitionProbe.c": "904d8d4c3e7b91d49dadfe495fc7b4f02f300e4aaf7efa348df5ca17ec4a6e8a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeDiscoveryMapProbe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEndProbe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEnemyLoadoutProbe.c": "0885ca69f6fa7f53414ce1792cfc3c49916886b8173783c634135c13c5d37429", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEnvironmentProbe.c": "9e2e66ac5d9778a1c65445348e3300cbb90b68b3f669f3ddf1d2b78a858430eb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEnvironmentRestartProbe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFactionCatalogProbe.c": "e3011fa47b67122d7b2c23af8f91b7a217599d6cc114c4f9de628744b9c948d3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFactionSelectionProbe.c": "946879d822e7be2d48e03a3140aa1aad3e3d44dd18507fa3cdedb4c6d7dd81b9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFlightFootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFlightInputDiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeGeneratedSitesProbe.c": "a3202ee4658e98539122926755caf689a693a79642e8c88d3146c247dd961138", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeGuardCancelProbe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeInfantryCombatProbe.c": "3e4c4382ab91f470357268927b954fd101685df6b2244df483f0422d6c0d7da2", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeInventoryHitZoneProbe.c": "604eacdc66cd52bc8a0115862ee7884a8b0f83bdb50609397de671eacd476543", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeItemStationTeardownProbe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeLifecycleProbe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeLocalAdmissionProbe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeMedicalCombatProbe.c": "59c5b04dd32370f8cf5c62fe6931d64209825522127a068b1957e9d1556274e1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeMedicalProbe.c": "4b73e7cf35e9c8fddb089678a320ea58272e1b6611318d0a762754c171eff785", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeObjectiveMapProbe.c": "37e66177ee0f16fc33d3d18321211206bc4f095fccbd17b177d4b8cc1ba4e057", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeOpeningToolsProbe.c": "0c5d6b96ed5a7cb1cf0d098d534dc7190449ed09339062e6b584729d53a61b4c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeOptionalSiteProbe.c": "59d86432c19fd85da30a63087cf1f15375c8ee30178ed7e2765c1bda4cc4d035", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePatrolProbe.c": "5a2af71cc4cfccc7dd7c23584398a38290eba1a8894cd46f6967252ff3a7087c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePoweredFlightProbe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePreparationStatusProbe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePrisonBreachProbe.c": "4889e0d3799a6a21b9f84bcb2f2ae78dce16269cccd1329f8d1fcc1a23e7c22c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePrisonerProbe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeProgressionIdentityProbe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRadioCampProbe.c": "67f1a088f9b20e5f0f11ed3aa083ffa772bffd7c74d85b7a307344ac3d47e09a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRadioDefenceProbe.c": "ff1e27a0ce75b123a86e7df31354831880ca62ea90b6c5d7c60d3ba168e1fff0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRadioInteractionProbe.c": "7b27552d233813894f65c08eb9f04b547c4ca9ff96a2370a763cb94bd4a555c3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRecoveryProbe.c": "d6691f22432b3ce37d07d448aeb3ce7feb5cd09e852e0167b5e4676afd24bb21", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRescueProbe.c": "78f4dc11a179a5b924c0ec1939f0fc1e61d4e6f6647729c48a9f126ee32d1714", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeResultProbe.c": "c9a89cae067f221b9f33965b4d3ab311b78ba79ea383ca65032c4001df44b472", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRoadblocksProbe.c": "6f44725b049f2545a9ce3c94ae3e9134e16077fa017a438fe4f073b453292c1e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSarkaProbe.c": "511816c4b86c9f1392bc4a1d83ad11e082280bec16356d8ab24ac1f2094bba93", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSiteGarrisonsProbe.c": "1a5ff8747d7501862085b5e9162043fee3b05e82c73c516ad8093aaada53dc60", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSpeechDownloadProbe.c": "5377da12cabd58b9105851a2348d7496316db371bfc4346a5fb3f84f245ec013", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeStationTeardownDiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeTimeProbe.c": "4a2c6ffd947334a0a71eac083d10c853c524b00042e9ea0987497c4cee60c3d5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeTransportProbe.c": "7a3fe04aa1c5ed1061ff63d9d5180e8b925932b62d76c1ffb49bd3dc23530993", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeTransportSurvey.c": "e5abdb69c0675a20f4287afb24b9e3c877e91b162c77c32d81ef61e2a8b72577", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeVehicleSecurityProbe.c": "59bce863142e4fba4b6fb2f544bb8a58061f0e99b1a38e5ac291cea919563763", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObjectiveMapPresentation.c": "70339c05c550b72a4fd5890a871c5d8e6a9e574813d61696194c5fbb1475ac8f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObjectiveText.c": "d2fd3670c89d679fcb1359ebccf67b58734fe5168e31fc239bdeffa7f8ff0607", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Objectives.c": "b9cd5bb3b193c20401175c4328405be1b121e8a60b7b5999910b6a71f834af8a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Observer.c": "7c478eff3575eb1bd8a85c08955d4ca7f63b57969cd7b2b76dfd6c42136de1af", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObserverPlayerView.c": "c287a1891451dce0836c6e859eb962c154aad9621a46e50400f44fb83f97d95e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObserverScope.c": "97d29535a0ca1571ceb86996f58b68e5ba0944edfe30370455c52a321772f85e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObserverTargets.c": "1dfd50307b5d74075b90b5f2f70bae2c9488fc12df03d82eb19350a724f910f6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryGateObserver.c": "1e376ca83c0005cf532539e14d7f47363c47b7c5b03fe3d55405a59208705fd7", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryInputObserver.c": "808a46cc1e4b31b65dbbbcdd55493f594ebb3974bbec38b4a2402334c653c0ef", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryLookObserver.c": "d5a1b636938d65e9d11c78b31487f2924400c34d98e2ec812954a2a224da7dc0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryScenarioLaunch.c": "8d8da4c1222dcc6adfee350490f4399b4129cfce7a42b45fd7fba52febfd3eda", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PassengerHandbrake.c": "3078487e077aaed1567894f6df12386aae440b790b6c134118d3afc2c4da156d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Performance.c": "037ffa482e3765bb537629e34f10919d85d4b6bfb0abf56ccc7c0d44fce8872f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerAdminCommands.c": "eca9baa3b07da48a740851583540840f8bf5f65f7be854902a3778f76967faad", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerGuide.c": "dc52f551a1d3705fceb64ea18d882009d9e9548c01f08ae1c7ef3083b19ab2d3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerMedical.c": "270454d50235bc28df9bba4fde2689934578874c4eca9560afb9f0f6324d7215", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerReconnect.c": "478fd041e8a13132df25202088f42d0810d36680060dd7a0424d8f40a5b1ca44", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerRoster.c": "dc785a8a1d78a285fe55ce76f87b78a9f522eeb9f7d9655dfe9b5c4348a26a18", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PreparationFailureMenu.c": "5c31219740bbc26cb903a91f4fe22866c465b38220391093c72a3b094ca30f34", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PreparationStatus.c": "c5cc9125986e2285282f3f7fa9068ca72f00d7e26465d00213e734039c0e34e4", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PrisonAI.c": "67f8b444824634fc37fc253c60fd24b56d06d971f48e56a8d53095c97aaf0070", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PrisonEscapeService.c": "ed180448cb516bc4ec521aedd366810a47787628c7f5ee9c9afdbd185d980751", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PrisonPatrol.c": "284618391ee2da84dbcda4a99ca3c072eae3d67b8a9ef40a86827b9ea00810f9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ProfileConfig.c": "b5aca526a860ed9ed609dc3fad99ebb34d2f6fbd537575a167390472efd4ba89", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RadioDefenceService.c": "f5f0bf1352141f933d0edb5630e30541e001dc07e1d2c8529b29cc159c126b13", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RadioFeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ReaperRHSCompat.c": "bcdf98c05ac6cdf0c7eaa854531b02e9ee4f53fbb346ae01d58114e572e7dd4f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RecoveryForecast.c": "0eda507fb58860c0eac1d957319d1e80e9576a870d22931c86081db748df44b6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RecoveryService.c": "182037828b74938746022ebe03bbd9cf849d52e31067c0b33f392f03969d6162", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RescueLanding.c": "e6f63ee8860335de1125e0a62eae3b8406faf5a5ad2c8d9c6f9a6da077986e56", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RoundStatistics.c": "60e6839cc50fa02df1795a00b93fd431160f9201bdbb6f1e3b9b50271306e9fb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RoundStatisticsLifecycle.c": "b813a9ccea9a61c9c6d7d4806cf18adfb323d483622ca1225930207ca2436d12", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ScenarioComponent.c": "ca6b20d5c4599e31957e5cb464d21bb3a4bac517dd539711f9d4f380e48a0e15", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SelectionStyle.c": "b9ea5158e51559dc13812cdfa8939ac36b58c79b9e4115c72465d869fdf264a8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SelfEpinephrine.c": "da5850374b51e89016c4557d06f3c7c087b6e6e36fa9734b22c7c6c50d757914", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemCatalog.c": "047d8c4c36bfa32e1afed13f8199f01681ebd362c72d87da8868cb6959661973", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsMenu.c": "b81283ec17fdd9f72096901f8bc2a3c87fb8fa4c8fd488579ba0817328b9dafd", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsWeightsMenu.c": "f0900e42100c9a58402cfdd48b7f27689144f53e03d3ae3dcd4bbebc13a5f61f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehicleCatalog.c": "bbc346188ed280d34b1b519ab7c96c6bc35df9ec3e4bfd03591cb9b8008f89f7", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehiclesMenu.c": "d873cdd81b2350acac7068c4d59d5603437561e061a3b9ff2cde2356239da322", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Settings.c": "fc5cbd7f52632228c071b9f14cce7979ef55298672e441f665f0efa97f083249", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteDefinition.c": "d421d70b32bd2b55cd8e4966c04af3d5bc381ac811d3b4b2efa4bc0a8af8bd2c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteDiscoveryRules.c": "dcbce3b7aee89bfc47a50e9de89209758af1f1bb462b99af67a8ad7a26e9f229", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteService.c": "2b283ad19b046fd6b33245d466b197bd05b4c472e128a747e6b1e725f4a34c2a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteSquads.c": "183883783a4e8399cf62851a4cc65a5d091d25131bc53b4323cf17286315b2e0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnClientScene.c": "b56f99a91cdc53bdb93d320d10839339022d7e61e6b101eee8296271abd7d3cb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnFinalization.c": "6ec741f8d19ee316d3c67b0dd2216698584bf2cde3634a3d6a7c3cdc3a3935b8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c": "6d9243f66b4ca8c53d53fedff9dea8986c815e90c1f97de58200cd759aa8b49f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnPlacement.c": "fc5b61f1877aeaee75fbfd6aed3cd0b4c5277ae8543bc38a0c09836353d54b27", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnSceneInventory.c": "76b79d5bd9d1f367e1ed19724302b7d49f8b0ede85cf19e89c452582ef651f8f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnSceneLease.c": "20de7f96bacc9037580d88d4424664b4554b2c082d82e7d29913e9dfe390b594", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechMenu.c": "33f9ef80b4d6cdbf3646eab602d15ae0d05884bb20b3a7222b0648752339cda5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechService.c": "74ea305ac0c9a9d145646a5c73cba58e4920ab472943ae73b3dbd71d8216f752", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartBackpack.c": "4a36799d3a3defd674822974cd96647c0accb2a854631dd5488c35e2ef697f7c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartBackpackMenu.c": "07c90db1a84893759dae71f40b7ae3109827646e48fade542190d21598ac271e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartRules.c": "ab7c21ef700343cbe769d8d51d91f167db37285b466d6af9873e121b3adf4ade", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartSetup.c": "58a6b617b22910d0ce9255f82091dc11cd1284417a66adf1cdaa7b661c1ed01c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Telemetry.c": "b1dc3ecab89f5e6db1ff4ba613b43755a5ae44f3612249288cd134ad850719f6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TelemetryCredentials.c": "9835caf69d4615d6a3fc840d9dc3cb0f507a0c5a2a6490893c21761f9cb4a216", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TelemetryLifecycle.c": "15d2d90d4457339dacd61c1bb23b619243b8af10731687c35ecc300125a642f5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TelemetryServerName.c": "7744762c4586e2543601fb0899847bed311c439cfda3dcaba825adf870628693", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainCatalog.c": "ba2e68543a8c929492d06f8725a743d26849a630d6f8c09be0f23894f92d0990", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainControllerInit.c": "8071e38812ac61f9b480d9e91f9ebc7712b360d431f5555da83027db6cdf2471", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainMenu.c": "1da542ef60ff7c1897b1f12432c636ef6a08cc710bac520ef186589d506e9a54", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainPreference.c": "93fc55f2c33e95adbcf2bead3430aa14bdb55154315760bcc9647f89dc8286ff", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainSelection.c": "ee75cac068b99e7403f5eaabe556152513cf5d973602cc6e6b8967d25402f6ad", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainSites.c": "4ac347d4d91951bcc7175a965ccea25f3782edb6e352354cce506d6b626e5ac0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainSupportStations.c": "c4fe4265963ec88e24379c143edae251452c84e43a3102f5da120205f9a39c9d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeover.c": "ac31af5ff2937f8a1fd89ac03732a8a473b27b09c83a07923f17986b0f9db841", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverClient.c": "70f192d5d749b4211c5604575d2b9d7e39deca589b5841ffdd03f99baeca1280", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverManagers.c": "ab1d64c8073e4daebf14f4ad2c745d874032675ebcac3fdb0fdae4626acb8dbf", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverPresentation.c": "91d450215eb6ed2da74446b5fbb805356e3881e3cb43e37fe45308e30b22be9c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverSettings.c": "da22775930b13e41d4a71409e37af3bb99e4cc1d94bdea0e3b59fbdcd4d40132", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TimeService.c": "63867760876d523a1794f619118a52c5cd387d5d92756cd286b2c16a348a6c7b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_UnconsciousCameraProbe.c": "cfc63058a20fad99e76c59b64d0d288cc3441fd3486ff63a6dde9998b4ab103d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_UnconsciousWeapon.c": "24d31bc857486638e55c605283c17cde0cdbd3c5c6021eac1ec93611387b10d1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_VehicleSecurityActions.c": "bd7d0aeb4abcc9d8044e4888f9a92f9e5fc97c098bdfa3bbad57e1a29697a779", + "addons/core/Scripts/Game/ERR/00_Core/ERR_VehicleSecurityComponent.c": "2ffec4e646584ec546147fc4b08249825cb32b531aba26467b586d760485adc3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ViewDistance.c": "8514f72f8207f12570d2317e64094a45507a1647dfd45a1501499ef81e90189f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeIdentity.c": "8624bac67c1990f87b3fb799361e5facd31c2e03cb621563b9c73c4fe9d7f87b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeVoice.c": "a6a9a816dee1c766675990c158a757cf9ea8628a7b2b0de991af67ff4cd23e47", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZBakedSpeechProbe.c": "533c89b6a258dccb61d7ff6abe0a43da58d52ffae60735a38c2545fbb4480afb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZSelfEpinephrineProbe.c": "a13e14d1ef525209d4609a2532c6d72135377ce058298937b632a91eeb6392fe", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZStartBackpackProbe.c": "6778cd98392f4e73dfe974782e626d98472251c1266698020d63edf8fe735bcf", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZZZContentReviewProbe.c": "ed68df0e1f0d60fa90cf43e6f5d7d4bef15629436667c115810d9af13241a7ee", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AIDriverHorn.c": "db9f100c6cc10efc6f5b86e8fe9adb75657ebabee6f8bf0c89b997c2e947750a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirAmmoMission.c": "0a471a40c8f7dfb797d8d35e41c5b1ff91e8d2ab13b43cf866e46c0e4ab4ed9d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirAssaultLoad.c": "de7b6c485167ab68ab0b37b96fe161ee821c2efd41362172b810448a02110e68", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirAssaultSystem.c": "2eaf9816eee3e1cd2ac70744a6ef7ea5a90d0a3eebdf925e384028a7edde6a42", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirReconSystem.c": "f8a0e3cf4552d8133efd33c2126ea15a7694676773a7047c15e00021c1d9721e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirSupportPolicy.c": "c1a7ac8759ca8ec8b43cbccf303255a2f0b69de447d0d991e44b6bd3db415d51", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftAmmo.c": "2be282406d0c45ab2e35b0ced791b5e494c662588f536701a4e82e6f5fb7c913", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftControlBridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFieldEnvelope.c": "0f53c7d9ab167a804eb904d63725decebb53fd5796fdf27864a75abed5679838", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFieldFlight.c": "c04e264cff9963821852094c451502d31bf9c96d4deae2e8ff8a2373b53b5665", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFieldRules.c": "30be68f4ca2db7e169f6f0432815821179cddf9159f7b150341dc8eb479bbd17", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFlight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFlightEnvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftRouteEnvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftRouteFlight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftService.c": "3f05209227986b5c6bfb193f8f53783cfd4ef083bce898e22257c3e63daed913", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirfieldSupport.c": "c6d88ede0b1b6bac5a7075b6e2e783ccfa8850210aabd28bfa4bcdb698cc5f87", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AssaultParachute.c": "a93c996059e7166988e9d1b0b498cbfd36f19a1cf8520cb4e9215a8884752e18", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AttackSpace.c": "e7be303231b5946d78c61480a5de3f5b37a63d0d2281a9a30a21e59f072904d0", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AutomaticEquipment.c": "8658421f846fcd3402289103762edaccbe3ca26280d7d72df2846c32ae8a4cdc", + "addons/core/Scripts/Game/ERR/10_AI/ERR_BodyRecovery.c": "f5fc311ecac4533c2d053a686c51e71216e69130a34483f27146627172914c99", + "addons/core/Scripts/Game/ERR/10_AI/ERR_CessnaBridge.c": "f1adb0f9b92f6ed94a8e9897b64e2fccba0f28552525a93f1ab893faa4fc5da2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_CivilianTraffic.c": "b6509be9cc891ba4c1fc0f3fed8b09ebb31ca69bf2e5b28b50a6060706baed73", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyBoardingProgress.c": "328f8a5eabb8174b7727eee1d675db83a2eb0be7b8e834db4e950a645ca5d7a3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyBudget.c": "fc7e254056c1da4aadd26d4f56d51ee375d5d3331f5f7e5183581108c7474a10", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyCombat.c": "5c4b7576b28d51edea868cbb91a0ab31a40e6ddb558f1b8a38e07e20fdb2969d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyMineStock.c": "4497d6b790a45df2b76d18541ddaf299b406def88b868caa29f096849026a42c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyPlacement.c": "af4799e3028448e1a73f944989313e5d10c6262521bd29a8cdd5236842717963", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyRoadPlan.c": "fae404f85cae63e63976938a5fdb73efc988ba25c5846564f12edca04fb88551", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyService.c": "5abc35861aebf2e4ad00de11f040d01f784c6f2184de2e10beaf46a74ec8758c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyStartup.c": "360228fd45aa6ecd9426e36120b5e637d2feee1e3a4a89aac8207526b871c87e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_DroneBridge.c": "9ad23a763c5995b2ac6f68ed02def487b0ba887e8ca68f0e546d1b6812504cc9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_DroneRecon.c": "dc685b57c884d733e0ff90cf7937f5664ec08545f4cbf59d63bc8a84383dc442", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyEquipment.c": "dfb6a7aeda23adb8aff2292753b694770affc9855bff9fb11d50bb534f9219eb", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyGunnerSkill.c": "adf8bac5a6f7e40b2f9caff5fe9be590c4e4ce2b2b387ba39e741a3c4f4cc564", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyLoadout.c": "a48f32dbd7f209bf08fce2840aaffc1781c571fc679763be58987f6b082e776c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyMapMarking.c": "0f161fd3e08a54e3e1063679127549e482c40253a022e9d06cd9ee4d740b8625", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyMedicine.c": "68b65c98214e1a27383e155727901a4f70e9c065bb0cf133bdcf7fe6d5a57a40", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyOptics.c": "215e8a05594c541861b48e093520c00091708eb0f3635dcee5d0b5e1160230eb", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyRadio.c": "3a97e5c3de9ff33873d97c6b2d84ae505cfc4f3146e047b928e76ec3b22c8789", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemySkillAwareness.c": "00c450d033e43fc45c9e2cb64a1d81161d123cc594a4292cfc5f68eb6c17ee60", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EngineerMine.c": "067bed625a3f4d0fa189f46476988e90528c59b2351ec0ea71916317b06efabb", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EngineerMinePosts.c": "bcddb72845189b52e5ed71c687d7dd4b0b40b91b7306c3f6edf84a631002fc5b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EngineerMineSite.c": "d838f5693d4fa5d252d529e59777f560674c02532f1041a5598e938b3a850839", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EquipmentLog.c": "df9eec7f94e4bf1b30b9463604e9b97ba3cbff36028a80b81327b0b021cbb2a9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_FiniteMagazineReservation.c": "8278590ced1936d618905b0cbd0b5aebddda238d426a6a2a52e455fc36bbb502", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GarageVehicles.c": "673661374e0854fd896d3d51aba84c07088057c941751b311daa4a97b899633e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GroundDepotHQ.c": "c51fccd0ecdb0a1d6ba99ae965e2e572fc1ea65a5d8dc2e1e2a058698dae45c3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GroundDepotLoading.c": "6abb278409527bb67db084138a773de240d99ba7f63f9ac740f8167615d53f1d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GroundDepotTransfer.c": "21daa9ed8cb5f2dc08a0fa85e305fa4b4f3e7b01e16c71fd1ca98d66a4e8b652", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c": "9bd25f9fc7e574c515c7131e8b52eb357e295822e1ce2f401e6e86cfd6ce062f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQAdminProvider.c": "8879febe59fd99584add06690b29853f7cf14b580bb15c9a955cf1a2ce033908", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQAmmoReporting.c": "95c024cbdd35c02d9b0c3d389d29bb042e5dda6ffd2f5f0d896078274b3adb35", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQAmmoSampler.c": "8bb0ec1422887feaa340307d3c60bae50fc82d424fce6390876e580ff8b75e8b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQBodyObserver.c": "f59421c1e0c83f0f480d7dd4d048b4b0a41193ed8fe8f2f627d2b6a696420ea1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQCoordinated.c": "5b67ad624c4a6b0bbb715314ab9cf14e527018fccb7d38af479184b4952b8c49", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQCoverage.c": "0ef1ed718797114d95c636c8fa5a9e46a5f2a7ccbe3f432049b0c7d37f1eebd0", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQDeliveredCasualties.c": "1f738127e55e843ee2705007cedb5c08741f52f63c75eca7c80242177af82273", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQDoctrine.c": "6335728e89ed40ce11b811f00b61bfea76e94dd3379e4357cbfc438b05522bb0", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQExecution.c": "d286b8273faec0acf87366bf53ad2517d5b7d909741e981cdf283cd1f4f50314", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQHunterOperations.c": "b9200b6de3a3a61de94ad720aca94aca64db542acc64ba65e7b8061a5e4884e7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQHypotheses.c": "060796bbbed604f9733d23e131c9836702870c6e25c81cc0b396c885eb06ade2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQJournal.c": "53563ff54fc4e0656713d6eaec5e88ddf69fd4bfa8ef6a67cfa13380d24031e1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQLocalAwareness.c": "124260280ac8eda0e920bfcfc86932c9b21df6b1f7a6aa8acfc43feea3da149f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQLocalHandoff.c": "2dd700dae9d9b232d22ca63ff01af75a3f5cc213ac24b7c0a43ffa38bc0b9ffa", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMemory.c": "ec2047a477fb4273e22ae6bb68e7365f321f55c583b5d2c48c4abf2ac38e3b7d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMineSampler.c": "2a0fdc4d27e947a1d77b02ae23f757c7fa074eb456f817b7df0766583d757f55", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedAmmoSampler.c": "97dfab7381385959b0906be13fa2575253ac43be91a271a5d41edaf4106366ac", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedDispatch.c": "12769b56019e9fa5b8141498a1c33814ba5262253193495e72f85972365961a7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedIntercept.c": "5f45545c11de5e183969203cdf07e29089697ddc89752a9c5aea0fa2a1a33a97", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQNetwork.c": "0b73be993628a55e3b21c8670d540e39c938093dd5cb4d586e800ac530509b25", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQObservation.c": "57ad3f0b68d150791e30a7e4bd7dfedfb1ddd78a1c76f228e67b33ea9cb7144e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQOperationSpeech.c": "6f133c104223ce23262c2927db9e16df0f76f1ee647085114baef1d51417f4f3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQOperations.c": "b83b805c61c3960801d24ae54854ba7aa4dc914ea89e61db365b5ec99f305ae5", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQPursuit.c": "280e91feecc4e5b6d0886fc4201b12117b58c56857d4386b6c4cb963557274bf", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQReport.c": "4c0c1f0e33f621d1e02375cf4f56b0e8c4ba6fd851912d3d16081949bae46158", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQRoadIntercept.c": "f87727aa1c722a180c7b71fa2d896601b6250978a21bd2d1e973501fee81373b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQSquadJudgment.c": "12e9ccc9d42a858a998bd46708fbb04d05d48dcf460303a5ecc1629021051bb4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQStatusSampler.c": "b937eaed913a5095afa8e678dc1c36b5c805541bf8cd5be927069533d6baed1c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQTacticalGround.c": "eba9a9cabdaa80b936aa5e7025544e8b011fb597b96cbdb8d781583c025afbe8", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQTask.c": "29359f52734cbf3400e12696057bbb7aa54466a018fc88c42015b6eb9bb9990c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQWatch.c": "abe634cf6003ae920ec1ed18e305ed462920204960894520d3dd11f7e5ef1c33", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterCloseContact.c": "56f22051566354ccdc61531af4869b62458a30d945e4d21de5aadf7079d2245b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterCombat.c": "df1c319d10efd07ed6f971cf0e41d8d7e377b04ea7f0fe143bf94df733fd1d9c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterCrewRecovery.c": "22e192ca222017d4d7a27210c6e42cf0f128827bca00b37924c9c8d6866b62a4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterGunTeam.c": "0e66d82964ef8eeba29de11d5bb2af954ad72a8090855ac4c1b28fe1e66c0d69", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterOpeningPlan.c": "7791513b8b41f4d2ba1b593b5219d7f6e2bf036e352f8e4eb1a8029fc97ab7c8", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterSarkaRules.c": "8c8c96e2f985f553e303f7e459b73a2a5cd0051951b22aa0ed364bc2ae19e194", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c": "c938b8beb3f72ca1b2a76b48052dee70fe52651593dcdc16b7993a9398bc92e8", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterTactics.c": "274ae619589b85cf64df1510631ab914aa9fe8c50fc2a76e6e8c5aa5a2c8d9ba", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryAmmoAccess.c": "ab4262f78d54782c5ecbf5fff4ebe3da16d72329658d7e18c0c35387dc8b3c7d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryAmmoTransfer.c": "99fa26beb0c0869d0cd694500f3bfc0705c2c1cf674dea90d98fb93a59570ef7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryCombat.c": "5d7a8e579edf95003133ddb6e509202dba56ac9e68385247e1ac0256c1b319ec", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryMineTransfer.c": "02c399413f80879c22b4891e8ec807c67a6235677095fc4b98bafdc360d6944c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryResupply.c": "ca8eee2704e7758172e33014404bb1307c683f19b561b840d4592f6312051e62", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantrySupplyPool.c": "c8e454573cf064ff392291d6feebf1f23be64390b5b8e944c03dd065f9f46b42", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InterceptVehicleFootprint.c": "5dea67d14ebab67231c485e14bc92f34c005a5f1bf6d9c0943db28e9857e958a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_KnownMines.c": "045468a052e485a91da601adcb42b504bb6e4ff13b096bc0666128e50a6aa9c6", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarAimSolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarBattery.c": "157024afc8fd3c1ffeea6ae923ff091e5773b9ffcf5f5864f8040d001e689110", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarCourierTransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarFiring.c": "2606ed8c19d5569815dacd3248f012072bb76834f429ce7557d24d884724f733", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarLogistics.c": "b3624e4a00a2bdef16f6c100bbd79910e3bb8c2ae8ec5fe2ad5aa70bffecd303", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarPrediction.c": "05863b2b4f9f70cdb288f91c722cbea163c13f2a2927dc485482e5bd4fa7d57f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarReadiness.c": "4c3799b3f2681e977669de0cbfaeb307d9a682b04365bfc9f59079e762965758", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarRefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarReportLedger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSalvo.c": "c128850c7a78a4d8fee00ad38f48b265f1fbd1d9b24b092ddc5c205b0f0ad6da", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSpotting.c": "39b3c223ade610ed9f1d73040423339ac65c90b153f30c6f5c42290978c57427", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarStation.c": "cbbd7c86f722b664c85ab7c070ae1131d2ce5c41d1dacb4381bff9c1720a1866", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSupplyTransfer.c": "ad71084f507ad9c32d3055e7ec6844a1ec5ddf568c0216ab8391e902b56e417c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSystem.c": "01bae0bab685e9f0c86c3a8939d18ce6f20dc0b8c1a389d179d91e93008c6957", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedAmmoPickup.c": "5f7ca5b31f3b405c2a6ca32ff91042f5b4dac6ab9640ce67fb10d7a74236ba69", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedAmmoTransfer.c": "0b195784497672fdaf651f336c14f7be98c257f98c85cfbeb4f96fe1a401999b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedMagazineSeed.c": "b42d0aac142907433df8bedc40de24c94813544016cf5f451846f1980250f995", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedResupply.c": "c26ad43705765be1c20eca37fbe2978b8c647151f6620ed37141657a4b7dc312", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAirAssaultProbe.c": "c1d55b338b157b758e6ffb993d5f689029b28b13929797c91e5dcb15b5e561ea", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAirLogisticsProbe.c": "58fe863775d0ad575cb566c78cef696c9826691cf49ef9adde76376be7316db1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAirReconProbe.c": "c1216e0512a0268e4dbb82429e228334401c0c3cac52ba4486ae6dc91e41576d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAircraftControlProbe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAircraftFieldProbe.c": "b64907c7566a894ca2f3c49ede5d972d4087a938da1a0ca87bcbd7c2203b2c52", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAircraftRouteProbe.c": "8d0dca97e5106d1c84b64992c789e1af0689514beefc027e713ca6ab901fc470", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarCourierProbe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarFiringProbe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarSalvoProbe.c": "fb9ccc6b36247ab3ad828ffbb2556abf5c2838d93ea6cd1ad259c0a015142f5e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarStationProbe.c": "a110f0abc753cb1d2f781e457e637dd5346ecd2e924eb5eb3a5c7dca3d1e2340", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarTransferProbe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativePatrolHQProbe.c": "9784b551cbb91f017004fb728ce08b5c36bead0ffc83aa7149c2c46a7c4dc495", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeScoutProbe.c": "41b39b1abe5e51a5b8a428d533cccbfb0dda9d7a570228dc3489408c60543f17", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeTownProbe.c": "28876e65f9f8a7d96d8056f446b61e12e97d9bbf1a5ac0d4c40edee44e6c4a21", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ObjectiveDefence.c": "83ef91c2118521aedb4c1838b2e47909c80e0950086449b98ced168f1fd87080", + "addons/core/Scripts/Game/ERR/10_AI/ERR_OptionalMotorbikes.c": "87cf6544983386d29058a6f892aadbf242a517cfff4ed24348f56a72bcde8cd1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ParkedCarCatalog.c": "1d865c263e910071b127ccd1bdc8b58dd45768c4629194da49705f76995ff0e7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_PlaneFlight.c": "14fa2328e1d31cf59fb89cbb53ba33224be6cfcdd2813525fa9585f8b2e237c7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_PlaneRecon.c": "fe94c29fd9befd3c1bf3ab97b9b27458a8563697d4d46f72df43c6e642f3664e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ReconAirports.c": "7551347d776d6e0eec818d6468cacbca7ac53daee7317e0a1618ca3d39ebc762", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ReconCrewLocks.c": "83b63c21574140208792aaf3d24e3d22b255a078871382122110bb48520d4541", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ReconFlightComponent.c": "1386e2a2d2a635417ca517aa1d8ddd4f657dd415ff59be2465543cd8f601e7a9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_RescueAssets.c": "fca1a4518baf09f0b2c97f3a51995001d9674849417fea9ca1233e8d1f578495", + "addons/core/Scripts/Game/ERR/10_AI/ERR_RescueFlightComponent.c": "60db8029bbfbbb362b5bce61f509740eabea5925b93bc975e7c2b44addcf03f3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_RoadblockMining.c": "47d0212cd20c0b320a47123d17f2b89f7d60b44072a00c69944ada7bb83c4e5a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_Roadblocks.c": "879f78beeb284d1298ec49dbca9624c5f3899ffc6fcd376e748bf55e4347d4bf", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ScoutSystem.c": "63287a252e4e7d5aefce840279f26ce3e1f286cb79cadb32596c37897cec7119", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeech.c": "ca87494ecd355052b46b72e2faf13660e458f3d376285bb0e4c20fd0112ef2e2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeechAudio.c": "4734d614c5366ae3ff57717f514664c9dfdbe4408e16ba36f6b10d807361e313", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeechContext.c": "d2baa94f036f7dde5cf24e004ad1fb9416f249cbf7d0c6c07c5898f7d21751be", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyColumn.c": "bd898aabcac5724d60dbecc4ff5ab6f062c66cf7c735ff59127c588ff94f898e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyService.c": "5393efab9d663382e67b9b27a388063986a4f99c2607328c998f007588074ca4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoySystem.c": "f09aa817c27d6af0ccfb544f4ab1ae2afafb63d626641e03d87cfe159475d821", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyTactics.c": "d2fe073b0c23c877afaa65e246544751eecabce4febd72412fc9a4ec18eb1c8c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupportScenario.c": "151eb6189701e559bd4f1359c91187f5a64deab1f2bacbd521c4f4cf3de6d878", + "addons/core/Scripts/Game/ERR/10_AI/ERR_TownGarrisons.c": "9b48331ff8bf7e5a111b498c59a57a5d0210125af983424535286a4aeda9a18d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_VehicleAlarmPerception.c": "45ac71d25e10a057a26a5b0fc7128935baaf47f4c0f87208a4420fa52086fd98", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelAdminProvider.c": "40adf8497b64cc74b1390149fe5ba789ee2f14e6fb3c325af8f5ffa8c806878e", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelDiscoveryFeedback.c": "741de1dbadfd46c154905a0918aad41386ddc139d843553db55d20d60700c020", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelEvidence.c": "ff436bd3c7aa0fcd5c24e940430c1ffdda934889953f63e877ae418bc9557d26", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelReroll.c": "d8b04de9ea789732cc78ebce9aa60786c86fe46d05f671cf251eefa68a214b59", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelService.c": "2911325c79a7a372628b18ffa0e110d11919ce2c2cd7b19277bfd608fdb03dfc", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_MineIntel.c": "3ce16cebaa9703b2f9803df7c11614f94de6460a9136dab8f80dcad41ae2b1c2", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_AtlasPresentation.c": "f0b36472b16477b8c3b5b62f55cfb2a3b3a08304b0779bc39244359af1abe203", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_NativeAtlasAnimationProbe.c": "845b39276bfdbadd6bfd9b41f445fce1a9d40231d38ef32adc7a6654868e17f2", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_NativeHeldMapProbe.c": "46c0210a3aef40fc34e4c9682d9364b1cc1e15d4373d8aabfeac7d9b8e55c351", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_NativeMapOwnershipProbe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_SharedMapComponent.c": "73298c94ecc8d227452b0eddfcaec7fe9df4748875fa7fafcc52544a43658f36", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_SharedMapPages.c": "2286d327b87f127f052e06c22f553b30ea31d25127b860fc02a220aeb4ce3ea2", + "addons/core/Scripts/Game/ERR/30_Map/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_AdminCommands.c": "282fe1463add7af8771aa58507b254e69d2d06f50274d4c77321db073f8394f0", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeAlarmHearingProbe.c": "5dbb6a48909b76cd141e3a79ef01d2e68cafee55153821c4471f85c761fff94f", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeConvoyCoverProbe.c": "d2450140cf9bdf09210473234605b4c0d818ea5b91f9532209166a35c5d13701", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeConvoyProbe.c": "87df652b339df4fe4239617752ac5fd9f47aa4396ba94742a0af39a32b54e784", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeCrashGeometryProbe.c": "7867ce1794aa0d1bbab72c32f60f5bd0c2bad4f5ff6224978c215e7828840178", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeCrashStartProbe.c": "957f40e36bfc025b8bc752b1f41dc177c8d0844c69ee5994321a47cf3ddea1ad", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeHQBodyProbe.c": "811244cc8297817efbfc3ee4edf01c868eae23c88127ba0c72e98ee7422da72f", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeHQMemoryProbe.c": "9bcd0b2e1007d40cb794aabe80368a2584ae58aad6a3ebbee070efc7b21a8147", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeHQResponseProof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeInfantryTransferProbe.c": "9b2de4dc22bdadd51b0271219a971dc8dc07f70ed3534f306acf03ed81b29424", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeLocalHandoffProbe.c": "0d4d61c424a16008595f86fa61f3b848caf9bd6e9ebbacea9c10254d88ba378e", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMaintenanceProbe.c": "852b9b397efc3f919c97fec63bc3df1a850cd7833421af8441994afd191951d4", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedAmmoProbe.c": "7ddb634444c79ad9291d53a754dc0ed383342e36720ddaa4b7aa4bd4e7ee656d", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedCourierProbe.c": "12710e9e5548fe8856f7a52f3566338369a8a1eedf0bd92af16229271872ada5", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedInterceptProbe.c": "34b0b1e38a59f14c4e83d93ec412779945388e6f4d697bda2f6cb90f519a6372", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedSwapProbe.c": "a6721fcaaccadf8eddb06687c7d587d0a3e377d5d1bb0b8e72e630fede8690ac", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeRadioProbe.c": "a4bd5cd9fe0594e05238b2d6dcd80466773f8fa160dc60bbe1eda70e3acdbe79", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeRandomRadiusTrace.c": "7e946406067092e30b6b75cc6ef0c56db7f866249e02bd13648156933ee578d9", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeSmoke.c": "4dfb218419db4cd7a46d25cb1f2e578e75ad89efc43f99c6ca8ab8e591e139d7", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeSupplyConvoyProbe.c": "89c2696071912500840f4bb91d754f695bf674335b51a7ee1d03727084fd4869", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeSupplyTravelProbe.c": "32e6074e912491f2643a24cb44311b9fe5b069c76e4e94a45e7409ac82d36507", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_OrdinaryScenarioLaunchChat.c": "a747af09599ce4d0c52051f18f00c4624d24d137e328341b580b82e896c6bf65", + "addons/core/Scripts/Game/Editor/Components/EditableEntity/RHS_CAS_EditableEntityComponent.c": "3788cbdc39c3da4f6564b73b7f49848077ad4504b6c28a1984c424247d1c6678", + "addons/core/Scripts/Game/Vehicle/RHS_DestructionTireComponent.c": "9b3de0966d7b8184bb70a14df2a448e06f34ca9db09b46da07277cb92ab7f8b2", + "addons/core/Scripts/GameLib/ERR/00_Core/ERR_DiagnosticNoSplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5", + "addons/core/Scripts/WorkbenchGame/ERR/00_Core/ERR_BuildAtlasModel.c": "f6cb5e6f5afc9bb60a8a46d96b52c7506882faf0a880e0b20a01a2603b336d2c", + "addons/core/Scripts/WorkbenchGame/ERR/00_Core/ERR_ValidateBaseWorldPlugin.c": "49a38c37b51e5318c7dcbcb01543dd9a6300d053f0d39808b3974f4edc45b871", + "addons/core/Scripts/WorkbenchGame/ERR/40_Chat/ERR_ValidateWorldPlugin.c": "d1f3fc372d0d16062a5983f2a6cffb6e72f202cb93fea5b33b4d77e0c852ecc7", + "addons/core/Sounds/ERR/Speech/radio_01.acp": "cf63378bf3950f5e6c1c1f46c057ad38a371b14b945b1201777820384805c3af", + "addons/core/Sounds/ERR/Speech/radio_01.acp.meta": "d5966526f35aa64dc980238f72f4f93f9d0e6a360f10e3f6538e97b7d086aa47", + "addons/core/Sounds/ERR/Speech/radio_01.wav": "cfe4a00000bc9b629a9e8e282ed64e7177673f829c5657b1ae2b2cb9e661d2ae", + "addons/core/Sounds/ERR/Speech/radio_01.wav.meta": "eaf33fa344fccf9aacab626117d03b96b135fa819d3e63ae300fac544291b571", + "addons/core/Sounds/ERR/Speech/radio_02.acp": "9111d118594094a8e09acdf80d8b107cc7d5d890b6ab086274e0e1004039e345", + "addons/core/Sounds/ERR/Speech/radio_02.acp.meta": "76b55d9abf7f599c5db3269a5829546a6d5f92e6350b2fe987245f9cd6b599fb", + "addons/core/Sounds/ERR/Speech/radio_02.wav": "6f0c94ae0e501afe6cc1aba804ba6a0403ba4de931debc28bf22970f591d0798", + "addons/core/Sounds/ERR/Speech/radio_02.wav.meta": "06ec85166aa4c54a6fafa1fa2eb2cc32f4a36dc8eecde8f9ba9912229e5e00e0", + "addons/core/Sounds/ERR/Speech/radio_03.acp": "019f939d65396f4a334a024bbf53c41479a9f8ce806610945af2be13e7352c70", + "addons/core/Sounds/ERR/Speech/radio_03.acp.meta": "8aa2f4f26f04bc3085ae046f543c047cdadf9af9e06a38920f1e1fd8a3aa02fe", + "addons/core/Sounds/ERR/Speech/radio_03.wav": "415a206bd1de167342cf1b82d59c708441b8d802395f941d15097c064133802a", + "addons/core/Sounds/ERR/Speech/radio_03.wav.meta": "de1d81fb653146404de5b6a6018c1cd73e902571b82d544de5b6cfccf21f5410", + "addons/core/Sounds/ERR/Speech/radio_04.acp": "77bcff7cc7ce49036a440e829fb4eab1dbe5252b0fc9ea24c42e6f6b68e2698e", + "addons/core/Sounds/ERR/Speech/radio_04.acp.meta": "dd61ee2545776cf23403240424470661c737048d01432d90b24f2c9e75f45d82", + "addons/core/Sounds/ERR/Speech/radio_04.wav": "a225810c7fba048517248fd9f7e9f7ab8aad5bac35e59f22e11e69166551f7f3", + "addons/core/Sounds/ERR/Speech/radio_04.wav.meta": "0ae046e2ac7f9653661ba99646d40dd78d52f113ea6554e1dbfd6e578572a4f4", + "addons/core/Sounds/ERR/Speech/radio_05.acp": "7dbc2b3b3d251eb8d3e749b0a7f32186b0421a95fa5585be493cf04b45510e3d", + "addons/core/Sounds/ERR/Speech/radio_05.acp.meta": "cbf3b48ed3865e30ba5d838d96ec4f1ee950cdcd51368f7a9259460e4b78cc1b", + "addons/core/Sounds/ERR/Speech/radio_05.wav": "90f5abe221165ac5cd7d88c9b3e01cf6fd4d00b594c84d09c6baf101fdb776ad", + "addons/core/Sounds/ERR/Speech/radio_05.wav.meta": "d8e3de0e1ae8670a01bcc272a1adf4199ffcea514ce024ee3286820dedab4d83", + "addons/core/Sounds/ERR/Speech/radio_06.acp": "e14da41c1cd186f35a4f385fab71ad85ad6fe718e67299a65466339ae23a2922", + "addons/core/Sounds/ERR/Speech/radio_06.acp.meta": "efc810a60e93453942adba476b423121f2a7dc1133b25d8764c1bec546a3949b", + "addons/core/Sounds/ERR/Speech/radio_06.wav": "b3f86b8dde535bc1a63301376c8d42775446d1b6117168557841565391fe0a14", + "addons/core/Sounds/ERR/Speech/radio_06.wav.meta": "07f53131f4ad153cc09051ba1de07f7b43d38f69781aad24371c4eeb331b280b", + "addons/core/Sounds/ERR/Speech/radio_07.acp": "bf3a48af07ad6e5da2ca6ed6c581fc6232e1bd62ebb905b934188366f2bc3d77", + "addons/core/Sounds/ERR/Speech/radio_07.acp.meta": "60aab59223c0ea734f7c1e88f803de30164ccef1a909730abed3eb76b3378ca2", + "addons/core/Sounds/ERR/Speech/radio_07.wav": "f3fd18ddaebe9eb3d0db9ac73c89a7b7a7f18b76e4b66d404d544be660a6825e", + "addons/core/Sounds/ERR/Speech/radio_07.wav.meta": "ef6c72aa32c1c46f7133782536744bdaf4eee03bcdb75aecb87accef6d1c4f2d", + "addons/core/Sounds/ERR/Speech/radio_08.acp": "a82c5dbcd7094085324d93d539c6f829c53dcf3781f40b8d65a10b7cb4125bae", + "addons/core/Sounds/ERR/Speech/radio_08.acp.meta": "69fb3400109e19d4f4d0fb371d056edbecc0a96a0a923174d1aba95dfeac1014", + "addons/core/Sounds/ERR/Speech/radio_08.wav": "ce3c2aff20dbea83aa6545a383c454969c5caeb53d5a88155ec182f789047d4a", + "addons/core/Sounds/ERR/Speech/radio_08.wav.meta": "72c5e117ab7b605b8370fe90923edee73593df6071c39b86556731387814a014", + "addons/core/Sounds/ERR/Speech/radio_09.acp": "73725377def1832742c7620fec46dc0100400d92b9cb79add8b4d44e94c46c0a", + "addons/core/Sounds/ERR/Speech/radio_09.acp.meta": "95456fe20def274a1972867024e9d0eb572f3878eae19c63522fcefe401dcb07", + "addons/core/Sounds/ERR/Speech/radio_09.wav": "3eb0be6393c431b526dbddc723cb608a7681a2dcd8af6910d9f2234aa98c923c", + "addons/core/Sounds/ERR/Speech/radio_09.wav.meta": "724dd301d1b25e41318503a815e87b54e7283735c51fd122af55c070f26adb37", + "addons/core/Sounds/ERR/Speech/radio_10.acp": "f976a0fecf73b3379ffb9728e96c68ca79800712919320e7ff7f3484cd2c9724", + "addons/core/Sounds/ERR/Speech/radio_10.acp.meta": "5411a9ffa23e42c8a2e8d4eba75d6e87631bcf542128327dfefd603a64d5b6ec", + "addons/core/Sounds/ERR/Speech/radio_10.wav": "2b2dac499a45a7779e79465d628a67b87078c0951db7db3e051feeb4342f2816", + "addons/core/Sounds/ERR/Speech/radio_10.wav.meta": "c3ac10a092dcb26ec637be6c9264a85eae1b6da55b9d8b44a14766a70ddf2933", + "addons/core/Sounds/ERR/Speech/soldier_1001.acp": "1af0d303063f37811a9b1a25424d887fe5eed4b5c57da71cf36ba6985f8cf002", + "addons/core/Sounds/ERR/Speech/soldier_1001.acp.meta": "2fbdda4d9fa83c6945985bd2f2215aa9f745b3a18adb0e7edafac1b01c161ba5", + "addons/core/Sounds/ERR/Speech/soldier_1001.wav": "a8935a5aded028f2fb03734f4423e731ea4f5b17394526df47c0407a3deddfe7", + "addons/core/Sounds/ERR/Speech/soldier_1001.wav.meta": "aff7a92a727d8bd4df033be2961fb85cafdc5c45fd272c5ea718bc07fb8e5cce", + "addons/core/Sounds/ERR/Speech/soldier_1002.acp": "1444636949683a430efe20a7f296e85e669cb8e26799c326f73a00c4f8d32fa5", + "addons/core/Sounds/ERR/Speech/soldier_1002.acp.meta": "d8eb34135a3b76f0a4f889f9662d954b3b0b3638c10c0732e25ca29d7b2ef412", + "addons/core/Sounds/ERR/Speech/soldier_1002.wav": "8535643e93757dd916f4158b5b03671cefc599489dbccf6bb0f7abf294fbae88", + "addons/core/Sounds/ERR/Speech/soldier_1002.wav.meta": "e8c8813e5a1989a0d7e4d2a5c90622c4b0f909aafb929f4737c82e5710220d1f", + "addons/core/Sounds/ERR/Speech/soldier_1003.acp": "5ab123f150debd6fda0b822fee7ffca5a0bdc168f4d8d2e28b3982972db05613", + "addons/core/Sounds/ERR/Speech/soldier_1003.acp.meta": "f89fa8e7ac42e7f675d29f0b241d181df572413c6c41bf31cfb98fa205baa87e", + "addons/core/Sounds/ERR/Speech/soldier_1003.wav": "5910896661ad67333d2374a16ca44ce831a5820feb337655df99c02df2915d5a", + "addons/core/Sounds/ERR/Speech/soldier_1003.wav.meta": "5281a71be599a70aeb9972ea85364e5ef32f824db94c71953d8a1912fb2a27c2", + "addons/core/Sounds/ERR/Speech/soldier_1004.acp": "10ac847b206834168e63d8d0f7ad25d7542a58a49d331af50aecf13e7e070ac9", + "addons/core/Sounds/ERR/Speech/soldier_1004.acp.meta": "8c073328d3f5f06ca583d97e9ce2453d8167ec7bc5643ab90783748a4cd9b6bf", + "addons/core/Sounds/ERR/Speech/soldier_1004.wav": "76375e462ba518c76f752d4b194c9370dffcebd8ce0037865133b37af3ff9a9e", + "addons/core/Sounds/ERR/Speech/soldier_1004.wav.meta": "563aae8d93efeaa7ca098c12bf0004da279321607793bb32a93b2530d6832d06", + "addons/core/Sounds/ERR/Speech/soldier_1005.acp": "ea3d874f84dd85f09871444c348b1c7f4948fc043c59cba4d3aea8b8eaa8b86e", + "addons/core/Sounds/ERR/Speech/soldier_1005.acp.meta": "40cbfddfa9937e319d412f3ecb66b75e2c1c88f2823a64e43a81a2939fb9021a", + "addons/core/Sounds/ERR/Speech/soldier_1005.wav": "3e20728fb61863278738f5366343cddd6fac1b8b114a14867f91ebb5cac547d8", + "addons/core/Sounds/ERR/Speech/soldier_1005.wav.meta": "e330fc819872b0a97a280a42d936ff75e30d21ea3ac96891988b48ded36af7b0", + "addons/core/Sounds/ERR/Speech/soldier_1100.acp": "86dc8e90d826947672342f44a6ff8d2fd4a8f014db0b215c0865b3728b14ea88", + "addons/core/Sounds/ERR/Speech/soldier_1100.acp.meta": "1a41730365335ebfabf6c75ab1c67ecb1d0d6c85db56d1d85f688a780a3ecf15", + "addons/core/Sounds/ERR/Speech/soldier_1100.wav": "eaf1deb5381f6bac165e364a652920fcf78438c351c564ebe50a216f3f3ba5a0", + "addons/core/Sounds/ERR/Speech/soldier_1100.wav.meta": "dcd087d3e0bec53abdd4e42218a3bbb234b7ae3cd2da05dcee71a298632a8da9", + "addons/core/Sounds/ERR/Speech/soldier_1101.acp": "2680131b5364efe39f3dee44ce1605dbc9e064cea9baf8247a8c5b55dcfa8d99", + "addons/core/Sounds/ERR/Speech/soldier_1101.acp.meta": "4feaa2b8e069ee2e9576d4009329f585b1b5ade9e47816882b78075f4897646f", + "addons/core/Sounds/ERR/Speech/soldier_1101.wav": "4bca012ec25d8456cd38d26606312f54b480b674365b76a9c9f54e408314570b", + "addons/core/Sounds/ERR/Speech/soldier_1101.wav.meta": "6ac6bd7a06be3fa35c513137b4584e405c0cd7e32d0c6912f2d7f9b5a3087d36", + "addons/core/Sounds/ERR/Speech/soldier_1102.acp": "08002dc26a4c07d6bf488d5f7c8c6587787c1755ce374b4053dad582eb2d77cb", + "addons/core/Sounds/ERR/Speech/soldier_1102.acp.meta": "2133e516f162d6aaa7f0d3a191421964ca6df7b00d0a50fa42ffaba70864bef4", + "addons/core/Sounds/ERR/Speech/soldier_1102.wav": "1432bb3c9d99910314a84d9773d2afafe4f5fbb143afb291b0deed55d25ee6d0", + "addons/core/Sounds/ERR/Speech/soldier_1102.wav.meta": "a6ca33938733e22789434db35ca2cdfb0fc4c51716feadf4a28a60ee9d1044b2", + "addons/core/Sounds/ERR/Speech/soldier_1103.acp": "c93e1e75c272d31107fde86205b859cf505e2acf7d8776fbd81357bc8b3625b9", + "addons/core/Sounds/ERR/Speech/soldier_1103.acp.meta": "f3d41ab27e932b10d46c3a2aa63f826825403a70640381a089db608c1c00a257", + "addons/core/Sounds/ERR/Speech/soldier_1103.wav": "c294454907a229d521c2285eec26dbb82f9782f2a7eca764e11713ff63f0e004", + "addons/core/Sounds/ERR/Speech/soldier_1103.wav.meta": "968d93e9dee2104aee94407604d021d8849a83dc3d115484088e81289654c246", + "addons/core/Sounds/ERR/Speech/soldier_1104.acp": "cb94ed3c95670f11f78f6470f1f50492fff6d2f0ac94602d054d474d52400cec", + "addons/core/Sounds/ERR/Speech/soldier_1104.acp.meta": "92d43bf610784953d8d94322b73ae235f7a8aeb83ece72733d795c8034275052", + "addons/core/Sounds/ERR/Speech/soldier_1104.wav": "952b3d71366c26fc12bdbb9014665bfc0402f30944c22b1b2369d26a93db7104", + "addons/core/Sounds/ERR/Speech/soldier_1104.wav.meta": "939562214b39250feaa8f6f6c6bd10c3d4e0b4c529f338490a2dc234919c0d31", + "addons/core/Sounds/ERR/Speech/soldier_1105.acp": "62c5d3d230a8a15cf2a4de193620ccdf83ca9973b550ace4e8edf7cc49f52851", + "addons/core/Sounds/ERR/Speech/soldier_1105.acp.meta": "6774063562b9c83975bc394dd3c72aa2a0d8001d0990ab8ff870ae2876889f93", + "addons/core/Sounds/ERR/Speech/soldier_1105.wav": "20e9e82d9897b598497da4722432f83ae03a5e6bf9a1f7a77caab712e3fc3130", + "addons/core/Sounds/ERR/Speech/soldier_1105.wav.meta": "6f21652352edbd59d1244ce9c2dcd1ad4ab65f022222381d9709c28148121c42", + "addons/core/Sounds/ERR/Speech/soldier_1200.acp": "c27db60629a41145697e041224cc2dde21c72d6a883fa305c71ec9c5b86bd84e", + "addons/core/Sounds/ERR/Speech/soldier_1200.acp.meta": "ea228ec869a7a0266f5604266f68c4166abc6cfeaa29180cb3b4351464b71079", + "addons/core/Sounds/ERR/Speech/soldier_1200.wav": "5a1561e821ef33a574c1f9ef95ccf76e69b832bf0a20bcbbf914760345921859", + "addons/core/Sounds/ERR/Speech/soldier_1200.wav.meta": "ccf3b62fd2eea460d576fa68863a901eb0025f47b1b76729a4289162d0dfa0c8", + "addons/core/Sounds/ERR/Speech/soldier_1201.acp": "45f220c5b6bac64db61eebcf54bb52da572f9f8f1ea0872c5af9fd3238c25a4e", + "addons/core/Sounds/ERR/Speech/soldier_1201.acp.meta": "3be417d66b05e11e0b520af136dfc45c86c17d5e35b56a611efbcf38e0d35003", + "addons/core/Sounds/ERR/Speech/soldier_1201.wav": "f058f0482cfe4034fdf37d9b596f7ba8172fae1c57aeb387ce153f8041895e45", + "addons/core/Sounds/ERR/Speech/soldier_1201.wav.meta": "abaebe719eff7e009eb4d0222060280877451126c02154706df6d13e4c5d3e11", + "addons/core/Sounds/ERR/Speech/soldier_1202.acp": "c08625886d8c6dc405cf96c640c9dafd4510ba5cef2c22b037c8c7b3eb5bea39", + "addons/core/Sounds/ERR/Speech/soldier_1202.acp.meta": "cf345e968edad1b825dd33b87267b63f770c169250f8c51195bffc3161d396bd", + "addons/core/Sounds/ERR/Speech/soldier_1202.wav": "c875f4e798ff5e24c3eb3b48bdfa1b8af03de9326a19c671eca86660297ad737", + "addons/core/Sounds/ERR/Speech/soldier_1202.wav.meta": "dd2d6411abe914bce71c6688a1647c2699303ca248191ec01c6325b366e5d7fb", + "addons/core/Sounds/ERR/Speech/soldier_1203.acp": "f0237a51ffe0e7d463154d321117a9b19c6914f6ee680ebf07a0ff9ab51fc340", + "addons/core/Sounds/ERR/Speech/soldier_1203.acp.meta": "0e93332191ac74be950ce8139b96ed6fdfe3ddbe68de8949826dc801d12c97f2", + "addons/core/Sounds/ERR/Speech/soldier_1203.wav": "6e7857dc96dfb556f011ba89f2f4ea659cfd7b605b88790c69e754d5cc51398a", + "addons/core/Sounds/ERR/Speech/soldier_1203.wav.meta": "0f564169dc05a95f7b01f64f72bdabf6de9ed3f37a2f44b4751f89b38eb18cd8", + "addons/core/Sounds/ERR/Speech/soldier_1204.acp": "94dbf98b5e05f1ebf6960495032c46203caaa4440dfb1ffd3beda2679fe6bec5", + "addons/core/Sounds/ERR/Speech/soldier_1204.acp.meta": "7cc8c61f4bb210c0576fac350d170f8f54a6e55531db6102c1a0fa7cb7a8a809", + "addons/core/Sounds/ERR/Speech/soldier_1204.wav": "bd170ca015b017114e42078dcc5c49d5626aef17d22e4a12b8282e9ee4908ae6", + "addons/core/Sounds/ERR/Speech/soldier_1204.wav.meta": "1c6ddb11c22a14d9d498074e2fb2864783f91afc552c4cd671452fa8df483de0", + "addons/core/Sounds/ERR/Speech/soldier_1205.acp": "47180a3445a265335d682eac6fa51fedca51d76f329adc39b1802092b311118b", + "addons/core/Sounds/ERR/Speech/soldier_1205.acp.meta": "c34346f4b10149b426ebb4e94db8c29883c9d0e36f2b42d07d41570eb8932554", + "addons/core/Sounds/ERR/Speech/soldier_1205.wav": "769c457805376e9c0172ddb525ead5f1d8774e15bd1f3f3b218a19f9d77b6883", + "addons/core/Sounds/ERR/Speech/soldier_1205.wav.meta": "31a2a7314b44afb3f0031376b2ad6df22649e8089bf1a3bbeb64cdc41156cff7", + "addons/core/Sounds/ERR/Speech/soldier_clear.acp": "f33f03f3d24182a95db7d02058f2dd6ae52098e3b5142a33ede833ee881d54ed", + "addons/core/Sounds/ERR/Speech/soldier_clear.acp.meta": "7d3643c9de2d81ab0f1b4898e781341c1962bd8505c20882233ef7c40159b23b", + "addons/core/Sounds/ERR/Speech/soldier_clear.wav": "d6527b8136aa720b721463210420f47de0dbc45acc4e4c390b6a44968c5f0acd", + "addons/core/Sounds/ERR/Speech/soldier_clear.wav.meta": "d9f9a921a85fe275c6cce649421a19946ff6aec49559796725c3858d9fe9b261", + "addons/core/Sounds/ERR/Speech/soldier_covering.acp": "7d4109edbd6c20f9e2af0b394fa12e8b3b40fc18bf2b5ac118beebb1fa4a79b1", + "addons/core/Sounds/ERR/Speech/soldier_covering.acp.meta": "320908bf7decea55b8d8b4a89b30e84e7d96a033d4a9cd1bd84912dce013f0d8", + "addons/core/Sounds/ERR/Speech/soldier_covering.wav": "f51e0086eaf0eece8b4061711088a413a2dbeae263deab7ea30fb1852dafda69", + "addons/core/Sounds/ERR/Speech/soldier_covering.wav.meta": "7bdf2d2c5f9cf741bae523e1ab0b9acc99b38ccd1228ebfbcba92f2b9a5cba9d", + "addons/core/Sounds/ERR/Speech/soldier_engaging.acp": "9f052e87edaf182030edb656821621cdeabbf13d65bc181308357530c9d93a74", + "addons/core/Sounds/ERR/Speech/soldier_engaging.acp.meta": "9e487fa3746c46b2993f1dfd1f0513f375571728704533674bee62586e25b72b", + "addons/core/Sounds/ERR/Speech/soldier_engaging.wav": "ac0f2d7d698732e3d7c270186e7aa2ab7e6bd4c908f36b07fb6f66a3cbe75ccf", + "addons/core/Sounds/ERR/Speech/soldier_engaging.wav.meta": "d571b9ebce196cc209078a83e4bde8f6a5f4b6d28c2945e2b47953ccb6889e97", + "addons/core/Sounds/ERR/Speech/soldier_moving.acp": "05503ca7af13a7ad03ed2a3aa562cc58504fdfff3148477f8d81b5a01abdf37c", + "addons/core/Sounds/ERR/Speech/soldier_moving.acp.meta": "a2474c87e4e1587226919dfdbd03739d938803d34f4a4f441889b0d8015513bd", + "addons/core/Sounds/ERR/Speech/soldier_moving.wav": "a61dda64e6fc2a11eac3e6008ee14b89f360bd67e258dce1191a71d9e2e26fad", + "addons/core/Sounds/ERR/Speech/soldier_moving.wav.meta": "bd87cd72ccb819584f9da09fb0d6973ffd6eb0bb5572c562978500e2af467217", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.acp": "c821c61afb2ddc12d3ecdb552a66d2a9ff89a5258a567ff2a99fed4f45a33520", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.acp.meta": "65a27b81a5b437163befd4dc566785a9dda4def1798495ca53c8f768a5d7a73f", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.wav": "ffe6ef5fdf30411749e0cb73186e3005b1ce6a52fcb7c836caeb1bca422ed3ed", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.wav.meta": "25b5680fd2a313c18e15ce6e0d3f709d78352b93206c22c7881be19b81faddd5", + "addons/core/Sounds/ERR/Speech/soldier_reloading.acp": "51c5cb464bab6637cf9e3b1880a010e05774d76a92298daf40b1d84970845be7", + "addons/core/Sounds/ERR/Speech/soldier_reloading.acp.meta": "ca351e809b1ba7c69b066d2c1d0a5d2afdcaa833c1163e6d13a0396437e98cf6", + "addons/core/Sounds/ERR/Speech/soldier_reloading.wav": "15b2749f79bc73fd0784bcd6e6076e1bc50da835e0c434cd43bd185d0735c732", + "addons/core/Sounds/ERR/Speech/soldier_reloading.wav.meta": "161c9ebee1d0496c7aa9501d00eba646094bf1ce89cda4efde6e3a0229a49e4f", + "addons/core/Sounds/ERR/Speech/soldier_target_down.acp": "77acc89c4ef0b912b969a2e5f6c41e071e04d10cfe89666fbc1296878dab62bf", + "addons/core/Sounds/ERR/Speech/soldier_target_down.acp.meta": "fe456d354ace93b0f2261de483e86ccc92991011b1738c5703d6d7bc0daa49a6", + "addons/core/Sounds/ERR/Speech/soldier_target_down.wav": "e2e60e8b83a24a548c90b84c5e1137adb7e792cf1d4ba6232ddfb1012fa78892", + "addons/core/Sounds/ERR/Speech/soldier_target_down.wav.meta": "064588b86589ac9437fbccafedeefae04bec3331dd8a229d1c6d27b5e524a9e9", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.acp": "5ffd3ff57550296274e9e93fb64efdf2fb06a51161d6deb221c1f3eb408d1459", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.acp.meta": "366a3c9e20f27c0f73bdff5827576df8924e99241061f933e72bd342e5bc7119", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.wav": "bbcf454d48adea47478d410b1baf14df3a5d018237272e70ae33ee62823f822f", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.wav.meta": "d1ac64242280521a7e40de51ae32a007878d7801401020e7a074a48e0f8ce62e", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.acp": "5af1c949d4662c2f33320165d2efdbd69cb183af1101aa246fe538bf0d91a33e", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.acp.meta": "aa7799e8a790539166a1d3a9c691416e7b2f6589d1674f5cf4b3e47523f15259", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.wav": "e4bd5e69fda289593fc6e6b8c2fae9a271a10d0a9bae877f18ba02dbbf75d1fc", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.wav.meta": "25a988c31e4fc3ae6540920df3d4548307a4a1e3b96b1303e9b7bdb4ac5eea27", + "addons/core/Sounds/ERR/Speech/welcome.acp": "f8a7b6cdd08b57b4b227a2d5b480a6c76857d7fc8ace3434478aec01c0de5a83", + "addons/core/Sounds/ERR/Speech/welcome.acp.meta": "d3ac98b02c0725d347b30d0ac7586cb22904d46b65a145e4a1131222484a6929", + "addons/core/Sounds/ERR/Speech/welcome.wav": "01de068469bd6746dba7634fb6b5b85b150621d3359c17fd01bcb916b34b1720", + "addons/core/Sounds/ERR/Speech/welcome.wav.meta": "bf33edad44bbb04df852501154f08a9a9900ce503248abc698127a51e9eec934", + "addons/core/UI/Textures/ERR/SiteMarkers.edds": "611ec6c68c2456c2af017c47135134d73122461017b315f64ed7ca9891f20c21", + "addons/core/UI/Textures/ERR/SiteMarkers.edds.meta": "90f40b38e52a79951b72da2960e30887d5ee8bbcefbada0c0ac950c1bfcf847f", + "addons/core/UI/Textures/ERR/SiteMarkers.imageset": "3f947d03b3492ada541032539cdb3f34a03d68ae83c0ef8796dc7fd091b5911d", + "addons/core/UI/Textures/ERR/SiteMarkers.imageset.meta": "1dc5285abd0062af288fb40b2f22b5b7c3925cf7270a096862335db250ac1453", + "addons/core/UI/Textures/ERR/SiteMarkers.png": "76b472982234bd27050a9430e6a53f4c14fa38f7388db3706ebef506eab4e660", + "addons/core/UI/layouts/ERR/AdminMenu.layout": "9a2c9d6e2526d9318b4587bb69741f828f7f0f26607e5ef3791455fff6a701e3", + "addons/core/UI/layouts/ERR/AdminMenu.layout.meta": "9deeece996f43b1f1fed6b5ec89279645c7b6424250200a42580cc088142e9bf", + "addons/core/UI/layouts/ERR/AdminValue.layout": "cd811af6d2fb187f01c74e20ea07ad85669546b0ad70efae2ce52921ce26cbca", + "addons/core/UI/layouts/ERR/AdminValue.layout.meta": "56b3d2335db400c1308e07c4a35d278b23ef32013dfd6dc82951866327428d08", + "addons/core/UI/layouts/ERR/ContentRow.layout": "7bf19d12b1b5e2c165f8671e92ae9227b54b4d1e551de94fa67bd54d3a66fddb", + "addons/core/UI/layouts/ERR/ContentRow.layout.meta": "8c4bc13b41e7aee38e0ca640a97813ed1a6964a00e2cff9e1fe4ebd71fc2fdc6", + "addons/core/UI/layouts/ERR/ItemRow.layout": "3c7ae3acdf2fad0ba661a1152ea319392668d774adc09a2a8b61e9a0319db312", + "addons/core/UI/layouts/ERR/ItemRow.layout.meta": "33eaef9c403ea3a030e58ec17f78e46af457048243571ad5856fff04101fb60b", + "addons/core/UI/layouts/ERR/ItemWeightRow.layout": "dfa6b87420efc683cb278178553350daa7753004d64672741a3dc13b4316810d", + "addons/core/UI/layouts/ERR/ItemWeightRow.layout.meta": "eb4b28587abdf6100092fd6eee1695663fa6e1548d5e53017173c4a5f7320240", + "addons/core/UI/layouts/ERR/PauseModsButton.layout": "d21d436291e2c1b262e33dc228b0d60a1d188dc9e85cfda6d2373f8281431b79", + "addons/core/UI/layouts/ERR/PauseModsButton.layout.meta": "9ed6adabd8f53eb9a562d7186789876bba5c4202155ca894c1af866ca47354f3", + "addons/core/UI/layouts/ERR/PreparationFailure.layout": "b7c4a2e6aa2be0992b478bb4f969f80355753573fffbc15be44670f3b136ea2e", + "addons/core/UI/layouts/ERR/PreparationFailure.layout.meta": "17ca2c9a12f691680883cec368ff06f511c996e5da5c25498f5f0955887867b0", + "addons/core/UI/layouts/ERR/PreparationStatus.layout": "ec3369f4030e593d34043e70a311b0963606cf024cb452648671556f25f5b52a", + "addons/core/UI/layouts/ERR/PreparationStatus.layout.meta": "75b12176a443bb911fc4ad446982d762201fda42ed38736b79bc5439fca31ccc", + "addons/core/UI/layouts/ERR/RoundResults.layout": "8550ebc009024f619827a43fd766aff8b7fbf8bc87ef7593db0fd7f4d778c615", + "addons/core/UI/layouts/ERR/RoundResults.layout.meta": "7509e050b3910ee5730dd25c60aacf405110e943f4ab46e3fc2186b3b15a3cf9", + "addons/core/UI/layouts/ERRMap/ObjectiveMapElement.layout": "82d9ae77f076f945583791dfa0b01f1c925e6ff8aaebcf382fd56089fe61a115", + "addons/core/UI/layouts/ERRMap/ObjectiveMapElement.layout.meta": "8691fe2eaf46568bca4a9f8128b247a8da810bb87a5546aa7ca3334e740270d6", + "addons/core/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "aef5d565301046ae902033ec4eb4799ff1bdd9a37bc507898781d8790f04fc2a", + "addons/core/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "6bcb7fbb27b6282719dae8a37486e518d4cbaea385f2ea9af1918b36bb28b175", + "addons/core/addon.gproj": "6ccf0d3a2817a5f865e605d5abe89bd794e7c8654f2dd005d0f496f05d91e76a" +} diff --git a/docs/evidence/vehicle-roles-2026-11-06/final-run/launch-source.json b/docs/evidence/vehicle-roles-2026-11-06/final-run/launch-source.json new file mode 100644 index 00000000..a6b6c274 --- /dev/null +++ b/docs/evidence/vehicle-roles-2026-11-06/final-run/launch-source.json @@ -0,0 +1,45 @@ +{ + "schema_version": 1, + "launch_id": "3c149f1b-debc-4568-97f6-468b528b9377", + "captured_unix": 1793974150.0206752, + "source_root": "/home/jakub/devel/escapistsrereintroduced/.local/vehicle-roles/source7", + "command": [ + "gamescope", + "--backend", + "headless", + "-W", + "1920", + "-H", + "1080", + "-w", + "1920", + "-h", + "1080", + "-r", + "30", + "--", + "/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton", + "run", + "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe", + "-gproj", + "Z:/home/jakub/devel/escapistsrereintroduced/.local/vehicle-roles/source7/addons/core/addon.gproj", + "-addonsDir", + "Z:/home/jakub/devel/escapistsrereintroduced/.local/vehicle-roles/source7/addons", + "-profile", + "Z:/home/jakub/devel/escapistsrereintroduced/.local/vehicle-roles/native7", + "-logconsole", + "-wbModule=WorldEditor", + "-load", + "Worlds/ERR_Everon.ent", + "-plugin=ERR_ValidateWorldPlugin", + "-errPlay", + "1", + "-errSmoke", + "0", + "-errSmokeOutcome", + "normal-escape-route", + "-noThrow", + "-disableCrashReporter" + ], + "manifest_sha256": "db40aec0864dbfcd804ab5a793492ec3fafe93729c73413a3d287c358df1132e" +} diff --git a/docs/evidence/vehicle-roles-2026-11-06/final-run/result.log b/docs/evidence/vehicle-roles-2026-11-06/final-run/result.log new file mode 100644 index 00000000..7ac449c5 --- /dev/null +++ b/docs/evidence/vehicle-roles-2026-11-06/final-run/result.log @@ -0,0 +1,56 @@ +Test audio routed to silent output and muted (stream 54979) +Test audio routed to silent output and muted (stream 55015) +{ + "stopped_unix": 1793974239.1493638, + "console_sha256": "c40f2cb588af3eb5043d13c264bff5784047e0e0e519289b172ce26a9a6b081e", + "end_source_sha256": "db40aec0864dbfcd804ab5a793492ec3fafe93729c73413a3d287c358df1132e", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "3c149f1b-debc-4568-97f6-468b528b9377", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "db40aec0864dbfcd804ab5a793492ec3fafe93729c73413a3d287c358df1132e", + "external_addons_unchanged_after_run": true, + "external_addon_count": 7, + "external_addon_inputs": "external-addons-inputs.json", + "started_unix": 1793974150.0207763, + "result": "smoke-completed", + "result_before_cleanup": "smoke-completed", + "cleanup_confirmed": true, + "cleanup_report": { + "cleanup_confirmed": true, + "idle_verified": true, + "errors": [], + "orphan_cleanup": { + "attempted": false, + "reason": "noncanonical-private-prefix" + } + }, + "runner_error": null, + "session": "/home/jakub/devel/escapistsrereintroduced/.local/vehicle-roles/native7/logs/logs_2026-11-06_15-09-11", + "rounds_required": 1, + "project": "chat", + "display": "headless Gamescope 1920x1080/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} +{ + "log": "/home/jakub/devel/escapistsrereintroduced/.local/vehicle-roles/native7/logs/logs_2026-11-06_15-09-11/console.log", + "smoke_completions": 1, + "assertions_passed": 5, + "script_or_runtime_failures": [], + "engine_errors": [ + "15:09:13.531 RESOURCES (E): Wrong GUID/name for resource @\"{0AFDD005CD669892}Language/rhs_localization.st\" in property \"StringTableSource\"", + "15:09:13.531 RESOURCES (E): Wrong GUID/name for resource @\"{41FA2A08B6971D4C}Language/wcs_armament_localization.st\" in property \"StringTableSource\"", + "15:09:13.532 RESOURCES (E): Wrong GUID/name for resource @\"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st\" in property \"StringTableSource\"", + "15:09:13.532 RESOURCES (E): Wrong GUID/name for resource @\"{E50E557B468C7073}Language/wcs_bmp1_localization.st\" in property \"StringTableSource\"", + "15:09:21.222 DEFAULT (E): Failed to request DLC ownership information.", + "15:09:52.310 WORLD (E): Unknown keyword/data 'm_HardLandingVelocity' at offset 133(0x85)", + "15:09:52.310 WORLD (E): Unknown keyword/data 'm_DeathLandingVelocity' at offset 163(0xa3)", + "15:10:03.090 WORLD (E): Unknown keyword/data 'Pacejka' at offset 939(0x3ab)", + "15:10:03.090 WORLD (E): Unknown keyword/data 'ClutchUncoupleRpm' at offset 1320(0x528)", + "15:10:03.090 WORLD (E): Unknown keyword/data 'ClutchCoupleRpm' at offset 1346(0x542)" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/vehicle-roles-2026-11-06/final-run/runner.json b/docs/evidence/vehicle-roles-2026-11-06/final-run/runner.json new file mode 100644 index 00000000..68f6543e --- /dev/null +++ b/docs/evidence/vehicle-roles-2026-11-06/final-run/runner.json @@ -0,0 +1,34 @@ +{ + "stopped_unix": 1793974239.1493638, + "console_sha256": "c40f2cb588af3eb5043d13c264bff5784047e0e0e519289b172ce26a9a6b081e", + "end_source_sha256": "db40aec0864dbfcd804ab5a793492ec3fafe93729c73413a3d287c358df1132e", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "3c149f1b-debc-4568-97f6-468b528b9377", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "db40aec0864dbfcd804ab5a793492ec3fafe93729c73413a3d287c358df1132e", + "external_addons_unchanged_after_run": true, + "external_addon_count": 7, + "external_addon_inputs": "external-addons-inputs.json", + "started_unix": 1793974150.0207763, + "result": "smoke-completed", + "result_before_cleanup": "smoke-completed", + "cleanup_confirmed": true, + "cleanup_report": { + "cleanup_confirmed": true, + "idle_verified": true, + "errors": [], + "orphan_cleanup": { + "attempted": false, + "reason": "noncanonical-private-prefix" + } + }, + "runner_error": null, + "session": "/home/jakub/devel/escapistsrereintroduced/.local/vehicle-roles/native7/logs/logs_2026-11-06_15-09-11", + "rounds_required": 1, + "project": "chat", + "display": "headless Gamescope 1920x1080/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/vehicle-roles-2026-11-06/final-run/script.log b/docs/evidence/vehicle-roles-2026-11-06/final-run/script.log new file mode 100644 index 00000000..d5581ea3 --- /dev/null +++ b/docs/evidence/vehicle-roles-2026-11-06/final-run/script.log @@ -0,0 +1,314 @@ +--------------------------------------------- +Log Z:\home\jakub\devel\escapistsrereintroduced\.local\vehicle-roles\native7\logs\logs_2026-11-06_15-09-11\script.log started at 2026-11-06 15:09:14 (2026-11-06 14:09:14 UTC) + +15:09:14.417 SCRIPT : SCRIPT : Initializing scripts +15:09:14.417 SCRIPT : SCRIPT : ScriptProjectManager init +15:09:17.249 SCRIPT : SCRIPT : Compiling GameLib scripts +15:09:17.318 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +15:09:17.319 SCRIPT : Module: GameLib; loaded 513x files; 704x classes; used 887K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 35487d81 +15:09:17.320 SCRIPT : SCRIPT : Compiling Game scripts +15:09:18.374 SCRIPT : Compiling Game scripts +15:09:18.374 SCRIPT (W): @"Scripts/Game/Parachutes/ParachuteDeployed.c,7": Pointer type 'Physics' can only be used with local variables +15:09:18.550 SCRIPT (W): @"Scripts/Game/Components/Vehicles/RHS_VehicleAntennaComponent.c,82": Pointer type 'Animation' can only be used with local variables +15:09:18.915 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,787": 'GetPlayerPlatformKind' is obsolete +15:09:18.916 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,788": 'GetPlayerPlatformId' is obsolete +15:09:19.327 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SiteService.c,363": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:09:19.345 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +15:09:19.393 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +15:09:19.540 SCRIPT (W): @"Scripts/Game/Components/Magazines/SCR_MagazineComponent.c,134": Variable 'prefabPath' is not used +15:09:19.556 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +15:09:19.556 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +15:09:19.556 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +15:09:19.556 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +15:09:19.584 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_NativeVehicleSecurityProbe.c,77": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:09:19.594 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead +15:09:19.667 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +15:09:19.667 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +15:09:19.669 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +15:09:19.700 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_NativeVehicleSecurityProbe.c,186": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:09:19.727 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,311": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:09:19.727 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,323": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:09:19.729 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +15:09:19.729 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +15:09:19.761 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_NativeTransportProbe.c,138": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:09:19.797 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +15:09:20.195 SCRIPT : Module: WorkbenchGame; loaded 187x files; 692x classes; used 2796K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 53d2bfa5 +15:09:20.203 SCRIPT : Module: Game; loaded 6965x files; 14474x classes; used 45316K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG,WCS_DEFINES_ARMAMENTS,WCS_DEFINES_SPACECORE"; CRC32: 94d113d3 +15:09:21.222 SCRIPT : Unable to register a script command due keyword duplicity: ban +15:09:21.222 SCRIPT : Unable to register a script command due keyword duplicity: kick +15:09:33.546 SCRIPT : Reintroduced [config]: using $profile:Escapists.json; legacy files retained but no longer used. +15:09:34.585 SCRIPT : ERR VALIDATION: prison terrain=211.344, radio terrain=159.656, extraction terrain=65.1562 +15:09:34.586 SCRIPT : ERR TERRAIN: x=6084 z=7154 y=211.531 +15:09:34.586 SCRIPT : ERR TERRAIN: x=6084 z=7157 y=211.516 +15:09:34.586 SCRIPT : ERR TERRAIN: x=6084 z=7160 y=211.5 +15:09:34.586 SCRIPT : ERR TERRAIN: x=6084 z=7163 y=211.453 +15:09:34.586 SCRIPT : ERR TERRAIN: x=6084 z=7166 y=211.406 +15:09:34.586 SCRIPT : ERR TERRAIN: x=6087 z=7154 y=211.438 +15:09:34.586 SCRIPT : ERR TERRAIN: x=6087 z=7157 y=211.438 +15:09:34.587 SCRIPT : ERR TERRAIN: x=6087 z=7160 y=211.422 +15:09:34.587 SCRIPT : ERR TERRAIN: x=6087 z=7163 y=211.391 +15:09:34.587 SCRIPT : ERR TERRAIN: x=6087 z=7166 y=211.344 +15:09:34.587 SCRIPT : ERR TERRAIN: x=6090 z=7154 y=211.344 +15:09:34.587 SCRIPT : ERR TERRAIN: x=6090 z=7157 y=211.344 +15:09:34.587 SCRIPT : ERR TERRAIN: x=6090 z=7160 y=211.344 +15:09:34.587 SCRIPT : ERR TERRAIN: x=6090 z=7163 y=211.328 +15:09:34.588 SCRIPT : ERR TERRAIN: x=6090 z=7166 y=211.281 +15:09:34.588 SCRIPT : ERR TERRAIN: x=6093 z=7154 y=211.25 +15:09:34.588 SCRIPT : ERR TERRAIN: x=6093 z=7157 y=211.281 +15:09:34.588 SCRIPT : ERR TERRAIN: x=6093 z=7160 y=211.25 +15:09:34.588 SCRIPT : ERR TERRAIN: x=6093 z=7163 y=211.234 +15:09:34.588 SCRIPT : ERR TERRAIN: x=6093 z=7166 y=211.188 +15:09:34.588 SCRIPT : ERR TERRAIN: x=6096 z=7154 y=211.156 +15:09:34.588 SCRIPT : ERR TERRAIN: x=6096 z=7157 y=211.172 +15:09:34.589 SCRIPT : ERR TERRAIN: x=6096 z=7160 y=211.156 +15:09:34.589 SCRIPT : ERR TERRAIN: x=6096 z=7163 y=211.141 +15:09:34.589 SCRIPT : ERR TERRAIN: x=6096 z=7166 y=211.094 +15:09:34.609 SCRIPT : ERR SITE CANDIDATE: position=<6090,211.344,7160> elevationRange=0.640625 +15:09:37.414 SCRIPT : Unable to register a script command due keyword duplicity: ban +15:09:37.414 SCRIPT : Unable to register a script command due keyword duplicity: kick +15:09:47.851 SCRIPT : Reintroduced [loading]: respawn animation and preparation display attached to Escape +15:09:52.304 SCRIPT : Map load time: 2363ms +15:09:52.316 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +15:09:52.316 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +15:09:52.319 SCRIPT (W): Can't open config file "" +15:09:52.326 SCRIPT (W): Slot_WeaponInfo Has no Content! +15:09:52.326 SCRIPT (W): Slot_Chat Has no Content! +15:09:52.326 SCRIPT (W): Slot_VON Has no Content! +15:09:52.326 SCRIPT (W): Slot_AvailableActions Has no Content! +15:09:52.326 SCRIPT (W): Slot_Vehicle Has no Content! +15:09:52.327 SCRIPT (W): Slot_GameVersion Has no Content! +15:09:52.327 SCRIPT (W): Slot_Notifications Has no Content! +15:09:52.327 SCRIPT (W): Slot_Hints Has no Content! +15:09:52.342 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {259EE7B78C51B624}UAZ469.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants. +15:09:52.342 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {DF5CCB7C0FF049F4}Mi8MT_unarmed_transport.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants. +15:09:52.343 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {DF5CCB7C0FF049F4}Mi8MT_unarmed_transport.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants. +15:09:52.348 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +15:09:52.483 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +15:09:52.496 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +15:09:52.649 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.593 SCRIPT : ERR CONTENT: controller=1 +15:09:57.602 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.603 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.603 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.604 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.604 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.605 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.605 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.605 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.606 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.606 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.607 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.607 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.607 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.608 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.608 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.609 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.610 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.611 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.611 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.612 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.612 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.612 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.613 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.613 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.614 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.614 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.615 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.615 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.616 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.616 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.617 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.617 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.618 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.618 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.618 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.619 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.619 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.620 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.620 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.621 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.621 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.621 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.622 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.622 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.622 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.623 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.624 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.625 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.626 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.626 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.627 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.628 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:09:57.679 SCRIPT : Reintroduced [terrain selection]: discovered 45 playable scenario headers; truncated=0 +15:09:58.671 SCRIPT : ERR CONTENT STAGE: 0 page=0 vehicles=0 addon= +15:10:01.674 SCRIPT : ERR CONTENT STAGE: 0 page=0 vehicles=0 addon= +15:10:04.749 SCRIPT : ERR CONTENT STAGE: 0 page=0 vehicles=0 addon= +15:10:07.794 SCRIPT : ERR CONTENT STAGE: 0 page=0 vehicles=0 addon= +15:10:10.822 SCRIPT : Reintroduced [server items]: addons=11 uniqueItems=2403 unattributed=0 truncated=0 +15:10:11.811 SCRIPT : ERR CONTENT STAGE: 0 page=0 vehicles=0 addon= +15:10:14.821 SCRIPT : ERR CONTENT STAGE: 0 page=0 vehicles=0 addon= +15:10:17.827 SCRIPT : ERR CONTENT STAGE: 0 page=0 vehicles=0 addon= +15:10:17.875 SCRIPT : ERR ROLE FOUND: {F001C0DE00000001}Prefabs/Vehicles/ERR_RoleTestCar.et contains=1 capable=1 sources=0x000000014D8F4CC0 {ArmaReforger,RHS_Core,WCS_Armaments,ERR_Core} +15:10:17.875 SCRIPT : ERR ROLE COMPONENT: EventHandlerManagerComponent +15:10:17.875 SCRIPT : ERR ROLE COMPONENT: ParametricMaterialInstanceComponent +15:10:17.876 SCRIPT : ERR ROLE COMPONENT: Persistence +15:10:17.876 SCRIPT : ERR ROLE COMPONENT: SignalsManagerComponent +15:10:17.876 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleSoundComponent +15:10:17.876 SCRIPT : ERR ROLE COMPONENT: AIKnowledgeComponent +15:10:17.876 SCRIPT : ERR ROLE COMPONENT: BaseLightManagerComponent +15:10:17.877 SCRIPT : ERR ROLE COMPONENT: ChimeraAIPathfindingComponent +15:10:17.877 SCRIPT : ERR ROLE COMPONENT: ColliderHistoryComponent +15:10:17.877 SCRIPT : ERR ROLE COMPONENT: ControllersManagerComponent +15:10:17.877 SCRIPT : ERR ROLE COMPONENT: MeshObject +15:10:17.877 SCRIPT : ERR ROLE COMPONENT: RHS_RadioSourceComponent +15:10:17.877 SCRIPT : ERR ROLE COMPONENT: RigidBody +15:10:17.877 SCRIPT : ERR ROLE COMPONENT: SCR_AIVehicleUsageComponent +15:10:17.878 SCRIPT : ERR ROLE COMPONENT: SCR_BaseCompartmentManagerComponent +15:10:17.878 SCRIPT : ERR ROLE COMPONENT: SCR_BaseLockComponent +15:10:17.878 SCRIPT : ERR ROLE COMPONENT: SCR_EditableVehicleComponent +15:10:17.878 SCRIPT : ERR ROLE COMPONENT: SCR_FuelConsumptionComponent +15:10:17.878 SCRIPT : ERR ROLE COMPONENT: SCR_FuelManagerComponent +15:10:17.878 SCRIPT : ERR ROLE COMPONENT: SCR_ImpactEffectComponent +15:10:17.878 SCRIPT : ERR ROLE COMPONENT: SCR_MotorExhaustEffectGeneralComponent +15:10:17.879 SCRIPT : ERR ROLE COMPONENT: SCR_PowerComponent +15:10:17.879 SCRIPT : ERR ROLE COMPONENT: SCR_ResourceComponent +15:10:17.879 SCRIPT : ERR ROLE COMPONENT: SCR_UniversalInventoryStorageComponent +15:10:17.879 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleBuoyancyComponent +15:10:17.879 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleCameraDataComponent +15:10:17.879 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleFactionAffiliationComponent +15:10:17.879 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleSpawnProtectionComponent +15:10:17.880 SCRIPT : ERR ROLE COMPONENT: SCR_WheeledDamageManagerComponent +15:10:17.880 SCRIPT : ERR ROLE COMPONENT: VehicleLightPortalComponent +15:10:17.880 SCRIPT : ERR ROLE COMPONENT: VehicleWheeledSimulation +15:10:17.880 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleDustPerWheel +15:10:17.880 SCRIPT : ERR ROLE COMPONENT: BaseFlattenGrassComponent +15:10:17.880 SCRIPT : ERR ROLE COMPONENT: BaseVehicleNodeComponent +15:10:17.880 SCRIPT : ERR ROLE COMPONENT: ChimeraAIVehicleControlComponent +15:10:17.881 SCRIPT : ERR ROLE COMPONENT: SCR_VehiclePerceivableComponent +15:10:17.881 SCRIPT : ERR ROLE COMPONENT: CarProcAnimComponent +15:10:17.881 SCRIPT : ERR ROLE COMPONENT: WCS_Armament_GroundVehicleInfraredEmitterComponent +15:10:17.881 SCRIPT : ERR ROLE COMPONENT: WCS_Armament_RadarReflectorComponent +15:10:17.881 SCRIPT : ERR ROLE COMPONENT: SlotManagerComponent +15:10:17.881 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleInventoryStorageManagerComponent +15:10:17.881 SCRIPT : ERR ROLE COMPONENT: ActionsManagerComponent +15:10:17.882 SCRIPT : ERR ROLE COMPONENT: VehicleAnimationComponent +15:10:17.882 SCRIPT : ERR ROLE COMPONENT: VehicleGamepadEffectsManagerComponent +15:10:17.882 SCRIPT : ERR ROLE COMPONENT: NwkCarMovementComponent +15:10:17.882 SCRIPT : ERR ROLE COMPONENT: RplComponent +15:10:17.935 SCRIPT : ERR SMOKE PASS: previously unknown car assigned independently to garage and traffic selections +15:10:19.066 SCRIPT : ERR SMOKE PASS: discovered assigned vehicle role=2 prefab={F001C0DE00000001}Prefabs/Vehicles/ERR_RoleTestCar.et actualCrew=4 +15:10:19.066 SCRIPT : ERR ROLE COMPARTMENT VAR: Enabled +15:10:19.066 SCRIPT : ERR ROLE COMPARTMENT VAR: components +15:10:19.066 SCRIPT : ERR ROLE COMPARTMENT VAR: DoorInfoList +15:10:19.066 SCRIPT : ERR ROLE COMPARTMENT VAR: CompartmentSlots +15:10:19.067 SCRIPT : ERR ROLE COMPARTMENT VAR: m_bBlockSuppliesIfOccupied +15:10:19.067 SCRIPT : ERR ROLE FOUND: {F001C0DE00000002}Prefabs/Vehicles/ERR_RoleTestEscort.et contains=1 capable=1 sources=0x000000014FBFB6D8 {ArmaReforger,RHS_Core,WCS_Armaments,ERR_Core} +15:10:19.067 SCRIPT : ERR ROLE COMPONENT: EventHandlerManagerComponent +15:10:19.067 SCRIPT : ERR ROLE COMPONENT: ParametricMaterialInstanceComponent +15:10:19.067 SCRIPT : ERR ROLE COMPONENT: Persistence +15:10:19.068 SCRIPT : ERR ROLE COMPONENT: SignalsManagerComponent +15:10:19.068 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleSoundComponent +15:10:19.068 SCRIPT : ERR ROLE COMPONENT: AIKnowledgeComponent +15:10:19.068 SCRIPT : ERR ROLE COMPONENT: BaseLightManagerComponent +15:10:19.068 SCRIPT : ERR ROLE COMPONENT: BaseRadioComponent +15:10:19.068 SCRIPT : ERR ROLE COMPONENT: ChimeraAIPathfindingComponent +15:10:19.068 SCRIPT : ERR ROLE COMPONENT: ColliderHistoryComponent +15:10:19.069 SCRIPT : ERR ROLE COMPONENT: ControllersManagerComponent +15:10:19.069 SCRIPT : ERR ROLE COMPONENT: MeshObject +15:10:19.069 SCRIPT : ERR ROLE COMPONENT: RHS_RadioSourceComponent +15:10:19.069 SCRIPT : ERR ROLE COMPONENT: RigidBody +15:10:19.069 SCRIPT : ERR ROLE COMPONENT: SCR_AIVehicleUsageComponent +15:10:19.069 SCRIPT : ERR ROLE COMPONENT: SCR_BaseCompartmentManagerComponent +15:10:19.069 SCRIPT : ERR ROLE COMPONENT: SCR_BaseLockComponent +15:10:19.070 SCRIPT : ERR ROLE COMPONENT: SCR_EditableVehicleComponent +15:10:19.070 SCRIPT : ERR ROLE COMPONENT: SCR_FuelConsumptionComponent +15:10:19.070 SCRIPT : ERR ROLE COMPONENT: SCR_FuelManagerComponent +15:10:19.070 SCRIPT : ERR ROLE COMPONENT: SCR_ImpactEffectComponent +15:10:19.070 SCRIPT : ERR ROLE COMPONENT: SCR_MotorExhaustEffectGeneralComponent +15:10:19.070 SCRIPT : ERR ROLE COMPONENT: SCR_PowerComponent +15:10:19.071 SCRIPT : ERR ROLE COMPONENT: SCR_ResourceComponent +15:10:19.071 SCRIPT : ERR ROLE COMPONENT: SCR_UniversalInventoryStorageComponent +15:10:19.071 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleBuoyancyComponent +15:10:19.071 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleCameraDataComponent +15:10:19.071 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleFactionAffiliationComponent +15:10:19.071 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleSpawnProtectionComponent +15:10:19.071 SCRIPT : ERR ROLE COMPONENT: SCR_WheeledDamageManagerComponent +15:10:19.072 SCRIPT : ERR ROLE COMPONENT: VehicleWheeledSimulation +15:10:19.072 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleDustPerWheel +15:10:19.072 SCRIPT : ERR ROLE COMPONENT: BaseFlattenGrassComponent +15:10:19.072 SCRIPT : ERR ROLE COMPONENT: BaseVehicleNodeComponent +15:10:19.072 SCRIPT : ERR ROLE COMPONENT: ChimeraAIVehicleControlComponent +15:10:19.072 SCRIPT : ERR ROLE COMPONENT: SCR_VehiclePerceivableComponent +15:10:19.072 SCRIPT : ERR ROLE COMPONENT: CarProcAnimComponent +15:10:19.073 SCRIPT : ERR ROLE COMPONENT: WCS_Armament_GroundVehicleInfraredEmitterComponent +15:10:19.073 SCRIPT : ERR ROLE COMPONENT: WCS_Armament_RadarReflectorComponent +15:10:19.073 SCRIPT : ERR ROLE COMPONENT: SlotManagerComponent +15:10:19.073 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleInventoryStorageManagerComponent +15:10:19.073 SCRIPT : ERR ROLE COMPONENT: ActionsManagerComponent +15:10:19.073 SCRIPT : ERR ROLE COMPONENT: VehicleAnimationComponent +15:10:19.074 SCRIPT : ERR ROLE COMPONENT: VehicleGamepadEffectsManagerComponent +15:10:19.074 SCRIPT : ERR ROLE COMPONENT: NwkCarMovementComponent +15:10:19.074 SCRIPT : ERR ROLE COMPONENT: RplComponent +15:10:20.060 SCRIPT : ERR SMOKE PASS: discovered assigned vehicle role=3 prefab={F001C0DE00000002}Prefabs/Vehicles/ERR_RoleTestEscort.et actualCrew=2 +15:10:20.060 SCRIPT : ERR ROLE COMPARTMENT VAR: Enabled +15:10:20.061 SCRIPT : ERR ROLE COMPARTMENT VAR: components +15:10:20.061 SCRIPT : ERR ROLE COMPARTMENT VAR: DoorInfoList +15:10:20.061 SCRIPT : ERR ROLE COMPARTMENT VAR: CompartmentSlots +15:10:20.061 SCRIPT : ERR ROLE COMPARTMENT VAR: m_bBlockSuppliesIfOccupied +15:10:20.061 SCRIPT : ERR ROLE FOUND: {F001C0DE00000003}Prefabs/Vehicles/ERR_RoleTestTruck.et contains=1 capable=1 sources=0x000000014FC2C9E0 {ArmaReforger,RHS_Core,WCS_Armaments,ERR_Core} +15:10:20.061 SCRIPT : ERR ROLE COMPONENT: EventHandlerManagerComponent +15:10:20.062 SCRIPT : ERR ROLE COMPONENT: ParametricMaterialInstanceComponent +15:10:20.062 SCRIPT : ERR ROLE COMPONENT: Persistence +15:10:20.062 SCRIPT : ERR ROLE COMPONENT: SignalsManagerComponent +15:10:20.062 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleSoundComponent +15:10:20.062 SCRIPT : ERR ROLE COMPONENT: AIKnowledgeComponent +15:10:20.062 SCRIPT : ERR ROLE COMPONENT: BaseLightManagerComponent +15:10:20.063 SCRIPT : ERR ROLE COMPONENT: BaseRadioComponent +15:10:20.063 SCRIPT : ERR ROLE COMPONENT: ChimeraAIPathfindingComponent +15:10:20.063 SCRIPT : ERR ROLE COMPONENT: ColliderHistoryComponent +15:10:20.063 SCRIPT : ERR ROLE COMPONENT: ControllersManagerComponent +15:10:20.063 SCRIPT : ERR ROLE COMPONENT: MeshObject +15:10:20.063 SCRIPT : ERR ROLE COMPONENT: RHS_GroupMaterialController +15:10:20.064 SCRIPT : ERR ROLE COMPONENT: RHS_RadioSourceComponent +15:10:20.064 SCRIPT : ERR ROLE COMPONENT: RigidBody +15:10:20.064 SCRIPT : ERR ROLE COMPONENT: SCR_AIVehicleUsageComponent +15:10:20.064 SCRIPT : ERR ROLE COMPONENT: SCR_BaseCompartmentManagerComponent +15:10:20.064 SCRIPT : ERR ROLE COMPONENT: SCR_BaseLockComponent +15:10:20.064 SCRIPT : ERR ROLE COMPONENT: SCR_EditableVehicleComponent +15:10:20.064 SCRIPT : ERR ROLE COMPONENT: SCR_FuelConsumptionComponent +15:10:20.065 SCRIPT : ERR ROLE COMPONENT: SCR_FuelManagerComponent +15:10:20.065 SCRIPT : ERR ROLE COMPONENT: SCR_ImpactEffectComponent +15:10:20.065 SCRIPT : ERR ROLE COMPONENT: SCR_MotorExhaustEffectGeneralComponent +15:10:20.065 SCRIPT : ERR ROLE COMPONENT: SCR_PowerComponent +15:10:20.065 SCRIPT : ERR ROLE COMPONENT: SCR_UniversalInventoryStorageComponent +15:10:20.065 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleBuoyancyComponent +15:10:20.065 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleCameraDataComponent +15:10:20.066 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleDamageManagerComponent +15:10:20.066 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleFactionAffiliationComponent +15:10:20.066 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleSpawnProtectionComponent +15:10:20.066 SCRIPT : ERR ROLE COMPONENT: VehicleLightPortalComponent +15:10:20.066 SCRIPT : ERR ROLE COMPONENT: VehicleWheeledSimulation +15:10:20.066 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleDustPerWheel +15:10:20.067 SCRIPT : ERR ROLE COMPONENT: BaseFlattenGrassComponent +15:10:20.067 SCRIPT : ERR ROLE COMPONENT: BaseVehicleNodeComponent +15:10:20.067 SCRIPT : ERR ROLE COMPONENT: ChimeraAIVehicleControlComponent +15:10:20.068 SCRIPT : ERR ROLE COMPONENT: SCR_VehiclePerceivableComponent +15:10:20.068 SCRIPT : ERR ROLE COMPONENT: CarProcAnimComponent +15:10:20.068 SCRIPT : ERR ROLE COMPONENT: WCS_Armament_GroundVehicleInfraredEmitterComponent +15:10:20.068 SCRIPT : ERR ROLE COMPONENT: WCS_Armament_RadarReflectorComponent +15:10:20.069 SCRIPT : ERR ROLE COMPONENT: SlotManagerComponent +15:10:20.069 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleInventoryStorageManagerComponent +15:10:20.069 SCRIPT : ERR ROLE COMPONENT: ActionsManagerComponent +15:10:20.069 SCRIPT : ERR ROLE COMPONENT: VehicleAnimationComponent +15:10:20.069 SCRIPT : ERR ROLE COMPONENT: VehicleGamepadEffectsManagerComponent +15:10:20.069 SCRIPT : ERR ROLE COMPONENT: NwkCarMovementComponent +15:10:20.070 SCRIPT : ERR ROLE COMPONENT: RplComponent +15:10:20.973 SCRIPT : ERR SMOKE PASS: discovered assigned vehicle role=4 prefab={F001C0DE00000003}Prefabs/Vehicles/ERR_RoleTestTruck.et actualCrew=1 +15:10:20.974 SCRIPT : ERR ROLE COMPARTMENT VAR: Enabled +15:10:20.974 SCRIPT : ERR ROLE COMPARTMENT VAR: components +15:10:20.974 SCRIPT : ERR ROLE COMPARTMENT VAR: DoorInfoList +15:10:20.974 SCRIPT : ERR ROLE COMPARTMENT VAR: CompartmentSlots +15:10:20.974 SCRIPT : ERR ROLE COMPARTMENT VAR: m_bBlockSuppliesIfOccupied +15:10:29.100 SCRIPT : Reintroduced [server vehicles]: inspected=2085 groundVehicles=324 truncated=0 +15:10:32.856 SCRIPT : ERR SMOKE PASS: newly discovered patrol, escort and supply vehicles physically driven more than20m with production crews +15:10:32.856 SCRIPT : ERR SMOKE COMPLETE: vehicle roles discovery assignments native crews and driving diff --git a/docs/evidence/vehicle-roles-2026-11-06/focused-final.log b/docs/evidence/vehicle-roles-2026-11-06/focused-final.log new file mode 100644 index 00000000..1ac8dde3 --- /dev/null +++ b/docs/evidence/vehicle-roles-2026-11-06/focused-final.log @@ -0,0 +1,14 @@ +PASS: actual item rules, shared-source conflicts, missing/returning mods, bulk reset, independent named presets, bounds, malformed data and failed-save state preservation +PASS: catalog requests use authenticated sessions, independent admin page selections, loaded-mod allowlisting, bounded pages and allowlisted item mutations +PASS: actual convoy dispatch validates before receipt consumption, consumes once before native mutation, retains all10 partial-failure paths, accepts the selected non-USSR enemy, and allocates exact10 bodies without capacity shrinking +PASS: own memberless prefab disables automatic spawn before initialization; actual admission rejects populated, immediate or authored-slot templates before finite crew creation +PASS: optional vehicle discovery excludes parts/wrecks/base templates; bounded custom patrol crews accept cars and gun crews without extra bodies +PASS: actual vehicle selection preserves default distribution, admits assigned additions, isolates uses, respects garage default scope and never restores disabled fallbacks +PASS: traffic distance/grace, all-observer veto, player claims, foreign custody, bounded spawn cadence, failure/stall retention and shutdown preserve nearby/claimed entities +PASS: actual observer collection includes spectator targets and controlled bodies; missing views/controllers and open editor cameras veto spawn/cleanup +PASS: civilian traffic defaults to three; menu command resolves to persisted 0..6 setting with zero disabling new cars +PASS: bounded exit-road selection can turn along a coastline when the opposite road is unavailable; no-route case is withheld +PASS: managed traffic pins both native garbage entries; release/retirement removes only those pins, including partial creation +PASS: garage/yard family admission, bounded wall offsets, civilian and optional Rally catalog exclusions, vehicle-fit limits +PASS: yard road-width margin, missing road data, footprint water/slope and nonfinite-input vetoes +Menu layouts and palette are up to date. diff --git a/docs/evidence/vehicle-roles-2026-11-06/garage-browser.png b/docs/evidence/vehicle-roles-2026-11-06/garage-browser.png new file mode 100644 index 0000000000000000000000000000000000000000..146d839d906dbca3b9d4bf88f5ac839ae37c8394 GIT binary patch literal 115919 zcmb@ubyQSe`!|f_&_kz4j3XsEba!`)gmgDZi4uY|0}?|@mwASmj) z`QE?#e(vX8@B7EI)^nEY3p32@bIv|{U)LwD>l>}DsYHlJi-(4WMyR4JuZxC;^#%ks@trEL~Jbk-$TP$?2l*iRT(z`y!^ ziex+?>bxV27A4l6M=V(+wh}(R9q-w>ect`+_aEr~OpOw_ivJv&1SU=x|9J&|iNV4o z`mfiY7@)%c^^!G6dgZ@fzB#xP`d{CEQHS$?^kpQshtJce91cp3rgx})ygEB>QfnN) z6=?dk28Uum{^vZ>j%=JBKI2$y63Ig~dG+e2hjl_m)=F1bXGZP)H;$j_!!s}{Ne?7O z|GsVWM{4mZDHeyb{fX-QlieXt*n`=AJL&%%JD7zTvJW(~p;wQ@u{iWw6$~nE&o^s= z563%x;y5*S<1V!v9k~(u>5&$TGK%m-DeN)n9{W=|MlNY0{yoNvv{$6UUV}7HK6f7q zdW+2tgk9u5p5SY}ho8u>&ZLyXv=%KNQ=dG#G`c~}v6tGMZsc*cPnPyO_O0}EU#<@> zTlhWkquEN@dajLm89mk^4!ymi&S7s#zN`&SwlCD}aB66~oA|4gmJ3)WCM z%g@~+jIZ(X+FzW#POyqpKgf3+OL}`{mV_B3o+#x_G(RWzR3Y;8I_Oj5u>u25|JBWN z@0eBM>|e24N5193PkJB6XV0XzHh4LWNwHwv6^a=5LPp}gPj*ivYK!{!4VGDMM3il4 z2djq+DamBFyqQ{op0>EWTGkHwE-t#Mrw+?c){{fhX6xE*aO-^HDe+S72aEZi<3)86 zSwV8RTU6JYP7u{>vtoOmY!~4NrT7<&ZTY(FG!pcPu_BQeI>T}*?0=umHs;3B>U`oa z-C`I6&GjxpjOW_m5JHFGzUQVkO!fY@H?mB>Ds0DTwnjsd;P>B?f1fLZn0&vhYpj7a z2s4$RV0dUHV>zu(PC&sgG%+|{u63`At9+10^10UarCA#W^NW+(FN%YM9hXJS^IhJsGU_l9P0beWJ|xb=xCo3M3WA9v)u|4y+cIu@2f2?c!#3| zj%ZP$#bxyPub0}FFFOBy-{5WOISh21|N65nG30+A z?f>SNsr#sk9WzTD6&~G(gfT)KWX;J&AL2u0S$e`B30BCEr8Zm8BJwZudwSPBvqs@{ zJlShrF0urvwWXgUG&5O;B<|3@6vIW_(U2zljET_U((p*0bQ^21!b)%vtUR!cW`u-y zp=k^{FyEWyo{KkBB)eu^VwHVW;uurVn;xb2*j(dPKHnvI=4UOkYw5z&83&b-7w|W@ z4(ORL;OuX3HH8;!-8tCh6^grb1+!kliv*Fx2k8fj9EH)rQx5vr9x=mZxV-xPxw2$G z9hvVryg#FT7)=ANd z?6o=v+0*VbaM~>c@QzHO?fn0K5z$s(DT#D+h5}2x!WiG+A~ig?j9PSNxg~_UnjW_) z+VU)G)=oS5wk!%}#l!kaJW5#E84}0G#^9vUVH#62Gc(iEOc8K6ynkSzrMX#HN^Kq= zd0*ix8^*IgFp1m>Z3o3^c#*CO7&c0gI7ySA%G_*I)^h8R| z`(amo)5Y4_Tbv;)GgBR&@=4I9 zabaP8UblQImBT1zqG-{r@qna#&c&}~5sP~zIvO_ux?b4zCva;7_48+7KowQukd2d* zlPn}YF0N?O(O{u&;jVyy@c=4LG4-zsd$k*g)Nl zM$MajRCLpx&I!{e6sx7LEe(QmDJm)=9Q5xux3sVz2m4~FrpvzB)%*JTiqI!0!@Pce zckKIBTx>O0XDc8eFpzjJabUe~=Ii3(;l&;K8RaI5o zZQn`HWkxO^K6Jf4rbG|jm9~7O!aqzY>5GvRHSJVYSxM&c(xB*vTyoLmZf_M7bM@5! z8ZtE;(4qkGq}6eELQ zetz(jArChz!K_2Ss8PF8M<+WwI8yr!hh6}fN`+X;Rn4)htE=fsBUizNz3EC4S%ii~ zi=W0}0i8k;-xYwg|iBEg)PpQnxO<1%Z86^;dSQmUz` z#V#BQ(#E6I?fm@w{QW;($sG5`)1BV!T=j79*yMin-eD;D{*}in)%&}5@4B~L81njl zotbHDY-EY3n>%=kPbF+Y*3i(fMg=R^-@Ca!k9ma!c8a@;%ZLr16NDZtGCCo*-n>J< zUq_2A#CJtu$3JcAExXWbX2cK(atP+tCm$c5kBdj4p?6XdI|&IyVT=v#%YU}A+&_I5 z&X|mc@}blj5+9Uyf{C1;pFgq3(t0W>gq861>(^{ztCjQYx7C*v<(|ShTv?-O>k-+? zFc39UpN*JurtR&~N~U{dmVh|QM}y*q)iyJ&AVZC42qGgRu}525hN&v2RiW~yg~Cr- z&1)uiZMdW5nT?Yz{~C_k@rTecQiL&rSd(GzD$X!)ygCP#(B7U?GOTCS13{ZQ5rYN- zTBx)%NvO0Zc)}HDfo;<;l`n|9MB{vq6oti24K}MP&YBk)N+&7sMlr)ftq}0MaU(M` zR|M^xTCk*rIK#br_tKffDdN;g67;FaX2Zx_vqiiWEnSI{>%0bopesM3uKdzR?cx;+ zRnc)w7du%iJvYkeTwM=AFk?tmU`F~p3YAbT)mvX*pL40+d9g^Z{6*V>`&vdiIkKX{ zDOgGcp0exn$pP_*)39_BHB@A8FJitOC~iO$MV42BLcJ+Up&-Cc9)f+<&@F$x{MiYhEA!R9Wns=7-@C+4{p5hw_v+UkO= zfkCQtx{=@r+35P|w`V^VM;6((aal0}o+by=($c(rDbR(xnd8OSE8#UReIlJjMaYL-sg)q_bYoEQvw-0A^P}Z@C=GNL4-a7H4~vHI#bWx0|b{xTy&>-d0&$jJ2!~NXf{)x#+y>}s7G%@6&i`n09WcYpt^2&C8ZDMx`;sH4h(ei6WlnT7R}MD zX`J8m($M^btIG%}0QdT9_cJ1A$VMGbrl8~R;Z{FK$!Wau<5zgsH`92YgZ1bS1aCW5 z_9=<=Pe_wtD#=BxF^fOeg67O&AbYK05tS38*Uz~iXsv6FIVpR%#cP!+7u^OH4Nc(q z0#VRR6s{Ew`g6;UetpU?Mz9)&HauG-R!>}bs9E7*Y&n`J^(_D)I+nF`n$DP2z^bHG zhx2p6mt?c20OG+84>djr9B8brUUK??grQP!M;s6VZRTJtP5OxD5JlPRmA{6i@_kZC2!Zv!qzFgA&DF2RgTNS2j8*P!t1Vtdpq1JfHThlH(sLi~F79B^d zEdCic`xhEQwyEOxb1v75&ISTR{iYFZ?>agx6b&e2Z3hzWV*SF^6-an!+OU#g@?>vs zPtbko=BVX3=B;2J7?%GL0Y-?)@7uuG(rA7BKoF*~wxMz5`4}wXr&13f1(lVR8E;5I zTon)~))&fx4UJ|AZFjt}vqsQ5J2^GDEz;t>TzdAy4Ec24b~p_ro2^zNUTOk>Eqd~_ zvW4>_kEzeYU@1e{lFypk+U^bv2nY(|xf!9gQWX{!f;|FOjfGqnxM>uMCT~0{Xi-7e z%xu*EiTh%+0g?%E&U0Ud?=O2_z_$~&wDcD#5}%=k_%+70Yb#yh$(c#7|C;CalSIqI zcGp8XEP|h?kkb`(E1lBfSP&B%W!3ZKX#VAL@wcKrB3r;(MDJI3` z-@}$kf;mbJlMWj%QKUGVkUkLBkUb6RG>3ipQI1iHC4IU16J}Wy) zoi<+ah6iNeAK$#SL~{}b*6qi#k;t$4S6uhM(gJd_9I%~JW!hM01oHfc5v1}2RUqs)&+#byC3-rp#-`av2 z{aqK=PY;&beoY%$P*{umNkDg&tBq@A2}8qA^}D;CT3cHO{W$7V13ZY=jRm1W)ifDLSo`QF+YM1y>Stlk=RQ@Iza&EvCu<*ECtnM zP~tOBKfg{8J4&iJdSY^zYGh8*F_h)r&Q^|l!73=P@Pb)@D0mk}da4f3su%xjq%}F{ zfT;LE+2?@xIz1hqz@F{=Kxt7MX483isZHK@WU^-LTsdurpe4X&QLvrdRp&#!Qe=to z!8=9kw5rWiS4>9O+-9&W<=(;x)`fDqUm+Z<9+2LOm1@(|Dopgy;M)2t2pcEs$H!a; zU7^O-*sfEA*p<`sfG^;^l+90K*h;qzS&+1dpLPOVYmmw!PO)&@D17-FbC)LCJ)$U# z4qx1tvS5A?8us;bmOL5i@X1{e=`@RVU0ng&C~t5712TT{n6Ni>AH5dMz~fmejE=;I z@JO|r@J<&&Aprpr%qKk5CuL|-VyE^8VxPZ!;S&@zyvdnc^#I8Ape3Efp2woHqIK7& z`O280p+EFlSMrbzjI_Ga`Q0N|bN3G})42t8>+3TD2_P^lu3IweU7;J}8K~*#r?sua zQ*b*}KTU80>;T2X26U-xYM6WZsqPCGL5}iPeURrI9J+sOM@E*ct}@wL8>MqwFNVf!^_`rm`}H zx0}0Nt;uDMFN_gHh_{9u3OXX=YiVheSXe{=u=wtOy;*$g`-y zIH?Kh>PhREAO+3M%~$F;ef3Xzu*-A90lG>vbrT7`^5{wqm3|R`($dklu*jQp=|_>A z$oBQT7ZVeE0EfTh;AloFSJv03uywZf)YQ~iH2ahUo*4ilu8Mgfa5 z^v`%CB#M<8W@KHF+0Aub9_K{WSFf9$%IK)K7E8J;zh4K7ASGdr?~Dm3WBU#-d)I3L zd%R?wcR;M6-Mf?x?{eUwen=TRphuB7P*Pf2KNq(a@N2e~{d&Xy&#+>#I6BDoKm>0y zZ}{cOhbm%KRrAFNzb8%k59|fA`Y7wTWg9jUCu4cY zqU-ZMVg(VzDPfPj4eh9tDqIVc;$y(fmcX`Kj-?u-C&JNuk5ulx4mmTdoL(>QCZxQV zm%Tm^3RNxEB_ji{3Z6a;Xuv1Gz;0R`B8Bqm>fG#XX~=c3a$XS6zj5Oa&g`Vv{}$pJD0JT{KE%dbt=3Tued~x z-CcI`27p8WTzlv1!}6CmC>r3@Yy8-n8$c094w)GeEn59g$Hb0%JLUkH*DKYmGHXdQ z;oz1o%;2)Mwq8%ZueKDpUzH>FG;`EWGY<S&{Wt?B)5VV; z>qQiPEq9;tBo7toe#xEOef+_R;)o=mZE0voMZ6OrG}8u`Co!wriy$b0eT4`IK9+0%YH_rc1` zoryv)7TAN;)ouXy&$*V*LkA~XX9)s`g?mLfHZz#H@Ny$9{e!n4`tWa~E&aQiw2H_cclZOATX$lbsI}=uZ)3A4bN;@LJE} z2iAvdbSpZ$(tS+C!ICE~r zypcLG0*Niuxr(_@8g0q5a$yKAnT_wMOM8t8duoh)H&^i9Wxa}I}wF$$~lixe`no?kS>Qz?vi_-5MmcDx|KSz)5Z^eT(CZgd*{zJ8}<^g zaITsuMD2kO9annR>8jP&ek)g~p4F3K?hcp61rW;j z_x3m`@h87d6e|wReQc6XH$XrM2ZA#%ODz{8MdB%;sBb{HB~22 z0B33}@+MEAe@RKSgq4$R*i+ZU!sFahm0>ZvVc^aHeslBkIvYf?L=oL>29Rjh8K^Z6 z8^19h=TZX75U_pst*3`-^$4oK@n==zlCI&In}fs7!9j0hx-lnQYZdG@E4y$jeEQ># zzwL1WVSPb*lz$B=ENTH@K0G{}bGe-VkhKffC(zNs%q#)$(}LAfa&q#M{c8jIi(sKy zo=jO7DbY)>2lxo;I0FNqPNcwwnwx({M|-N=GB86Uqr~drwAHyeZOz|`g%j(i0H!3v zWENK*U)&`^TgFoY#0lE3q{vc31H#3vgrG94r!=ozj1jrRo>LuXt7nc+f zi4IrT-{1Fq-o5Js^fpT$AN>a?RRDnJh-eRr=z{esm1Vz#Gv;U}#>IKGBk{4r!FT*dX>g`O!`_`>uJshLLiE!JNt7J~g@SFaizoq?}lTUr9YYNw3u@-SPm{Hs1< zmoni1g!)?JxB89gR?rl;!iEOTavS>VQ#MGxzc^S^HQbLsdi2Fmh*ZuFt-cPMRJ&)d zqF?mKLpTmA0nk%#Iw5L;n)aXUV~RF{S(}UQo4#zdW0DdQW_o(oA0Ay##m`tgHzRp2 z*SIiR>Sj}KQjU>-^E&&$V8n-dr$1$p=!{kFTkzDR3bol&XLT z2~hddZ=N{oF(19RHREJ+p_pYmhgC%p|BU97m zpks+JMi;?_l@&`KY8Q8RcQ-dUM0P1S4~LlHV0ZTxXdu0T7Q4TnvPayVG-PA*@hCQ! z@o2U-T!h5m&@8-b<=pIfjx`@j(CwT5)yb1=3UnrYQ`0PE7$w(Z03g7gC1wyG6rpe? z65%BWT)v>J(x_%DLZ(=^{Pve^hA&Jom1>iE>_x}}+^C)hTDiR{!8A_J&VZ_I*zVxJ zymed$RU~unNj&|&qhmWAkA+Y9jzv#?i7Q4a7eG)_sfvex1VawzKL9ugM(yg7xe486 zsw6EaU_@xdj&I$KRiHo(aii2pF}sgG#Pk>n_4oIC{mi@?D|memN0yZ~-YZ6O&c!Y; zkexF233ps(=6r1}2~xKfyNXt zBY8~MwN)1_l}q&s3t4~+S6fTN1R{X0&G*pZO{)&#E}9FFIY;g47Y_ZGEHX<@5xyU( zRg(R`(BweqomehpUfh*A^b=e6T>SQpo&Y;lmGTY8$$6h;lE|}UL7>Lh&&f|B7J}%B zW$R2TIFBBRY?LlQqU;a-f)dDZxJs1yh%~#<)gEL^7$w7M#m#J52)NQ?Ctu2!dt?BM zXiLBhcorbkpfX-7!vM+$YC{Ye#Y3}ZM2_Y?VGpn|#OR55F&@Ol-Qo{xph+v}05SP1 z5Osx@UD(Rp-q1;KX=>(4KD^N23+j!{Aw1m%WQ3a@L^lUS;PshpfQmFl=^OAQM16KX zf2}f|>k--7wJ=K!!jyoTm)Md-L{Av8y7&#J2-gjAMpKiz8syPOVaE8hbZ-! z@8?z=Cc<#$QnX7JYZ$-ZmcDpR+SRfn5g@QYnsmWPpcg4n?rp?&nSIBk8_4=mv_(lQp{QlX*@_MSu+? z``yXX&2l39hI971E0<7#%qP6M$e?QGtguQb=d?>XM0_ zx}1sKC0@?cH$1c{i|V=QfaCjj$3G4ZT!iWS?*ixV;Kwi2H6I`b3OWpl16H*F2uL%& zX}tECmRq_Fa_hZm5T;~UYIC4@pMj;f;Rx8*pSq)|M7e8xvscXKd{bA8y`h{?`UTS64e8q#^U1Q z!JX0}oB0pURNm@=K|y`OmuhV(NgEgX4ltD^zXjLqL?+v5!idk`zazHa)8=a{-?Uay z*USvJS}Q>W5C{T7!iVOq!oXE)^0GZ$>l4{LHQ$k6l!g>fIzAyrYO`*5HDT&L;Ie3c z9M{<;4aGF16gC=)9r(xp^Z=U171!@>d~U`FAQ+!I->AdAPgc6p($em$r7=b@BOwes z)n+Y}f7bvxAH0^A%m3_L)7IcT!-e!LkCwOk`{y_F(^Y`qfw?neR}b`7sT3-eWMOV= zkgvZpv%zuqfpiQ)Y1@KZ3t=NLPxOKM*8c8-VB6K(!{he+E)N7~cBPJ+_qoR8Mgy{( z+}!$Cn|FO4eYs%?-Vl~2UmoqBQ~t zFfx;2VX6Bg&)h|iDK3H^;;lJ}Fdw@X29hvJ zvTfs40CZ#AE!Nr~gPuOSktCS)q=TCG>47n)sDOZuo?cW6Gd_%_E#FOj5ZZl$>OK-j z?>q5$)E~U+A`%HB6dq!gVT2ErEgtb?X{aYp1YawP!yFkQ%mae}k&oJWT;87(5x)7u z3lnVuGvB=#E6=#tfAz8BgRe};HFJvRN|%=8Rl+D$BxA_gSQt=ELb*QntU}L=DB-E9 zwF8>K1MEKj;)$JiBh>HGXAd3=aA&Zd+a@=^_E(&(w;wnE=y69YH<_D-z03_DH6RT1 zTh)I5@dId2Z%a#~+R{oK%RzWC=hj3Hex9EXTEsPS^EMQaw?4oI5P<;<uGc#++hLk9w)J_)x*WFJ?TYLKz|S&D}2DM5wv@z1ILjkDU;OlD2>o{;>@0@m=Z7uMswuLmZ@DCf#5LW~g_>q|{( zd)SJ`>lr9i?W3w%WA%;RwEB9cmPIa})ylv}@kovto%Uk8$l!v;PO`*;Fcw~ei zP296oMlC+PWS6-#x|mhf1Sjg|l;47vCe_**=;9I##JRMT+(NYRLL*CJ+)OfBu%@r9J6i<9R;n1t6$=Ac43{z-l z0bU$L1ISyeu)_S$>Y_PmKU(7ktl=pGs~&jE<|ps?8PaQt)@hz-z=73m6;Tg359g*3 z0x_5Y7sR>g9kJUMw{pl-g_BXnPCFowMKZaSuZpg<9WuE>{*c2j6p6rIM5*`hZ{{Yy z8ML7f)_pnWGUlmZCkK`H_O5ryGZ*yN#R!e8sH}|5en6^q|ApLFAn!qC1+yLkmy|Rb zX#P|OJ`auGy|JtlJvCFk3Cm%8Rb5@pVN~rwv`(QfG<)YzEse7Y=)4Q=9c=;Uc6J2b zTO%|oTIT7)sfBKq9v=xyjZ;#Xm0+j-k8h^x3D%a8cw#b2%p{7xGIDbzLvDomb*(f_ z^z`(Gu!zPAM}vW_cCD0a28sz&AFo&{!&AB}p-LmG!B70Jb0vbPv+Cy#IBHsDb*2Dw zugw6izI(^-TfRcG9agfNkdRQQl-PbgCbsHvb-CbfqQE_T1fpAyFy0 zv-bJlknEAVrX~@4ugYK$O5FlIJhU?x#YaX)ZkY~XSi&N=!`tH1kGLBe^e%tXzq=0d zXP;gDYP3FHvT|>%l&)Pp);RhrD9~DB_Dv@zCz)~F>yW2kxU)v%;s|0nvxjWLy3iJk z#PdLPjr1SZNTA;;Uzs>|bxp5&WRw8PcyJL&lTX#+rP>mj<{-uvIb z7oGgV$r{}{pJq1MlV*f^v@9wX))p7r`ukIlr+t~9&s2s*Mn!>ymmSZ7d=)pt_)#f~ z|F1LAfhEpOO<3d0=4R3Mh(a?nvu-&SUSjmpNt(oga|~hc$k&)MmS$i^fY<|&;x8J$ zCAm5|O-@RVppB8>92D~2F>SQ`H@C#eT|m2oF|5IC`!qvkk+0N`(cZeP&^(!w#m*I@ ztf{D};r2R++4dNHz8-O(I4r4VeH~VVR5p&osOYlnj8eO-e~}Z&^4!3iU&-c9kX*o! zum_i1x#<&ttz)T#Az_wLQ66ij{=iI+>97WcB8T$=oF4Lp6W-fnp74v2QlO@QhjL}Y z3A9wd!$(^g-tazcK|WhhLvm09xG2E)K%nvO1|AK^9KT%|$B^8p*K~x%TrA9FCKu@lKg??uaRi@v4e6O;q z3Xspy(W(gt;4<-91oNWQ1q43$JLRgwB}7EnK2Xq?efh^-1l}nWf(aaEHrQjX^x;jf zmPJgNqRHLUQ%@DCS%Aq8-gQFg{gv~)Q-)|(*Z<&g6!N;k5C}vqgq0tvaC5{j1eci_7?s^J_y(^l8E1Dq|p%> zOZgKHfG+szSQl>@`r1H9xD80ZPJ%A8CuhUl!FTR%MCu=07H-4llLRaT$MKM26Ey|Td_*O7)s#Q6}+r=(OS zmpJ-K$1EK79~l9{Xh+52)$Olxt@rW?oSj+4t0$81nx7e{5)opk(JjCLhm_G{&Pq-x zXR&C0D~@aqr@zc2DSPF}e9L>DTlls7{%Yzz+Of;~jJR}iZgKIUZyMQK+j=(EuZ$5O zg~AP1K1Ua}ft4bgug#v??)ii5vo+vNbruIW=z5Te>k#Gxp+@r5hq1U0+r(E~o#{)_ zupuk>vPS8oznAu^Ro!%`JTpmbU#mHH+AQ$H6Uf-U3WJ=W0xI4(WAN!G91u`Q8A8gF zSH2Kw%=yS*^CGbFE>Y>?5#V&FyxcBJP_JTW5Kv1Gy)8|-6HwD_XJ_Z($yf?z)jBHzGZ3B<$APoNoeTqXbK0q|4?2S;eaQ&@ z;faC>-^h?q6*;?z z?l>A?dMItOb^bg_MLP*68eH^(Uhb#c}!C#Sr4 z*J_~70m(o0e2(0ewe8Fu=8v-ByPkKh0SG?h_@Sr_6hxWV^Hd|D&xpIYLWH+#$G3aB zIrP*?LIFkqQ>_fUEv;;6x$oLyH<}3)-Loo+<>Fp83K1i=Tm$m)xU9rsUkQVTI8m)U z$!GgjjWOvW|5SAdbxxLQ;S0xYgquB#34M0Lk0J=Um&^YIk6)C6->o(HnvaZ+jUlt- z*RNm2ZU*J8H)q4@^Hj+&ko5fgN|~V$dQl%`BW^v%%>Dog<>Zljc0kq`nVmHTTExK= z#rAj}l{Z<>Z%UdAGR#`A(!%;0T;{x1I`7a73eDc~j+? zksw2%*NDbO+u&k{XP-CMcA04fTudTBkQuV^-6TMc+VCmhouCgI)(E^P*|p>WrFm!9 zPT$;!iRe2kLGXEX_l}*t9H>-L_@jHGUjiyYh@!$zx!*VfZ4M_~M!YQPk^P^zo$M2{ zM}dR<>}N7B3FoP)mzB@iMJwDBS>(Lt8#8wssPR6*txad9Gg!ugJYR#xBk ztNKkIdXt(mM}U*?^LH@^#lusYiZ_4ayZQ+;jj>liz%rzb<7K8a=xB;(sKUHR{HP zI^8te;PP*ijDTKd@@74}E$U?dr>Ijnr#fbYCti%doBwZgwr(gfsC!A_)Fyv1+r=&3j zHd5MQT`Q;S1GlhRaXo2|BBN(#r)*$-cV`ExcLnM<`(P|1+aoA`f3zm6KD^S&0H9)| z3;|F1CHFiahoI0hEERB0;4qJkY37YTICv5Y{d6n*xd1g5pdZl#y4dG79Dh8BvBQzd z5dj$E?UxA*5*4A%OyzVcQ2C&s77v=jiHy7@V^W~007Qee9ZVu(;!cDqbMUQ+%%V2< zxa#f7a<*|164p0=8>;#P-9CT}oDkC5!W^>W84Snvi zW`+mg^^nDC8W!NCE-rD$ox0@r#d_$MTCX6TVdPR0x>zayOGbUjKgR=vCM)aW=2o!S z{QYMg5J0g7dMqdv0jV81=O+>kicCMYeo_mn=1is^Mp0dfD8=c`TgD8jDUWr26@INN z#DmblL7xPfW^%V-?yayiDB=RDhcfJKp1uH9be|Q>@g%Sk6l>18bRC<4hXKM6O!ayE zE(+K~bLV=X%9oj+bIqHa08~&Bu@T~oYN)GQ9!sg@<5^{7X0BziM3Oy;w$M!{wO_Y( zrjMzl11X*AGZt*rJ(DxpuD;NL+}0tFobIRh!m$j24C03;Y<6!&d@A<`CK@8 zDIWMosVWRiaR=|P?p*PWfr?SpQ5LWh-f?#VYhqzx0SkT80aU%_N(NoNy~22D@qNwn z0%$RRZe*~-SF2l&y4@ln`BuS`w{F?9Uw)x(vmoDWPImz1H8>h1@!!9GaGN#|l-})g zW{Ux45J-Z{P2Qz|w(!Drw@nX^j|YxI$rai_7R?qihNp5W=m4=ZNnc81vZmutU_yUB zHnWnDlUmwOLY;B~b{4i0Ng$cqA~w)$k~B*dm6U+ciVU7v|~@bbf)i?B}_ zwN8MaALW28`RmoWDxO>x+Ce8Q278oo6n1f5J9G*+?MiA0CW=k z0&X8G-QdHOv%??1f`Wo#-`;bk2Q`NL)C8ygH^2_pulW@Mz$vh}Ky_76+fuNA2o#bn z>?yk>mMhJeL?)BOuP+(+-9bqSC-+mj384D7LUzDYYtHS}asRD4W@|6t$zukCv4c*F zVA(c&G%9Rr)sLI_Bqhyx5CR|rpI%y7S)p?z19~~(-~;M>0TyjN=WaK7*|WN|WWLq6 zH#&v6K%1LLUf!5>o&wok8)hO~gtYpf!9#fx3-JsmW?urqwB-KhQr%ZSj zMUx4g!~FB@TOAq`f=~Pv`{u#Qcxs~sh2IWdf1#%?SE;d+pL9DMGzlyK1L<&W;2fa= zgu}VHx$GB`b4EIU5VZs%lf8B02|O16Q+ z8*TWs6w404ld-mD*`C6nK3ILV?Y-%uPyK`+kbYm^3lL^o#~M4Qoe{JE<7K9-fUXG; zzSL-g_YUpNjf}Q00zET_EO}VHJUBl00>W|n>TbvDt&}gV=I$U+G9#&JXjWersQSO5 zrK1C`&iOziXk+N&v-S4&{=)(+Uob)2`o)ctIpIC4Jhbt%_d{Vr0NakefwjZs{elLY zt}CuT?Ho#j0=b{TlAxSl9X>EH(5Fm?t}%Of2`ZCsIAHg}yWRo6*msA_vNm zf~EkTJ{o2yAIb-Y?&kIa6Btse)DP$q2V(P_(o;Yl0TD{TiR&S7Za$JCH%Wa7%`9LoXEOp9KSdW)soFIxO$rRAni?(jAy7{Pr_sR8cYNfE zf00B%jY-s}?R)9crZGy0_ERZ5Z{y}>no2|q^MAUF$|7ze{>HqSW0c8)>pLmD+4>~x zvzE>=>tKsu3JEA@J!CWd^`KmX%xP-;eSyEqoSih;c?It2aQ?)Z>w6e@^*@a^6rUre z3=Yr>FcUse!yMj70ztUXlnElsxb59XFM3+}+UY%CX3~4rAl0B4BwR}6Ll*0hfxgX? zfPW3BQu$_r@BcNRJg>9D%Q9+$NYF;)(rv)(o}_(8W5v)R)3Abq*GQ|6zL}ogx`Tb| z^N=)gDYfHSihfIU@?(W-{r+RD|KDb!t9j5&B#5JgML_!AQP#34P=6$UvVGzc=uWbw zv(2PLJ-D~KOCBqv7+;cF05j6L?L`7jLI0nPNoNbAa}6hm+W%_QLK9Uw_+|XxZ!B67 zj6|rpf>xW(n}X&~22N!E{I!hL(ijH~BL3fvmt|tU7Nq=DJ|4Q2g6XM%CRvlzEobH{S)7P$P~D3 zk9&nvjSJ-L=E(1h4Cg~XOmizk?=C7^i4$=BknQ37)Lto*GrciYzD5Eq@PgYier6 zW0pjA!gxeVk_rAR5-nKn@m8Ot`S70@sd}7Ck^7#g8^YMylyRQb`y)pEE}_Yvh=%d! zO-4wz7DzxlJ)1U>X_ z>bU$Adw`#FJ(Bi7c=$wxB3J;-cv)1JB@Zp3oKYlOrkk4+XyGW)bwr*keMV@!*=M81 z4P#UZSEZpjze_gz6YCQh-Q3+bUgm;~!<%(W= zdgzL0hdS+q%nxrLG&|kuot)NWw9Y8(#RGJ7oYGQ7qU_4qbg|_Iz7SGjT!?(a9ke%a zgbWlRD~z&YPbItw(tA^UqeR2hY0IkWMAUY(W8~?9 zP5gprNY^CdmAYU{nKzRxYpSY-rp5zO++!jxF;yRcLOpi@8?B=cgCGLhsjYx>6K20 zG!hIuFYx#!n2`=2X4ZdbSrUH)b)-W!1lV$5ISA8}EPXaQyhzmIIX5CSS3|;9D=+cf zSqbdlhKe)pNHeS@X7wu>GfLrSJAknn@2M0%SmmW67(k-|XW&v@fs*kg>nZw4+@6?6 zRB&m^czJGaY-|YJ0aDq=X3D|?7{Q`NZpKMBnAsv~@@`pDI}{eg53Ia&w}hC+{cTAa z*ta40u~=5BTif?3RQ`}`IdeT1S!SrMFJ{fPq6FiziuDrrS`K29M}s|M^<xt2uWADW+5$t%@6pq^SY+D z!PDcmDfa~wT}cnTFasZ1icE-8`Cq~9^-JXKh-f4B(ktM{XZ+?s2~B83mj{1JO0~EDI?kbK3$Bso^J5v_k_mQ?_Ad|Lz`w;CP2O}fAXwVxvp zR!CntGqCvBtqOC1k4vQpBE1Ne<&N}Nkl7!QwhVdkyull18y&AM@^i6J=*#xENUVWC%zL~h{i$WS$u}S*p-g{Tx#NAXz{)7hDYq2V_5rD zdOq?A^k6p}x2Dh*c?`0D>?uN5;?cUPSgNl%Y2?7CH%vWg{8 zEiY;fQz=Bo-RCo`&#x_ECsj)rm7f-^K+_%@ArV$4H5oBX!TnN%A&m>S z4yMza^BcRGxeitZ!;Bcv(Jm&+NAfYqj6ct~Pl;ci(98K&rF%tS#s}O~$4~g9PwY^+ z=fR;eEE|4viZ^-&Za6B?S8qz~?dY5;9b@Vi-uhK;j>W54*GBYN<;M3WUM6nF-XLUq z30=b#UzIqV{nV8w#f+Dl*!i^MGgDv}k+f)~TB3_mZDXs8iJtR-1rNdAAM2nU&K6^-%K8zZrU5mCUcV*)z?|51}u7FI96{`ve zsS%>`7S(v=`E8}bLz5&d0Hd$%V$|tM)>^wdOs4*kf%<%sp*~UFG~wMHJW-xIMTFAZ zJn78Nud6ZQWpLo%-n_Gvajf=Kb`0OvCdIs#s$qEMG!FMGN1mdNDDamhd>w6-!lzxB zmAk<;Vj@TFJSF2##cnhLJZ~}!en5& zjwutC^_iS@-h3!HboE>q7kyN5O~8QblR}g=ZUh8F1+I%ioxERg1nT32alb4}cqk8T z941N-04I`^N#K{RdCfXT5ZJ8B$8^(--g#r?(NsBSv5iL$U!R?gXt)HSEytLXHdcX- zE=zhPDQ4{l*JTrHotI~6s`HCMvDC=H&1~PgKf^jgkX*u@tb6AxC*x3xBxYA_qCITx zVxc=l@nNrTV7pdmRb*$`BoRmMwE0x1@Z9yXftT$9M7edCGJjTzdq9;)uUp3VFhvVQ z?#`Y|0f}l+T|0Z_b3WxHP=+Y;>cl`~pw!N}(hO;QrkL~CozYk`Q7ZVFl>-MS8j>mP zU=n1VR*?P_k%G;aG6vHF)8c?gvMZG!Rns?WQda~~G!*r28Z0MLFl%}!_QtkP3Z$4Z z{mFh=z+a9X${w;Ch3g5b(J4pt*gIr4WW;yPy<*^^NBhi_6b^8Rw7o}Z{fg;eQ$ z97YA<#KTYptXar7`#Qlwrre=N@sawGd^Dhx+?sjFDauyIbn&wd^%gk}nr0C$J!s&_ z&+l6GP*+#SL|?hUMC%MLt*V*^3Yu&^pq+XpibH$-*?*|S6k#=x%A%DZwHw+*cVmRm zZ&pwKP3*4CVN*^gB6^uc?Yip#7T4E54>)kQ+egw#$P$GH#Gh^^kyI97_5JkpAZHR* z&28p0Df0^(;>!8Elk*D`#wyQ(-ZyDtM-sn7@DeIJMBux=oYg#}4-=UVB4m19z#5?~ z9{zWfIf4|$Da(o)VwNvra|#xe4DmY&OhH52U@}}`RHq=4;{Zqzih4;VI^Y*}rsr=Oo7IXjnt3rPZ< zxQO^!?7Jd-!~ch|w+^bR4c~u}Zt2`of^I?)1Ysjmn+AbROE(D8C5Uu4NJ?&yRzjp3 z=}u`uy1Vl{yx;SibI!~uXWkk8=bg3oTI+f4=f1D&bNz7AdvCvqSv&QEbT+h{h1k0` z22Yw+OGU;ZQ2NldCKd}(i>Jlfz%I3NVZTrQ&q=(V@$e*Ibt=AXwk&*V5s;h@saNPKiN}?LjC6As=6U>6Xs_73`4}{z6ROHKm`Gd&1tYO1Q1T*Q($Z zaGmGV)^PrnmFlJ``B*}*qKf~B$sqo^1<{DA#kkIHA@Q^rLUPR?jVZ~#-N{&=9BsvH z6gpIc$N$GLk*d6@{^Gb0$!soQbZuIL(9souKgFjM#t)W8TP)~da-|%t!H+Mj z9A9C1U!Y_>l(;=iWjSZRdTDOx5^$OL0@vYixtmho!+yT;b6@OQhS$I4?lV(W@~Eei z`gyszfk9G0@#7&xUnH+noRfsQiK)F@jkF<}xLWbp#H0lO4F)dMAy8#U9VBFF9UiWD z&?=IxWFTNhL3$>Uu>vu({!$nVHBZ-Nmz1(Rjdlf|`3pusv4H0y>e z>cUV^lKh}xCRbz2a_$V32)W5IO!K`6U%hmCk#Ur`>}4>KtU`st7Cxcp#-jgi;TYL< zm&&Oa%%Q^t53} zmyRL~gAuSkz}N+&#!S|3R>Y#XR+NDdL)-yQG8S>|6RmWoFy@Ck76DtAoP(ObhhK`0 z^{@Nvk=rCwA#jX>BEenJi{0w3CA%c%{c>0hF4D~<#o8mZ6Y5`2v3ZU`@5k4wMkK~_ z>Q#fZ&x9nS>A+A#o`Ck2{1Y(Xo3)wP-iBZxD=O}r}+zm7=LIa;A(BE~k(FsB)3Hb(YMr>Q07Wh2?mF78}a`ZyA&#IF* za}livXJA{l*igvxv4~k;mQA?tF9aFM!;Bs&?Uv0IwVZvZN~9g)uTjt`f(jBh67N^h zbX}(x8wbe|RWcyj>+vaf&=I!bc}v;`As7Fo5ee)QtGT%x?Vo4(qL;hY^XK<8DiJ73 zXb99!K*ONq)SDe0bzC3%r^yjW`CMykLC%j?Ynv7Op;H_ox;KA4Daz#xn$TnJEZ*eV{+IWVI&13_`KG@j%DSQ^B%&MRY@xK zz=6)=I}I>LF-Ue+Uj$SO33K+w!;K@dYYH~THby;IMdS^QCC_iQE4X zX_Fv|s^I_rPoXuA!FR15re3QY94Pu*NB)hCVYIJ~OB0tB^F}6I%hp}Q3u%AxI~xyN z&Kd@gIl~`yqk=W`c(EEGbfaP4DHoDm7*qt8i=!5oiRSE)-&lx+twwbqCNU$7)xN3f z=5q|X-}bL>(O}iuldrvpNH1V=uT9A@i0hYdK9!g7XAgRAAo-1|ef$Bhcu*)Mw}Xi< zlNy?uVMf^EV3?*48lw}C=7v#n0^?fM%p+`cXedCg=+=G%3ZpvhxQ-T9nPtvpxyN7c z;`d&nsFI{Iq3UlAUAKC$w3AUxx!2g8Y#Q)GTxvo?Kc^%o*VrKkfv4fd7-&9##q6US zce3E;OL;i_256zlaAkhD*klB}=2*E*OnC$qaAo1+3tPVYLb?9Adq-MkMxkUguyRiN z5x-4b$S-6-aZ62wP$#*iX1te5%yw!^mA%iiUYU(d*{vQ#7E!VeZI9xTQhhNkZK*D7 zmFWq4CxPi>b5iwc+@8eO$KuIs7^dbg7)WqXv4D^i>_uGq2Vt_`?dwmcJz3s@T2(2o zySuyTJk0j`kL_nfAWF+BP&%K3Uds)ToVH~EaVC&(fIrLQZViKCMB93AZ}T8B*_xdM zA=t--P7`aW&Ty?ywHkb5AZ(3n6R1*R2=MtG2PgbK9Ew*1;(`^(`At zqwdmcVvmd|mWx7?;-Heb>y3JdOSEvGA+&Q1;5*{Td z1-+Orkr+^{lHuNa$?VLGjD98+TAh_V*7zvMWAGj$zXgq{jUEnAD zl38K&z|Tn_Q&DW0p6sOeGNT+o@S$tPZMU>^uk=d1{RWybN|8f6pO?E37;HwZ5*9of z%heYwQgaI>PY3(`-X&xd!w-tfem#g3@UCU7&4B{xSeJnfMl3Ya;Qv|1ae@WHCj+B{oRI$^U|Jp$l6uJ9;yJao0 z>5$hjIrCQ|$&plRbE&DXuM}P4zrH_=8{cup9-|Gg%QmOOP^Fk+e$6~8)BHsR8vW4` zbGy<{RB|e_u9cSlwx@WaEr>I5`yoWIlC#}Gmh$YX9Lnt?$(F;C4C>%KOOr=}1}JWlK_C{9K}**B6B`LQx>mOUn{ z6I|9jNY4AqI{pxbQm4v9)QLRtTp8C!N`kSIw$r(oaxK( z$|QUq>bYl>5yr$$>8Ldo(mvTsrO941tC4)iet>%@gjza1mWJ;2$y&+3Fv*$?kC?q4 zQO8T2zxk1mbtG8vncs8Mj3(o+X#u&w3##+Vcpj+_3j3($Z!UOCtBiiW+>fWU5DQd` z4?TyHaIv&YWlM+Z{gZ$4RUaOSg;i#}_NZ0zzB$-KlAiXm;FMpt_p&2K$S>*WS<`oM z=j`S>#IR}3I7eRN;`Df0E%LnzB$8GjJGv>*$hkXTQ6-f6+qzrRB=&apX0^GCi=RzS!bRJfxkmTDRNsOFq{F$KsQ(#fgueo z4LA?|Bs=@vYVaZ)9Cj{l7TM$c-AVfsHpnW;y%VH_)_OFabVI>qW}>Ic@KIS5=a78T zR~{q4iL*;pd$NfsP0NRnpU!j>vWnX0FUZvQW7_Gll1N#4VvwSl5sA9OTpeg3*{uWP zakgf)5+)?h`NscYpK~CQ&4$8wjWDe)a&?rS>}{yCA6Jw9n;WrDxC&OdsxKD)>%{U3 z(m@0{TWwB1u0CIL-6q1nAr~pW3LIHsM%k3~NjUyy1Eq*)eP`#13u&*)`n~jIvotOq z-YICeLbTNx;|e_wqlj2{$0Jwm2toUO+hTui^%IZC@pkPzXG9tShGkIw=KtCZw);=X zmQJkVXP4OgXYC2|X#-H4;f#p{J4aUQR&n167tat8OMM%b3_W)uaqu8L1p`)Hm=iF~ zthKf1tGcD|_!X^eDNu?vQu67*Rxj=MZSxbiXi<(kAU;cC^8w0JpslPl#i3m*FSeoM z?AKUhx0{#JPPVfdyh$ZXwP*3FBco)qLooi8H?E}Cx@>Y6B-5VZjU^|nZ?l=@Y6*f%YUe3g-(&nPC^^K}}oU-ET+%3+qy=XF# zG&*XjA6XgtnKl;Qs3UBGcSfp`)bb3cwe^2Vba2zw^`;;zqmo+!^|A9M5YdB3(4gLv4MQ2Yz-fI9VE z#2dxQpA;6u3S4Ya?)fa%C`Z%?!bdBQ9W8cx5STPUp-)0jmxwsp%k_LovCIa(Xyr?w z64wkGqgp|v+dr8A4$Xca8J;u-9&UjuXf@JAu=L__Jse~`D@#wJN<;vZSHrfo&jr2? zjO_tdWuHL-?RP#w-#Pb#P05xCAB$McU7M>O<3_xnD1!}JBr8~vv_VjZzq9)f z=9Pb3{U@#YQr7vy+8PYQ2Q43cw_&gG(_USaZG1;Z9G;zt6S}>MOHz>ynP*1(A9h@< zJUeMx$VHz&bSEEWj9}MH_J_@WRKJM~Z4coI_MZ&pbt8}O+$%q$$Qc|{Ts&G2bW^8ow4EWR)kyi+gkS*LD7=>0F`!Oe8Ms zoDgjdnT93L!4@#)-=K}-K0tyD#r?sSWnr&2@X{F`G!nSXs~n2r4aF5tC&Siawb%6j z^N;N^OpUc3sf9^CDo{t&QlDmEK2mGHLM}jP^!sh_>@#v<=_AJ%-w7D(EO0*Bp-c}? zPAY@ZdnSZv!aQbwI;b4la?+==3d^4wB^!$vVWf&yUbk3Z9EWAX#Q$cfuGcqRSBTN# zjcdsswyLR0*1e$^moEs=+8A=Yg<~HGDof}uEz+;sZJ~Sn=C8N3xOkiEmA=F~02Gbu zn4mN|+%T?K>(+^xhGAuw>Ot-7@G2;w?kc3Cd> za8*&KOY+L`7v_^nDafe5D$-daBp%>c%$AVbb4EwGl$;|XKmCZ~wW{4pSNAjMCpIb( z8|rr(Amwht;ElX4&$xSFud9(d(^}#GZ{{X->5IyTbb6j=G2l6?KV6RQU!h}Pcv4ii z5O?v-CV1v^#KM&J@B`LqD~P+2n!i_t?7OasP`XGI`heftxLj+G-2Wc_`~qX+(aC}E z5)xN1M4G(gTYYW#Tbhyy)uqk9$imGH*mN=m&0kRYhXLN_xreht9-Ovl>}8lU3VIR)Rcb3KntT#38RU~cPc99rArNa8Y#k5 zI;_;@_{Z_rkHP1EN|tS7_i)?olL-3ND5Qx1qeC>)CVx)kLY9_XtY$l0@HP8xg&i@s z6e}+wPiH(D4`IcR7;XPNvIy+rXE{Md>;G&Xn=ywI0aB+yB!qJ80Mws8fmB*6Im zDye)HHuYzZUS+V=h{#Rh-AeDmvOp@`sm5E3$W+kw3NRE=qvqGO@gM45s&NP$U5WHJ zUm0h$vzD&yKxuPsn>1t{yj!G%>C2f}8+Xe%Ew-2^;5@f z^drlI$#;|;ERf4&#$E+Hg!Y{Qc}xgNN)F~db4;-88+8u6PU57ze9rJytMWrT0BwcW z0>B!v*kL8c>Pwgg;khXki$hf^tek*@eCQk8yDHnrGVRPiTrCKvbNS9C^Ff9%Yv|kF>z+n7`HuPXG5Gi0B+qC%k zC2<&gI9PEmTBKXq*1Hy&KoC1laQaGcW{a#bgQoxJDP1E?XhHdT_Yk zJ_N`S2Hk?^?|%AUXk?lg8@=mE>Elzu(xdvwi(O22*fmsZR_eRrp0Nh+(Q`Jw2 z{k!-h6Z1E-7U8)ye=*|iyrJ52N>i({>U?n_GKk-<*{YOGQ0CTPYJIkNi0Y1GOL4{< zvoW`}P)U`dIA{56w)O4cxIO%zro>Aqal8=J&H%i%iYm|`F!-D0kjT1bIv7!MoSHL& zs5NIP76NsEm99Z@b$pJ9D<-)(TG$B>=92iC(4)&J&6YFV@!x8{=!cJfB_)Q#-Fn-` zp?{;`38X=)JVLLPe^c`thS9i3+9y4QIw&|x7dQWNnv^vH@){8g(hwH%0;$?7%(d5a zf0GU6s8d@-k!@LPMbcjCXw6AfJDUcIdsqjTq?LRt7Ibym?LkUx zZSGQN?2u>LLmPAG3_6<0VRQ-NHOok-G)9I>mjWnol<2xP&&%hZ8I}17V+HN{sfd5b zVa~J()+%6h`m4XuT_rGi{(lznZztB50(tKD@p)wW=nPl?=D= z^5(IKnJ`A%VA09xGgf0hx9@^}^XL7Ul0cQ8WlsO_bnEj!jT>X*Y}9wJ{3jAHK9u)5 zQNCClWQEtH3ca~+$`6~B1NO1M5)i9(E&&qAm?S9B<48>14^S)Cq5K$Q1O(IMnon$U z)Z_jJk7#GYV0Aj7jFdCzkMJ)(I^%uzFH+6zXbHgdVGCs(00KHd1U=xp*1^knf)6+sj0#PEpk_pQSlD2;Rs@@fVU}`al7Ph>cXmSXWtC}s1>Eu)Sv2`xLK7TFB83!f_YW3)H--~Aar&F`&ZsW1f;S^!EZS6#NVEP1KUq)cHKjPZ*!6QemhDHYOicU% zpJI&iHLGlxRK)#rx?ba7a55f`%B_i>VQ$i_uD|EI$x(h9uG^F(;8@Qij+JYX77ND{ zj&$>m?No5l6@d8wg9bpY8@#}#4C^!o6SXo;RZz@y*tk~DrH6!Y`7-3}QkMU4UnLLe za_muxe5xV60Q}+))%l>I0uIYvLqkf6ii6F~&7tJ%fN(@C1_q-4?5csS(@T5AD36;p zt|9rg--{&d>=4YW!fKh)Vj$?!uIm`Tn7T!kP&47?l`Jiw2RB7uhD9V#vxl|FD~ zcVjht)GEs(&d4S{2URl(O)ZTh$#nkBU7szUMN)hv3Q(yrYyi1)6qTG3}==J`ixawCUMR`?!!dZ{7gRrk4<)n-2{UiRA-$Lw5GkSb++FO>8(Z`Ky=cy?OB>np5DH z=QgJf`|3xvAu{qByN~-b8EYR1rE-BvkVu>@zQ=?c=G?JlAJqv=udV+|CqJ*?$Qg3B z{giec%q8t4&{#Tg!w4s&k9roEu1wV5g&gAv;*Z&|K4ugi3bzmY( z(b~=-vG#Ehm`E&W=;77LRyjk8>>Q^|T)SxgkCgwe8VqvJ(IgOPXlTqbr^m<9%ppWt zjUH}ZUUxn5?8IW|q94E{4G8aHDT?*`x>v1gm?>Z0iLn@ya$e)}aWByx+!~-*6dk2C{ zW{Vsri$@r(!;OT$)!5!HDY^b;vLc(ZnG&!E@eeIUlrN~?y#IQ7;Q{RYCh9TFz(AY~ zc=aq^N9Xb78cjDfr-PoPR*aqr*F4@zeBm8Xw_HnX2(6QZ<6O#T>KXjw=skUV+phiEq*i0SZmXqj~0-W_u z<6#SbW*Ja+evm`tD1IFPFTMajf3PrBgyc2(vv85e&X`ViPdcoF0gLTXBL0yo}wMIw1h!>cDl3)1qw*+ZA!*a^DQ4&sR{e6 zI0y7Oe#5Ym7OId4$C;v|W=awJ{>LdP)>y~_Qb_a7$z&LEBwGe2A%>B-2&4(nqsTE) zgmoApQq@&9J?6sHQ(n)HwMDwFEEkWL?LHS9^1Hl#IYh1*o@F&c*fNqZQYH+Y6<|P;IZJ%Cna|)=Fbh9qKOPSTd;blm9 zPN`@Sc9I}J2UY!*6iz!bw9JpT5907|CDR@3l0wThwq&ze=WTS{;6xQh0iz7o%tp=e zEYMc(`kO6FbDW=mg!hlpxAuo(YYZ!#LQ{0eF^F@(S4ILIdp_Yl#E&9kDBfRtAC&RZ zd?4Q%7v!aEh%kWd&-xXu!X2Fcaee4(NB1ffmAIRMm&(fiaAuajho|FH+F_Q zj6@s`RwG;z(UqsnxZ)G%^7ALTg!jHfzv2@+Dufg(JIqF-^z??nT^f3xE)i+y2FMcM zlO#SK7~Ps@dK4@;vdJzC0hg5Dnlh+%P*!nj9#{PAtwUHk!yiV{9_daD<)x*nZ+M~P zMq2r;{)NoeJ)n__IoT9Yl9>5=jPu3lr7+A?;k5r}uO3cUZ$lxMJK4S2VfEQ&t!*6h zRbc%B*?2y>Gral+*7Z`-aw0_}>n7+MQnA}xbZr$U+O|e0NV`zNt`swgCRM`TH?YI+ zFZTrhN2S+F5tyKs+dwAQ(WQK!MU>Bfw)C!ppkih3wK|RE`H+N#ew+yvP@%nLySucKpa# zsIjw17ykDL=TCw^`Q-%#IsTAkP_@L|Y|aXOQPvbj>$uWif*NKUvrX}b zt=OW#*9(sbk{0{E`w)MPH(Zt&FOVSVTgaD&v!PXrB@Y23S>l z-e6(PY;(_Hyiz8$TNurAL>89Hmx3z!&mVQ)>RU8`cLx{`U@sL0pt5y~_bwdzbNe3! zC&j+zIxgdLDgW=)2@a(QHcle3J}tOFogNdDC!F9|5P@oK|C~tYdlqADp+aW_7~n$lq_mC6@py?UTEE98bHE{{EEhG(~Z2t>Jw%kHx)24wo1mBq5Of!kr`HFtMP} zqyTROk>7GlqRkxNGDcop?*i!<0aBT18ePqk}n@RkUJxM)n7D!t8?A+ z&LMFRZ50A8nVwXmPjszzvzSh0n^ysEP{1 zW#b8kQ)(H_TvwbD$-n$vcy{a|c{LQTEcp;RifsYGMOJn&`Z^4>alLu7b98|l8MJhu z38VsU5k45;W^Ag=jf}z>r0)x=qI5S2rvEt@fzo7pX667ZGz$|GQ#uv^7a3(p7=Ho& z`|a&5aGEmtWBX1ve!jZBxr*nK`qk0m?Mwj4@kPF$HY;y8;_~@%7=SYnz|S4fkorR( zyO#n+3x?igQmk_c?X8Ais%NuIeav#Vnq9MXUfRSRtndmCDQ_qZfPQJ@;;$CP?L#_sO5An}9|j9*9Y z>F6Lv>SO%;p854_pdO5(Q|sYxHL$!o=i3hZ6Y4ZCf^C>b0*qab$AmIu@_4vza9~-% z;8~OU%*ZMKV2t2zAU`GcbML~F;lB-Jj@osCKi02BBfS2|R@d32;KF=SsSp-m^Hp1`!3Nh)ctcFB=mGZ-&F)${EIHP1>!^y%de%k-{zyAPm(y?*1R(+MV zX?tRQutyL`8$B?ey-U5X;mIU+=9}&SIiEphb}}ZFEb~(=jQ%Q$#tatoG0{tDg{v}sn=q#Itxc+e z)ndQBK(mUtS{#v2JYQg;fB0WmYH2w{z<-!P*tB%3Egy-`2TysWZ9t5EA}&2DBp-9V zdQ})9LjzO?fFc7>-ftflfTFi(rj$^ITC#WLf132j_eKEFhsRl83IKg|bAUFh&7JxF z5-4th2w9UwzsPoAHr==tXqPz#0J+g)bD_9v8D*kGJ}Dp_aX*|8D@1^Pk7&l!{VJO8 zefpe$t!12}zb=rrz>V*`M-GN=N&h_h6&oGFF2ONI@5%&6M(AC+wqN)mr zy?hy$j<}6$fRG%VP8>6E+8AESMZr-+M4|M6qSnx zBJFI#pAm<@_efQZ5I{i3vRwisj~wwV-pZ=`_ft@?&Sb&$y-@co)< zB;!R}iFD7d&$4=6Mj!MFM@mk(=ec-#0L@pOz#7e*X1beI{BTEuL#x%Nd3`bs?;@wz z*>Mim;zSpgH*x=qQgw>zV$8@l${A>UuqkQ7j)B)bBZ2%;y(%9w5-LlBE=?;UI_9_n ztu<@mdVkxlyIs$gbFejZ2h~%}VKZGM`b-e-2;@?73E1_UAbQIvuyK13Ux1!!P|+WB zC0o7}(I0PR1B362sP3ITirqU)z@d+3$FczPt`L_^%n3xYc_S^`6ChzCK6#$BSg3Zv z_WW2!sm$%qjnc5XD%U&79NB54l5TB1ODF^f%~V_>U1fg(JfR^zrum)s;X;>smbJF| zemu@_H^0zAL?XP$0q)09f3!LmFZ&ll@;A=0s5-Qk|ApN|A(B3*SVaT7*-`qq?zOx9 zxKfZqh&@UV&Hrkg{(EQeGFe`bZqS4~=M^qkxlGn~KNCs4Wt!!S%jNJ>L7yhm%r$bH z{_x!}O(2WsCGJ60(da*&vV1NGhk^jY(YpuXiesd9OrOtG7!s>MtqsizfvQS=3iTQv zq~LX;TY90GFMUS9th`XF$pKnXpy_1r0uWA-NF+cq@PcHu)~yq*AE1`I@N=or0g+%- z_#;jMt^we7iNqWOKVLe5cao<@LM_`rM8fpkCOBewP5&upvg~kN{|Q5^ayRv2cU7q} zbJR$kL)WD0=|d5nxkCK#@vpp#waU3SDGmvsbsF5T-&O{{U`Y;G+#)NxA5OJ1*zZ5Btad+O zT@mgZW#E^Ht402)Zps&-GL2yS^gjE##6{1+<%b|vnPs(uMV>wOpmkiiZ2)E?4fE1a zIcbpQ9aj7?&G4tkPn0C+gCRGO5fQj1Q$%{&&r6?i&NqmRkVkL}d=^9P1gyc*S^yUT z#7eNYxVyW9YDfLM=J4!nIML>RkXS(BxR{BhcpWc;-0q*H_HPlVdaKIaVI4GVQK2;@ z*ZR+nDW*9Cuy3GbAp8oHC!F+Hd6&(9c#{TG@!BVFz`ICnBB0vT^0LishRdL z{DEQ5%JISf?=tiMXoQOVpBkY9X63}_qNBjVT%gJZOaNn`;RjykelxtF-y^OnT$5k1 zk6`oc=p`g7-VH=3-foJ!M5X)D(Hoata!m~6ZW}aYkERmlU%dOUN$~8*h73sG-3qOi zRniSPLhBsXC6)~CqJv{CAw7J^`m#gIF~dw*5K`Uj;is`+VQbq-f3N$d0yZ7MEM=DQ z9|FK5fV=`6jSwOxY@@5wovX9G!6}c$fW2wTV(!V*J`y(Sl#l=PKZ4FQX$WZF0x;2s zc>+*SVJiN}Vt1Gonaq+Lz-mOjFa>W-o3c?S0kNORo2U=Y#Hq>~jkNBKDEuh8aBm04 zEhQJ`e98#;(|nRyq)!LZFf-KM!d29?{2e$X=m2rR%ub{x2iW7M!5$A9E^kMVv*Va22{68NoHj5D_GSSWoC{GCQ5lO-t^bNrcA0rY948}8i$ zjteA6rULET)+JCEE|1c+ZBVOQ%Z^0^jq zXXm)f3q*f}(1{8}gA2eaD}wtgzp*$WTPm`$$3y<3W0Y)?rm9~;#gy{Rw5llQL}@)d z$4`_+$a{ssalJVnUeRJ%z!S-BzeqIh@1D#b`Xg8}cp+c%@y27isD}?9;w3W5jQq2E zvGJ7M+kywswJ1WwO}1(NXS|W**h3T{*|WGj5V$6dUXR)dqWtJSEjZZCOU;6JT5(|#VyW8&}u+=4_#hBGOWaXhEp2bPD!o{?FBw3EJ4xQqG5aV@Si1b zoN!MIG8>hbuu@p2fR`}GRUT_GZD8m?6bbFwn<)7$#-+Mn9P&*kQp9==f)jX#5J!xG zgAyxHodXhJ!>2PQf8Q41CqT=#0lmk1z*uVCX)j5AmJehz04Tr|lV4ca`keOvu2X6e zQp%0`7fk260><5jXU>)UuOwjww2niLcCs=3mgPBL)mR_q_|%H7-NgGVCyBmy^f%4g zMnr4JTRvr~S`?cfx6z-lqn0D*Kx(Rx$PFu7f?hY&+#E{g{x5(M0A5Y2W@KVP08by= z*W41_I+yk6*mOJ~!3GE!-~<5YYBRGyW*I@5XJR0$Dp$Dx5OYdl<`CSgBK)U>{{*Ju zvEx|p(Ig_=ETEFonp2{(etqe?8K|n#>q!E~@GAaX@Uhd6k0Wn+XNydjKs04;gAp zAPQ1uipE3VNR{#dQ~rOuF7DI&1ni+_F`EBLGA8!7Q?J(e3*p!+55vOfdf8kD`+gKe zHzSYdv?>9wQke$c4W>KV%t6v0F+o zn%LVTRKDxn;A;1%J(}SDX@JA>EV@=`&*@J#&Z#SqDBtkrl_Q7--f=w0Db@Nh%_pEZ z@LnM}H2{i^lGatKd2}p@+v`nx&Un8DSJ^1vleHlP%oDOL4}nxz#)C0DS*7aQ zYlYx)rL|8FP%cH{nvnnkiaD5*MV$$jMkVD#y-W5Xzv1UX64u8^^sWN^l>15cGIE)v zur6&B-K>QCk^F}IYCa?a{_sbBthK7);fEz|^_&e=T*gJo>@_$ZO05`Q6g7CV3z!19 zU1(1h~X+uq`IjlXEZZcc#hg2w(G0uLp!K9`>DR0(Qy0^rv zM9_T7woB_HOYmNd+ngL2bS#wm4-Io6*RmTrFcMZ6A+Ss9c$zh3rCdr3Ivj4T(l7ci zb7dj+4q@OuLoxMfRSwDD9CKVG`Xc*lNcMB66iVhpTs%n1D{D(@Yg6T>=?|4) zMgyR6^a4&6Ai2c!sM@}6PIC@Gwuzx20~HJ`+W6g_&OV4?r-A9WJQo*>DIeI$1SOKU zX*Us-Q+&stHNj8DMwq~pIVeJ2yvgIV2$lt1T#GMYqqnlM`n@UnUpnB_2MR`$|0eF! zqodj1SShZ22R%nC?c%!*TQ>ufP-6|qa3#b;fjA&s2Nl#3Qhf{%%*}Sx|9-P+CF--8 zk)41AQuj+NC_ zWu-g<6`w~89ioY{;G?my4gyJPbk2_oRPw-MArb>~UodG0VD-a~f(m)0jKADZHhp}2 zK)9^;v#Guz*QT-416#5&en3R0#tpdk^lD)PgEK+8hj|Q43nDS)o1h@>Bk73p(+xb> z=n8@V!;|YS`LPfQ9$m0V13HAJ;yX?JfdFFfgI1Hfnb~P;v)UBzcdgnk!>UI@Zj!KU za1JJt<;u!P2|?q*K!IX`uF&bJ%QeV20h!6M%%How&&&tPbYOzkuW?|xcb)@A@!ous zKDDE`6-1)7Kz#ql=I&G*l&0_S8g)^7u!I0SJ{u0=PhmjlhNiC zcCU;6y?yde27|jhRn}LniFepuH^)-xdQ~oOIVkSB6}?>chx(l+ylyH=h}!xUjwrqE z6ytt5KleJS5Ee)GAp+fprjP&Hm+}VJ$g0l<(mtKdo)mCi+uT+XRE%#pnYriM$=ddH zX58$*-fPqdZ!WWkpXEl-KD@i6G@U>}iEq)E*HY3#Yy4?lx-QVu7XpXBl;C0M_{t3{ zMakr-OB2np+AsHah9t zl5{66%M|40fkB&qkWjbAy+ZoPzo4*?26F!gkU}%=`tlC({C~$B9N-LCHyx*B+$~Fa zzEwK{kIcem)>CdxU(-p~F@vFYc;RH14+ka3Z^G~YsioNVKXqID&%hT+pq)%`l~qw# zYa5I-z*LeZ#zpZ?AId*Us?)1_!y!R1Q-6@4k~et0)O1HFmS2%$+8(-sjpSud5G=I? zA?I%#w%Z&Bn^I--A~X1@qn^6VH`)LN~qPfmK>EmK-)aNLXv-}-e3%ulxQsF=T! z`+QV)*W%G&J$hNUSMLYV1%KVnG)fvmh%SE&de#H9w~5Iz{q2P?k=WUMgB5)667Us! ztghx^m$!Rf2adlV|7K6%j1p(MJLkOPdh@dGqv6a_lptWeD>iy<1`XcCT6?jj-R9k$ zi#7~iHF#YNJgSBTKGN*E&0{cXsdqk2~Xb zW&ZB3ttVJn$~1+JV)8&*;JDdQ^_*?P&A?1hG;4R#gd|c44JoO&zUWaSC6xJqC#h?SB+7;9Kg?8}|Nw+IG2$ z$?o(#yza$Da^7_06*c_5y_J(q2cv8@LY4*!lfIlRmdl@*C_R_}9tQfdFOqrhL*+)~ zI6>~0RQ9l3;`4~eNTVGzMjj9b34;{`vo4ND0P5mWTL@`36TkhUe|`A3kCkMroaR4% zz67#-6l{bnvFPX+IcO<}VAssrtje5Srr6#r1l@%ZUG@)t1|ti3d4)Ge%cS5==J;Nm z&+XksH>kzuvBgL;`AgoA21};xSZ`M_%lxY1sjT9;tf%uIDsMUkX`=W+zZHcq_{G*0 z8?W0X($W%3blz3j>`)4w#5_u|y%>6_s3@<%_>!;muTM3+5y$F3?2nJh)kq7ZG!Q^Y zNl&ME9td>a9)QN#N)uGd8Mtjiy|DNI#alhD>odG6|NVNI${P4K_NJ`MXKwemydsD! zKUip1x%3a}c|6Pe)?$&#ipv-`V76Y*XAkz}*fg3RdD-w#y?#xhSI@KG8pe6Ep4T+%(R*nwe2riHPfUNls`0Af zDSe~Y;GC=Vw%**x>~)3h^~wHZTc~NTdWn|(dE5KkAHdEneASZ(oLHC7^#oluXKg)i z%Z2aSkM6F@DS>W*(%D5p5i2RSQ!)Lz)9bDTAZ{}T&#v@uI_7UKG5}4{_HOIU>kKdB z;HtCf(A;ah+`WB-MXvGk#12KQSnfz}*ZzvD={h1oJFFw1z zzrr_Fwx9OV&gLr|t>UXTQ|^v!|51g317+-JX59&ctg9Y-lespK3^B6YQ0AL_0HQHU{l9BRI98AkevZxWgA=nDeWs zA5lRok8Nci%w$#X3QocwwQ zrV6BaEMKJ*7Tw1}&)hCl@OZ`HVB-N_)9Er6EiDa^Se5nEFSCtI`1e>3c&y$P*Nni+%Xjc782o80t+0Km9?=f6 zdgl=MM~@o`xhyVwT~FM3oNqi7x>;UYbHDnjN@0Ha*L6(+NKbc8Uh%&2ygbsM9V_2W z&dV^-5F-liQAU>mF%|RIY4hbXAFz=zHP-$9X15!{p8F;9yR%hiyGLGkQP{)tS6+9{ z?-y|O>O3}#4uY8C6~O!SYlfto>^;MM+>9J`1jZ$a>MN^PDMVtAe!Sh9_`!%xmQHXt zuy+I0`J&jm_1x9gGZeA@_773I(8I##?^^DhN;W{BtIB%jvZCpHYyNJ8^6H8+?X_1U zAQPPKR5hHOzJ6UfuWl*Vi$;*fznp}M;{5`YIFt8>%*3Ya6-9u!puaos9DH*&3qn+s z#ee|IX?L~;oI0VXel2$3uOweV`-XvD3l2y{<-a$R&lJ1uYx7y_%r^|&W37h&jEqeUi;hnGZ%n-hJk|dn zJ$@x4g>E_x5gckavp{1R$1OHTW+kAHTUA=u66LZp(lG)*LBq)sBh-xB?rg=OzFqo= zft1tACjw{N@eK*pKHQ4D0=$Lz&+_Tn)E*%QHB_wv!(C2VQ zsml5^yw8U%^=-pmKCRQHep#(m&n8b0R93CwB%}{fi9c5MxiJ1B)vlc4zP0BNn(4c< z!QOC43132E8gOIq^bQlik;Qs79JU@JXrnroJ0Ai{q_YTirvcLi3WCvVzJhlXJoZ<# zTv3xXZhbSxxDs{FR)Lrf)BRwSFFshW%KB_rKFwn{SJG=cGWhb)RN->)lQ7t=tC6km zc?E2$Z>mLSa|HEIIIW$`ma#{^VoJ)f9X>pSNx5gf#RxplJ8P#ix*n|bdgp%3s!q_`##QiOC|wd?65+j02S3S0rHja_^{0|REWU=HNnUhQkslv}4xUA!r_+l>(TS~NNos*+CMeKggNS4uhnT(oYO$? zad8kUq+kPvBWD2XOU`d}R|sybtwDkbAu(6~$wM9iriKt%tDCuSRoHzd3GgXWRr4`z zp&Gf%OB|?;oRKn$RY2H#_)pvy;un9gt`-{{3(oG-&E72?;TS7zVxr<;0;#n|WxyUZ zVu*fB9#e;rshI-Rct{MT?q{8V7)r<@^rZ2s*Ve=WV({vj1pM$Uy-;8(gCZ8-+W zW)KVDRzm3h!8S+1g5T;?hr&3Md}KcHe(qN$C9c?HA5@E*-zXi<&FLTu(nIEi;)jsB)`(#t*}9KZbSAS(L3$8h#r+%vGV)IL<**2!p_=ROT?1BD$e+!|Zv?Q0M`b-!rx;q$eE ze7~h1!THMw6rmJIm*>H)?0@)hoj>-ycQBj0#aM4@`f2!F+tP@#B*vL7`D_;rKix1( z2mV8NT)O1NdXQIOAy%z?K>x*FU z*+aISpO@_K=WCH9Cnu|R#B}X|SjZb+#_02z>8~BO3vF+s6dry`_!`QHuV@b^UXsLN z;1ZZ+R?YllM*NQC{x5)0_4M}Q_G)0h2QA7X^xurzm3a(G$3IkjjZkI^0)DL^0W@o4 zXPf33Yrvx;CMR|K(!?9w-)|ws-C#&ZKv$ZwJ^?-rupP;2RMAvCkKx5MZyKz`*}+Wy zp9w3sLB07zX*Qs7XL7(?j)fX9jEv{=G8Dn|Lf8q=bC(4v1ea|{$v)IA1_g7}E7mYkUe^I~Fo`##>+xr6dzL>~O ze-2-e_R^bbz>ndf02MjEU{6m?OgzKk#n2$)d44MdaJ_Td+FIlzWLX9b^n_g8ihWip z#;T@kBQt-#WZA#WWwlPH8gL(cm=9FGPh<%*ydGaWViDkgtMyV%{-wdP(APK`6= zUmoAjSQrRqtVVU$IB6A8%)n6$AU3?6P9AJGHSDC=cRn`z{I};w=jiGxp&i1f&%ljA z@=QW{eW_1OLQn$vy<+7LCU;K!1UN4%s{Cm3dq0 zqt&)X3v6v{C45e%3zKcZCOFo6VgUA_?L^9ZH$KD9BN)9;vig9V5ZDos-B4*p-$jsC z9{0d;5tr*ssmVT&)Ty$WQH5!tQvse4)NdwvVpXDj@$c*|`lC-tmkNECqWeBemxY+z zVh&QC>ncVvB>sWstm06>(brlSe6uZR(0IzPQN7wqm~%h}*M9%L;eX=F`xWfR=K? z|A|7tsqa*^T+i}WS2r_lDcf*fwQD$|FQ8TTLMTf(&vnLjvFGNbc`Ocu(+Q@CyZNHh z>fncCk`q&I`%NUf0BDkM-WY5IX5-zTTN15Lz!=;b`yA}HJB|yXloWp|{3$pq!HShN z{bD`1FGUpHB+uBUxLbSpt>h_wO=5o=569!(k#@E zeDy%$EQ4LEKzo6av9GGKCauVcvpejuY<$*T=qoYTBdeS`X=zEzqF=xXVOL2F%x z+J?;f#BojXw|T4^99`_kdO=K*n3!0k@i?AWuTx!A;^}@!g!k$8*&%w`C%$XrSAHRR zZxB?PQrsS&2*lfbRy#-}?eU+GVWiA<6+!}{VV4hdt8T0pED0xT5;aIK1E%MJ`D9lE zt!isMYwN&Vd3q;BXAbf0!L^`%ZaU8t*QwHM#fH-wWrJ-Ld>-ke-CAuoXJ{J1V}Pu; z7~-}m9t6LeU|{xF*Xw3Kl#kccdLvMP^GR+K$3u5hx=hi84 z?f^oLpa_%LF7ewKW22@v)Ucly!4xEM&>bBpBZHoHS&IjsFEjQTHIC>q5}2+ztlX`z zg0BflIDw}MqQ<5|=R)0)cQ8pYkxFc(4Juv22_^1URZ$6$$f-KBK1^=k_Eg;(fBNY< zCikr*ZajK@c}(w_{;t#eY{Rm7e}8OPa?KVfC-xPdi-zJ_97>^NU=Di$*LK zOPDM;8vwmm?MTFYw8e;jCm3zeKU$0GO$F_|p=}=+;j7@FmvGjr2et0|nU=-0%tyn~ zjNbU+4Q1c$2`~l!@^~JeRtJ-Xfce{=~G14Ak;F$`kW6v86lK#2$bM|9mg{1 z`;U?Yi#~FHnD832wbK}x2Y2i*FmrmH%b(F-;Q!!Jk|(~~BhbI#*RNV9^iEUa_n{3j zCtNcv92H@aBuDBoU1Xyt1U!jzhlK6V$YOi=Tylmis@ky!bao_Wrh8FT>~CjX)^@wJ zigKblrrf51DjR=dHy(ST6>09=6fl}$)k2)*uoAjL5iB122DeVjyE-MzCldFDO;1nv zR>zO7m2K_uU5C1x(!lLT4r(p}tww)KCC$*Hs5h?Az9}7FeB(3g&7gN8sjqWXK}%-C zBz(ptAjhJr>$ub3%~TqU0brBLpp`qgQHPqeshU#DJ4!~;H+?F31HD0fQ`&0OxhAEz ze|!7S@&iN65DZajzYwq?W#s5+dAwO<%_eip$&<;@Ze-U$)J&S6WX>1eJ5vW7EfYcF zrvb84Uc_xk+8$Hl-BK>#AvCv@X6VyOM2@S(y!5J1!xdllxpZEe^w3^OlYD+sg zF~Hg;_g;xaBfUTN8$Iz9+eM(KL2J-`S4_SgQf99DdrRcsO77&lQ~Eq(Sj_G<`DW6L zbi}EymDSd^H7QK@?CV*(+Qv~I%saa>=X1`$^6(MpA_1zji2kbYh1?9v)ib*vyW;MI z6IV@%OGu=>g-LSFa-zQNOf^UT9@?n3FG{dVY?byio`*VIwCaZGQMMnJU&5q?K0fI4-oQN zFSVXp;gmdK+BWe{2bpCW)pFRXwu zGS|kKIj{~O096vBNyx?8Lb!PRQ!pSPMZO|8M!7ax+P<9dK;|qn75t|VQ7l8+T zhQ$F49)=C%eI_^@xqSRByh%#pY!92!Z;eYl2e+RU6fi0a4H#Z=6xjYAy<5vQn8O3&N0{nb@ zA|k8cFDe`u{VbzmcAgV=V+mr* z%>nwuL!+bM1I-x2_xD492Bgo<p;64a>)31HnMIL@zVxNQ6I=^OuK6gWc zPEg-P8D%j~yf_Ob-*;nbq+OsO$eliqmmE^8c6~x#e_NOB+y>rJXZ!!LOrHKoFG8GU z+cPR<*B{pSD19?MirdGT%F4RLBqP`su2hU@xa~|j><>0ZMw{(6c+pC)ukr3Q!25PH zG8WoCdqz(j9n!+Q+~;N_aVv_Kx$SxaKHTk_7;YW`7HS3wkJSzN%g7ruVNAK5nwsjf ze_RD3DxA5%c^NHChE&6A+6z^SmBgdWK$7Mko!dLVO`PmC%3}@N3uMH5FVz--!3uLf ztC$kByEs$C_-O3v)sEGlp6k`w)m2pHtb&@`t*X;;LN7ep?9!6ndsfudn(iKh$JXAy zkJ}6&;P@VN#iO@tdzM`Beah+bq~i8{^pcp7{L>ba-8uB8RWYNm@8X16nuzPgpFhhn zt=57`Un`zTWDT66Bu{Tjn}Y-wfX|oLk{67UbV80Txzdq;9-9;X3e~N0v>5wELo(|* zrnO^G;{2K=@r@auu`#ag^SQc6>KAq}xqSDQ(ox7A&4?)_73$vC4j><fm~mB<;$Y^0de*b#9%I~om=-9~V|J%4 zDs&j2qhD#m1&o+w5(08d2JgHU~9JgqtEPenA@>+AE zzMFaSyAkbFgjz*B<~G-^nr&`bJ_;4t>&@`m9X~6hHALdm>O6V%t!-^DS`{()Q#bhG zT7x%pY;U!}+wFG%!{Y|DEBx8UA;3V&;PVRY%|w#${R;WrDJta$Y4DYBP)3rx6>eA~ zGCng2Pe>VpGy~u*w4_&I5_>0Vlyi*Xt=}5p zwPrI(GVO1-$7|2l_oJ(32M;^x?9SN_~&3bm4}Bdr?3I=_RikYB%T!NfLUrN1lu!TGHjA%rtF)t@Rv{k$$CxM`X2YlLt#hMPgfn2WNq2!Xjp>rXmh*p<`z+!NwQ{J)E$6iAlLUbdkQahw1> zZV*2*8AR?Kt)9I*(%s9`kndDXmw2a=ZJhydlrtaNH} zu=Z^U^y^epID9WXs@sg7K_)f*L#0P!kIC&7h830F6Gh-K2!uNS*Y<7RKV2k>W(qoK zILKTaaU4x-NGX2s{qg_s(!LlyZ!%IKYXC@1@{9_h6V|pC7A3lc(b3TmJ7RxBO^Lwyqo&GCazE|tdAT2P-vguXtHEg9FX&w{F<%nJiWighAaQ|;) z44daXUKUhG?mwDGULMjsT=O7|W9()R*xG^P@qK!Fu$#z&;$IH1SqE?j&^10dv)yaD zO)<_%j7uqdFn7!fr#e}?=oHpkfv@BzmT~*bow>ejCb$v<8JxX*vWIuFN3w%a4Y@g! zVbIAcGjvq%rwFm%LJi&D3X?@9^=NFh$tY*4))p`*kNMd;1@l1nlkHiR71xoGb63>3 zuAUm!-^UGZG&e);@+`aZI&;wOoEJOB3Z0~}T^u1^t*qw+l{U9>8beuot*X&g4_WT& z{zlf>I^Yi8x-F%B3+GIZ>&hYD(&Sosvbuml^B4@5xTr<6o&25{FFOeYA8pZ6`|V_u zrpxx;#5=7z+vCn#_i}itk#J67nDq+aNoI6?6im+M_*GIeu;Qpw2>cj9RP{tmj7wui z%1Qj5>r4#^{#p#J;p2BTldooON-6%sV<1wbi)z%(CIUSA{r5uJ_6SmwD27MXi}etW zj-2z1>Fc^R(~=UAy(XYo)OKuTz_T_$m0LSj0N4s(7jmLKuXsB6q2vM`;rkh?TWSt; z<_ih6i0SAy0j+Ao39(hHNh|}PJdB{-c48_y8uZdQU?&^jtdDmLO^&m5Z^m{-q&^3- z2ESGmu~cf=f+ROdE1n4n3JC!iv}8Y|_tSNtBrlShx9<_r0MB{AW@8P*3fbYud=x8f zEp$ibiyU<58`j0$`=WYoXPq^l#>%-VW!15zy|y*{y=rOnqe(*%`p24Ou~Otl&?qlL zH!10ZMhV#cM5|^zPscHIUZY_3FL!oemj>pnIsA#)VIq^XYYEnGoAuJT@?Lg_FCG%u19SZ?Pri%z3Z*O%^jM!r`khiMF}=#n&bDwc z!~7Yhmj2nMg|K!o!#C2vTt)_4Q)w|Io0i_hQ3XYSj<-9D#F5WfS$dD47$hox8fUo5 z-CEx@m=dzl9z*18g$JUJ3-n}e{aMKmw5rog6LTucK%T@MTVc*gzy=!6y<5%aT-doZ z+Aa9jb`JS*D+kyPhE3d0BJT?_<<_*aP^!K5Lc4o4@g1-+3VH{_OF0?K*v&nBJ9m}* z_njV{q;re8CMhwKXS#1G(6bfhYI-h1yu9@zBjpdGz8WMlOw0}(TH-UvuWKgXXv=Cb zix+ZDyR*?Vn1n0!p8eIoUC{dB1?jWlv71-lS54Gv@<@7LJdhr14+a3H=Tafsvv$nf z;*P0_^LCSuTRIA{&X|6q=QF_4y!QuJh-?bud0@b#8_3rCTWeaW8H>xRP|H>b3R&9y z;DK1w2bsI?spSEI9bhmoO?u6QMkA0fin1|8hTV_ka*4w|lBIQ&aMsh9kY~9UUQsE~ z(;c*jE<^YjJdV@hiZf=9DBRI~&zG#WQ4abGfRt3CPT0g7R%+!3*U0Bi2LwE^g>Geu z){1JzoT)h$_n2c8vVql(z->v#ZIiLil^vTx{<1Qk_@V+`61oi)-E;0hp;qr#>h}0_03H^QN4}5~gLV6ZKi;2l& z2|d<`3Y+8DJS)NIXNm?wddAm9Z&$uwuztO!WC28#x`S-lxVlaF@`jJM)QoS1EO%k% zrk&b%z=VTJCpza8W+yT^QVuUKI~)7VEcSj%s)1>UDCFGJ=!=wYd2?UHkqCGm17nxdp><0I*4=-{~HsQKVH9*l~WY zS*#!T*38ly0HPvPNd~3WPBKDIC4?uC-<7;r)$#O#N_UcucI}^xm>S*L@T9h+uG5s;bMp=hSiZVQ>R?Bnex8ww7wX!92YLmFI1$=ZDDKq1o&#d?gtk% z{wS0Mkhg$cp>c_JPEMdwI5|adRtB=NXp}aIT(2;RLEI;!_`Q2xf~b!5CkCqRCg#|S zf=r@@)gPNNRW(vW-YZT?aqnxSdi+fPMFbG@l!(GRF zN$*u}*rOh4(wXO0GA&~xafd$fQ0d?Z1WY;_hq~}xJ*=t1Q^DPB_5cM=R6c!adYO)- zAp&~u`Tq6e!nzKp2KSrH%jpS6%5NNRS3B!$)zew~o?mozuU*FyZfj)W0HR!TopyiB ziq%;69&rrBN68}d5pkeD6X{b!^{X%Lgg+^|>P(>j1?-q0j3UpNus0W+o^s0@{tN;* zVg`y3$v`5XBEWx5!#w^4v%|DEFh&2+8(5TnW?2X?>u zrS$s)S>3W71L4@W(5}*gn#mv96_D=&eLkwW^ksl2tz${$cZ>hltGSEJJtN#_)$cDW zIuqiwu4`3*k~f(^ccyqBz;|ZWQL%!cpZ^-!d zG(2Hj_kc5C?HXhq`tQS5Y3@Co=LoZf>D&ReR7kho{CgtEt^Y;FxGSk_|Nhi`mRHtM z=36ic4Fsb4@83YV6`HOpf;&*g&riXz$Dm@@QM9lHKg|yK2nx1H<~rZExRWh-cg+PT zbm11-8RbZQ_WTi-RO5t|xr?r1$2hn>s6lT}V1?i(@*1}6US|O1s`Wi43+fM8{R}@F zg~5-}aLgq#u&x%dP{HW2IWW2T3x2i=3llokgC9S;SP)fU1ZUYJhxZ!89X3>X{J7G)EQ`+tD*ycZ?_j}F97pz&pHV-B`48-$JNiPZ&lb>($> zZgv)m7K&k_B=@JA-UrjWu3xhazQ0GfOYzt?`;+RVs+++^ZJn8rEq{Y#j#61k4_mZJ zln*l9*XYP+F0sSZG_Ah$+`C2}w_L`{AM*DHALMk2Tr2r&&T#oKtZJv)zUSBK>geg| z^N^R`o9YuWkD>{Tjy=L?c@o?XhV!m{`lKw5CWD9_@A+U(7*hmYN?)?v43nLLPsKuM zwbTXns|@PadJ?&Bg&cVzUUKcy-T6=9fwClib0}iEc);BE{Nt2{8ShYljv6S^Oizxo zQIi7SY~cB7X9sh39?n9~X{f1zVmPY$%UxhYEax?)%7rzD%}qykg=nq#XR+O@ zx3A;Av_kB0QAAE_-J83+zI(e<4{mkL&(AMpwe#v$$>k35voHIL+L2$6W)yRN@c1$7 zQ|5&bGegfKr06H<1+_lJ!Jj~M!lTW^ctiMRBqmm2MbQq&NS96<)PKiFK9kged~{xl zG-IDobY3d!`gKZx5G9E_<>j3wr5cZWr{MEU(ap0h?1Mu?rF{JUen_Nm z)Pt-{77}9OrKJzo0w7FeWCxWy;~q_&E0EuoD+hC~JBIb<3n{{7uG`ZUMxY1J9JOw4 zZGFWL?_2-=ygV5qCd*1zLR^ zRWm`>5T`XNxVpSdde!^81;ViJ!qP$@2?%cp==K1{yJKnDGhKQ}3^gsbbVmsCT+>rT zLZS$P2z<~1S}xh>1DhI`_Gwx;A0fbeZtT#61S!OJmKu9`$$yXz7%;zbg_wpcfC=K4)8~B!xYjG`c`4b@ zL%zIRyr`c(2n|iIvQ8B;s{~LrkDqQ9k>B1EkC!j2Tbw?YVG}=@QoX)q+L;m^EiNGN zhwF#Mq|uXuQ|~U1e!3e1QTa!iwQz_^&2nxc<`X1w#8n{_9HI?@q82MKA);?YtRugJW8f>`O{lCmBx zcLIFk;TGs=cF~>;%MSX0YMXgP~~lSZZ3Dk>ODT*A7`~m(?LvUBlV_ad%KmeH6{El=7sh zH01^K&knp^hwC<>6liQWm6OvnU9GPvV{L9BCnk(u`tiCoZl^+bX8CpWsW(y~Ter+J zR_Sgxwad)MEdr_h5kt3Qnz$7inHHVIM3%@eiHQAkD;JT%x4Dm#o<~0DD0}FiUUlI) zbUdcbuC1j7A3_xw|3YjXeWvN^BMf+QFTA7UH5mEUmX@zyeF1P_s=-W|X|EW(^ab?4XQ)1)&aP5D216S&l8-pNP)JyNDNKDhaZVxfYz;=*-|@A6Z|FlF3#l82?wKRrVinl70|{7%h9h zFfdvsNJ&Tfi8EPQ;@^S^UE!;Jx_h;}S5Dvh2rSQ~e1iqFhLye*+7C?FZY|n~zN>b| zTH<5vwsFU!b-@t~PIqP?5Vl$ZNG|6uNF zIEIq}%i{iv0qA1&JR_H&yW+QZ_RT8lQ0Xs$-Z&|0Ad1U8DDjY2bjV0xl1m`zP0d82 z50;QHkPMQ*Z~RN2N7Q@U#M9DIL6rsar}d?Bs{ZhpkbQl5GfI|0R#9F{QGV=aGC9X* zG^6+iX3>5I*}~pdj9C#eJ3<+U>ZdHUj(kHZ|UrG1C? z;1%Dqhr*9pQ*$=f|Guix*9CEq@g^8+RIWRcS0O|m!WGBi0|Svb9v*4Zn%1*;m%l#Y ztU&=pmvfAipkIH}&)A#kmFfd(Hui`AJ$M8?a1lX#c=hPkwQ#wzx49&Kp}&&KV@x7n z-CvJl0R>|36D;G`oyYQVi95(Vs5Fm}A0cy4TcDA*lu1PNt}H$8UiR?vpIAj&T~oa& zQEHhM$de~OU%gdGk;wj0SEp4x){`twZ=Ue(KgFSPeYRt>Yd598WbF|#GA|Qv2ZBRE z<4@iF#-%3U>v#AETr0Oi?R-x=JOg8=h74@; zV&}2FZN73h4`{73flU^3`^n8O#tl9-P(O<2a&W`xy^$(k4*7QpK=biqyuk^OAFVFi z@8WH^0m)TP#{re*goi3BDyRlLuF_^|))!;L80UDuZs9YXqoZS*`(g;Kq5DD;38Qm$ zPg$Qta%`;2h=!K1{^MIAX&$S0Lo?HS&n-aA;P9FOez6Z)Fs&y_TU!Nz-&pNl^L149 z5=Dg5UCGk}7NnTsSVhRZe8`8j?IRD>Y#r2PnQ?B zNG<4_&aD41P!hr%!L3)x#m-Iwv8~$?%y?)1xJ6c-35+9*4Eb34RCy_+iad{9uD1rpYg@)0A1&-0ie29 zHZeUosH(4j0e;=UZN_C`VF4(KN*hIt_3a`tMfLS!UBE`$Z4SHkG+Sz@TncPZ7Z=_P z5pIBR9}^pEGgEsE{u01eXRFC}fODN19}ieSl|Xv*HZ^tq#X(oqjBD~6Hqh`nS?}Rw zX12!PCkCV&SgFYvy|zn~C9%%Ong`|e#~#X; zmqdzu0~Jmd_zI?ex#Rja%yLjrX?d|s>;1^3)#fTgbW#ch(dX>tr zUd`{jzX|tKnPlUblPgo^!MxLk?0nAeFl(1znB@dM%?2tzy$gS!5y8F)JaIkl&Dg zGiU1D+W-9F(y#t6XJdEQ7V_omS1w-O;^N|nhzKptSisl;3Y7qjg-8t@ffn#>V1PQ?cMtfYDV@z~wLXeZaiZZm#GZ z$FKZ+g74+!&X+Eh%4tWdMuZ=Ra(Z+N;}U(BBjtV4nVaH2LTrc^yVDciSAQ1VFrR!m z6vHG&`HH}1@SWTzl;W*-cK}#y!ZrE%*CD!kdO+S8ya@c5zFZDVP;x-a zw-^9Lerj3ladCvlZ&YKWl)CybxEe7rv3jGX0HtI>rF01&b8~YrTLl-Q5)u;VY^&ef z+y9q{-Gbpo%z8mOVqu|EVW|N;MII&)BmPEJmO zEEt%Xlvh+(R7?V`CITrH6+q4P{kyGUXb2Qih6V@EF&I%1k%UhO1OlvmAiIJ*v74c-j)UL|)y1J1&Oo9rhK~-g{5^;vkz%BkZH$9gQ1TUz25#rv3dk)Kpc$M$`tHM5ijheftJPNo>Y{zj$zKWNeI*f&vU;3H-&OZee9@ z?K#+x@__^~!V6tu-2PQAYr+~#{VFF%M{oeJ_%#q6X%lXYXu&XG$={hkg04yt?^AoQ z#I#UKUV!(+g@w;)m(Qt{?=OojA50&N+$P+kk4v_9DaCC3e}kLzvwJ#qV8sQH(d@v$g7x>?RxoeCl;%acAFZoMQh#Or;jnRX zJssndfLB~h48~_UJ9SkOh(l6#^qgK&Cij}vzbuVqx^D4Yq1pEChG#|mU3L&#KW=W$ zDm1fU5QLIx2&Q}Amn8z>-OUT1YYtEf>U;W^+c_2m$2&PKf$q1#_>V70nS_!zAe!2_3aXt9dDLxb+ien*KnoLhuH9ZgbX<3mYeRySdH5hLlI#v^VkT zGd{k6c2*&LX-nzepi91TTx`3XJiUl3r{6~z(u{e3ZV9M#*8e61G~Vu5-*bf#X2Q1- zXCunnU>@Fc@aUnefD(I!OLscIVxH>pF`Aw2&*7OjLAvCVpXTP4iNZFH_{RBfGZ;cu z>mca8>yjto3oe@XH`)oA|A^cGhQ81PvNk2T3ZF4#bNx2Xcj_kQZJY*(?rE1-)HTO` zWamJnWQ-N%bUW>W(Zz-}Z?aW|s><&wu}Q|CWL}Sh0nlS(C>HODZs@J_m@m?Uc`g~i zTPG>o1)zoNIUk=R3W+TqlRF2ePegRalJUDN|1khSOaxQ~W=2M0Bhzp_XgW9g=Zk#@tZvk| zmu==s`1x7sA+x^6HFyxqlaCn;%?we|(&ek>D{E9tdJ#wK^WjI}1$n2b`P8NJ2e%&FpyWafsG34a`S|%}v3>IXJgm}R zs0#8`v_Fsw4hhnYZ*SEy1pA!hc%#a$(z7k%+KS>M93xCT#J=u*cD_chJDjO5oWdtB{!3^z>k+dftV)t-x)5vo};^ zK`a^nCGKo)roGdC1py3>$Opn7JAb6%ni}Jv%(edb?AG)p{a+%$umCy28&tL^!H z(rPY_YF+oMvT7_mE;7jpy=aP`;&Y9hw3r$Pe zT=CaRc6!hfR%)7 z-35<5p!tiN$0%%DnDG&*>U4;e_G#^_(F%6C9*W1B_Kdmt?jU!(7dTMszV!1Q>OD31 zN&0?!(_e~%8~<`J1 zcP^$f$$0rK>bIU;t>KPCTZl>Vapvzm^DUj^VDe?r-5a-;!j5jXtVTyXyF}0~n$B6k zo%3#{^f9*gVWJ7rUTA{UlKvZI;C<+U@a{2xC}AFx=2ww>Jaru`V^1zZpwb!59+#`K zV><|0nXKbz9=PaGTVPg>ToQu(-D1A zRrN`ll0LrPcuswm`*5u<9qjQSPdNhl^QCbIdd6)IXwm^gkN={homOJCkSCK?4h{}I zJw2m!`XI^&87lsi65vNrx#+e~` zmjNWX#;v2TX}FJ>Gq?`9w!aThf(jHC&59~>B_X#5x8fBDsDmK(?S)kWg3o3=50wCy zqOx+vd+AaNHfsRjPT|*NRe+xt@TYCVh>=}+zrbqx^b!!th^SNMD4@((d}329{y3%8 z5ReVOEc_O#1N^zN31BCG1e^weJpeEy0a>qdx&)%8M)=XAysD~rrZ0fiZ2-b3vQI1^ z36{j4Q9}NJv{?H$lcc013roO*j{KrpOOPjkqDf(Kal=MVGSFB7cMDt9fDO-AYDO&%g>9@ zx;iW*kfgL)jKnS=>rmsMta(;5p{4KIvFn4et3I(r9nwd?&*r<|3}Iqp(`Ac3@VFQ( zJ;=&LnfFa zz=;bNmdA=#%ZkXauzUi&quNyaX`fA2z0{vq;J)_^y52R-tv0%TLc6pR(t zthdAXhK4kGU~LNDjGLDt0U8^2yF0$i1Y#s`r{Q#SYBOmPT)*T+bt03@^G-j6?&(!E zH`e}aslSge!_SQWpv`?H9N)ne12&@D?sQ^8!uZV0j(svv=fBkP8ZT)vtr;+%1`7RP z5dkuBi4XthHP!N&9LarD{U_)S$g}WgeQ?hdpmi#jwSUmX3j<>IdU|w9Ko@hPKSM@n z##v2EE55_z(y< zJsTxvJKt_=b8D?TX<}+@ZhV-Uo?aHBuBk=X*gNC3+LMUb$c1s{|LUP0S!h4po1v8K zO?*~{L}t`gY2}aD;yk(n&YbFM>p%=!|5F-Ws z-i}#M)Az66Xj;C!=pzrlfLYT4i>8{I8q11%mqQ06i(L7jNy*8{X$~ZhqNw_^pFe-r z*L&k}*ij5nzBBOJskq`l|2L8q@*8BN&#XrEeU3*!3?F)@acVFJGQ<>Q&q9RBZz z-6D;#QLVAGvq27SNpeUwO{{O%4Ar>%r>WmVo_zK7T+xigm$JAW}wYU#`m&j+kN zGd}-Ho%ZwRzMJrLV~^@5!J^MVhK8Y8;xg`<*M{>_eyc=E&`Up@=Oocx%~1}Gl;Syx0e)u3`63}p`(S>L35p}5EI#421`!ySw|6lE<(Q_f1d;0 zmisik^ZUUSzYcb5{pcyBNgbf^i<6|xJdO7*mzs;cYkhAUl{?PsiNXnYM538>7#>r7 zq5E71nSZyoF=c9?J2doiK;SjhEBS4r#b)N0>^MYsj7~T0=a7$Voi`v4UhG;4)6CJv z(nn9`tm~%mXKkA24{=SfhAX0FcmQb6T{Mbp3}q%IBKwEkd9cjiy!uUaT+{dL2aRXe zLh`Rvx4xQ#<3Je1FC^!U=}<>e62nga_ED6gLLACY?1c(-1d~P5=-p$I$D`RPzIw&*NU_J{;y6Ik zm+;yW`tQyECp^Z~R)h*s`n0~`A0TfNm2WU+lMr(;EeLHf0NRq>Z~`tbdQ=_}#MF-l z;-`Dx^(ylphd1kVu=<HhCq$-KM>< zpckN>%lm-2__Lc2Zlht6%L5JLt!}{N_etz1?UFK6yyu?08Guk@4XO`T0>v!S3>C2t zz_pF#w9k!Bh#OY>Bcr6`SI+L{V;%%%G}#c2ZZI&IamrOr6EzzJzadoVda>`OmCpG% zov&v3uozywUkhq`R+gLhc#!tTO)c`EpmhzRRRFUQxVN;l2(Ft4@1 z$Go~!w6vI2FGeyVX-M@JrI6q=A$;|5)x$&6j~`86W#78;y(}LSPhV$;n;B73>X~xg zsatUygEYou27ri?(HCbU)kpqeqV`$7qmv`V2=5ba#t%DuQ%_(nvQ*OUD(F?(Xgo=}UJr8=v?6&HOX7W-ZrZiFmmj&e{9B zKRK?^*4~c!=+X6F^dMQ?*)Ea3$GoZE)6v`&Q!|g-6DMfDNx-S$cqSQZ^aAd8M$YXZ zNf~E-yE@qwxIcU6+}nWk&}nCW?+8hF`}=;LiU0NgJi}xY5oCT91vRTO@sP0N8<-+3 zL5P@@IzxAF?<=~b{nn0tEv|V&NmS{UeST= zU`l=W?j4PMT8-iO#mjc_x8Y>9A9j-FQc}VP2DXc2qo__?-%t!<9EL^bNjq)Nuva@T zn-G;^ME45K?6)80gs4PCd(PjIK-afUlM~~U>^l0c!vSph$A1SKvMqRpxZM6+yV&eJ zn~;)YdKDZPxUsv-W7pl%7aDr=5L+&pSDXRQWB(5gKE|O;FpZ^S4M=sX)+Hn-I%~~M zHyun!i;4Md0{<0WVrxLYRyzCHI6JRcySyk1row=y=Q7>iD!qy=bn7rbu3_$21Ed1b z@6Agq!K*D2C@>;K%dNSfWOp~+bNT^PsKEq`PgBQ7gm7ey^u`Jpn6hfGlIWRUtBipZ zE~g!}cm&LJ&w~?34ZViFri_cDHTSdDhc!~DKrJVukU&Nm4rI(WU6eSgJv;Eo9T1_- zh8tVE&!Lu;!)TMoAw-Pdy0aOJZ2*1Gt*`D4#qsxw@&@kW{8!zz zpZD}C%$vV3Hy*S`o?;&7<)t z$8ucy2HIL~j1cq)i!N6_vBGm_>q|$+N_KWh$?pDsSxk)aRb7&fw%z4?<)3$dV%5gi z8TA+lLzrqmsCnuyu$R{TnS3wNprNf^{(dqI0E&<>l3bLrE@=BOLd4{Nj*m~#kP#sq zG;!fK%0?|^%4m>ly(fT+u<*CHw53$MhV3s+$OeE@b?5(3=5?NxDr=1y; z{)$WgIDB7nb}I5;t=t%c{_*-AS01Lz`Rn@cs5x&d=3V``7M*4~n;X;a_}D-0y-+}G z8bEprEoIQ$bu(Na!^8U89;Uln)K3obeZH%E&&6K9*M&x7VfV3u6s5ea&EKk|PPTMZ zD-H)4_wm#G@l9yyFk}+*5f;?c)MO}i&=wb`o+|$k0tb+MRXqQ{eP2nlnP%D4=dsR`Lh}u3jveHAKBnSHGzx!if6WSq z0F&H;8fm7-C?zal(MVDy_IM|fVWQ5%Z&?2;B-rG61n%B(%;;-*BA56KjVss~zTnP> z5mO&OuYl#cE>6DLqD)tt)4lj5Tv{?yh3 zbF2qCWd;iuO<`umjO#nw&vDW@BU=st+I%ipl3Bq^$m1qeBJZ_+Gajv;>DpopQJ(Q=lo|;Ba z=l%h|j+Q^~Ok{LwUuOB%>4L~>`745}R)<_0;XPx_cU-J&zD?TPf2`9}^=UR-5C_g2 zetvPNcP+x}7KBg#FBIjpQ6w6MiW2hs99K=`-SviZP~=z52pF(!-uC2 zxTj|D!Ki!jRn8kJ`3IP3_AxrBpEj$kSur(I4TLFR=)4S$fBfrUrt|I36DNP; zP2u<2?*3cfImm_tFHt_)D?NwWB;LxsN;K4RzI6#n46=w0X2AGslsTxwzu3FIY?OKQ z305bI3=lK>^pmSRn8lgOzM<2Kz#env!>1_7r_BI#Ky_iFXU{6hf64x$AJ}P3MiPE> zt^Eq$FDpA9TZ#LH#V(E@Y%Lq3NWt?G;paf{v9R0t@GB_u#YN7PidXFb1BelB&pWHkKcaPq@fGLcJ@%8FPkjijmBzvAhaj{)j{{SLX zsU4jdd3wP`g5-?Hqy;;i?bkulgxWr`@995jnv1Aw=yX;8hO@ek_@wq>u^AE@3x1V^ zO3Q(`==UE+M*0pD6<$tR}-Vtezk5biCDDyiW4-mTl$ z0Fej3|Dm$fM2YS6ZZDmzdC=&M%c(*&x=HJ;rh1$g4 ze*M~=gNFt^!lVxnZ7x&hVfhgl6mDs2BO@&f_GKw4X=6%aw1bbX_3z9z(I7cS8}Ju1 ztf1Up1r25$egj&Z?Wua9moJ0bUnKEVZwv^{7pUf2!ncx=lE6kcJ3M?b!$;14F;owR zG2YbOa<97m;aaZXy2U-c-JTu z9pPexU8IIsF7IXrB@+LXjt;@_-I%|CU+hGossH-%#$(1yPeKfQnh-;MK{vHGr&h4{ z(ZrX$2oyA&`3-|27WEpc31)1Gg>d31e0*pAipqJ;_*EG~>)C1|D2_47sir0_|JfIu zymQ_P!=r-j(Yg-CD||S7bU@mX!VoBc9tIetBx%815GPGV4IZ?-cmQkW>defz@GlH~t0*ZC%BN|`oWH`F^BU9} z<`M{uI3I^2MKktm3QPIzq}D_1>UxVj4#v6eE{^|t)oj*) z%{02(VOpFhmx^Z5{w5Y6cVNZ@noFW0-n-Swh2QHXv!hYVI(%+ZjO^&2yO$HN^n@V) zgEnLwDiK=QB*})DhsKRk?KCbyErCp}irK=90|E(Zyh2P~22R5TtCQO7fDDJ~9)4gXZ6 z4Gat4+StNHNB&qoypuX#&N|#3g!W8t9uihk6?0AiS7-A*dyn5Yu4}EYh;Xa(aQFu# zv)SAKhL^>_CtqwdK0le?ue|vh!HRE^SC|+SUP1kSo!bl|K-})vF&>1n zdRBks^NAkJR#6nL4+#eA_A5kLuUE3LwbehLp28h@6LsTKVvr#q0D~xEB_BRU56*;y z=_2P&zb?XoNG$LJxP{yZR{URS0#H90U~N6 zsaW}mQ8!eN3m@?kVtlw(y-+Mc&u9H6{n?we%<#z`aMynxfcvP(Q#x0JMy47ZTp0U#HMU+wtD7}Q;tM*`B zT|d~`BB4!Udc{PhN;@*DocN39O=~MSTO@L4lob_(&m(3HHPJZtiPe@wD72j=s}c+u zr6~&USDL;F%YCn`Nezji8{0RG$&Mbhbji*}Z7gM4ehI1j#-*!^J87lW zSj6O7;)wdcWM}G~$K_XeDIEiY^PLbmqPKjWnP>m)`RE|9znlOvnUubeK~OC&Ir?U; zc8|T5l-J!Eoaj2_k{f5vk9N2W((k*bG!}EHUV2=wIyv3^ksynBi*z&KMqZ@-QQzxM zm?8r6qh{4RREVw3%ypz6uM?YOoa&>gs>Z8V9E#Ksi*l}n9Fe#RUYerpWkIQ8JqTk; zZV|&XRj0%m<`DQ!W@;+#o{^Y|3Tl3|^G9hNiDN|uZ4oL)RAQxLO@38ZdPqwtsT#L+ ztE>hE9Y7S((z4X}&=Wc8N@kimV=i$1cgC{ANCUSsmAVvIJ>qW{ueiw)Z7d+=Sv zij!l@HL4ATE?T_@-%_@QRLefG0uAa>Wn`zcM_Afd+^Opl4GUUz1y;3Thir~V(3mSD zws~-Fr9{0dEhSnM6PBlv)aj?*rN!z)D`ZVpu|f!XhH1n-+*%jAA6tZ}I6 z4~%3_<9sEy!DL9}r)Yka4aAl`3JJ3pW?**g-h53A8i`~LY48zAW~8^;Lik=wR7)go zjvQ*`Pj*)N>c0)%e~7z+ZQ{uW<@X^jY39s~Nne!bw*S;G_bhM5i_$$nJP)vbo}KX9 zXD=f70{PkzJpNw|IEoM=AEgLt*lsV|tj|v+C^UlTN-3OeN**zNFd`@@zSqQuNwQ0s zE>^o(qF9~veIbm=zjUcg*+wAbpJ=ZcI}2n@5HNJST@AqD>q$u97EIsR-bQs0`OWm| z)pRn9fINL@e7xJpg+cTjy=Mh?0(QTsWZ-;_C8=}hUyVnuLDg@*+y}1_d`&DA*}MAu z!nW@YXU%jY#y|&3~Kjwly5WtoiXE=`ogyPPOrEx~Era z?dk*PtMT=1B0=}T9sHw;qWHPbe=9j(#z?j8t^;*<5iwDflYa-g)&1uGt(Atft)Q1l zy9$6-vAyxdx@>p8M;gGdWCjdMNPd1#H!WtJwsl#&(wYsqL9|s=J4V%Q%}t$&444EL zE|>mp1b&F_MurB3ZYI~_;wC13naB{?-8gn0Tc}uC!U6O*y|{Q+^_Co1e)-Avy3GvI z65>6M!X{(m)Uxw(&;vwa({<(pp&=8+^Il6!D^f2X_=zyZ=K(N=s_pFT3@pN+m2F|6 z%j z1A84vv>cvXBqzdu&q7QuuR%yebl_4qGgAXH*w$8lbH*{s1hq;np)lk=tpYsG;Gu`jhD}$NZ!a1QF?%EpL?n zg@6YL#>S3<*gQ1!!B(CVl1*j1@FKT^ywA^n1Ln)?=1KtS>XRHb|M{;k>FJ{fkS2?r zyn(@8On3Cv$^T$3Np%ZApl8@OpWpXP+VDG2i}a&j*jfzSeTfAX3bYE z2ut>Q;C=oZ{0OFk>37rd1_~gYJL5^uU@tyuz`J*c0E2B3DJi^1%?j zmotNeY!)%0)yH{g_kRI$<-P{jdO>!9#}H`s4560)y&Q#sK*9R_R@Gt}+{`bHJ}THT z!?e^K9Y1{v(WRD=mIiP!6Q_D9mxH6@0SY2GcBZ5_z{4grV~_iC(pWvTJ>F!QmqNBdV_JoJamurFoy97qih=71BH;RvO1QyM_yx%`ip%LXMN7s7kVnpw_ zxVSH0I)0836w7xmkKcgvrSzd(L;S zA2Dfty3HS9gH6lgAg2#L^uBYy9DfXFK5x8pPl$}8jPG8!S$qKf-de8IaoT1`)ci5N zd3pIzIV$QLu|Yd$;dZtJ>`|e|4mrvwP}TeuPV}T2Q7MWyh)pgs7ZtHHSd3FRg@h%f zmw`?t;ag{Jx@TPPs?co(67+d@;RRuk*IZ4jeReH2Sy*r=xAXZ%!wZ^(m%!WASeL0x zvGi74;Z&oa)Jiq!^Nkd5n>k9!)2#b_g7QhJBuhIwI;5QK^ znvJeU3PL)c&8#mS^RP=E19gkP1VtQ!z@&)A|A$}}uC|4R_+*S0ULWpKhQq-Vk1X@I zeiVy_@soT=3NffqA8emr<r+w zW;C7IksCKqvOBQ5U=bZc@J8Cl8=C`onWgCqs0mllk$qKGV*^}xj3W1qU2dCDHF_$yx7( zZsHc(mXlB}NpVdlME%K_P;f?u)@UA63ZF{8@?a9D7E`o@gctznbHV)D)*0mA zqBTlmmYo;HuYch0E=0PAt@Eok&=zVs54D9L39fs<&b##7aQS`09KkzxbK-O$z3S!x zgeg}{CH072&4ouxmXRPw+JuF8l`UU6hu8gD)o#&Sj6qsK4jimKc};;TFzcxu*ZR?b zPRBK@Py5zN3vMKHwfRjX%GlF$;dpZtaC+Eor65Dv z#hgN1K;)R!O%*NGPWc=b2LKLfBJ==Gw^wQfBJGO0)}bb7N3^7mp9=nX^1yqpDD=9{ zx_4%3<45k=uU9Ye8D&&0<)rOL<`PGNgnq%$+``7p(u=}>=tqJCZO`+7{=>3B$vYxy z)#2yQ{!TS`JRG%dzHIEH>-~8m`nC9Zg2mS$f4tz#nwlEGskFAVFkr+=o7mVq6Gz!j zWb`kkxL@FD+rB;dyPvFLl9w2i>V}=2mpjDak@+*z*hoZNElfMhVsC??YjE}GqW0|B zBaG-m)ugQ%-mGp_eI+fmSw*(;@A=hg6ieXKNi~FHXff%Yg8#q^6k)<@`0k;DPZ5N zG4|kN%=*-w!``;ul&hTd%`Kmrllc>)>q5MOR z&HDlkiBsCY1{9ZAmC4e7DNv5WNBF+&a57yP24F|EN=#GO(;8RkyPY8pRA5O`#D(O& za0`-Di@DiLw!DqZg;|ZKqb^EKipBNbv$GEmjV=560mgiV{kcYS>rK2)c-@1mMClw} z&+E3I7Ak1I+@9CSlbIwqq8i`c^m~Fk^?CY1r{Bup=QlpLK#U8U-u_wyOpCpuaJ>b_ zEU^i{yHM_{;e{LhCq;Z84VB-++~-=`xWmZ=a#iV&^a#C&>V5xd9f!DaRZrx>>xChD z<*%Z{<8`ixOnbFuyf7zpv=_>G#`~Jza%+C{!zY}NXPj)}z!yNgr4ia)vbN<7M=;2=o_0g~W=i9n2(Tmjdxk;Axc}1M? zC{Vxe>^)~X`>7*Uqq*)QRx#+x$-qD3It za6HX!M#|@D-`Viy{x}VNx7g}G6ROxgxx~2pebwA)9d+6H9($MX!~XhCZK-A>FBjK( zV*DcHO>}!YRkdix?_4()(dj?LqjQDq*=uD|G;HVcv5(s(6SrX4El2rPY!3&q<97_a zWp}Q=p7Uzoe^3blp8Kid({JfIS{xGwwx!h$dakb8S}yJ2z%oCvK=$}C7|D^KNxe@e zT#KGg^OYJqQ%>gK{J{5lmn!fRGs}^gd{}5GviDry7)$lFn9I2TTv5V?WKu2~1$qTL zDlqJ?^(R!^ZAkf2^bx2jC+MiFX~d-KDUGt^vnb?EPICMzbKO7%g?AG#ShE(xeOb=4 z#x0HBzwc~?e>BVoF76zD&yxREi6zmKvo!B!{4GphC{j{YV-dJLJr^3Tz7#UY_O3t_ zIQw4H)q6d?%t%nZh)_n^hu#UBKBm38OLsF3A}Jj3PV4_%T0MMlDHB{k*q5HCTEIb! zDTQ}-1Ih#&cS3%;z3o+Ne`)=}o{rtc4G1`(jwSdS5a3bq=cxW`#KWy7 zC5SPIDej;RDyu&G(OSv(um@qOaCKxPRy-<}dXV3D3|NdiA_3*%%f6yW# zmO%&ZSNF@44k2lis+)tgn#;?u#%=B@-vbRGUb?n-Nf_q zLPO}Xk;`g}q_?Lx3j`dzphTs(J)P^tp1a9&w3>83@BT6tvjQA@dz`knfBU(fgi*su zF%FNw7<+kng@JL%(!^@J^OTmH6Q0|}9zd0@aCk~zur9H3B(;#%EDdQA>*?lOqCjLK z10f6?iXHf^VV@|EUYpi4qmOb9v1gCAb%R)HA5Ds)J-B2sw69pyCMFY^aDpybKN#>S5KG`? zOXr0}eL)cZ*V?MF)XR~inlC9u z4$%2Yl>p#mAqr0Fq|O&Qv%J(R>lHc=2yx}jL`S)~#r%K&Bisl+G*oTCL53`W%kxcL+5s_94Z~0~)xY6?_7sm&p zi28DmUiKSu9!TOr=Ts4ce-T7jV1o9UKdnVY(j*Gyq(kF-vpFy!L$<_3RMhlN_Qd|k zNL;G!d}cTK$6qic-FE=rT6RBkqL6Ybp&7{#4cJ&%mD*V&cmr`14|}fdbc0n<5Q7#= z-mix8df4or8Nhy~6omq)jU5)UK3Gz0x4p3y6#QtgM^ebMU@rM^cGhEmYS*um0k-FL zjlzCVMWhd7s5=?-DqmP#c$@Z9)^5If&~^OpojWe%d0|uPA;C588DVl6vgdV}*+okr zi#3P{) zOCO=Q#bLIF=1URyAxJet9YNUC!MEc(5r#jpACoen6-(mS&$#wE7k>Mb9uv$kGfD>b zT>0JI&Btf~$Rc3urB}0rG&$^kiLxR?es5X>E~*9UJzQ-o70_BZpKMb~LeNb2lXu%G z$p;=^aP1NQhnNLxGwMA#v>6@pg0cm{aI>Y_4U1Ht+eux+Nx@ZHT2Al1x&*Nlp2v+} zSbs4rPeJJsCb^JWgY&I*n7mU#k^REaYr+IlfLmYaO zLqOLJ&MLV%)Fh82f-~)5?Cc}T?MArigG53880&qiRzDwx8}2=()nxSu)aEdEgTCtt zb@gdq;t1qeKJa$6!De^Uo?i=T;lSiZeSKO8@JQR(7T1dpL{~SVw$q%HlG@rz?Xsi- zTAxjaGjM0CemR!ue=%&DN5|!WhQ_+~kzQvu{T00R`?mKVQ$rq3j7Ra*;uTORS>$&^ z-_qg^XVZ{AnaVy!MSdj}1lUB@=MCEqjtBk#Cis2U6dBt~81OYfO?6zBDUJKnO!nHu z>2}dEIFIr1)-L}wN<;=JP|8N`qV6f6TG7HW7>LYdiOGp%aKxmB{mD5&{IsbFxRfd~ zvqhUKpLh7UbFyiLXbP*mD3~~@zndXu7y|56!$t>;Gbn`jj%!ti3AWbq9BBWoH3d{Jz~tJM9{Abj+noqf>40I z#gpIGzhkWn?uMx6|0#6d&xf%IV91!(2<|~;$zY0Z{D&^1=P@y|-1D zFm)|ZrF)gA2`cX87~@NH>hJc;U0`Nn{$Fw1svq7oi-;fi`=0-v>e-sf_ID;rUj%O| zI`vg_+GZ529>zycpH-{CzZ7frT!{$#zqM?U@aH$5SVg-&-5-jgz@g~O$&RFKZ({5tCf4F3e3^>a7>#c3#c5m2O`}vZmwWH( z(f{Vc><(=@ED)kUZwv`h_?5P5d&UnYqO_$_9tMnh{F&+T=(MDYv!zI3BB1H`?GqMk zC0L{7zaW5`Vd!(Ogbl!(CLw^{si z|KB+z&KCxW`D0OezT8``XsMR6u#CDZgXYl5v2xCy)BvtL0u*-G-t+ z$^4<(X=qX(^~b@)S8)l~nTef70HV&Hd?mq@@ROwj<|PfQvHt#Iqaf~AtV)!)p#9?2 zmoH#k=_iPdNpJ>AFQzoUtcnVBXu_5P*im`w)Qd-5~ zjY_mG_06c`NhT3@l7D?#asS+b$P|d#}@|ps5&44 z00wVRW1OQ5#IQ&p;EPx1BfM>ciMt}u{sgRG$1GMTt7m&&woPn21#mrGa%2*(h5E@I%1xL z72S*GOG>Kh|21G|+6f0rO42b8b_LfJ;d_40YhGSUXJ;TFpdF`!0)vA?6$0_m0z5o! z8m;HCAn-Hr3zlZVMr9M-+^&GvckyH;w`%iWR=naEFVmrmB9L-!XbhK%6E|fxXKAjMD%|1HasAp`z0P4 zpw4!8L1crxjLgmsys*>`C#VeHiD0=Xlf?5k&l3G3(Jt2O&tQRLdQ#fx_Ab=l?Q~bj zx!oilc>h6%Z&A^swf;F{HZv2G;I`$t6ziniLMzKI&fXpmSZBT^Mk;AdqCz0n z$;lJfg6!tb@BdzuYLm$lLspp&tb$L194v zYI1Sm0X1{VK%Hn|(Jj@j6d4HuoJMoyrR3#nfHWNu0*X%apEKaQLo6F7Jk!&Z2Z^Yn z;PTg07A9Kw2$!w-s`WV-8ykbW-_cR-J^;+r^u1N*?VC=(1@L<x^}U8ki7OK1s9Q}GS3{8fCzwwz!jjXZp336T6MTG3 z;jxKvwaKxbRr^H)R)3tcazTG|aOp^?34zIzX{oi1S98xfa&p==4OynOttF6cI9wyt zCPCA9XOUT`a1_4lc5GorQg^yNDs*=UXXZPrNIQ8QU&5!Q?OF57=Ojk!U_>a*d8xb+ zrG@}C%xCaR&`Ix;a)z8W8)Es>v*st|oHpL5P}4gjT*TUUM*r#h)+M}=+@Jkja`#5k z4Ee~7`9YKL-#&khyHw^8-w8d$&`Og*0ke*e-hUdud(^<+J=9H(-CdP(_Zh9|U)1pX zB&CdCW7vEr_vim11fSYvH365ssQKK#)$AYGpuU7dhngY$?-K+CWtR`YOWie@0(Y={ z6DlnLRxsu~PL1o0{adBTO+W`l*UN`53Mu@*mHvB2+%53DMqz%ziln?nTPb8gs~6y3 zQZLd>-nTKW=RZVo|0CMv^>2)QzVZn`%IbNO80Ws^Ubo|h95qu>6oHR{ROrSgVzCFj z^j}35aY-Ce+g5K%KvES9H~c9l^YgN~-kdxg7y!5{7{>Ujom(!)>6!H18pJ3Y%y%x} z8l}kIjzmSj&s)^Mj2spm+}Gbz#_$$3gThB3H2g~{JArrdS&}1>&TaKVUw>su)iKR( z43+n`f-kdth?l(MH?Oz%mqf&1MZV&$*ij(xR zRaQqH=`JEdu&fKI^uNFbe^IQDCF5N0W}!J-pT=#04`PL*COLVCPz2R0m{#c|F!lL} zwEO#B0}2l0)J>A8T4KUHR6h0k`_`o`+Pf1;#W{qUBWHYExvO zyYmKnf`o6*er$}C>FMj&Ujv?EZ$~6uts~q|#cjAgK)6nZf#B!ePI@g}II5MKtUWs@ zWLG|HZf$OxsH-fC1GIcK9~P{$hBZIeNK?nQb%?F6n&Lym#hl(I60~i)N_Yu9y#{e% zdmn4x{8n#0H$_v{RM2UJYW4Xn(I>2S%=Geva$jPpz+TNh8Ni^?dK;rl8sCqX%sr<0 zLgf^f>8dUDrFrV+53AyL_X%g*E$em{%{USi2%<-?mwNX&S@FXdZNMLBzr9L`O-4R0 z&6Ju!#uAe2lNv5mDpKZ*zWa7O7#u&fzctuI|dVFqOX?d z0n6Eo(uj=;jsIK!SPDWwgoq&M-lIM^@|m=L-$wRD0ws0E=yPv)yxL@KndXDZ>aW67 zEq2>4o-rAbr-|pLv`1}^9tdih`ut<$QB&EUGsAC%7D1iK0X~ftd@G(odunp>?p}xJ zx|j+gRO;*N?^9U6?lmBA%nwgrbd3&bf3CZovD!u=l_6rr3&G;5avDhF5#XXBK_U&r z_;reQ9XHvdsgXq;5N8<7dmd;YFVZvsyTLvwDc478$))olw-?hVKA}6O)cl9hEn}6! zHK(X?DjrjQ+ha)K%PXo|HrTsfub(uC>NS?@2U{g6gpPsk=>*qHuR9}z68du+1&%~j zbZB6`{gZl;@yV^SLe6J4Ks9-HmLB1GS8LT~RNifzX|dJ)b@v%DF`_qUL|TbAsAAUV zHlQT{A%1*L3$EZw4m8 z?-PTl_0n%t-@ta~-&f0>Ys4g@_$WS<|!XO#<@gn~e z67+QVpdU$qVa+NsI@XpgDQT8>*(l3}YI^*=n>^t_YUO&mq{h2r8RE*K*Np&Tm3Ie*%MF%_D!@Zqs( zmMlXgx)^bmJ_8Pd_qWbGiy6s8Ee2tE(~dIb*wonJiD4-v0!U2U9~%o3Nmy3Z`0hL9 zOCDA>O2EqXtsfx>Q{V)Oi{?o88$HFbZ^rvu7XDgO8&lI#bLuT+(c}yR0+(kWxueY2 za%?jXuF$0Sf#S;6uIy-rQttmnQgC~>vOYBUrMFI5t$RCCSUQ-%xe7XTkMrEf1*?{~ z-LjR7tJj$$fOz}s?iD*k)gfM}wspA03;oD1G^o8q3=$ieo|b|>u83`B1{~c7A6-|d zQAZCGj1SG#UHZnxBo^3NYybSHS`_43jn&NME61 zhB_k)4@1+zCBAKW&F4AWzJ3JAOnQPh z!1)bmd$O(OG&%?Cai1sDZl=E;g{P}^2 zq$azLK{-X(nJrOC^)&q`|&aTcsXcR>7(wRWa_l!5RM%@R7!$y{VD+ezHkD zy1cv5$OD-QEPK(I=}3^clB*vX1Xi@#6Dtj`t9k5)5vc`s<_SFSFV_t`ks#CHnM?RD z(Bm2(8|!s>g3V7hXwC*!hnh=QNRdvBLvC_n0??SJ*pFn>R1X0+^3%ydk>F%7eo<03 z5U`bY^><3`n*{*Mj?OW`l#{y;EI@}q1|0%FcGqCi&w9tCPa6Cxqbd4F!L*I5%9?TH~~WgvIc(m#yPT5y{entP}}~M=baVJn9Rc zf5!M0gOew~C-zf2YjX#luFCOTkm=X5!)w?#Dzw}aba5r^RNJ$LH)`XK+i?hCzNnHv zUM6Jn=`P*sl*8r|y^09YF9`qtglaj;q0SqCQc&td+@>SZ)uL#sIGN~Uu9n+R3rw_%6^i?()6?2)%$Vf`WbrEj$ z$=JGx44{ktHOMlzToJ7Ve`i!m`y2&LspPFvccA=IG!+CClw{rb2PijNe}0!qW_61p z^{Z}dsL^Gb{5kP>Hq9D@Eb{Bo>63nHaFh>yOltoIZ|$C9xmGFO8@~ zTil=e0PrUtr@pej_Kiv;3e-;`A~Y7)vvX3{0BesBmkxDo8lBMm^gNtF?yKBR%p3IN zm+x>ROL|R^)tP?_}#b~{QpmK4`%e7 zK=|W9_XO-ewM(z&L*;j5aleP|0vbWkAAOew)?e$BNR5awv5a9MVfo}r_1cy zo+$q#;Mx$eB7E(?biO356y)g)t5Pz=d8oyOhsOQ>%+L@6N7O6IO#c_p?W*02gcnpk z47IvUof}`syNm@lxu>65tBrireEgD?=JQMeWu)rHhxi-vST}sZ=mGUwIQcpPosZ)xB%$OP2Qpb*TggO`aOBG!e9)0vg$J|qANiV^Uo8 zf53UssKBE&>m40nPyW^p22%6>$3I2O%*Rd-%u{Ub?f0|1*G;PeCyDNF%ZrI;wHQbC zNjkI7aw%{_oU=#CNsQiSzGZwPt-PFHA)VFDksDR}q4l)}&{R82kBDQKDd^O1T`zv# zN#k=J zt*u^-@o-#m<3KuJ-m=4L$~1ed^myypoXBtt$dh01wWDh9TyUK2H(AY7QHe@?W+t2D zyx9)NekKTlZL>!$fsO%0uSrNq07GVC{~B-_R?B|A>Yuz9I)iotkit1=P_0`$VLe~H zw>(a7+MjX&GSi5d6W&G{YdAT9f&xIWLi``r$xQ&|lDWdRx%Az4<)Do+QoC62^Rn?f z&s!aG_v7OiXV{pSXaOzvV{l|%`puQW-N@Vs9vLASE^f)VCGY^23VMkJP{nO1D&kMnkD;;-w_i&{>jBNP5EugLb_$fBPA1Dqf(N z<@)BKu`&CKIy^`^n5HjP;QdueJ;vGqC7MxZi3k0lPLaA*kGuv#Q&Ma%`1p8j6*Zux zV{Ibzn4m}Y1RJZzge_9>2iFtGP*lWL%=tVG>8lnGZN4g9tdzK@lD1{AXa?=8B#`?w zH1tiEI$2dWTQ%S4y%8a^_7sRZvRt(XA^~D(qEz4IQ1ulA;Z*bRxTfl7D9X|?QA^nm zY-@p@f&L^ldKKj;g*4tuvqcdoLBJzeyEsz%C0k;jH78P2@KGG_;|`>-)>oA>%QEHB z7E~6e<~|o2D8BBt9*;^g@PLr_bWFdO1Xy=3uAglbkoLo=M`*Z>zonxFlxh zug1RnY&yLQPE2)Og@hdolMY8?eok2C55Knx9F;$x9=isKJ%S9}YrCyE_xPM+rhnJu z+8QcGM#W4GP3bNU8B1jsWmeQ@vCC4!H#eWDJ~A=Mef_#BF0~};o}HYpuV=J*hAcuV zq!x!mK07yJ%0X#O824oy|F!V_(0Au_^ zs9X{mGKF272dT75o5)zfLpMhe43(u0&V=lcyaD|zn!&=(o>jEW0V~xnjX=eI=nbyT zbzL3s*B}XlVh0mPIT6nWMOtecDk1GMJg!o5fKpq(EfotZEM716$eEh3E;2@*`V<5U6M`ROx$=R$ z$YF!;aWZLf?}5T_6lipslTDz$zOvF0_`4ES`O8Zi8%rC#7Mok?;~6c?tutxSz1I%T zq5X7)#+uEf-p0$*tFaZTd{yABzM8HQT5z9#+$o>J_9RqIZ5*(+n-;IMivh+Rua*)X z7KDZ!qC}?#mAUN+#%j;cObB`e<3OHMKdULYG*~&Zl?!WYYZWvmWa$#YD)JC=JKF)K z2?BAalhbs5H99;rnO+63c>_Qlv8e>S>cG$AHqn=z-Bz`5w{bS9 z+hDfWkh?~hH9Q95OO^9yczMCvU19GCu);5uOApsGX+dmNS?TZQv2AZyEFS}mrK09* zf7Fmfl(DTX7XI(5T-5@QiAEco^_9q-8#d8rthM~!yWA%vb0^Z4OV+C)vyAqEyBJ; z1ZXr*p4WamTevBmv%1Zib8_OfZq2UmWrt~^sw=2zTn$-=Jzj#m6&i1S5`X-Zh7}cH zK_%4=^B{Ys=IX)1-T5cze9>%?#fto@6Qi%Kt)-<(@EjGAkI~RN^|*^>-u`s4_oWnC z>gu-djlveZz=Pz~RoP)z5or#Zb(o9R#?%Q6SY-49&P8Lce$jb@*<}aupA-fctuF%- zX-iA0ct^q}_&kAKi_^v9bcgy1(f#})F-y?Bf)r}F{zC(yVq;t_jWQ!F36V5ZSi9_> zC;Dn(p=T(HbEh6CgM1YWRP#byiVrG~m`wfnqK0?pEA` z7k4P`?(Po7i$jaM7Ax-VT3m{|yStxhzyIQ#wf;M9LNb%d%qx38yS%&{z;GX7hbR`8 zmLaG+Z*A+S$#`r@5Br{Qp7ReOfBvt?W$r@rQTX*Its&C`44kyA7XWibP?K5qt2ie7 z@21(n(Zk26W)ynOZgoiJ&z~$fTI+@Oh!n8zLhjkuWeAWBfllH{OvWb|Kj3S8r@uA6 zG|%;OQa#|q7}I2wLui;SFZf@b#kmp1U)AOpFoWNKB5LWNLs+Q(K3Hi4NyY}MDt-^3`eiDQ-1{Z z>@bMEioC536Y12vg^?kec(=-*W-hj<03oOpaxd@)1l|g)%~mZ0AQKO6pM1o*nMA|l zA0z=13$|)*X-W-jp3z%^#3WPV%mPJaC=kbQ3G7t3lCcK>F=@P%N%k;ABIPH42H2;6 z9+JOG#n8a>hIxHMf@6DC*`5p=A#Cwaw(7WrP?b61|LGEh=G5_wm;~4ya(-Mi#lo~F z0PKNwlR^-%tmq$_#zjW#*n620nZy#r8JmHuik1bZxz=0a_p^UTz#^~*K=kfhejonL z^8UUX;ib(Jy8Kh6J@%kJUo-RAQeif+iH=E+!41M$-pAE*7V&=wVM82O_84FyZ#B;k zFplBMa}53)HaGspQh>Nk^}6?GlmnUdD*`)pzYh_iADvO2dt)$Yn5YB4LwZIDl4Cql zF+P)tz~(rZ^v-?#uAJGY1)MO4c%-F5WPXWhBiF4$`=8pdP4X7-^A*|y4a)oM&}LQ% zQu)fCjA$AEEiV7cI5*K_x9X00Pw;vn(?j!_Dzb5-xF_DjIq(yh?$p$8lqmJ|+(-Lz z8eX7E=d+|i9{f6cIw;c_t4I3qAtoxy9fn}P zCNgw;rHD(&`58AaLZJCHfgCH0Y}**!$r8ki&3FhMwtoi5OKm# zcMqATC-=&lXqoD7V;1R#0weZPdYCM1A>+kG0SPMep@@P)lZhWoC{s6Tpfp=;#>1hR%mZ5dFV@W%j=O_PzcJ zbP&YWbN&ZFMP!#P?T^eINDR_mLme086lxlvX4DfzxeFelK-}pN2ENz4%aw7X<(G{p zdvF-|M8K}?(YK<*`Qi}ctm9$G%dRyY9c#;Qi;Aduj-~DEjK|%wD=UajkL}JbhJW4E zm8kUwp7ml^`mL7k`O2oF!};U^vB4McpQVJowZANCF$z2ZC4GyW@9FjLzfILj!>V!3 za}1}pjw0KSl&^15NpEL2Nr3!w(=-JIo;x zEw17sL4V~5S-uZ-UHa~Obyz_VUFCdUaj0n3HPy3q{uY6*jY!{#5L zu#!tigy@8^Ypb?)s>j=Gn%y6~>pT9-cozj= zxkYd%a5-khsO@sGXd;cNHuvWvZ2|yEVoDj|aXZnhHN)ZC)R|h|5>I;3^a~AJq%AUW|D)tT;~doW0F`J^6(( zT>sqMgZ1$EJen5uQC$Mkik%c)`9FbkPSwHwA&Ddl2|qMQBKD7^i(;61v8r^hVVx!| zCfp5lp!O%p&1bgrrD0UIMU$ z&eF#vRz}{-B(JZl)$CMMB?a}WIbVPZ9y&0mrI3@fRi#+j#Plc7>0LdT5xN7XSL>|Z zZ8F$OF*c6K^Z6j;?2Q$a&a1+0qA2P6)(J@1rH6;4!Xw_T*Kw}4Z%##k^Z_(+9cr_O>1Yv;jb}m8a*E>oFhO ztuz3Q&-)FwyOlA0%mpqA@gN|81L#{2kZ7G8t3`!!6pNSL&L#9eaAD&AYB%t|KmhEh zSRI0YhoL($&Ba@-3GkPG>Oh!@F`)IJOt?j&ChhKdghp4a5@CoN+LiVXD*s%!6x-0+9rIA_Wz^A8lGAqG}H*^(Kc1(*FqqlyTS>3$W;GE|jPzy=gp zfRfpb#Pr@kH52A+m+szi3&vTvHB~pgfK6p@*Ep-ZG}q!+LHTP45ho-lhW9E`L;h0Q2sg3d^0F-Kpq70xt$3uH~_p8j2#cN z3O|k!xyW?#74L3tew(nk$)n*`nBxLoPdJbUjs<`)j*1#(W}bwDg989s)R@vPTHetR_GfDX~PiJ`=FE zFi5}!x$|a<6>_GIB(~LZx2@`jhKB;7Y(_(;17#ig`T0A>W*yJFEh#An3kxZ0wyQ(H zk^T*DbLZucshBrMaaAAin`28h`~+QEd(MSqc69XEZ3_JG=i|>;tiizFyBL z(wLrs8-;pq_*|aHu{TFRzy52+GQ0rfmpcN`#Wb4Tf5=eg(KI(y$kSm~wAjnKxs3xC z$cX8ZsS;qdOfk2yYPmh6m8G2ityH-Bb%zTCcD$aaz$(k)@=1MpmkD;b%uvf(^Igw2 z`JE*29G{hy1o#pzu(H?~K9dxbwGn{GQNt$92Zu(G;evs6;tJnN8{iDmXWulq+ zk2{w6XVo_x7^*EB+3!G#x$mtDa8QA#nNI1bjI=5Mi20@h`Vya|q@W~VA@sUFfh-xz z-3FipW;yG2&CCF^e9ZzrA?4ZeX%uXnG)3%b`|JK7;Q8gv#wNtabxr)*(S7g+N;3BfSg&v;%lpATIKfpNx%AhJJ`>`nF-!dkcVl_--@a zwcS2;*uC_~0!9Zm**#;kV&y{}uiJ7U`0kYN>6XyGA!j-)9GA1fnusYg#qf&#*_t?w z=N+PW@qG#O05u%N|Bg;Otqd|pfhXnY={5Yj-}WAB0l`$FQNVuj3#^MD`w7_heeDU> zD}j6IPeW#)572DXE>N_hPDM-_mNBgnD~SsQl66=JoWNUIfQ>7ieHIi_w_h~a8+1Rd zvKN33^Z`CEFTy=ioJ!bEemz)Qh4c9b3q=QX&|p{)F<@t~j-!wOwRHbot_xJd+3Qo~ z0i_5&ACF`0nmfL9aD)tHjStYR(|w>v)6CdXPy@`^*x1S+KYl7r`oqcbz$DRFT zu^i)E$?-LO=c_wMv!E809BTu)UTrr132fyHyil~h7hw3p%{qS~%0dJzJ4#|5%#;3& zUd$v3tZpASWo!^T0N(L7=D$j4E6@zXyD9FfNx2d=WZZxZB?w~hMT|7ZqISaRvn^=P z(k2}TZg@WHSn`uaW=nafm@TU-h%x9Dl<^19OO+&pm*w6B!|{@iq_(<-X@9i!M2?j945jTz ziT~X+ZO^stN$nj_BPRgm3@%&?Rvii(jKRyH)m5h5RsGrK&Km#cbyAwAB#${fp0s)a zAjX@#DYgrjD=5`vJa*=@__(U3E8Rm(CN23uTxlipgE{opRk56LBD)TZJ=>HRy z1V|u55ov#Tgao8-y{R=boM0S+%66>>tLOMhs8f-quV$|I)qs>@KAaE7XU?M&>RhEx$UJQ3|s%QpW8$ZJQ8}=B}!X5&NnJ6egJ|M}y-r)ex5wc&+7`V)g z;B;SZlQ6zFLqzOkeY#y-{%-37V#`#mH3tOzi7GSl7#6SYU)tE*0JvLWisjiR8}xAG4ZmX-lM&ATwo2MblbgX-sb)mDaf7 zs4mdcppMlmZe%-!AO{8SRsJ<}mD2RZQSEkIjwmGtSMWcv{jJ2u)iK-e?*?pceU5g_ zUT^myBX&phO|eE(9Dt!r)8NseG(+o6zZG3ggSK1#C^XXY!vLV%QfI7+@9hWDLeEIa z%xv3F!;9>j((nZC{^ZTpEF93>zW;jc-%=(Y@d6E-gVLzu69^)P?N~8v^kG28wHR%V zNb%MFaPg0>ErfVq3kO@zxKaJ<*P(?H6+mzR<}h029iOOpta`BYAUmDp`7Uq0-cF8= zv^ack!*_-OzHahK*4OQ?QDRTe9j~J!xF4Z2bl-r+0q-NU|L4!hW`qkwUhB3|Vp>{y z0yaa&K(Yz&51Jk?rQLaT-#RfRV4R1u+bM`t-1dMLi00;a# zAigUe$fi5ocmif&7+A8AVPOw7GMIq3Zea#kEjl?>-+1x?Y|JUDObKiM|qo1gfii(>68r=Q&V;z)WXdjRX+`93+Bb}F*m*stH z^5%_=e3`NiD+3@|l=7empV5*!_hG0UPF7a4#0VZazXWUz1NUNNM-Z*UeP>0-$)~|_ zS~}|ambdjkG;w#wD;C6Nm+s4DG*;$Sh8N-E) z@jZ;~-F;`zSn?P`9w6_{+m$P;fQC>~ihL7*^Hwx%PE}S`{)ONIXgUU3Mk>Io^XXFw z;F$LE8pyj_SpWu)y`dqGz*YyS>9GJ?wEM=hQhvTgaq+)6WVf~JVkJc-r9?&@AR>SV z*m=PE0o(s{K+Xy{kfr72y|zy7OvjR4U&D7gP8QqDHv#~J#HfJX=+Fqr4?*uMYtzr4 z_2sXZ5woDrfKhsbOx$cN8Iy?UZCSbkkSz#sb3YO>wlKu~7&SK?2r~ zVFd?TwvD#{i{rw8?^Me)vwSM`kKoq1P{LS7qD!_K`B<5>sa8PVotNN+_h>I@~ zew`qSzAS?eq8)&BrI*{VrO5!Lv1Jr4$UN2bmk}(~^H^rPPRkvHpUfwW@E~9~JWI2G z{aAilURo+c#f1z^8%R-DU2s6eJUnURd#rVyB0@P``r99XT3Nnu`W;_xxxAy}RCT^I zka-Otuz;*#!`wW#lT}uqL-f>wcb~~o0nI%f&zD`+jGAOw)4)mC&!Hl@0jm^5HxWOtRpe8WQ}pN0Fu}64vXmkNkZzt-a9|l3NuO$yOkdq85&AjRy46+sE>)T z{~S0cwmEwSx}?B_h$#zAngeMKlhzz*qv)XLN{8ud3ney91b}yl6d{reL`nw`D_go4 z8VVU1DFLEo3ymg|JD{`Q+XF}jnpAt3IoX}RCk-IIWAL=j@cb}H0PhkJ4Dhsg4~i}x zFkuIV?l(7}?75?wnrf(L6a-Cx0RH+q-xDVl4nzaC8eRfnw4$Q3c;_Ci8mwlDrk3XJ zU|QBVjpURcKN1r9WGZxO9``Te059B!-El}zYQgSECOtYlo2HGfuAHu|oUR-IUO59| zy#X6CXg#n&_nqGdHHNa{;wabC1=My0iGv&yE7uxwGVBN--v4Nv@l_Vk^jZ7dE0)>D`I-)NDQ}O5dIn~f74bZf;H4Td_`FcDEjyPUhHF)DBG>ICwQAzBoa zE8`S^!58LF*+^n=GcI4!cbf+kn3u)}Got)fAbDMSZ~XPLC93r2?L(3tGn$^SS9wS6 zw91SZ622jY58j&H@^*wV$|fPlQ4CC@Bc$ru=TNVIL)nMrWGj0=B3g&}0%lDLL{&&a z?V?`)zr(9R$jsSw{hUW=wAou1C2`CWyK~7Y5e42@HlZtd{Qu(cC+;~k)&BMn$kOvoeG{s02=J!il#<;F&PHstdNI?YL}CCd*898YU(dSy zfZ|2hnVq{HzyYw`(mca!AJ2qN&E-WHB>(rX?+5KbQ?XCn0w$;6Ik*`p$3$d;lDF@WJGg zhE5phKbb^;4#51_o4Yl9z#jZJSA)9zTP7biLE`Vh%M8;m<{_b{IAMIywai%nQOuS)lM?w0x+34sg+7j%PFv8UIKc*ev} zRG)6ItB*_ls4Wr*O$;kt+H-ae^DZd;zxW6U^17}JdFa>ju|K3)M_JnBX|KK=#Cm7Pr*-L`3+I8HpMsoY8!eW(RhLYW9= zU)W?(KS$!%1{1@E7Z9kP+L!dhaE@UMb^T`{b{EtO3rwp-1lqhtWlP9lJbdBst^i~_EZ9o(PUc9jvhD;N2_V}q3lxJlz$#n8Mf z>+K@+wg!?B^~Ew<9PGC~WE9XyXP`EShfw(A5X{;VIMg#h%TDtaP$8C>BO-i8g%Sj9 zv;^+;Ylw!X{TqFz`^C`m`~U4P2kpk3M=TD^;xm-njuQfi{R;ev{cf`*Y6E{!vw>tG zWhbE|lWB0p>iKf07ey36pS@JW`b^+16yD`1Y(N4Z$pJK%r6GpLm}oP<1h_Wd(_5K4wcl_RFsEbEZwO5a@jTR>aaGQ3yHc3dNYOqr+eeJ!siq-V5lKF!Fe7 z8*gN`@>D;)4g(UXFHB_b8o}=HvI>L+yXG+Axso7O(P@y34?-+9mnEG~IisQ#dAk?M zw$Z)#UuOt`t@5Tmd;h-!qE>gXrbdqCRmD&Wi$Kknhu6no9{$BDy^TI9VaqAeW z?M-l~e$bcJAvv=v-HY$%}D}Co(GCyb) zCTMjKS3gLzG(^))%zym>e~n~K2cRk?t9JI@wc6&w>`^n49AYFYbV`|cjj+8JA?_!;`{|`H?o?w>)wbSb4>)&WPMHCd z=PC*!RbX_?5TQ(AkUg_m&B%>aUQ0z{UIu;=O(pi$`mCto0|vJ;8Nsc%NaNdYJXRL{ z90aq0-%>-T6g!PyML*wvvMZe7l*lqYQu<0;%d@s6=mCua|MA}}r_$j_aKKGxo~NuA z1z+WHoFLln)bFeB$D2bJwh4?IpRkuX3%&NYr|)U9Pd=_9{^ivh{n^>aKacyrAs#AK zj+nSaef|?#$%cn_6yi79-K>=p?cA2SgQ^~RE10`74^3kH&%d#mKABYtfxmUmsn_oL z&`Hhi=#t!PS=BruVKKvc!=MtCyx$#6UP#>Ex! zN8$)94DDEUzapWYIA>$`L4M8BCwDwxlI)h_z6EsG*_cq{^m#YET^GXVb{CB(TjzbY zaqjjHemMuf#f3T@^KM&gL$bWiZ>|xX!CI?w?RrL;H=&Sey zeq+t6)g0Q)1%CxAdN$==xQTnb5BEuv6lQueZ4HlY0z@{eP7VGjxdZnOxaXpc@ zIsFD^;%x>=?Jwy!EJu6FX9Mav1UtusuH%eLYFT_76*}#k$E`Iks-ZQ-ldcO~X}2F3 z-m_b~doa)uSv;|xCOs2igj8znRvc&iw0>~sdB#_Nn{l{2>T=7{r7~M}>j)gzQdEWj?r*D^HaY1@aUDw_x zDlP{Bb3F7Wgll3F!QLp;yc>X~p!a?HU^?|EKm0oEhyCDs)>8rRb|i4m*DTnGLDvHi za0om9!mJ#o7WDR8zg}LgOy}Xb5H&t09vw;Hr!)1}jC)2J9gChb3aIR3(=v!MXm1&7 z_XH$lb-*=zwQ$P-Er~t&ResOY@@*v-1kVT6FO6?-jLlYiG&e3c8_B5n^U^!3yVr(z zk)n?@`j`Q~afcwPziU2>KPSzMC*dXJNSM*`_LI>MtlK=Hb+?To3(W>>Fa!gFu;9Q316#f& z_b*|AS}^(pa|z(i4HcKBVEO8sw^!Fp<0O`Y!eI*4p4#0IZPZTMty5MX5X!o{Vj-; z(Y5Rd_9KXXB)77wcz-lEb;)Y`rTQzuruN*=OhbP6^cWNH)--45S&hqmPTC6Uoj zeyyX6LIT?|HUwZ}_HGY;zxr&6wFRtq)~r8DKU&U-z1Itf=B(4RSWixm65u_)jyb3Q zr~66fsYp6)4|rraM)u1F4a01Od>-yal zO)xYeM-d;FUgIgph>t!ZFrzix*4h0673mGwjwsl||?h7<@5p#{U^}*yvJ+b;D~7kFT@6qJ!cn589w>2hS#2+~wWq+4#D z9-G><*@v)$^PLl$k)ox>Z)RmvYAKrJ=F$hiLr!C~zg!0Un((Vg+6 ze!rU%KJv^s9-3F{ys!5c#g z%;K=TV&ZInZeNMpueIku-C`b;kQq_+`x_vlL(thMw%)H--TT);Ihki$h%*kzfc@&n z=iPkSuc`Cm=IyKC&`5H|2+3uuCaQ{D`q5>7F#JkECTCTobKw{hn*6L#n}iWS9lj%l z(Hr_!wYvdxX7(D@oRU`DG}tYkgLY)RFuEBC5FFND+|oyL^@IKaCDO#~ey@8X`Bsij zMv)l#e38)OP=?bt!ym({No-0A#JoSg`leDfz-p$Jb>rsF!Ed^XKE(a@qYJ(u9NMS8 z2Yv}xFGw~IF>3&d59ub>Yzudmt|oE+Tf>j&ngskZuZ2o}S~kFyYo1DJZi=_|zG9&f z8*xgXo9W^l^65PAPT;P4_;&hMyVNlxt;v17Ff0$*@9#1O*AC+45qtkxd>~;A?5&RO zI(1_a2?>7V5^UFBnS)NxFeSh%)0t<$5@d4W^rM7@*he9dK{eCzK%Twgrw+=fsRD`P zEcm{gN6Os%?lS+4c>ax&1SAo_i*=S=>_pZB0XG{ZKF{mFS|AFR==s$ZA#SnQi<{}S zVKR&=%?JC`8PuaPE1j${=MPQEZf2o52LuH~_`v5828^Nt5q85iM6GYpH@+!5iD7^h zGAhM{va}GmbhQ6{czE1A0Vv06)DS$cDjj$ZrE3ie#B+zq>4wP9#e8eeJxNltj z^k-hEbzQe+VLP4OgQ3tT`!8vguMs!XM8PHd&|rA6Cb?lt@Z67sFMCrLjT|Ae9aa7W z`3uZ@M7Voa>TlBE0gd1fPq;+4>@3S4iPXhOk87NMMD!5Yu(%Yaui9geo$KRm`~GXH z#~jZeho{n7^&m<7i;%j?iK84E6SxBN@=DZEVLmzqaTBR55Q`ypZ}R%2J?r=`tNU&_ z&u@JTM8vU196%zNZA=R0(F4V+T#TQXvkS-EXDy{COt^kg?;q@^G2-mMy97}HIUeZh<3 zrW7><3ChF_zaEE+2Y#xsW3}4;(3{{}CzJS~QQOeB{3jUB?sxCPZ5t)5MU2o3w4$A^ zO5=^^k@Nm=Uo(}>WKuvB(*yfjrA z*IY4pg>)rwv8+X zM*K38w(+!Fe6>0U#diZL7Wj6%)imFIq)y34*p@3tqU!>Lv&G^FtlAO1uCZy|gfJLB zdFrbmp8lH|^g7fFtlqy3q)#>}6zJO&ZDx&uJL~rumVPxVrF6wjBSW=0-qU~BCOYQ4 z1*etnAoWERK#uWCaSZd(minNj)C|*vNV4?&L^c!H-s8rslZ$qNvY06_iZAEn9q(nd z;L>5$WTkLpl2wLQ!_PlnaLaUw>?x=~cnU^rXwU%mr~>ipl^@HU91;Uu zp0LaalByMbdYT&)%&L&w>IGlL=`@;(ICdkj`+6TIv2jB?9Fqpo{b|^6hmwIvAa^`Axv4Ok%z3)00#I;%~Q$&MAX8 zxUu^qva&oST41!-uuDE~OA#8m5x1|f$${ffDwI9H#-!vVp^LhZ# z3@tGDnWJaFU)=*^#omnb2`P~A^&14L!{g0a-+hKAl>XkfwIp z_N+WSY#G7!z<*0>raQt{Z{;wfk4qlCQ7w^nmu3PpPBf3Nvs}B_Ay0P5r?b2IT>Tq+ zOybDxJwaeSJ#licgP#M|0Kd zviJV~5AKiBpx*rMW-?`AhBtnHj# z1-+=o^psz}D<0_jO8Bl=%U@RQS)XoHm{*=i%#^vG5~94s&;2()=?0x__wN+a(zm@V zc{)K6l&TZ-_ThcigIqxix?#K zZ=_5edS8wTQzB66^*wp~>-?QVl>g`1t;$r&(yyymS{ms#?~Uds+H4krT)26+N<~9V z%81=8a`i zB1|0LZKNJL9bRlx#Gx5-{c$xqirD;(Ph2E*WzYp5?Xuv_vE+^Q#w~h_@ZaKH?tGhz zBl&AIVHs-3mZ&y+Zc%&1fFM|Xo%(viiN73WOHaMfNCv-t2lklDna2w2tb(5#B7oRJ z`~medGL#^AD6TRS{rm7WV%Q}nfDeQC&n?&( z+2#?_BA@DSTh#4};+^&jxXS7m-hsbDI_`b8DDmZZYQ8CVbFJ%{K5e+S^F%i7 zqP*)QgKJkg!&|)}3;^Wk!srV`)oh?Ba{b@0*8!^7mLK+>j;9S|#KT8DDe&4wMPWxsD8K%jEy|6!7C0RihK zy*WMowfqU%QN|4g0%k|1w`=3 zkJR(n-zp3QV#6dM4Uh<6&97j?+!w0n!OZc>#VZj7u7|rdzRGCIF>aW1!Bou|2i^!f z|JkbO8O0|GY?wsg?C^$-1#o;~oMNF1nlQraLPD2~6s{V|+jWOT&c<%OQ76ZP$eH71{g^CssPN42_^duv{0 zo};v$8X+!ifqpT>WeYR|M&dG#x zby=_FoNoeocyjLd2*)5qAdt80Ydd!g*Uk-|Lx&kR^s&zL8`5VJjJ5YRN%c;%gt0Yv8N(0HWv9jG zdbdX5DtUB~8Xq#Hm7oN>Q+)I6_$`HbVnGmoANS3EmyP%!JD^-jzRTLa5+j$5wblE; zNvdO{6@^?K__ySymT1!8Nr9yCO3WMwtiy0Iz;~bFFu%KR??2qvzA-n_II*bY6kvZlaC%RBvaINNyb|H=%48ZKVE3iKW7Trwcnf82@bJG>y+=5TZ03H)d_ zeS?X;@_7*FpAt@cdzEp6@J09ZRIdG%d9}?Fv7IKkB06gN2Hbh-GSo0WKqlSonn6tT zGaRCSCnB>a=DKKx(;N5PAOM$57VR@P4tZaj--){P!2(QXK|i-O{Cu!psTFBtdqv!d z*vUaaf&Ty*&EgDap%(D6z+C@ai&$Q)L1H>#Nfg^`P{!PU}(Z^Ne5Vyv+x|evqRook;$$dm-TgeqM}j zw*=tF4*zJ`Xy8MEppdWkZzR&`E*rBmy>|!jS1QkU?S^YA@CqS=(q*SneA(oxvZ>d9 zm@%}u41P<%#aM0&B6%mC1GhBU3NQduk$JLo^Lgci& z6D^Rq*V=i)px@KI=#JFd5b1H=#ej`t7h%HO-yK>-p)uP!n5fChXU8`^y)w;slZbLB zu4?)(Q^ustSoP-aDst!0J1lbK*U-@O4kPI;27GYIoE`GytB)7$%wgRTXY`6!Og$3> zJ_v*}b7*33RehOGEf$%VrgAb{=5S_&|0ouPMoQ(T!I+CIu|L=-mp(bN5y%kwiZ5w` zLgUkrulci6O*>%Pv(iCg-U{+=H%pWrPbLaZj4wbTGgRk-6xY%`59NJ$5yM`+d1+p| zD*Waj>px3i%l>X7rMo^4oJia6Zt>UqVp~f1v(KLfQchw_+b?0pfWHUFPkRas>vwY#C5|KY$%M=CA)33(^ zF-mI(-8p01UgqTytLvnAlL(GInEi*aJHgINKgs!>m^W8pS%pLpbGk!Atrr@{H(nFj z+f{m|II966le63v<x4hLz+=jbv3=Befc<79Qf$>9{On>C1vD-tU)&$M^2WPw)r{7nc`Fb2kSEUz^&Nc$T^-P}V`9!Djb{wYHD2we(&sZ05{} zJ}v!ltHx3dYKXFKC7WKni!<~mEH=vqV%|@lYprDSB*84Sy3T>i^D=IqMzNC=gR&%Z zbMbzb_CxwgP3x8@xgYnVM7AvLiI6^*?5Zm2Wq*|(4@OUSm@fZxfEQVGlJ?fwe6iYk zPL8mvHTZ@3X5^@Cc4#YoL1>pw`g=x0sby>7@HM3m0{|m^=EvZ zoG1XnF(Iu%Dj#)k8B>ACPHR5B#xb9i^I);=NO1}{D)uGQ$oFa@evkmntFP50#>;H& zU`gMnrRwY%WlN$_XDbNX30mE8i=TAvz z;rxtmk&_5g_(rJY9yKc6W^+&63EdWyXoD-EbCp#~xp;+a)nK8TZR0_!7&O=71r8Jy zn+?WFBToS~IPQ-5Iu6bT(*mjrot6!65=-_L)e?=wI=iz>9yg9Wwe*aXcGs70oHEB# z`S5$zuBP1o{l;HN`bA|sR`U8o9j@JzTqPp|SrUhGCJ!fXEZ;kEKc1xhJaT>Ua-mI0 z(dA(K-K;8+`=F0g1}y$Anbp)(A3G+}^1&4pb(Jx(p-^zB=}u`-3fWd8-=%PIDIU02 zU{5f5Pt}*A>K!?sopQr1+nQN6JSpX_kZrPO6IFjVhA!6E&P`~jmFwyyXYqJmhjL$s z(H{fQ*d5xr)N=RZRjHJph zVCVCI3}7D`dOD?&jOF|Yd-XoL1$8C6Kj(*t?BiUd56lT2^|D%*GX^r!>nN%3aOrmudSTA%*#vEa!XKJTuK z?X7N>esF|&KkAH<80leQS|40o|9mAOu9R|>4nh-Ni^yhI**hR*#rb+SAI44Sg8TcC zsc3UcT>F&QlkmvLC(M-Z8DTJobmxpdG_zsvb)kM^Hz?tNvsd{{7BRxI)uf<>`*lai z77+I*5yTXk`hQ!r8x)~bG(3f3IKZu>#`h*~#F6%_qNwWS2il?S@qTK~p~I$X?$S`6 zA>}zRrx4Efc!Zwb?S0_xpJ0TO2hj*a!+<_#gwCC_{J2)$K zD@V6W8|{}>dLe8HhF?jjX|2xZ5x{%v4 z@vWvW;gP3qL_?FW`UL?-0_pGbiP)ckS2jFp0L8A4|A#GMh_3%5)Z$E=W6|Bml!XPs zrXL2UN|&od3+n^gR_3{`c(^m;{;TQa-f=d^h4Hy4f6kkiipJ4&l|Ir>d_Vq(T3^#{ z7r-jah8ezKQaH_OK40BcE{2DPaO4(PG;0l3mn07!0cbA>-|J=R#+JxeUZqlf(9&KR zEVF#;B+Bps5z?D1u;?L&8mo8za!@cOhV3JX z)!xWy1Vdw9_#a`y^!RAjfOk#FArz0=(+?H$?z6#hEnV0SoCRA)9=$qcnH`khB}*F#6v>z-9R8dCePV z@kT^LD_>#sCKr6HQdm9I;zfTD;b5HKBo)atpg({H?RCaY)^{axL}1Az7S$r6VdqG) zA`<#pB$=Im=UcbtN}~l?&U-2L;GE1A;;_~@NF_}2x1(g0Ba8avBs)Vzd9@!=lw3Cy zIBo?z6tIO?NSuLrN;bjPC{`d1nlM&O?Jvc_kr{J}dZ~u38n%QmM!lD+_7|nka*)RG ze{02*2~QYzhh$qVw6eKfM|vi7oC?kKc_1NqxKlGTs)BJejp@> zSa{QIYixPPhz{HQD}#|XeqWpSVYi8DE9t2CXN{z~N0~Asl_QA*3+LZCb2C(tK{MF{*u#}(6KQkrEx!El#ws_%M#knF{dQ)Kz&mP}K;y728IU2$og zvvt(^9`$OMAv!jfC@P9thp`Y1dv#I26bjy)C6+>I-)~G?J9K7d;rG}mC=E7gtf$Wg zOZ5gilD)V`zfhvsa`DiYDW`|cd-Vf!>Us}b`}i7#){^5Dr6eO+X*5p<#F{rNHXWM7 zFqjvgpqSO>A@Zl9D@F4a8PMTnrAw5DgnP&$FNAW||9mQ%;j_^c-dFm2lQ)*G9zGDv z)9a{nY&a`V``uDu%7VI;-D?od|NVzVq~}w5HbgPe=~phLCZx9f_*mv$4(Fn^NEUkN zL%Ooy=*8t3)zwdY%^MW9U-A$a2PluP^2)JRPAK}81hl~H%FuREB#jo5H~0uz@UaGI zu3`!bo3h2{c5{X@`x*Wmi4jFc%Q2ttGnzW2e_-+}*6Vx-lGaS5>)cpR*8u#AH2KT( z>T4}-dJIV)B2=MfEZIqp6B6+HHr4sF=5{Gpm5dNbKJKw8V~_2X8J8qUnUMUhw>gU- z4^r3Dt5^UEoZ+4826oLR?bP(l`eYy>^C$GLb5{t^PdfLTg#%v1D`5}Hv@-0w_BzfO zN3BQ)aP#zWVT)JE0GOJr7@uVNPs$%UNYa~@%Tj$Qui&3ZPt!ks^ddCi%8td4@QpL~ zOK{&6+`vM|iM$#^>6r^JsRum%;PURnwu7Slxbe{?oN&cH)e0;P>-$x*H*KnG8u(FQ z$9S|HeWbQxW{_|nSco4*`4hE2%t93X6wl z<#jjKC%OD($B`>{d3pJ{ERC}cB+lbySxOQ_gZ?e3NW0CGXW_7KbN~K6*+z>eznay= z$0q~p(rNnYH~jL#s%A%B+TC%#$ppnWZHeYdZ|i_{irE5i>n#F|3QYV z;K?I~<-YFCty&t6rD5vq(6fx;k2mf{4Eb}0(1$!i90Oil0s$5jEu^g$NyMMYoXwx~ zxAU{T-l5QBR4E=#BCMU7^UOL61b$$$+g7+rRfP8;lR4v#4?Qg8d8EFD;N}rR@QRE=p9at{G*Lt_HGR|s;uDOvuMT)_S}pvRLPABmUZS&hHFQ!XJ9q26{XDS^ww z6RB-$b9s5Z@oqayxk~eQr%|SWTA4L~k7!putZv3eD$Art9BNr3oZm5odSoH}bqw2=Tjd^8GbJMO>HG^n zEZ*oZgHR6a!1X8%oh~3{noOhYQNm6wUxFqU>mJE0GMfwH&H3?Kz*UoQYR(pa&-{_H zzVCF|gihChe0StSJ3qG_YZrCoobGRjfaLv<_x*u}@m6=4Zdlh>h=r46@M!=w&=>pm3XCTw3HqrpgP@gttXU6!Gb z$M#xB3X_B7M~wq8H~GVy(Hwi_R|8;Lh`|fg+7Cg$j|h1K+vn}M#+r9ecJVYM<<}O| zrKT7fx$K)PxkBwnx8vJykP_7j;@{<;rCXieeaUwevbhA`I&?-OES6_nvpB}BEjf)SsmM0M>u^@64F zH0<-V|2LGV!v#ZrX6gVNy>S!h=z7L(CbTAaXU;b4WxivD+!0%JWV!BO!k8`!_Yu{e zPI21fZDp;%-X}R5>baY*3#Iunx!-$rPf!PMc$**Q!bls9kN(UEKAao35enN3evGlT zv1e1MS=%0=I=kEYFtHo+aSD6MtHINJQ~s3I{lbzbod?CgZSV^UI1FPc z-Ek{cn`y$$pRDSj$d5uk$R>kYBEFrgTvdnqW1V7qMH<=z=>qfNXK`gAnJJ>Cs*e{i zc(c=2ubSFPLXE(<#MochswjQOxW2H^2=CJn>hy*xbuJiPQ(l^bYTqNt~ zCOc*K&5*b5e}p$VSXw@;N@+u~p(iJ$IGCi(*Q0%$kj0={NtLx|$Hp@fvGBzMH`8#^ z#;pgzlXN`Brt=+H&#X+LfbENLeijy%uOi%iw|<=bMF&a1!r`jm?_LWzomaNdG`3JeEIRlU3V zn>_sqwXd@4e$8;&VT^CL>O#-oeQufV$-&>iNUSOvf8FTK=YpB$c$yBnyiCsrDO3fY zgW%r-D-J!a-Su(~5FsMtm->^U{$Y_**?zTjLBC}vUx67jzs1Tm%^qUlkAA!_PM?#+ z|6&Ne#$n7T$Zq47drP-VROaO5k8hJkq{T!eKV2nFJ?_B?wMH;r4{_ADfd!3+7gPzy#Z zIx>JDuV>@r;u0n9amLBF!f+l7alwh4XXVwT4}(`8Y5LgxT-b;R2>A&wZH-<_Hrg{g z$w}}LClzl8<%DyAIy}8p^eTTLoe!fI2qnJI=(0&|N0j3Fs37cavkTsVH~F?vtK@Bt zpn=q5hrW%AoZWlw!u(u>E4LbK<-{x z!gD%JMyO9AvqD)Q9MYm|Z>vH-m`P3H>w5oc>sPAE{DF-qJB1xof|5dF9PuhN?+3#n zd6wmu66}-`wS_!p%M5QgN!q%|p)Cgo$svKe7!E0QppH{vzjM6ejoGmISlr|!;6duY zOVqRy3Q(RlY;V?{PJqKP#GbN`+_uObPEz*wqdm4gZyx!}%Vir@E@Yn$mO7aZAWg@e zQ^d`Xr6zunbLEsfFP^>O)|ZY;?oPIPlpbSmO(c;@8yei!yRrI4yTU3hU7ek4CC=GOeralbS!hkyX_73r9Wh!*J4qaQ$pL-+t#Ca4JcSZ)?^> zvXQtAZuz26n&BjWPGxKt$}f!7*ZArDlx;C6#gD9%5FI!etdpvHM@=`W@)dVWhQ2*e z`ZZPGYRK=mBNyqWzhw%<#BJM%7wv%{X(O#BIdIa)eiRJF7ds<#^ohH{Ny8F5lQxes zO&zcs)fPIt5#F01Ftc9^_H?YGGHfcdH#ObC){o{2Ut1T(l%(@~>L-hp+)%Gp^4wZ$ zuC8-&H8$S*opK)?eY)Z=>yYthn190TqBrK_ES;L9^TqB2P?Jjk2}8cEU%YUjEyCK* z=}gd5opkiv;-wtrM0!qi+&{!aKerlN^*gR?Cs7#cr`ajujm9?4a6~bUmpM5Tt3|bZ z+OXM9k|R6JqFygGD$hlhIg5cagmaV&y zNOV0_udrsQ;}twn*0p^Uhi0hPgpm5mEaonUimq5CLu{eWD`mP{)xI~%!{0|-G}Cawcw=fvUSL?f!PliOQs~{{@%0`Qi^r~ZK56mVNvG+)7j=t+ z<4`2}c$`hDeg|kmY7eaFE zv~OqoJRL8k!kZ5x)34?iRE#V&F|)4w`diM(K%j5q>PxWUw$2C&m}U3c_O|y0+Zh*+ z4RRtp>itZN<*u*MayFlVvOX~!wf(-Rv^PSCcob`xsEU2MoXpz%Ci_stEZWoMs^@kh z0@_y_X<_?z^hI$x@jBF+U~cbJ9`@BO_S_f7)B#+mjY;88(snLO5m5nq za8z^>NOFRH1vjnVm*CaK_2$dy`^o}p2p7mD*wtNn2p5x^m8zmI5a_^la}gp2s3Vaz zpZiYC4NWcad?Mr}Dc&2|ry(*8k*;mj!Z8us;R0sjk1M{x+IO?_E2mm2iHq2}kKbAnTmA@EeY(EN zzWoh3Lg&Z|=57sfq4x&Alh}P=V$LckFk*cFg-yng;;reIGkc`$cUGdJ1`a+?_8mO~ zoRN}@N@ew`S^ISnxAw(PVeq@@O(iZ~At8@pb*!0BveHx>6oL4vxaGd~k3{qXtMj;R zWljSQW%`L%+=TME>lNSsY|p5SY3bA`J;#wY3-Xe-@c4THx|r$%LnIJ1kDY zkby$+J+D{%p?W~kc0~Rc*-hw@$5QxHfT3#h&5_^-pX=GFrbqMU$E3jm&nI=VyHc_T zZS%@mF^{!sobPX4AeNTy_VytGR!dsJ^lWLERJ#vsMKw-BXT4N@{Ps3Lgd0&?U*PjkWFSiUk3kRsT&#H;k6-maCcwp8}jfCxI9_{ z+=tk2+%?uz5zeSr(pru73E<1dr|tT{oNw=;JQuNU0SvehBMH$IC9+KThOzuMM8_Wp8TJ{x$MbKcoPSdR5|f zx6jn>Ph?MN^oKZST1GzbW%wE5V2Vt!q)E=-ncp!aV+XLR-i$pm8^MvoQI$sXEoC+tdZ8%ypaosyCXtZ*qMlc`Lp_OQr@w4oUK6hK8V3 zCtwSSc%IUFUZy|I2__}YT`iJ5w$4>U$aw6n&1`Lrj9e@%3V_oOZifWM%znvq#Uf%Z zR+cayNk_|THM)cbT<#}u-weMT;(wYjsPr9-lKC`uF`bU-s(H);Yuc)BS|jtAa=b1M zo!KLEJ)haq9!8OS>W7Vy0(HSHHZo|ho~H7LxbDJrqr2=nWd)K(lI_vPFY|n1T;cO| z8OhR>$8VIi*`%8HDeAG96x*FSAX*=sJcH*$(ai3oPnt{n9i_CNtl?A2r3@zy-B@;0 z(dnQ9>}c6rE=SmDz}e*ue~jKFR3i=C(ha z>MdfwJ=|JaT3T3muyohqIoUNIxU!)PjA}Elg|f4KKYj#!4YytLB0u&NZrvxBr$6`m zX|Xlg?&ulOvX3{O3d+bHWD%`!pa=%DIASYo|1l5`pOkO{)k1LT^pxPEVWy4Q*#%Ff ziTUc=0;Y-fhOmw#v-Op(rKoB(Tv25?-)zf@sNoTnh>5OyIkGv&I}&t{3kTCO@q98< z7?;EuQHM~M70SRpt$fnaP1c>=TeV!u$_C|K6S`2aLWP2^^z zLSvFRm8`0?2VpQ6%lkMx@Ew`98o z!y*m7Eb+{k6s?-__hVfbOyTW&aJ>|&wBKG>_GSz7p}b(CNk5)Da*=C=_$H2Hk-~G( zlPL))SRJ6g5k@A zYY|mUg@v!9=}wV&Yu^R#Q9Lgp{I(&sSOd{re-~GV?b2x5u40{#QD0nPQ|m|Ba!dbWofU%rnHMqj;dU=SI@uUG$E81CqS3dtLV=f=i+ybp@5T_z+xY~M5sW2#7=F|J*pUw+i{`uYgQm_Z?>83_m4cgRv` z_+ES%L$C6X5Vpgu(?>uAe&@?D-j=4R^PWr8KYdeTp-pW@jkaiNT#)6)ZYT`{ML(2L zG&$d6$zQb@3;AQftH;g)1u65&^3Ecu?=RawM|5PEHt(tucLWAtaUKHwPI4ydw8dTX z5%l8icVf&I4kGs6JHb86=Q;$D#_}*Ob9d_U5W))#my!R1PzsSym&e$ z`4B5+%BZ&0f^wiC*g>$i;+WE#Q@WW#NhiVeBvK&FnNWQ3%1VvrT7me!b}|+s!WmyI zI3BPqdS<5@dpJGO`vyh$<3~<4)3(1rA{@i?Cd8LEHn%;-FjKx(h1fFNN6)50qsYlq zMn>kq0@BB^Zvm10DwCJgz5W&x)Kauszs$aYmsDo3HGMpZ%z@27gMR0|!uRCcRX=;`UCTIj z(MQxJwlgE2F&|#>HlT$IQd{lac3}RIT1wbuBy^h`QNN$7-y$gF>pWR{KvWcB+C7}>Jg{fP^#-c1AP`d8u$Y3C(4RUL;HrD62 z`IVWRtp1VH&);u6&?M~zD1s&1vhK-C!1~8hP47t;Hua6DGBN^T2qta%Di({2Lr%@d zAFQ}~?|JPk71d@F9axtRFXwrE`zuv!-~}^DJxkiB;=FIR*_s0n2^?EqwJ%6k3py^& zk!IJ5y2(KP%7}Y|H{S){SoOy^_V6!91rSvAp%s6PT;y2d z`8);%!U^R1wQxtE^oy=w9a`T!`s;1KI&;QT4eH!1-<7N0T-xJ+t(Qg=SGq>nomh|J zpc{pvqN-9@4lc2GRvge~&0KS_y*HLbuWAGCbcW5hX=39=>Bh++6M?S$!R-=xHRxQ^3j#-kTpNMk zQTSAY(KagaP2uaW*wZfk#pMS{VmK_o7Yde0%`ELvYNHBNb)P!|PI197v#MpNg=4YX zuQ{hBmA+mZt)cbsN-u5Z=+|U+z6`*iFCmf65tRdy#IS@Y9oeMG*IpUXyqTvmboTF| zN?=%4mQfauA~6<43lN3DMFmIz354yzk>}x9ylEXlZn2?CX6a9k>=@TXnWe`o4roN9 zjUr`L)`Gshj;YC#MR-%71sxGb1us1b&$`8?tRJDX8^4FylYbk{a7^rg0b)O$U>k{QB zjIt6d()5zQOxE4zFPAKv7_?}_n{{ykn_(R~9OP^x&>f`<^fY96U>>@eXVm*p=gnRi z);2H0LnQC6j$;ig%Uy=Z)!@RuR&~AtO)JhDgXL?RMvPpe5vO6cP~ZNzPkzP%smd?> z2uh0x)oLoXXBClHV=WKEg|$nn<3w9g;H#Hb2*LXC>CL4jSA3I_nr?jye+?Vo5>O2W z;IDo6MBHUUs}?(LZVGq#(l-ew%T^jw*eQ{6}&e zlALN!fZb#7{|EhE)HU@_1T7Kh?>~450#_VI2zND{bW%Q-qqLto0)*k6_d~evmM=a* zQPvAbM)1^LOBw@fw53N#9@F&NI`%`V?RJ5cW!aHD_xtm|CGXCDzbU-9#wt@18CjeP z!;%oykldM9;np5GKE=`NXnfJwsv2sb^J!q)i(rQU_g2A#^HSG|vS{;-$w~;k4SG0* zE!K!uk2);$+x46odmC;DwA(wwrPr_C$6ENs;dOCAsX5jS9u~n%nVnX~kE?DJR1Qkm zHd+v$Heil?TfG8q2fodq?`!$jTQVF$O7dm1Yu{B`Rsa!b4K^>p^JUPQRx`zY;U!+Wj+isLVxNm0%hhP z80}}z<5n+4L=YwXGjOrPl%w#HaM$%qYah*7rL?;rca&U8-r{$IO^R<$dbX4Y9bCkX zJS@5pA-wA1rQa7oXJ&+c6qgDg+jzpoODN<=|7R4)wpgARkJnYL%y@eF4pAs0NmOMW zl9nQKIKpGGptHswY$YH5>}2sT)xd={1vH65dH> zH!zrhbKrko0Qt@OfZQ!e3G8jgk=m&H<=&$GI1vmH^&$>`9_mSir8pK$g)+a(Hj`=6 z)W$=wfK({afG;*aUK9{RGImjTsT=Rz7M^%&&+pR8d`P7@w(iu)0}gYM#g!EBEf73p z7d-yqO(q@1yBnM^%GMxTG)2j;RYK)dq$BA*PmJ#Q&L6GeTRD+Xvq)e$2V3bHVb+g} z$Zz;-iwu>`m~xOH7p?%ICRQwCjG}dW=CMe$vE5V_2O0}i4I~Of{-RbV{^`#d4Ku$; zuHtkg=!8YDESy{3WDmhp5T(ctCUhpe*%aXA(wFghXAGuGAYn1{V@jg>hK_rx_Liyc zbCf~YS>kK%L81qHc(RW*F{SiYb8UA@ll2OU4qjmSLG0-AcuOf;*ECBJ&YT2aTjYuxg-=Jz!r=eWCiOTwr6^o-<=uYRfGh`lBJYQ1I7x)WF0Aq0)u^ zGWKZ8$Adj_n%Vtj`eb|ktj6tX^Osro3JKUKA*k}^Vt-yezFI?lJf-Fy7@B8%88C6Q zFQh>HUi4Jl9XvMBh(mTFii{j+1@B0$BCapIn6IO%RpOP~nd2BQH@D*x!9uXsq}tET zNReU<17cKTppzZ7+i3eba%{>EPe!SEv+WJmI7Vb$<8s@41qz*53^qx*PDmSWTcDK_ zQG`|qG?KbnQ{Ty67<;CQA;ZQxbofkEWTW!0Lzo?{*U{G@)h3q4Z3HYFz}*qJ?goTe zeLKbjixwvASVoA*Prd{Ly)Y4j`d}MT=U_0*kKPkP-3!;FT3{rV>xSd*{>z7N0rb5vNgr^jNbw%cBx=E}?!CJ} zp}1tQ7dxtX>3DoWL8ht?GEr(y`F2u>R|nP9 zCc7Seb9|U+yL^+Zp4ymOEZ9bdd(bzU+c9NgAzI5N#5Ac#Af8+6X+A%Hi`((zKGQ;B zz}wTFXn7u27y*{C^WZ$Gm75?ryLux+1a;=4RaFfhs2)Bs2dMUaRw4Cu%shA`a}Ix< zS%6vJ7JwWyw(8>+EWS35`*A_!I#jHfzzmzmp#U-y?LbjUwKZq0U8yp1O&U~HC3+{O z^+8&Hmn2B?h_wG;o_QC}Lgj6|C-R2u4vhmCqI$&0PeA96*-n&Aeo$5GY&iG&LE6N} zG^sGtfQEThp5)bJGCrC!*HyPJRRe5`f&PV}{y5j$(iT%yhO`~-&s>fEEWoxS>T_{R zFkua|WJ;v+We5y_X5nIOBrVBiuPM66+3Q+LxY;#2(iqH0x`(LH!RJe+W}#M&OPDoW zXUi&fFW0XbSXyVDPmNyF#ART}o6F})z;>5Zn7TgH#JG(6cds_R}Y1J}EG zToIo)Vw>k3=+aEt*tN6Hv1)Q^$ofu$`GO9A*nLNG{7cf(08HkL6M^rd;tf^l@AU3CB1_^dKH9E6^w|T zok6|BCZrErFmdb8_??Gy?@SAOztw@4Nu4G%D4%rJP2D^Vs(J0kdovdq=~9)uGAx zNpt{BbNXABV66~Y{N#1jR`M!Q9hY-ExZaoRhOzDGOke)>;U;dS&k7KvQl6O95qYz}GhEA#%oGd0cobiP zUPesS*0Ol0Q+}|@ahSgB4({?POi08{BMQAug1w=z?UKcc>fTYQc(k5BKW`%0<=tpJ z7X2>QY^LQyQ}9co>($kuo<@8<;RR(I^!>R7!-5|XL-Ii5JN&lSFdcRZTihYAQspas zV>;;{u zj8lSwNy5f<>PP0oB~S9W@*=IqD2ogDpw5xn+K06@eV`h)J0l90bM#vV4uqhfa+!Pn zr_LGE`OV=)BpUtXsb8BCn+7qg?xbgQK~CI|(jO#V|7dEp6yYH77Z3C6&6F0Lh)CH8 zedi4;Mti8{H7zs!bxYe5du%{^yw(y?@@yJ6oX_6NTxP8!aUqVdXvbk5pu({>1zV6_ z3sh{DrDNiwLqf2`h>w?fSEH$3ED;>d z7dx!!(5pr*(um;qvFQXxQ@>J$@YhuU(^TY$nUr?x?wXO6Y}66$#eeH?n@$SG*KxSSn>rCD3g}WeZS>zWSHjAAX9W7Tv7Nu-7Wgs5m(1EWL$nNsV#sPq2bsf5XAcH=^xWO1_it1yiJKb6DC9A~T!ML~;CVVAq8beIO@FfKH8{A3K{ZF6Q<_-d}ardtzthIR>N+N^Pn9`kbG zB6UjIP1RE!(pmwq6m;eL_>kIQ85aZ%t9?Oz8@IygC)6NFC#SWqBxl0sb?Bgo9TX?B zQ&mQ_^L1`O0m2!ijZGmX(@6W3az3W+yWC9}$#{fDr4g_fT2NbA>-FzE)(cP<-28Zoy$T(EJlXwC4bDcVGBc?wc`Yz%xSn(|&PJM(e z03R1c0@reQtAMWUC2XyT(DbKn!C|>6cfCEE2)|};n^I7&)?!X~h z6MnZw8Tv%^px9mY)v&%C=t8BKx+o`@Fch=a9!e;k3@Uq7xMYAwgF^1hnS5x_@bx)K zdKkO^;v1LcR3`awya88@vKbfBRdS3bztPOHgO$`2>r1icWG+YmsA#A(cXBk#YDj*v zUtRs6kY3W>yO!7d$G10tTvr>jBfdE;JvvYM>&c9o$qs4OBZ1EG)3h*MlX^GUacgsA+6u+NQj7&L4-KHYFJlz61E%k(bm5@hRHm zls`<~8VB)!ErM>1nGlWPOi-fKHGSyb9U z<8D}=WUcHtr6UrxE4=YV`!27iW`N)@mA4?K{v1{o35T%ruFn2KtG@E(3_k&~odM-K z>vkK4?Y;L=Rz9@AO}pT^RnvsasVE$*B91YqD_JG|4&l@jCnOspD)RW*qVgVL zFc7OeCduPSM)_eA>}a6Zw_3%}fPzfdpvv7xNjX;~fdZ>Rvu{uR9?To*OKe=Z9REI9 zAnGu_27t+P=Oc3ptf6uC<;dfhWmC#5giL(P?tvw>-8fx(x+&j@^9YVW zslo3Ejq7fI<#o+MbwVSc<c+cLiyye>GMOMzvgvU&5H}hn}ubc^C6ZDb0@r!toT4k zVw?)`*^V(Po@p*$q1B{PrfDV*AE8Kx14~N;!_u7S#{jGIPf)vXs$1b1e3daxDEMKK zO+H<{D?)~o@YOlj%9p6Rk6Pco=-!%+FL0~gQvJG+`=KGkRyS?Xe-&d}XH>FF@_Ujt z5AcL9v>GOGs~F}T-pj`m)s(nY;|XEg5d~5QTXhiM_y+j=b#Y7#0UnYMV{qY+&(NKq zc>1^{r1`}ms$F$uE7|8KHLaF5eN@vvmun%(yczkLK;a921g#G!#=gXkLQ+)>G;)Kh z+`%>gvFRFDf-(*sOa`21oZS@M3h4P4dp8R;sK>v}nIgZ)9&-a6K%Ev#GqQuCVSmx-KgcOrf;|fP} z6>Jc53@g~qaNK4ZNvX{mt1J(R4zZCCBAQ_Tdd(T^DnS_vf!w>EPM6LsGk8*EwvjcQ zu+X1ppi&+}LRVi$x-z{2A7&tLkL8jQue33Eu`&i`yy5OE^DQXe_rS4>RYX0nk6im2 zWr*4{&%?{P#WHL~NvI!PUE|EByk;c8r< zwMG$F2_saW;kg-wrf)ud82G$eG}GOWKJ=P`^Cou3utz7Pz1mu*FJ#xbshwKRVeda^+B2zN7VPQ%u4BaS^pU1Wv!dr{AOk$>f&7dNxY@^P7c0 zQTz+7(m&lTxr<%;`JFVuR@PTm^QLd9?xlDT|B@<3Tuk~e?yA{)pNR_jJFMe#`!X|m zx8w&Mi@j(N+%qDLFBF`ihP{gp-@Z zVlE}i=cvw1)tqo(K~{pqm^6kaQp?*(j!&pF6s|SXw~f!!>3!t4B8tI2 z?}bzK767uGXCY_wVI?nr1{OR^Nj;aeRKqu4o*c>PX!3s-0-U2~X*tA3ljummhK3Cz z7@$1o%m3ul(!b(ouhP_EhUP2aSKF+t3TvjyaO8IX{Y)T=!UVR^XZiW7vb0o-KJ3yd z9cTh2^Ahndz6U*L9nbR8+|JGp0G!0B)8mTKzI(^XG3i<>2NELt@82!-_1)dv`iage z5fA5QYHT+~Z+Tu251T(L&9m5lP5q`4pF%`LR9UkjUE$kUTU+V2p;oDOa2+(_^BM^0 zDeIywe*6^h`k!a|)J5Mvr1)V1fU|y50jr57o*eAj>$N`+34PHEquP)8X*EzbEfH9 zVqc32uma#}2;%?0q;kz-rj}2i00K7oSi^qE^7(R#45P5MmGRzKW>k8$$vk@p3!wPk z7P>g4iIz*Q=T?+?-#>ihgv3bF4AwHFMR8f^+70%`1kGodPZdc?+-+S>S|ovS8!16t zPP4#E{`t;}go+ z0H)+mx_xm)~XlaWhHt3C(o8Mj0ok! z$WHLPnoasb@nB9EH~x-eA?+%=ludfy6zDKwp7DxjDiq(`}3M z^J-1Dg*!oAhmF}2Z{b>6{~yA%OAJsC{F*ekv35mv_1I8enm4GaSwD7024l z(tgtrI&B2zz`(kqftVCOo1e5n8@wNV z?D+&(^#~ECRY6fvmL|zIYm6B~itO}`XmbgDzI?8WyEj{?v`Q?EPk`1}Np2lvCQ!X} zsS2O9PHR;spv%A*n%N0cE`TZ0(a~{x3(J&>8!bZpk2?H?SPzo9pO5V9&}|KQBOYN3 zHC(R-11u8hO08kp4>9sd4^|m_t%%`EGt+JtqZ$%I-(wws7Yie)-&#y}6l0o^ zCxUj7dG4b_oEjSQ;66DF3=J{S(~Hv;1DME%+aGirEA9S9#>T60-vHXu#xRCJ`W7K@ zRE%D!xCj7M?MQMu-{u!#`Xff_ zd_7(2TC7nEaC7uz^>6ngw*eY_mJEUF3Y;ZfK#V zR7eE4xbCRw?yz?2k9zeg$JrYpdL||^ZrhHs^HeR%IV~+ME4rTiZ|~jCI6ZOnznb51 z@bbFep3@oMYCmo~m( zO+^IAR3@k=z#}lkRFyD4ZBtBQ2Q)xaZhk3Z*<27JUKsj<3o(>zWsG_nGAR6%S^6p8iYHBXb&s$VN zlS#B8B*2n3xH;b}x7LqGIXXC~G2nubp2HFkicD%2d&s6nb!YQ8yVW;~=C`7@@1Vn_%5!9T{Bo(J3Ry3PH=jPY8W zs0dIDm9bA>txB$Sw!5g^(&oAu_C`IsQ%ASf0I-GECwFA7`*M~%TW$^xFw@v4K!0@! z+^=4or_%m$5-xcgsBdelXM5UeTiZ}qcMGT*#G=9)_q3p(0N|g6hJ|5`TwYH0_DXsQ zX}O(r0u;BN9tp}1aedmiqjAYm%{NKSJrW$M>gv3XhZXBeEgO_ae8wPm?_MU z$;5d?E`tg7>O%FUVaAMT{TDj;!975jF( z<(4*p_;Il}g#*#Ev|K>81|p`|nh5z^K5hw-42KH2{0S(?KXw%kbn=W3879+m-iXof z3gf?=)|VB0sGggf8|(mxW<1>7bpL?-i!v)}$3lHOCfNqtsK(9b^LwQ33|N}AE(e`> z>i9e(+e}Yg+K99Oq>S&f&OcdNqjpwJ`;YFyoH={_#q5Op&CJ%J#p2E5(H-sVx$I*r znO2Q8*rpT&l4hXq=Y2548rk07etfW-D$-m6On%#>k!<7U=AqhZq0Z&4vjK?V*?a#L zY&h*51Uu`ia>hz#npN_!u&nYyj6(+czjhs=3%r<(-#m`81Dxd31i09pc7zUYu{qS%L z0;mNz5y-4Eaje~u1(;&KHJD6BL{#r^u-o&Swh^q|yK!na#1FiIc^E7i@J<*Lcsh=s zpV$5gU=t>B61}wK8FB`QNvo?0I}@n4pMYqEloUCszN+dG@9DuVd13Wp@8eW4ErCgk z34kVFlR4u8avICJ{_*kkrz^3ii<_jZs8Qpz+TlI8ceXWDT=*=Ns=_}P(4H;qv-RV> zuURDrKR*y~k?)E6i6t(A3}*2DJl1FRAyJ67d2?aFrk~F0Q-rvhV~w#!cDWgkTv5LA=!IZXjmya#1+AC^%; z&!HDHdDG)X6@vUP&9>eRpAy7+97eh?j7#_*Sf*=|12UpvGNSFG7GT^LAXU4wO=bknI92x6sNd5b;3v`Gl$$jRLdBg3|qk8Qkr zd0X7#1sulDezPY>1zuUB=1(9b@8?4`s*ogreeU^Aky0)mFxWI$)EnR%kB@(^txy0g zyNMRT?{!<1`P^JmdZ%0^I);A8SydYjloilzmi&RGfn{fwyH_th;j_uXfx2<$08n0H zine$?B{R~8m{XbD@A)^U>?po%{ri8ClMf^_)pDb8!e4!3jLVx?ci%S!yx{50dK}G! z*$)FJ>bN0k*&zg1{L%tqIq3juIFi8x!xa}~^7`5P1++i3<=W&RpH@r`;9HB+IZAFM z%X1$DwfrO^pbKN$39$RCq7-Jg6Htp{_oGq|G@KRoWc9z#2?Fh-1SkQ~AR5Q{|7852 zWmYga^|2O+2>~Zs@j+Mw7+{Brii(Iqj6b7D5YHe4oPF~j!HP6g1qNo45D@5wSXx*( zjRkk=m8wL`PnuN%$^-C5uCj`)Dg_3kfk$Kf zOs)VvieNCJais4}AeSl0+S=OK*qHdtHaW2*aP2nF(X6|!uI|(0gM2UW)R~zylzJg6 zD5M|lZAzakrAxw;N;|F zW@e_`cxaW52DER)CG4PHssc?)>J#4!5BaYD^VzE~b8&5Tg^_%GgEE+sDZjJY8N8!} z+)`dr!py_7%U4)NZ|>j_3wBs;`L(fO$d?BHQxn6u`>;pG{-w)5$JuJLJD#hMEt9K& zi}x&Jd9p9U1uo&SlHE6VDn7nQ<^+V7H(w?J3Y`Z?kf*1%YKkvF-AKTbAdZA;zIxsp z`t?J?Ljn(YrSay=jl(%M&UePLWmA;0zvoY|8V@!cx1nNf@ZC=1B%^@2;84ZJSa@qR zy9xWsxVB;qU(wnE2s2YfG@v-lCH%r31=55BRQ$|#PaKIKTDs0$G3+xc+yp#N*Lwn9 zLEn25#+!`I82@p2{893Co43l+f1s_B7qoBt@7{lndaDO1S?Q)nOUGtlQjXjDLrjcR zU>^Y?At5QLmbSKXS6Xm8s-OC=y>3YYbXLqFC)XyEh zZ7CJ1P%-W<>LW(x+IBPL5lx|r{9NV$OcddnIlleU&B=a+pRB;rQiJ>KBeGHoAW$fu z$2}Jo5H>a43_u>ovjr;4%g1)iuwSW#MdY3Y*pxC_l01Kg1M;(ym4&_a!)&?|7Ir<7 zoJZ`szjsUhb_`2#UH%1FH`no~6cYiS6|LxBb~QO;QxaW!y8IVCgwMCv<38t=s+>37 z>Zs*sOrF>76G?ps(dA`jwtJHdwBhaVr-L#$8K32xnO1yG<-6-DnFMN2 z?zcKFle452f#b3DtQg~fG<;X15iPCD>mrIP(cySx^u^*H#wF2<=NsJ-|7q2478!fM z)#KsC#m1uedT~5-M?S~SfUN<7l~1&WG<%*^Tq)G{$Rvvf z$SVmzn0k0foIILQz{FAKg|5BkSM!{Cu!-&J>H-xH7#9cFE)Jq{TR7tR0%!f`41QlK z`JF7S=CiIF+Ve*&hn89^oZ?j@85t@h5*Uewsi0r^c`pNh<(E76+@f(pl;<}wj^hV6 z%h!$~D^}V>kNd9chU339lJ$^A(0hB#H^=armyCGwBiAueIbN~vNFZc2ijqSPdj9dx$-?& zPEo!$ao8Ayfo3<+q<+RfxTyA^SKgt0JXn~7r(KPMybR04JiBVCr>&a z0O^46j^xYWO{dbi=E4x>s6AGM5q-yXA);LTF&n8{_!rFw8>Qq!(sTWyF{I`=KrJ9? z7JSS?vDBly)zA5#m(x+fVj`Cyt1fr4a#`NOqx+@W=u=posRtu73=56B)6e2R(|$Ch zycnl&{YveTkudl`fc=FKR~)*jphO>|g!Tb#%f^(5I$b><#B59wHiUatG^l*a&y-UrZXY75s9d`8oAHGB zEuh~x03f`#Er(67$XJRw1$azwQ0d`Qw*&F>S@?HTJDYQxbnRUZ8^B_*A|fIQ{2KaN zKtkO^@M#+B`3AV9CGR(GP6t#Ws+`29`Mj68w}R$BHX39yqptK5i=~bDytMQlkELK# z^#Eon)iN+&XyE)AYCGnd6aD`bTp1=({BZFke}MBXU&0(?eQ^e#cC^Fo+jHa9UK#I_ znLnI`$0s03DzfpPbj~Bw1}^Rk`=^z17R2<#4`W#U`3nCboscyXX@miWEij8PGcyA; zLiSZmE+9PYyuG~x;igTQO_CLoGHFEVYXdD{jkze=SEO0_zmw+t zS1$A<@RuMAZKbP;7+VGF_~jg%F<+B2DRB>Wdw=eXR^uLnJQN@1Wz7B6cUYTw~20`)Pn=a|Z&6LTH>T`ylhTLkUUA&aSSzT_8B)GA5PU z4(woY-RkAh^`mo+?>(K_g8;#N>S_H?Gj-WEUcw{!hIbzcEe*#iMV z$`>yOfFe!h&Pmq}x=lz298AM~3SeAG2&$2%$n;yWRLE*-C?PMNM}4oNICy`PIAv6@ zn6}A-+{*jD`O-aTY~gPHTAtNTLH_fRpL29{q=_3|ZZYigd29&WSio+27u>feo)>uy zs%(aPg#e00fdxoV?e=Pi&BOad)p@%vfd`vKqgU{{*Gfn>&Z!sdCT`yt?vYngbsK<`g-;W~9igc;2ZG<9E#k2NwSm+eYRS{B& zJ9*0io15x)_g-=+y5(7PPQq45{dms!$cUMlnJg7EfFz(rMaiB4@iqx|uj-p7eah)i z4X8nMAsx$qrP-t@O+wd7Mao6(GXszr{y^P?>jtt4mDi{uh+^)pOB1z`QEo0z ze@n*)_2q2~@ZefU8Bn3GXoNZhH;6HE(n$1iv2P}dGsB&WlwWHhm z`};8%CTxZaA0S5thv24S`qK>s)IMTRPmK_d{=N}jyw_r2>@HPhg;dYf2v~h1+i*^> zhgzX%8hu7z-l+y^XecRQt2Op{`SY;g<+M23KBs_M0bypdlp6(4%P=Xm)Zk1B%)T-L z*xv<7ZFpw%0jc}K(1rZ3L-n}do55Sj33c@!?&j~4tL#1yM4EaFJ?op6SddJ3!{}g8 z?4F#%gw@!z+A#Cudzs0}%`N;&@ujM-{X*#5cGa~}RxR(%37y}yE4?wcuK{5m8y~;% zE({nDN+W>0ZapVO)0SyUu=^I~8Ro^J14xQ&ch%oIJU=*^ZLwN4_RfjJGC&XB9O!KEPb9>th zD-9k4v+QRC@;DX%`pi-$`lnsJd^Jkr7a{Wm?Q)mFGoE9&rMbWNSlev5r2vA!T za9|Ac<<-r?H&D=Qr5W#1B2B==>U)x@yhJOUA*04g-zk}+N}q8`+v)m|4G?R=q$mn`}<}ZAH{9 zHN8@BQc2)NEKj1$SXI%Qe+*CqG9;bdrYbtCr5NSl>FEjVz|~V)5=Qygr7Y_l(%E{* zA~*6pZD2Ff^$>b&wm+K6!KZec?O|VGi%1C3s5oF3ra`UHD{~q|JaNO~`+A1s04257 zlOzh8>jh7Z>o;5y6dwUO3nzmOf1}_7rBK2>q`Bgm6X(*&4X=s2O9vAYeuv;S?x=PS zer!6wZI~l3uWTvl%E-8Usr2uN1w@+*LicritB25nGbpIR8jg-a$`qw^ZBNIfLvxI! zcmro^ABq^&CK0Cj_dZ!|)e~@?yxW**wLAmjZ27zC2C^PI0AemLDq8J-&K$2^H54;% z1xkqw7H41;b5%?%1E-CMZgzJ<9Bdx?1n_jI41MBD{|LBne)YX}xU^4A&H6L2M`%@n zo)ceJTYh!@8aTR$fVC-+WcpC&D$4>ZsH-j|cPh+!x0q_X{Zs=hKFO1)9tKumU);QK z3EYd+SV%JfuPliz&B(||F&-Ho|G~A0DGi5hOxEU#IBbkDMIg@geS2&9h@g#BJsQ3L z6;zp7@nF}PTcQEy9hz4=pg}N2Hl5zL)qtY#)pq^MVQ zIv4jmQtnCnt*12xhy9?79Iz`l1>V3ry~mZ#d6NbHP~ZaWp&qn@Ta#T7+tY!IOa!#G$U zU@*Rzf$~7YHbs3aTKh(6^XL{PvBYyuZRdj$fA4eMll#7waznB;ZDwz1YuGBL&fzP0 zV{}V};nB+W(WfQBSI`8y?ZuTai?5sf8_nbHDz zYH2Uj{WmRJ10;$&?-Kgm^ulR5t^8@5&BQM>DxVl`?cY4E0(#{V=f|FAgfR4^;U3_> z+Ux!@g%ko7PU)XH`!5>b*^MYS(hQv-+c0qrpRwoi7Fy5xp1=pP7T{9@l?uEi3vV6n zwDSl|)sEpTId^Ku)9?7sl*8z|w`Dtj<}1EAcSN)?K;Dd`fG(zZv|6(NSmE0;onna}p1mE%}2IA@JItw2Zs#`OzP`mie zEVf}i8saBWI0nd$=fHVXeDsN9{pA2R^`+=jB7tNIx*BB^_LPf*gmY~tZB>r0cT-;C zsm0EpjZIbz`6>J02($(TwO8FM*lexFV_P1bU${X9SLO+wYr!=@(3pW)xs3F^d0%vlp1oyl~y}P1Dyx zkH->q*J)j)woiliFAQk*>-h_^Ve668%oo5euStvMJZZkK%7EH9u$=!LQ>DB3E-Av= zUo*|w#rBnctiyv>g?#Lk=WYV!PZj(0aa1`c^<6~>83ALazdqr@Waf7B=UR=GZ;_$L z&m9K-B-&#-jA>@;&n!+u$Vs6Yl}LG_vf4tw_6P(`e5ei<0vszHN!GY85u%1d2A;k2CGW8VwPF3!#cH-RgpVo9A|Yi~f7CAyK~zHPjm;Dzmu zV>AD>aR@>={9C#WZ|1XWL>KJ!jD0&QJ z4Axgc#pBx{A-4o{M7a9*$sri-f_o#ijyA>kDUmU+SNt*XDV=%@)uyDDOlhg5bNn!{ zThXNY_4$W3Yu&T3nm{q|A`M$%(R+Dq^+Ju+P$E0YMW@E@4VT(RXf|$_T^F;c^Ov0v zBU^jOo`&HxQmq@Zd~-fHTR0q$%}(W-!P%25&X@QbBSf17AzRlb-#(>?L~im#vOpAw zZ_6bI0t8gjiQ`6(U|@bdLpev^>?Yin8gu!Bmku9S-tFk?a>gD)bUU1TMDwTi2O^dt zOK4~2rB$I_Nle_lz9L4L8sYokj)zA)L5B=_{KPPjhk*ABc<)0ocajoPuk&KcH(6CxRW?usAwBC9BxC2{-xC)R z5m8-z_RU?W0V;Fd-N23M>grmEWy%iDo`_fatiPmx{9$TXcBSHvvC*BMR1_NWX#Il_ti7xVX-a4p>^LOmhrDw=IBRwQ)Kb}gjzxL91uW3H^HM3o%evYSBK z8d*w`ckKQ97%Idrh^w}Lc=NQ<^|j{_Xo;oLRaf*Z7TAeJxvPmgB*{{u;&2%~FmZvJJ)VYFiYk&UN!P|(<}7fDca>^)#31$GC> zb~-*f`tT1=uxAC=#Xx-B$7em+#PU+D6t4$RZb~sE2j~&srWW@JVdZnLb0Th)oHgNq z4V<57YC8ygkByl-n!ITO&%#AVe+6N^KqKGom*fbepXy3c^9OA4FenoDF!~UPpy6)W zM88dq76e2qxP64Cpw08kId}ied?~4J$GR-VSJJd^cTFW4K2|9g1P?AjU)LtKSr2nyZu}aE$Xot&66{i4j*88^{NLt)KwBb&d1@$s)6&L2qpw{&?@f;kk-1(fA{7ngVTH{d=XBxin0nds# z-SlN<3MUtW09|M4?npEwiGpnfLxXmD=jR75?4A@-ra!wswR%bjK=WC69P}_`Pw=FReH#GKNFoL~Q-p zBwi0QgGO%AcsOKJW4o7Hh0-)PC#*{o(7KMXwKs;v z;c-TvQ>dYf8NQ=*`i_B?t_$Tn7Ef|Th$S3);^TMdgnw>p5Q@(?8;7;)xLaft5d15+ zyrYI`U3EU6Ir`q-W4+{dIr$%oBT%9!|8_;_;uod5NaASbCoaT-Ss=W3wyxSL|0tk7-^@o_l+6%P|*1 zPnq6V8{ojd+x-XZOFDjy(?G8`Gmxy2QL+rh22=$3_5hY%od}ho*_V4hXUy$1u|=tqoh)QbjxjJ z7LMP(*kg@H{8ZB?ddH1V^CAaut3j7sQyy;tQ{I4*Jt@tZR;5(F7m<6&*Vy!~PC>F` zjZGg53kQv!F#pL)Zoyc)1@5ld;%BtBGze&3sLM=N$s%Jo?yXjuz5lu$pK2+$_;`4U zKUFstZSdV;furwZ;9kUO{{}M1H+xdvb>82d*#h0|Ua_(iTckN3`}+ByoKn9oZi>xm zIKn^OXY7qdsiTSYubah=rM}a1dY%s%wfG&OL}p8rfIs^Hfldn3>v(oYf*1dTKRD1G zIUOGZa*LNYgi;i{oGSL>uPPqHDoVXFmJMA$ekOa}F^vBzgp#1y2+Q|Has@wGlH~G| zUB$Xx%@TZQ@?y~QPV>06+eO`&FV6=;ZXb`orTfJ*mypQlzH$TnDM7?y>2p0-p0S6vK|1llP@>S*{ z0b=lrHWGzNQZQM|vO6R8y+!9~E%73tHcOy`BedKlC^+xSTS}y+nFmfpm>s7)Kt4 zoa;^Vp)l#|EjL&cgB*>#cT?m4nHMkcI;`+)c_rTjEx%T|WwaG}#Zc)*T@u#?chL4W z$^$h@o}+t>LP4e{ZdHZ0srm0*>>>u`zOb^}%=rJGVJ1AY~O&K(?XgQQ7`PXzo-iQD7aUBwPhI{ybgLn9f cH8hdG8S9qi@BRXq1_-)zL0_v#(>m;b0M`IReE disabledPool={ERR_CivilianTraffic.CarPrefab(0)}; + if(!ERR_VehicleSelection.Choose(disabledPool).IsEmpty()){ERR_ContentReviewFail("disabled mod still permits traffic candidate");return;} + SubmitItems("items mod "+m_ContentReviewAddon+" 1");m_ContentReviewStage=5;return; + } + if(m_ContentReviewStage==5) + { + if(!prefs.ModEnabled(m_ContentReviewAddon)||prefs.Enabled(m_ContentReviewAddon,m_ContentReviewItem)){ERR_ContentReviewFail("master restore lost item choice");return;} + SCR_EditBoxComponent.GetEditBoxComponent("ItemsSearch",GetRootWidget()).SetValue("err_no_such_item_9387");BrowseItems(0);m_ContentReviewStage=6;return; + } + if(m_ContentReviewStage==6) + { + if(!m_ItemRows.IsEmpty()){ERR_ContentReviewFail("search stale rows");return;} + Print("ERR SMOKE PASS: real menu item disable, master mod restoration and empty search"); + PrintFormat("ERR CONTENT VEHICLE INDEX: %1",m_VehicleMods.Find(m_ContentReviewAddon)); + ShowPage(ERR_AdminPage.WEIGHTS); SubmitItems("items list "+m_ContentReviewAddon+" 0");m_ContentReviewStage=10;return; + } + if(m_ContentReviewStage==10) + { + ShowPage(ERR_AdminPage.ALLOWED_ITEMS);m_ContentReviewStage=11;return; + } + if(m_ContentReviewStage==11) + { + if(!m_ItemRows.IsEmpty()){ERR_ContentReviewFail("search lost after advanced page");return;} + Print("ERR SMOKE PASS: item search restored after visiting advanced weights"); + OpenVehicleAddon(m_ContentReviewAddon);m_ContentReviewStage=7;return; + } + if(m_ContentReviewStage==7) + { + SCR_ComboBoxComponent enabledFilter=SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesFilter",GetRootWidget()); + if(enabledFilter.GetCurrentIndex()!=1){enabledFilter.SetCurrentItem(1,false,false,false);BrowseVehicles(0);return;} + if(m_VehicleRows.IsEmpty())return; + if(!ERR_ProbeNavigation(ERR_AdminPage.VEHICLE_POOL)){ERR_ContentReviewFail("vehicle navigation");return;} + foreach(string key,Widget row:m_VehicleRows){m_ContentReviewVehicle=key;OnVehicleRowButton(SCR_ButtonTextComponent.GetButtonText("Disable",row));break;} + System.MakeScreenshot("$logs:content-vehicles");m_ContentReviewStage=8;return; + } + if(m_ContentReviewStage==8) + { + if(prefs.VehicleRole(m_ContentReviewAddon,m_ContentReviewVehicle,0)!=0){ERR_ContentReviewFail("vehicle disable");return;} + ERR_ServerAddonItems vehicles=GetGame().ERR_ServerVehicles().Find(m_ContentReviewAddon); + foreach(ERR_ServerItem vehicle:vehicles.Items) + if(ERR_TerrainCatalog.Key(vehicle.Prefab)==m_ContentReviewVehicle) + { + array pool={vehicle.Prefab}; + if(ERR_VehicleSelection.RoleAllowed(pool[0],0)){ERR_ContentReviewFail("disabled vehicle still selected");return;} + } + ERR_ItemPreferences reloaded=new ERR_ItemPreferences(); + if(reloaded.VehicleRole(m_ContentReviewAddon,m_ContentReviewVehicle,0)!=0||reloaded.Enabled(m_ContentReviewAddon,m_ContentReviewItem)||!reloaded.ModEnabled(m_ContentReviewAddon)){ERR_ContentReviewFail("saved configuration reload");return;} + SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesFilter",GetRootWidget()).SetCurrentItem(2,false,false,false);BrowseVehicles(0);m_ContentReviewStage=9;return; + } + if(m_ContentReviewStage==12) + { + SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesMod",GetRootWidget()).SetCurrentItem(m_VehicleMods.Find("2528466de220d91c"),false,false,false); + SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesRole",GetRootWidget()).SetCurrentItem(2,false,false,false); + SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesFilter",GetRootWidget()).SetCurrentItem(0,false,false,false); + SCR_EditBoxComponent.GetEditBoxComponent("VehiclesSearch",GetRootWidget()).SetValue("RoleTestCar"); + ShowPage(ERR_AdminPage.VEHICLE_POOL);BrowseVehicles(0);m_ContentReviewStage=13;return; + } + if(m_ContentReviewStage==13) + { + Widget row=m_VehicleRows.Get("f001c0de00000001"); + if(!row||!VehicleSelectionReady()||m_ShownVehicleRole!=2){ERR_ContentReviewFail("role browser selected wrong result");return;} + OnVehicleRowButton(SCR_ButtonTextComponent.GetButtonText("Enable",row));m_ContentReviewStage=14;return; + } + if(m_ContentReviewStage==14) + { + if(!GetGame().ERR_ServerVehicles().Allowed(ERR_VehicleRolePhysicalProbe.Car(),2)||GetGame().ERR_ServerVehicles().Allowed(ERR_VehicleRolePhysicalProbe.Car(),0)){ERR_ContentReviewFail("per-use enabling through menu");return;} + SCR_ComboBoxComponent.GetComboBoxComponent("VehiclesRole",GetRootWidget()).SetCurrentItem(3,false,false,false); + if(VehicleSelectionReady()){ERR_ContentReviewFail("stale role buttons accepted");return;} + BrowseVehicles(0);m_ContentReviewStage=15;return; + } + if(m_ContentReviewStage==15) + { + ERR_ItemPreferences reloadRoles=new ERR_ItemPreferences(); + if(m_ShownVehicleRole!=3||reloadRoles.VehicleRole("2528466de220d91c","f001c0de00000001",2)!=1||reloadRoles.VehicleRole("2528466de220d91c","f001c0de00000001",3)!=-1){ERR_ContentReviewFail("independent roles/save reload");return;} + Print("ERR SMOKE PASS: real menu assigns a discovered vehicle to patrols, preserves independent uses, blocks stale role actions and reloads saved assignments"); + SubmitItems("vehicles role 2528466de220d91c 2 f001c0de00000001 0");m_ContentReviewStage=16;return; + } + if(m_ContentReviewStage==16) + { + ERR_VehicleRolePhysicalProbe.Begin();GetGame().GetCallqueue().Remove(ERR_ContentReviewTick);return; + } + if(m_ContentReviewStage==9) + { + if(m_VehicleRows.IsEmpty()){ERR_ContentReviewFail("disabled vehicle filter");return;} + Print("ERR SMOKE PASS: vehicle disable, filtered list and persisted preferences reload"); + for(int page=0;page Units = {}; + static ref array Starts = {}; + static float Began; + static bool Failed; + static ResourceName Car() { return "{F001C0DE00000001}Prefabs/Vehicles/ERR_RoleTestCar.et"; } + static ResourceName Escort() { return "{F001C0DE00000002}Prefabs/Vehicles/ERR_RoleTestEscort.et"; } + static ResourceName Truck() { return "{F001C0DE00000003}Prefabs/Vehicles/ERR_RoleTestTruck.et"; } + static void Fail(string message) + { + Failed = true; Print("ERR SMOKE FAIL: vehicle roles " + message, LogLevel.ERROR); + GetGame().GetCallqueue().Remove(Tick); + } + static void Begin() + { + ERR_GameMode mode = ERR_GameMode.Get(); + ERR_ServerVehicleCatalog catalog = GetGame().ERR_ServerVehicles(); + ERR_ItemPreferences preferences = GetGame().ERR_ItemSelections(); + string addon = "2528466de220d91c"; + array prefabs = {Car(), Escort(), Truck()}; + array roles = {2, 3, 4}; + ERR_ConvoyService convoy = new ERR_ConvoyService(mode, null); + ERR_HunterService hunterService = new ERR_HunterService(mode, null); + for (int i = 0; i < 3; i++) + { + ResourceName prefab = prefabs[i]; int role = roles[i]; string key = ERR_TerrainCatalog.Key(prefab); + PrintFormat("ERR ROLE FOUND: %1 contains=%2 capable=%3 sources=%4",prefab,catalog.Contains(addon,key),catalog.Capable(key,role),SCR_AddonTool.GetResourceAddons(prefab)); + Resource inspected=Resource.Load(prefab);IEntitySource source=SCR_BaseContainerTools.FindEntitySource(inspected); + if(source)for(int c=0;c agents={};unit.Group.GetAgents(agents); + foreach(AIAgent agent:agents){agent.SetPermanentLOD(0);agent.ActivateAI();} + vector target,angles;vector transform[4];unit.Entity.GetTransform(transform); + if(!ERR_SupplyConvoySystem.ApproachDirected(Starts[i]+transform[2]*150,target,angles)){movedAll=false;continue;} + unit.Waypoint=AIWaypoint.Cast(ERR_Actors.Spawn(ERR_Resources.MoveWaypoint(),target)); + if(!unit.Waypoint){Fail("move waypoint");return;} + ERR_GameMode.Get().Own(unit.Waypoint);unit.Group.AddWaypoint(unit.Waypoint);unit.Registered=true; + } + float distance=vector.DistanceXZ(Starts[i],unit.Entity.GetOrigin()); + if(distance<20)movedAll=false; + if(now-Began>120000){Fail("driving timeout role="+i.ToString()+" distance="+distance.ToString());return;} + } + if(!movedAll)return; + Print("ERR SMOKE PASS: newly discovered patrol, escort and supply vehicles physically driven more than20m with production crews"); + Print("ERR SMOKE COMPLETE: vehicle roles discovery assignments native crews and driving"); + GetGame().GetCallqueue().Remove(Tick); + } +} +#endif diff --git a/docs/evidence/vehicle-roles-2026-11-06/menu-run/launch-source-sha256.json b/docs/evidence/vehicle-roles-2026-11-06/menu-run/launch-source-sha256.json new file mode 100644 index 00000000..e0ffd17d --- /dev/null +++ b/docs/evidence/vehicle-roles-2026-11-06/menu-run/launch-source-sha256.json @@ -0,0 +1,732 @@ +{ + "addons/core/AI/BehaviorTrees/ERR/MortarRapidFire.bt": "16b263bcb2fb3ae361367a600753a829425620d2e6b350a891c51fba47437ab6", + "addons/core/AI/BehaviorTrees/ERR/MortarRapidFire.bt.meta": "f2a44ece28891240e6bfa1d01af29428adcadbe82c80e287eb33cd5e58f1f90a", + "addons/core/Assets/Items/ERR_Atlas/AtlasCover.emat": "0a536cd31d1917965ab36d33e273a881be384eb8b863eb5da03d1666e141d45a", + "addons/core/Assets/Items/ERR_Atlas/AtlasCover.emat.meta": "9f4d59cd6d103547e3e494baf7cc8fce70f31f87c66fe6d26b70011bbd27e38b", + "addons/core/Assets/Items/ERR_Atlas/AtlasPaper.emat": "88a2c1061c01eb96ce8a0f753bd3e89e1d7af01471ccc4abb4774a7aa9a532fb", + "addons/core/Assets/Items/ERR_Atlas/AtlasPaper.emat.meta": "e0093b7df155499444f93a1148a07f66cc755489192db17c81f4035d17378efb", + "addons/core/Assets/Items/ERR_Atlas/AtlasPrint.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/core/Assets/Items/ERR_Atlas/AtlasPrint.emat.meta": "33a9eaa49871813f2e8537f071ea0f5a4422eb08d536355a47314b6b6d845b19", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agf": "48dc42771b7e44994839dfabe9b007c23e37bd9be900196c757f42351e5c6b04", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agf.meta": "c081aec31c927c0c374dcc0f8eb3eaec498f71cb0e2ac746879b926f8dc7d00e", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agr": "8ec57b278c9d63324d00f7af62abf75230c5ef631d1cc070661585ee235c8a1f", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agr.meta": "b045e26f86116703d1b3599fdf747b413cc0064d8101eff659ded0355eff31fe", + "addons/core/Assets/Items/ERR_Atlas/AtlasWire.emat": "372247aac7b84ddf6c66e276d03321d22496e65726f55e490ee7287a90151318", + "addons/core/Assets/Items/ERR_Atlas/AtlasWire.emat.meta": "ea10c7bd630b31febf511fb28a42cc73597fcc1e3010597dc074c651813ede94", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.fbx": "03a654900103878223ab5c4a42e71d17022ca4885ced71b99c67d8c91652b5fc", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.txo": "9838bcb2e4ff1cd649586535ca7d5ad2497e6118cdfb76b8aadabded9cafb938", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.xob": "a4602d65e84cec1b23b6b09b5bc5847cbd52efe82925986c6eaf1c43bec1ac78", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.xob.meta": "04f4039be7950ca393ea74469898dabcfec4dc8b8f9e08068898c00333445878", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.fbx": "4ca13bbeafaa0dc0bf007ae9024b8d6c2a5279afc62e0ebc227e2bec2ad67a30", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.txo": "8ed37705192d3d9b18f26b5deb51af6f2a6d694e7e2dcdbd04b317497610b50d", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.xob": "fe6ea401412fdbb3bb46367cf7dc9215f7d01c6373c8ac954cbf23f2a6927bf7", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.xob.meta": "492a44fc323d3df469753d4bbbc35ceb3d362e734f48083ba633b3de5dd42d8b", + "addons/core/Configs/ERR/AdminMenus.conf": "5a4b405060135efd0f7faf913c7f061f6250a1e6e9d27f2bb394281d784b20e6", + "addons/core/Configs/ERR/AdminMenus.conf.meta": "5faf5ddc0a51c1d0f82d60af00d91edc22fe9c39aac50d8d04b772a2c9271be1", + "addons/core/Configs/ERR/Content/Registry.conf": "546a5a407c9e6c25c9157ae4392898fa3f40c04c7956649e62201f9ac0ba187c", + "addons/core/Configs/ERR/Content/Registry.conf.meta": "046aa988bf8e972afcf7a60b6f2312f605f016f98625dbbd9cd75ebf9ea88800", + "addons/core/Configs/ERR/EveronSites.conf": "781a9a3f4d2d4ea5b913fbfd15c2f1a991efdee7e033b7ba4241ad632609f52f", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/Factions/MissionVehicles.conf": "5f74f4a7089c7e7b54ad62463159ce8f0bab25a6b85268dc3872ea6001e048fb", + "addons/core/Configs/ERR/Factions/MissionVehicles.conf.meta": "00c368b6271d3440cc8bf627b03a384d247635723923fc5ad2104b8b4007b035", + "addons/core/Configs/ERR/Factions/US.conf": "4c3da063abb6e3ee39a6e4e0c5a9ffd5eae9d209d58470ea18b45dba5528db1b", + "addons/core/Configs/ERR/Factions/US.conf.meta": "a05469aef028e9e17eba545e81e2af2887b59f0fef17dac51a23c7b8155e381b", + "addons/core/Configs/ERR/Factions/USSR.conf": "407ea27f80a64c5184c089d43cdd0bdabfc5974c84f1d2a245081fdf2afa3f30", + "addons/core/Configs/ERR/Factions/USSR.conf.meta": "057397d97096346791b51b7b13fbe18af218bcf78e9984d9c01b49a2403de611", + "addons/core/Configs/ERR/GameOverScreens.conf": "1bb83c26a57d64595e91c3ba7926987e22b33dce2c6c876016e3ec2d04f9eb2a", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/ObserverInput.conf": "1efd2e1823f80e6b8a3e4a697cdeb72dd87888ec5a2d16ae289937575b880072", + "addons/core/Configs/ERR/ObserverInput.conf.meta": "9714dce6c38ee81bcc513c8ebef51d7af63fd15bcdda2e40946937c625dc3ba4", + "addons/core/Configs/ERR/Telemetry.conf": "12d895ba4fcd159e23c2f3e94dc59e6f1e54702470cf0b1dad7d04f15572cf7a", + "addons/core/Configs/ERR/Telemetry.conf.meta": "afd52b410ce1a1026f4b0900b10aae2ee50c30764a212a59668233f4f8b8c5a1", + "addons/core/Configs/ERR/Tests/LegacySites.conf": "3864eb638d0ed4dd313013d2d787f975ae6ce4bbe238569919f76b73d5f7ca42", + "addons/core/Configs/ERR/Tests/LegacySites.conf.meta": "097ac7daef4fc18344699a8471fdd77f9d158f8c70bab394068d7a08e4777ac0", + "addons/core/Configs/ERR/VanillaFactions.conf": "db890b61b48ee15484041fd2245a862d9fa9e7ba21b1229c281ff37c448a35b1", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Materials/ERRM_MapRenderTarget.emat": "4ab251037d40a850e3767c0de85136842bcd4fd130eda47bf8e19352b0d030e3", + "addons/core/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/core/Missions/ERR_Everon.conf": "c6cce48484301a76b81f3a0cd76a4012f5808b901754d4114034e92beeefcff3", + "addons/core/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/core/Prefabs/Characters/Core/Character_Base.et": "74a6f03a1e76173a0cfa20b23c711d02e70bac810d6743e16c60476bfe5be457", + "addons/core/Prefabs/Characters/Core/Character_Base.et.meta": "c6b142d1985719236268cdf12ac522fee4b1206871a6f22b568d9198d1fcc077", + "addons/core/Prefabs/ERR/AssaultParachute.et": "b556997989605e2a05982418b7e9f26d12d427eb3ea6e3bc50e85c67ea7aa4b8", + "addons/core/Prefabs/ERR/AssaultParachute.et.meta": "e9dea2d533ad1ce6ce689e0e2815c97a6382e1b90c35ce1efa88a885527e8e18", + "addons/core/Prefabs/ERR/CombatEpinephrine.et": "aa57d78bae861dc4a0fc509f7916190d2f2f0b36a1c3867f9bf9a071717cd7f5", + "addons/core/Prefabs/ERR/CombatEpinephrine.et.meta": "0e19ebd1dd4d81f739125a4dcbff898424ffe39572c2668bd56455d939b3f604", + "addons/core/Prefabs/ERR/ConvoyCrew.et": "29a525a29605386dfcf292dc2316e9fc7650ce39db9fbaa4ce4372ad0de66db4", + "addons/core/Prefabs/ERR/ConvoyCrew.et.meta": "0a909a15b7dcca34202ded136b3bdbbe8898153c9589e1cce1388433d362da02", + "addons/core/Prefabs/ERR/CrashSite.et": "8d06afe6e2db8986f06a7c5d6649e52df009f9eead7345bf2b477f50a0725b3c", + "addons/core/Prefabs/ERR/CrashSite.et.meta": "0f54fe80ed96394374c1922e1d0b05f7e0200ce5b979ff58325b033f51641f69", + "addons/core/Prefabs/ERR/CrashWreck.et": "f5de4785c0e3cdf02f1d5372e9b01171bd5a37acb9c36aa2a94bae3f429b2272", + "addons/core/Prefabs/ERR/CrashWreck.et.meta": "bde3299bdbbddb91d2ef471b61035b6cced29899cff4cd90c080fe584ce63f26", + "addons/core/Prefabs/ERR/Epinephrine.et": "e09c70b3d47a4dc5b92fd332c8222b99554b28a8a0c93cb5caac18eec4501571", + "addons/core/Prefabs/ERR/Epinephrine.et.meta": "f1861f0b0ccace1b7b3d9c29768e37a83bf0c6fae5a411b1bd61d6b2eec7ed89", + "addons/core/Prefabs/ERR/Extraction.et": "4d24c7811415c06386205e5bf5c132a23fcf21e96c75c7657ccd5f3ac914ac50", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FactionManager.et": "d34a8bbc5dce259c4a467c7bfa2ba746683bbeb9448de8c226856e65319f4911", + "addons/core/Prefabs/ERR/FactionManager.et.meta": "9bf53d5e4bcbe60dd1a4ece1409fc23c349055c860708620f5f6e9716290a97d", + "addons/core/Prefabs/ERR/FieldCover.et": "e403d5cb3a5966f0cea81f15e0e825d482ba1a7a27b12498319ba45a414963b0", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "a2b7e632714e646a7010592cc7ac75f0afff7da6c995bf91aaf65d9473a6af3f", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/Items/EmergencyRepairKit.et": "0157bc235eeb78a0e1373b561fd22a1dcb225c833ff7c2d4abae688bca0ec92a", + "addons/core/Prefabs/ERR/Items/EmergencyRepairKit.et.meta": "da6f065cb2414b5a4cbe9ef0f0b1295b2466f26ad406c0bddb83845d4598efb3", + "addons/core/Prefabs/ERR/MortarCrew.et": "21086e886fe3199624208c9a866f883ec109f7d08746c2b56b497e59857fb656", + "addons/core/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "5118ecaf9d2038eea44a4b785f05d2e78781dc1387249aa58a6782c7e6752e14", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "d3eca8fe9197c57a27a285cdb3baf168b037b198d92b39df28a338ae2cfd0c74", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "c0ca5219aa2d6322ba7d094b92000640b259112ff6611a745c0713c8875d09d4", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonBackpack.et": "ae750f08fc9af645561f59d7e5809bd22f4cec26ca8fa6409d09730765958c91", + "addons/core/Prefabs/ERR/PrisonBackpack.et.meta": "7da6aa45467250edc910ad7230dc244d1b041e8a6f55881eb3747ce51f9212ba", + "addons/core/Prefabs/ERR/PrisonDoor.et": "b0ff94443fe334032113a663917de23f920a8b73ffadc9c8e9f11b545022b3d2", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonPatrol.et": "dc88c31cf5c415573a874f74e13572f0add9e6122c8fcad507fe82860d789c47", + "addons/core/Prefabs/ERR/PrisonPatrol.et.meta": "5528e0d778dce5ed39c3e504c6427625527127b23269d20fbf12ca2bffe52ffe", + "addons/core/Prefabs/ERR/PrisonWall.et": "9b410b7c85bb001be4601ad93f750e17b8318b850306d84f29c4dc1b02723d7c", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Prisoner.et": "e6d345ac98ad9ec742bf6c3b8686839c3256df9833d31bb4bdf605cd41d0ba5c", + "addons/core/Prefabs/ERR/Prisoner.et.meta": "974278ba49fafeed70b619a0067bbc70ae4d534be441c812ce2bef4a5fb3c022", + "addons/core/Prefabs/ERR/Radio.et": "99b1d80b49d1e7f9d30aa4283772a36fd66e962369f288f5fe329c7fc911bb1b", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/RadioCamp.et": "5e6216bf8e6e160da5d9f966c8f7c2081bf6dd16dfac1b89d682a14b3b8a6716", + "addons/core/Prefabs/ERR/RadioCamp.et.meta": "3cb8d3d553ab6d8d111a74f721cf4e69ee1011cbb90248b83cdc7275697276bd", + "addons/core/Prefabs/ERR/ReconCrew.et": "33953379ceb725bcd0cbe505cd643c94adaed17dbbfa95dadd404d6b8e345715", + "addons/core/Prefabs/ERR/ReconCrew.et.meta": "2653e8c5b1cdb857de5badd5959ddd9826a6a298ab3c166628dbb835d7104d90", + "addons/core/Prefabs/ERR/ReconHelicopter.et": "c609ee59ab145e0a1936f95726b86df643f5cc425c43924029e9c1abc69ebbd0", + "addons/core/Prefabs/ERR/ReconHelicopter.et.meta": "d80f1c3d6a6f9104562b89729996c1c92ad240f08cdcf48d4c390a09d2047c08", + "addons/core/Prefabs/ERR/ReconPilotEast.et": "d961f329823b991eafed80d085de1bd89b44a4575be98d8dac385d6b77741ba2", + "addons/core/Prefabs/ERR/ReconPilotEast.et.meta": "d73df3c896359a54514d2efcd851f579feca7a2619b76c2a38f607649a31a4f1", + "addons/core/Prefabs/ERR/ReconPilotWest.et": "8f8221927269352e55c8026ee5b00e026c281c79af6684b386f24e7dc4675fb8", + "addons/core/Prefabs/ERR/ReconPilotWest.et.meta": "4785f23bb492c6af420ee7896ddbfc9767e0db1e06de95207df2dc949a1b1814", + "addons/core/Prefabs/ERR/RescueEscortION.et": "aa5cae65250936da239c865fe1070c68a1d20b49bcef37f6bd29021f22c274a9", + "addons/core/Prefabs/ERR/RescueEscortION.et.meta": "34eef8053198a49df774792322c6d3cba81f689e56b6a418aed5a14de0913537", + "addons/core/Prefabs/ERR/RescueEscortWest.et": "6f9671fb68e2716479d96be74b80ffb29fec535f1333c5e4dc4d7b684dca1ccb", + "addons/core/Prefabs/ERR/RescueEscortWest.et.meta": "45a87304712d6a18afb0ddc5b3ccbb70da395541e21aafe9d6d3641c392eaab3", + "addons/core/Prefabs/ERR/RescueHelicopter.et": "d9b3b01a0cdb6ed779f40f14f03dfd8fe732382931cdee02ea643f260783313c", + "addons/core/Prefabs/ERR/RescueHelicopter.et.meta": "f47b4a9a72faddcb5817e396dab7c115ac05a5455e5dc8ca4c6a3e9d5fc4093c", + "addons/core/Prefabs/ERR/RescueHelicopterAFRF.et": "cbd9c88b0a0c798096c78770cdef834cebfbdfd62fa12d96b56e74c5ac60dcb3", + "addons/core/Prefabs/ERR/RescueHelicopterAFRF.et.meta": "5cf8cdd7f34e2bffccedfab0cc0cf266d3c8a6856215e797874c531eb2a3ebf2", + "addons/core/Prefabs/ERR/RescueHelicopterFIA.et": "6aa11ddd56ebc9d0aefd06e1f55c7c61136d5c703b6eddc9cc84f3bcd8c8c26b", + "addons/core/Prefabs/ERR/RescueHelicopterFIA.et.meta": "ac0b32de9818aab77ff42d244cd5165112a7764eb6d289dcfe12ec77ea0c9b3b", + "addons/core/Prefabs/ERR/RescueHelicopterION.et": "a910548e7346439af90bb87e445f056aa1799572a69f87f45addbc17dc01fd85", + "addons/core/Prefabs/ERR/RescueHelicopterION.et.meta": "426a478d15718c0193490d5381f732e4c559348f2e5e9c7eb9473a4ca3017add", + "addons/core/Prefabs/ERR/RescueHelicopterWest.et": "dbf3827f58c27d957aac23f505a24c0af2a8f6c6555a82d0962a0ee5d47efb42", + "addons/core/Prefabs/ERR/RescueHelicopterWest.et.meta": "963b5b22139a2f3496e937855854c3ffe01604b86a93f1fb63b547bc1ba29068", + "addons/core/Prefabs/ERR/ScoutEast.et": "b4593aab494c4f21637757b3daff4f349da77b4c48ec5e8a4a2917a6a12cf811", + "addons/core/Prefabs/ERR/ScoutEast.et.meta": "7c72af632537f687e92f30b52d97fc7d70dadd39d33f37e0b1004f9596f55012", + "addons/core/Prefabs/ERR/ScoutGroup.et": "8dc0fce8ee3decc1c367411b00b6d8518df9d8458281cec0881464a2ce906af0", + "addons/core/Prefabs/ERR/ScoutGroup.et.meta": "62e43fd152ce57aa4ceb2187a49e4aecdeb9f428b3a1e8318f86bb83dbf8a259", + "addons/core/Prefabs/ERR/ScoutRadioPack.et": "f1c4911e2556c0e0caa8b896982190c5e7d0433e850b4610e19442caf9117607", + "addons/core/Prefabs/ERR/ScoutRadioPack.et.meta": "825506e3d814d30a52d5dbf64124470641c07a0453543ba71426841e6c783635", + "addons/core/Prefabs/ERR/ScoutWest.et": "2681b5a3f8621adb44195f0dbca6f3e79ef7decad8f9d0dd0e1a801ec2549627", + "addons/core/Prefabs/ERR/ScoutWest.et.meta": "22a6607b4b8fe606ca75a634a0b2ac3178e7bedae7f9ff01e7a4989f3b39a3da", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "761d845fc1c086da58fd87c8933bf58d46d1ff5e17cca5950141743d07c8ce16", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "4c97b0514fe7e723046f40f0b396f6573b12eb9981ca5df70b9e8aa3cf29323e", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "f33681281d26676fac88736091834d5a7b87fe0fa01883582542df964dcfc694", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Prefabs/ERR/TerrainConnector.et": "cf9cb28f5a3f41931380864a29ac979aa1d5e843456f564ac7a7de78f88e1aa8", + "addons/core/Prefabs/ERR/TerrainConnector.et.meta": "9f37c979ae282aabca29ce84beb0db851ee8b9a19f7f3a64d387c175616127f3", + "addons/core/Prefabs/ERR/TerrainTakeover.et": "63e26db48c624056350f9ee123ae5b815bc2fad392060a9c26cfcd86c0af872a", + "addons/core/Prefabs/ERR/TerrainTakeover.et.meta": "64e953e378ab1d2a75ee7246f876f4ef93ae8a4e3fddb5002d7ba37268cb959d", + "addons/core/Prefabs/ERR/TerrainTakeoverWithChat.et": "aa857f7e8e0585839c7e9b2e3616702180779e68c6fb149d94a83c05bd52449b", + "addons/core/Prefabs/ERR/TerrainTakeoverWithChat.et.meta": "a213272011050a881c87fdd94b229e002ece24f26f25db5fe53824f8a5b147a8", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZ.et": "29f157849f413261494a63d4d5b0a97e8bbe61cb076efcd59d6c940653f23352", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZ.et.meta": "544c94cf1c26757a10654de7856cd6cc48b821ce3bdc02add13cfe6514269915", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZRearSeats.et": "cd4acdcecad299445952aea0adefc85f2b9e9b43f8186f100e0505c5621b3656", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZRearSeats.et.meta": "123955da03462befb90e293b3bb856d49cc761166611b38ff47cb48ec2fbe95c", + "addons/core/Prefabs/Items/Equipment/ERRM_AtlasLeaf.et": "11185bc813c00c5bda09c0afaad78849a1c81d89843e8f7f3a14c0776b8296a9", + "addons/core/Prefabs/Items/Equipment/ERRM_AtlasLeaf.et.meta": "8cdfeb51c3774ed790a223ce74872cfbc4588fb6812a0e98136eb607dcc17d9d", + "addons/core/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "57dfbd215f28478a791b2e029832ddf3c363658d5dd5590cee4db9ec6a8b690a", + "addons/core/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/core/Prefabs/Vehicles/ERR_RoleTestCar.et": "2668ff0a0e80b12f80cdc04632b39b870c55d0d2ab38daf923e267d223d88198", + "addons/core/Prefabs/Vehicles/ERR_RoleTestCar.et.meta": "b8fb2ac3185c16a5c006a21fb7c7dd5c8a467cb01e1cb8a837f7b816fbacb77b", + "addons/core/Prefabs/Vehicles/ERR_RoleTestEscort.et": "1c99ccc57d5dc1622153638bead8fa031ce2cb9444355a88b5bad957de59172a", + "addons/core/Prefabs/Vehicles/ERR_RoleTestEscort.et.meta": "858fe6f5ff8e46992474342dbb68995b95dc1356780fcb1bc777c5417c592aad", + "addons/core/Prefabs/Vehicles/ERR_RoleTestTruck.et": "7f4f051525b4d6447f6df3e75da65a0c89c7513bee831baac8febb0ad2ab5769", + "addons/core/Prefabs/Vehicles/ERR_RoleTestTruck.et.meta": "bd4a554d93805b90b4affe61b1db5d7da8e6a480d62dd61a111b32450807778e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Actors.c": "7258b838f8365e4fa575c4f2ccc8532e22a33946405ebb490120534d5ca65607", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenu.c": "cac52cfb9f31ba42daed671e55bf5d55ea0840139deba5d13a0e156ec90559ff", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuFields.c": "55466b735c5c8f1041ac600338d55847372a71af48ba1ffbde8cce4286e55b19", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuPages.c": "fc07549ba14900998223e8c1a95f57ddb0f365d0d687ac4907b0d97ffe1612b8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuView.c": "6c34557350659782bc1a098169dbbabf1f71502c35cdf711b83ce0efad907142", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminPlayerTools.c": "56780d78bf423f54f482d8620f821b8d3eb0199194482b4f12e37f5ec3f55ef5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminProvider.c": "62e05aceb49da07fed7aa89fb6b2f8eb3efc373ac09eff286fba983c3ad570eb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminService.c": "277df355d00458bf4a337b68feeb926ec4aa12c1546a604d039121a1bde7d995", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminSession.c": "27c88e9317ada33351042f0d1bdbd8e406fd798de34d1057544f1c6165a289b2", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AirfieldPlacement.c": "0601d8da570e1f63e43ea7df451d0e997872e4e163669fd8ad37bedd59de7b9b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_BakedSpeech.c": "d11fff16f86fd3447126701af84c3800860d721263b3c2c16d3b91d686d8b2fc", + "addons/core/Scripts/Game/ERR/00_Core/ERR_BuryBodyAction.c": "adbf4cee5b5f5317b185f17738205f28b701a15364e643cc9fb443866a121109", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c": "8010394e7731d3bc2ce436cf795a37819e16d4d605e8d152027cf391e811d37c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingFeedback.c": "ac554a946cd14f73a5bf79005b8a3f770c9caaf0a6ea409134077b8d96f9433f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingGameMode.c": "1e670937736330716a467157d0f45bace512047d7e87d8678f4ae0ee123969c3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingOwner.c": "3f430930c2598951b75cba157a57967189686ca7a86aff8ecedd20f181262bbb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingService.c": "6efcfb4bb1bdf0da84400eef28a24f6c61e7f446073af2c9667b6f26f0bc47b5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ChatClient.c": "4bf937ff74e0483c17fa0103f73bfee3afd8f67a37c0c248b08772a17bfcc349", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CommunityStatistics.c": "84f2615fac1375bbe3738edd13a413ef1d524dea5ce0195b05b3a957aae84435", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentDefinition.c": "bc1dd4ed27ec894cf4bd617fb226cb8140b544aaa9ef6d8654e815d81e7f6fd0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentMenu.c": "d9df3b2dd8fca119ecee466dc71d336b5a70ee7d5fced368cf34e250d22075de", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentPolicy.c": "3a4987345d5a7159234a7e1a08bf5ac40dd5a23031e9b1953fc43a0501d9924b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentSettings.c": "3e2734dfb935a4e93d79b66ca4a7c883723a1fc348e3595432dbf2bfca643923", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CrashSiteResources.c": "832aebf6e754dba54ba28b8f480180d32ced968a2d2f192424c4007a862c2b43", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DebugAI.c": "bc5529c60591a6c36c39cdb753b1af948690fc3c3c725f38a8d595b41a499235", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DebugIntel.c": "a9f6e7e42a3214879a21052e897f9afc0653c12ff15d5bee7766e26a1af6ab17", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DiscoveryMap.c": "8a8653b322c948c462002077272dae79e2f45a24e883767b3ad9c1f24caad237", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DiscoveryService.c": "552d9e40f72a135f19d25a17fbecf475b8bba8d8b62ec6b6d055c65499a0b637", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DocumentComponent.c": "885c8ab4fc9e64c3f8b40056536096c8c32b011cb340b25ca00353a96da15c69", + "addons/core/Scripts/Game/ERR/00_Core/ERR_EnvironmentService.c": "c0fae5bf51ccf507bc84d44adc2d1dff021cd83653c0468b7645a4f343e3fc8d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Epinephrine.c": "14a75e040f510773313c7e70b57f338821bc1ded650bc65133968dcad6e49c7c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_EscapeGameOverScreenInfo.c": "4746b0715c6e9a527038b47d54d2ff305becea219da6b736f6998d81901143c9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionPlacement.c": "6d388fe21f08b25cbdb5dfa4e198d94a4c80c5092f8d17630a4654e18bf8b3f5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionRadio.c": "ad7fd91d8bb96f05f3be04a03fd00c20ab9413adb12d649d3020c6f7994319e1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionService.c": "c48e79a117990f83839704ae221af05fc7995b956af2d4b4f9ed2a6b91ec335a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_FactionMenu.c": "1deab4c396c307fc17dbaa8731b2943ffb73c37dc0121a5cba5c239c34901ba3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_FactionSelection.c": "04b8bd8a042cf743ab8a87ec3711f9758e7b0112995a9d363e81a63df4eabe5e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ForceLedger.c": "0ecaf1c5a52568e751678b0b1236e91e6adb538f8fbf010d38b61a312d1bf253", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ForceSimulation.c": "2bbb8888c752a3ffc042f3059937526d25ae288af5b4db024cc683025a2605ce", + "addons/core/Scripts/Game/ERR/00_Core/ERR_GameMode.c": "d26e665cf5b9c0e1dc6c5e2da200a99711ef9272718d330f5aa66b09cede40d1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_GeneratedSites.c": "4943f761d0274e163a1da325ac4f750de9180947b05b79ee173e12141bfd6661", + "addons/core/Scripts/Game/ERR/00_Core/ERR_InitialGuardRules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_InventoryHitZoneCompat.c": "23c34f901311dce63a79aafe83c11e2fc25bd3fddb0cde38bd313eb90878ca90", + "addons/core/Scripts/Game/ERR/00_Core/ERR_InventoryLayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ItemPreferences.c": "1319637add7f9fdb122ac130784c5426d90a32380d870df03efcce7f297c55e9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ItemStationLifecycle.c": "0feee55cc5ddf13e00fe73ae3926ec2cadd5ba861d793a939164287ccbe1861d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ItemStationTeardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_JournalText.c": "1ad00a77cb0be741c7b6ef5dad2d8a8c1ff1fcca3b093df2e132ead0b69f74e1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_LoadCasualtyAction.c": "1521af55a34110ce1c971b5226a618a9c6d931622abaae4946d9c0d27c05a273", + "addons/core/Scripts/Game/ERR/00_Core/ERR_LocalAdmission.c": "a076922d1ae966cf5cc67b198166ca6b1288358fb7f641207a4681e6a610a2ae", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Location.c": "6323facd2d5b32382b466a2aa0140064632a8c1de0597e0738cb09a3fcfd7abb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_MenuTheme.c": "90d9babfec7978b3d7f5baffedbbe5c1b54a9742f576f51e6232043e32d1cc9a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_MissionRules.c": "17d1f48878b02a457eebbe5ff87c4267488d68d2a9b3121dda77a8bc8e69c8c6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAdminMenuProbe.c": "2deded62be82adcf9866dacf8065f0c6a9a643bdd60a1c3e87990e1c70254c48", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAdminSettingsProbe.c": "73e58561e08e50008d33f81eed606dd4e8109fb69a627e892d28ca468d641f7d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAggressionProbe.c": "dcda8528a64d35e6aa2f030b59503a49ea8a85ffcc33beaecdf8da00c003b50e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAirfieldMarkersProbe.c": "980025c07d042c2f109e2c99ccee0316b596806ba2c4fcd9446b6ad7580d1d1f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeBaseSmoke.c": "f7697361c6a056a62aff86de7f7d69e9ccf47b92121dcb96ed012ad136e47e30", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyGroundProbe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyLoadProbe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyRemoveProbe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyServiceProbe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeContentProbe.c": "cb0ccfe1e1575f9ed80a8054058b471f3543378db059e6af2fed8eb42a262638", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeContractsProbe.c": "60aa767d9455f2f4958a6a47bd68bbd8ab0466adc8f1dd9ae433c40ae96c68ff", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCoordinatedAIProbe.c": "9104a7a5154bf34906f135f00c5793229e343da6a1ed19dd572e3c1d9821d393", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeDefinitionProbe.c": "904d8d4c3e7b91d49dadfe495fc7b4f02f300e4aaf7efa348df5ca17ec4a6e8a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeDiscoveryMapProbe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEndProbe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEnemyLoadoutProbe.c": "0885ca69f6fa7f53414ce1792cfc3c49916886b8173783c634135c13c5d37429", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEnvironmentProbe.c": "9e2e66ac5d9778a1c65445348e3300cbb90b68b3f669f3ddf1d2b78a858430eb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEnvironmentRestartProbe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFactionCatalogProbe.c": "e3011fa47b67122d7b2c23af8f91b7a217599d6cc114c4f9de628744b9c948d3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFactionSelectionProbe.c": "946879d822e7be2d48e03a3140aa1aad3e3d44dd18507fa3cdedb4c6d7dd81b9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFlightFootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFlightInputDiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeGeneratedSitesProbe.c": "a3202ee4658e98539122926755caf689a693a79642e8c88d3146c247dd961138", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeGuardCancelProbe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeInfantryCombatProbe.c": "3e4c4382ab91f470357268927b954fd101685df6b2244df483f0422d6c0d7da2", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeInventoryHitZoneProbe.c": "604eacdc66cd52bc8a0115862ee7884a8b0f83bdb50609397de671eacd476543", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeItemStationTeardownProbe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeLifecycleProbe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeLocalAdmissionProbe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeMedicalCombatProbe.c": "59c5b04dd32370f8cf5c62fe6931d64209825522127a068b1957e9d1556274e1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeMedicalProbe.c": "4b73e7cf35e9c8fddb089678a320ea58272e1b6611318d0a762754c171eff785", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeObjectiveMapProbe.c": "37e66177ee0f16fc33d3d18321211206bc4f095fccbd17b177d4b8cc1ba4e057", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeOpeningToolsProbe.c": "0c5d6b96ed5a7cb1cf0d098d534dc7190449ed09339062e6b584729d53a61b4c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeOptionalSiteProbe.c": "59d86432c19fd85da30a63087cf1f15375c8ee30178ed7e2765c1bda4cc4d035", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePatrolProbe.c": "5a2af71cc4cfccc7dd7c23584398a38290eba1a8894cd46f6967252ff3a7087c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePoweredFlightProbe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePreparationStatusProbe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePrisonBreachProbe.c": "4889e0d3799a6a21b9f84bcb2f2ae78dce16269cccd1329f8d1fcc1a23e7c22c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePrisonerProbe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeProgressionIdentityProbe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRadioCampProbe.c": "67f1a088f9b20e5f0f11ed3aa083ffa772bffd7c74d85b7a307344ac3d47e09a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRadioDefenceProbe.c": "ff1e27a0ce75b123a86e7df31354831880ca62ea90b6c5d7c60d3ba168e1fff0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRadioInteractionProbe.c": "7b27552d233813894f65c08eb9f04b547c4ca9ff96a2370a763cb94bd4a555c3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRecoveryProbe.c": "d6691f22432b3ce37d07d448aeb3ce7feb5cd09e852e0167b5e4676afd24bb21", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRescueProbe.c": "78f4dc11a179a5b924c0ec1939f0fc1e61d4e6f6647729c48a9f126ee32d1714", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeResultProbe.c": "c9a89cae067f221b9f33965b4d3ab311b78ba79ea383ca65032c4001df44b472", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRoadblocksProbe.c": "6f44725b049f2545a9ce3c94ae3e9134e16077fa017a438fe4f073b453292c1e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSarkaProbe.c": "511816c4b86c9f1392bc4a1d83ad11e082280bec16356d8ab24ac1f2094bba93", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSiteGarrisonsProbe.c": "1a5ff8747d7501862085b5e9162043fee3b05e82c73c516ad8093aaada53dc60", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSpeechDownloadProbe.c": "5377da12cabd58b9105851a2348d7496316db371bfc4346a5fb3f84f245ec013", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeStationTeardownDiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeTimeProbe.c": "4a2c6ffd947334a0a71eac083d10c853c524b00042e9ea0987497c4cee60c3d5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeTransportProbe.c": "7a3fe04aa1c5ed1061ff63d9d5180e8b925932b62d76c1ffb49bd3dc23530993", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeTransportSurvey.c": "e5abdb69c0675a20f4287afb24b9e3c877e91b162c77c32d81ef61e2a8b72577", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeVehicleSecurityProbe.c": "59bce863142e4fba4b6fb2f544bb8a58061f0e99b1a38e5ac291cea919563763", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObjectiveMapPresentation.c": "70339c05c550b72a4fd5890a871c5d8e6a9e574813d61696194c5fbb1475ac8f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObjectiveText.c": "d2fd3670c89d679fcb1359ebccf67b58734fe5168e31fc239bdeffa7f8ff0607", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Objectives.c": "b9cd5bb3b193c20401175c4328405be1b121e8a60b7b5999910b6a71f834af8a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Observer.c": "7c478eff3575eb1bd8a85c08955d4ca7f63b57969cd7b2b76dfd6c42136de1af", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObserverPlayerView.c": "c287a1891451dce0836c6e859eb962c154aad9621a46e50400f44fb83f97d95e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObserverScope.c": "97d29535a0ca1571ceb86996f58b68e5ba0944edfe30370455c52a321772f85e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObserverTargets.c": "1dfd50307b5d74075b90b5f2f70bae2c9488fc12df03d82eb19350a724f910f6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryGateObserver.c": "1e376ca83c0005cf532539e14d7f47363c47b7c5b03fe3d55405a59208705fd7", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryInputObserver.c": "808a46cc1e4b31b65dbbbcdd55493f594ebb3974bbec38b4a2402334c653c0ef", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryLookObserver.c": "d5a1b636938d65e9d11c78b31487f2924400c34d98e2ec812954a2a224da7dc0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryScenarioLaunch.c": "8d8da4c1222dcc6adfee350490f4399b4129cfce7a42b45fd7fba52febfd3eda", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PassengerHandbrake.c": "3078487e077aaed1567894f6df12386aae440b790b6c134118d3afc2c4da156d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Performance.c": "037ffa482e3765bb537629e34f10919d85d4b6bfb0abf56ccc7c0d44fce8872f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerAdminCommands.c": "eca9baa3b07da48a740851583540840f8bf5f65f7be854902a3778f76967faad", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerGuide.c": "dc52f551a1d3705fceb64ea18d882009d9e9548c01f08ae1c7ef3083b19ab2d3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerMedical.c": "270454d50235bc28df9bba4fde2689934578874c4eca9560afb9f0f6324d7215", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerReconnect.c": "478fd041e8a13132df25202088f42d0810d36680060dd7a0424d8f40a5b1ca44", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerRoster.c": "dc785a8a1d78a285fe55ce76f87b78a9f522eeb9f7d9655dfe9b5c4348a26a18", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PreparationFailureMenu.c": "5c31219740bbc26cb903a91f4fe22866c465b38220391093c72a3b094ca30f34", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PreparationStatus.c": "c5cc9125986e2285282f3f7fa9068ca72f00d7e26465d00213e734039c0e34e4", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PrisonAI.c": "67f8b444824634fc37fc253c60fd24b56d06d971f48e56a8d53095c97aaf0070", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PrisonEscapeService.c": "ed180448cb516bc4ec521aedd366810a47787628c7f5ee9c9afdbd185d980751", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PrisonPatrol.c": "284618391ee2da84dbcda4a99ca3c072eae3d67b8a9ef40a86827b9ea00810f9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ProfileConfig.c": "b5aca526a860ed9ed609dc3fad99ebb34d2f6fbd537575a167390472efd4ba89", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RadioDefenceService.c": "f5f0bf1352141f933d0edb5630e30541e001dc07e1d2c8529b29cc159c126b13", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RadioFeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ReaperRHSCompat.c": "bcdf98c05ac6cdf0c7eaa854531b02e9ee4f53fbb346ae01d58114e572e7dd4f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RecoveryForecast.c": "0eda507fb58860c0eac1d957319d1e80e9576a870d22931c86081db748df44b6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RecoveryService.c": "182037828b74938746022ebe03bbd9cf849d52e31067c0b33f392f03969d6162", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RescueLanding.c": "e6f63ee8860335de1125e0a62eae3b8406faf5a5ad2c8d9c6f9a6da077986e56", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RoundStatistics.c": "60e6839cc50fa02df1795a00b93fd431160f9201bdbb6f1e3b9b50271306e9fb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RoundStatisticsLifecycle.c": "b813a9ccea9a61c9c6d7d4806cf18adfb323d483622ca1225930207ca2436d12", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ScenarioComponent.c": "ca6b20d5c4599e31957e5cb464d21bb3a4bac517dd539711f9d4f380e48a0e15", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SelectionStyle.c": "b9ea5158e51559dc13812cdfa8939ac36b58c79b9e4115c72465d869fdf264a8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SelfEpinephrine.c": "da5850374b51e89016c4557d06f3c7c087b6e6e36fa9734b22c7c6c50d757914", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemCatalog.c": "047d8c4c36bfa32e1afed13f8199f01681ebd362c72d87da8868cb6959661973", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsMenu.c": "2acdce016628a362dba311965c3417f7e42bf0edbad58ec129b986a3c1c08811", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsWeightsMenu.c": "f0900e42100c9a58402cfdd48b7f27689144f53e03d3ae3dcd4bbebc13a5f61f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehicleCatalog.c": "bbc346188ed280d34b1b519ab7c96c6bc35df9ec3e4bfd03591cb9b8008f89f7", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehiclesMenu.c": "d873cdd81b2350acac7068c4d59d5603437561e061a3b9ff2cde2356239da322", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Settings.c": "fc5cbd7f52632228c071b9f14cce7979ef55298672e441f665f0efa97f083249", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteDefinition.c": "d421d70b32bd2b55cd8e4966c04af3d5bc381ac811d3b4b2efa4bc0a8af8bd2c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteDiscoveryRules.c": "dcbce3b7aee89bfc47a50e9de89209758af1f1bb462b99af67a8ad7a26e9f229", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteService.c": "2b283ad19b046fd6b33245d466b197bd05b4c472e128a747e6b1e725f4a34c2a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteSquads.c": "183883783a4e8399cf62851a4cc65a5d091d25131bc53b4323cf17286315b2e0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnClientScene.c": "b56f99a91cdc53bdb93d320d10839339022d7e61e6b101eee8296271abd7d3cb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnFinalization.c": "6ec741f8d19ee316d3c67b0dd2216698584bf2cde3634a3d6a7c3cdc3a3935b8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c": "6d9243f66b4ca8c53d53fedff9dea8986c815e90c1f97de58200cd759aa8b49f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnPlacement.c": "fc5b61f1877aeaee75fbfd6aed3cd0b4c5277ae8543bc38a0c09836353d54b27", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnSceneInventory.c": "76b79d5bd9d1f367e1ed19724302b7d49f8b0ede85cf19e89c452582ef651f8f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnSceneLease.c": "20de7f96bacc9037580d88d4424664b4554b2c082d82e7d29913e9dfe390b594", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechMenu.c": "33f9ef80b4d6cdbf3646eab602d15ae0d05884bb20b3a7222b0648752339cda5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechService.c": "74ea305ac0c9a9d145646a5c73cba58e4920ab472943ae73b3dbd71d8216f752", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartBackpack.c": "4a36799d3a3defd674822974cd96647c0accb2a854631dd5488c35e2ef697f7c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartBackpackMenu.c": "07c90db1a84893759dae71f40b7ae3109827646e48fade542190d21598ac271e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartRules.c": "ab7c21ef700343cbe769d8d51d91f167db37285b466d6af9873e121b3adf4ade", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartSetup.c": "58a6b617b22910d0ce9255f82091dc11cd1284417a66adf1cdaa7b661c1ed01c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Telemetry.c": "b1dc3ecab89f5e6db1ff4ba613b43755a5ae44f3612249288cd134ad850719f6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TelemetryCredentials.c": "9835caf69d4615d6a3fc840d9dc3cb0f507a0c5a2a6490893c21761f9cb4a216", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TelemetryLifecycle.c": "15d2d90d4457339dacd61c1bb23b619243b8af10731687c35ecc300125a642f5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TelemetryServerName.c": "7744762c4586e2543601fb0899847bed311c439cfda3dcaba825adf870628693", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainCatalog.c": "ba2e68543a8c929492d06f8725a743d26849a630d6f8c09be0f23894f92d0990", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainControllerInit.c": "8071e38812ac61f9b480d9e91f9ebc7712b360d431f5555da83027db6cdf2471", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainMenu.c": "1da542ef60ff7c1897b1f12432c636ef6a08cc710bac520ef186589d506e9a54", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainPreference.c": "93fc55f2c33e95adbcf2bead3430aa14bdb55154315760bcc9647f89dc8286ff", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainSelection.c": "ee75cac068b99e7403f5eaabe556152513cf5d973602cc6e6b8967d25402f6ad", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainSites.c": "4ac347d4d91951bcc7175a965ccea25f3782edb6e352354cce506d6b626e5ac0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainSupportStations.c": "c4fe4265963ec88e24379c143edae251452c84e43a3102f5da120205f9a39c9d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeover.c": "ac31af5ff2937f8a1fd89ac03732a8a473b27b09c83a07923f17986b0f9db841", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverClient.c": "70f192d5d749b4211c5604575d2b9d7e39deca589b5841ffdd03f99baeca1280", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverManagers.c": "ab1d64c8073e4daebf14f4ad2c745d874032675ebcac3fdb0fdae4626acb8dbf", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverPresentation.c": "91d450215eb6ed2da74446b5fbb805356e3881e3cb43e37fe45308e30b22be9c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverSettings.c": "da22775930b13e41d4a71409e37af3bb99e4cc1d94bdea0e3b59fbdcd4d40132", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TimeService.c": "63867760876d523a1794f619118a52c5cd387d5d92756cd286b2c16a348a6c7b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_UnconsciousCameraProbe.c": "cfc63058a20fad99e76c59b64d0d288cc3441fd3486ff63a6dde9998b4ab103d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_UnconsciousWeapon.c": "24d31bc857486638e55c605283c17cde0cdbd3c5c6021eac1ec93611387b10d1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_VehicleSecurityActions.c": "bd7d0aeb4abcc9d8044e4888f9a92f9e5fc97c098bdfa3bbad57e1a29697a779", + "addons/core/Scripts/Game/ERR/00_Core/ERR_VehicleSecurityComponent.c": "2ffec4e646584ec546147fc4b08249825cb32b531aba26467b586d760485adc3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ViewDistance.c": "8514f72f8207f12570d2317e64094a45507a1647dfd45a1501499ef81e90189f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeIdentity.c": "8624bac67c1990f87b3fb799361e5facd31c2e03cb621563b9c73c4fe9d7f87b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeVoice.c": "a6a9a816dee1c766675990c158a757cf9ea8628a7b2b0de991af67ff4cd23e47", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZBakedSpeechProbe.c": "533c89b6a258dccb61d7ff6abe0a43da58d52ffae60735a38c2545fbb4480afb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZSelfEpinephrineProbe.c": "a13e14d1ef525209d4609a2532c6d72135377ce058298937b632a91eeb6392fe", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZStartBackpackProbe.c": "6778cd98392f4e73dfe974782e626d98472251c1266698020d63edf8fe735bcf", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZZZContentReviewProbe.c": "c7f5094f50869af58c045062daa0b10f35cfe8285c4d4f5779268eb560f89de7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AIDriverHorn.c": "db9f100c6cc10efc6f5b86e8fe9adb75657ebabee6f8bf0c89b997c2e947750a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirAmmoMission.c": "0a471a40c8f7dfb797d8d35e41c5b1ff91e8d2ab13b43cf866e46c0e4ab4ed9d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirAssaultLoad.c": "de7b6c485167ab68ab0b37b96fe161ee821c2efd41362172b810448a02110e68", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirAssaultSystem.c": "2eaf9816eee3e1cd2ac70744a6ef7ea5a90d0a3eebdf925e384028a7edde6a42", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirReconSystem.c": "f8a0e3cf4552d8133efd33c2126ea15a7694676773a7047c15e00021c1d9721e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirSupportPolicy.c": "c1a7ac8759ca8ec8b43cbccf303255a2f0b69de447d0d991e44b6bd3db415d51", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftAmmo.c": "2be282406d0c45ab2e35b0ced791b5e494c662588f536701a4e82e6f5fb7c913", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftControlBridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFieldEnvelope.c": "0f53c7d9ab167a804eb904d63725decebb53fd5796fdf27864a75abed5679838", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFieldFlight.c": "c04e264cff9963821852094c451502d31bf9c96d4deae2e8ff8a2373b53b5665", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFieldRules.c": "30be68f4ca2db7e169f6f0432815821179cddf9159f7b150341dc8eb479bbd17", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFlight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFlightEnvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftRouteEnvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftRouteFlight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftService.c": "3f05209227986b5c6bfb193f8f53783cfd4ef083bce898e22257c3e63daed913", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirfieldSupport.c": "c6d88ede0b1b6bac5a7075b6e2e783ccfa8850210aabd28bfa4bcdb698cc5f87", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AssaultParachute.c": "a93c996059e7166988e9d1b0b498cbfd36f19a1cf8520cb4e9215a8884752e18", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AttackSpace.c": "e7be303231b5946d78c61480a5de3f5b37a63d0d2281a9a30a21e59f072904d0", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AutomaticEquipment.c": "8658421f846fcd3402289103762edaccbe3ca26280d7d72df2846c32ae8a4cdc", + "addons/core/Scripts/Game/ERR/10_AI/ERR_BodyRecovery.c": "f5fc311ecac4533c2d053a686c51e71216e69130a34483f27146627172914c99", + "addons/core/Scripts/Game/ERR/10_AI/ERR_CessnaBridge.c": "f1adb0f9b92f6ed94a8e9897b64e2fccba0f28552525a93f1ab893faa4fc5da2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_CivilianTraffic.c": "6bb4bf3271d05703ce0028d32db23bafe0e07f24fb0a5a6f886ff27617201dde", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyBoardingProgress.c": "328f8a5eabb8174b7727eee1d675db83a2eb0be7b8e834db4e950a645ca5d7a3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyBudget.c": "fc7e254056c1da4aadd26d4f56d51ee375d5d3331f5f7e5183581108c7474a10", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyCombat.c": "5c4b7576b28d51edea868cbb91a0ab31a40e6ddb558f1b8a38e07e20fdb2969d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyMineStock.c": "4497d6b790a45df2b76d18541ddaf299b406def88b868caa29f096849026a42c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyPlacement.c": "af4799e3028448e1a73f944989313e5d10c6262521bd29a8cdd5236842717963", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyRoadPlan.c": "fae404f85cae63e63976938a5fdb73efc988ba25c5846564f12edca04fb88551", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyService.c": "5abc35861aebf2e4ad00de11f040d01f784c6f2184de2e10beaf46a74ec8758c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyStartup.c": "360228fd45aa6ecd9426e36120b5e637d2feee1e3a4a89aac8207526b871c87e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_DroneBridge.c": "9ad23a763c5995b2ac6f68ed02def487b0ba887e8ca68f0e546d1b6812504cc9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_DroneRecon.c": "dc685b57c884d733e0ff90cf7937f5664ec08545f4cbf59d63bc8a84383dc442", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyEquipment.c": "dfb6a7aeda23adb8aff2292753b694770affc9855bff9fb11d50bb534f9219eb", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyGunnerSkill.c": "adf8bac5a6f7e40b2f9caff5fe9be590c4e4ce2b2b387ba39e741a3c4f4cc564", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyLoadout.c": "a48f32dbd7f209bf08fce2840aaffc1781c571fc679763be58987f6b082e776c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyMapMarking.c": "0f161fd3e08a54e3e1063679127549e482c40253a022e9d06cd9ee4d740b8625", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyMedicine.c": "68b65c98214e1a27383e155727901a4f70e9c065bb0cf133bdcf7fe6d5a57a40", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyOptics.c": "215e8a05594c541861b48e093520c00091708eb0f3635dcee5d0b5e1160230eb", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyRadio.c": "3a97e5c3de9ff33873d97c6b2d84ae505cfc4f3146e047b928e76ec3b22c8789", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemySkillAwareness.c": "00c450d033e43fc45c9e2cb64a1d81161d123cc594a4292cfc5f68eb6c17ee60", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EngineerMine.c": "067bed625a3f4d0fa189f46476988e90528c59b2351ec0ea71916317b06efabb", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EngineerMinePosts.c": "bcddb72845189b52e5ed71c687d7dd4b0b40b91b7306c3f6edf84a631002fc5b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EngineerMineSite.c": "d838f5693d4fa5d252d529e59777f560674c02532f1041a5598e938b3a850839", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EquipmentLog.c": "df9eec7f94e4bf1b30b9463604e9b97ba3cbff36028a80b81327b0b021cbb2a9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_FiniteMagazineReservation.c": "8278590ced1936d618905b0cbd0b5aebddda238d426a6a2a52e455fc36bbb502", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GarageVehicles.c": "673661374e0854fd896d3d51aba84c07088057c941751b311daa4a97b899633e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GroundDepotHQ.c": "c51fccd0ecdb0a1d6ba99ae965e2e572fc1ea65a5d8dc2e1e2a058698dae45c3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GroundDepotLoading.c": "6abb278409527bb67db084138a773de240d99ba7f63f9ac740f8167615d53f1d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GroundDepotTransfer.c": "21daa9ed8cb5f2dc08a0fa85e305fa4b4f3e7b01e16c71fd1ca98d66a4e8b652", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c": "9bd25f9fc7e574c515c7131e8b52eb357e295822e1ce2f401e6e86cfd6ce062f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQAdminProvider.c": "8879febe59fd99584add06690b29853f7cf14b580bb15c9a955cf1a2ce033908", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQAmmoReporting.c": "95c024cbdd35c02d9b0c3d389d29bb042e5dda6ffd2f5f0d896078274b3adb35", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQAmmoSampler.c": "8bb0ec1422887feaa340307d3c60bae50fc82d424fce6390876e580ff8b75e8b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQBodyObserver.c": "f59421c1e0c83f0f480d7dd4d048b4b0a41193ed8fe8f2f627d2b6a696420ea1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQCoordinated.c": "5b67ad624c4a6b0bbb715314ab9cf14e527018fccb7d38af479184b4952b8c49", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQCoverage.c": "0ef1ed718797114d95c636c8fa5a9e46a5f2a7ccbe3f432049b0c7d37f1eebd0", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQDeliveredCasualties.c": "1f738127e55e843ee2705007cedb5c08741f52f63c75eca7c80242177af82273", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQDoctrine.c": "6335728e89ed40ce11b811f00b61bfea76e94dd3379e4357cbfc438b05522bb0", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQExecution.c": "d286b8273faec0acf87366bf53ad2517d5b7d909741e981cdf283cd1f4f50314", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQHunterOperations.c": "b9200b6de3a3a61de94ad720aca94aca64db542acc64ba65e7b8061a5e4884e7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQHypotheses.c": "060796bbbed604f9733d23e131c9836702870c6e25c81cc0b396c885eb06ade2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQJournal.c": "53563ff54fc4e0656713d6eaec5e88ddf69fd4bfa8ef6a67cfa13380d24031e1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQLocalAwareness.c": "124260280ac8eda0e920bfcfc86932c9b21df6b1f7a6aa8acfc43feea3da149f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQLocalHandoff.c": "2dd700dae9d9b232d22ca63ff01af75a3f5cc213ac24b7c0a43ffa38bc0b9ffa", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMemory.c": "ec2047a477fb4273e22ae6bb68e7365f321f55c583b5d2c48c4abf2ac38e3b7d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMineSampler.c": "2a0fdc4d27e947a1d77b02ae23f757c7fa074eb456f817b7df0766583d757f55", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedAmmoSampler.c": "97dfab7381385959b0906be13fa2575253ac43be91a271a5d41edaf4106366ac", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedDispatch.c": "12769b56019e9fa5b8141498a1c33814ba5262253193495e72f85972365961a7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedIntercept.c": "5f45545c11de5e183969203cdf07e29089697ddc89752a9c5aea0fa2a1a33a97", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQNetwork.c": "0b73be993628a55e3b21c8670d540e39c938093dd5cb4d586e800ac530509b25", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQObservation.c": "57ad3f0b68d150791e30a7e4bd7dfedfb1ddd78a1c76f228e67b33ea9cb7144e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQOperationSpeech.c": "6f133c104223ce23262c2927db9e16df0f76f1ee647085114baef1d51417f4f3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQOperations.c": "b83b805c61c3960801d24ae54854ba7aa4dc914ea89e61db365b5ec99f305ae5", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQPursuit.c": "280e91feecc4e5b6d0886fc4201b12117b58c56857d4386b6c4cb963557274bf", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQReport.c": "4c0c1f0e33f621d1e02375cf4f56b0e8c4ba6fd851912d3d16081949bae46158", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQRoadIntercept.c": "f87727aa1c722a180c7b71fa2d896601b6250978a21bd2d1e973501fee81373b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQSquadJudgment.c": "12e9ccc9d42a858a998bd46708fbb04d05d48dcf460303a5ecc1629021051bb4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQStatusSampler.c": "b937eaed913a5095afa8e678dc1c36b5c805541bf8cd5be927069533d6baed1c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQTacticalGround.c": "eba9a9cabdaa80b936aa5e7025544e8b011fb597b96cbdb8d781583c025afbe8", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQTask.c": "29359f52734cbf3400e12696057bbb7aa54466a018fc88c42015b6eb9bb9990c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQWatch.c": "abe634cf6003ae920ec1ed18e305ed462920204960894520d3dd11f7e5ef1c33", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterCloseContact.c": "56f22051566354ccdc61531af4869b62458a30d945e4d21de5aadf7079d2245b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterCombat.c": "df1c319d10efd07ed6f971cf0e41d8d7e377b04ea7f0fe143bf94df733fd1d9c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterCrewRecovery.c": "22e192ca222017d4d7a27210c6e42cf0f128827bca00b37924c9c8d6866b62a4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterGunTeam.c": "0e66d82964ef8eeba29de11d5bb2af954ad72a8090855ac4c1b28fe1e66c0d69", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterOpeningPlan.c": "7791513b8b41f4d2ba1b593b5219d7f6e2bf036e352f8e4eb1a8029fc97ab7c8", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterSarkaRules.c": "8c8c96e2f985f553e303f7e459b73a2a5cd0051951b22aa0ed364bc2ae19e194", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c": "c938b8beb3f72ca1b2a76b48052dee70fe52651593dcdc16b7993a9398bc92e8", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterTactics.c": "274ae619589b85cf64df1510631ab914aa9fe8c50fc2a76e6e8c5aa5a2c8d9ba", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryAmmoAccess.c": "ab4262f78d54782c5ecbf5fff4ebe3da16d72329658d7e18c0c35387dc8b3c7d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryAmmoTransfer.c": "99fa26beb0c0869d0cd694500f3bfc0705c2c1cf674dea90d98fb93a59570ef7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryCombat.c": "5d7a8e579edf95003133ddb6e509202dba56ac9e68385247e1ac0256c1b319ec", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryMineTransfer.c": "02c399413f80879c22b4891e8ec807c67a6235677095fc4b98bafdc360d6944c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryResupply.c": "ca8eee2704e7758172e33014404bb1307c683f19b561b840d4592f6312051e62", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantrySupplyPool.c": "c8e454573cf064ff392291d6feebf1f23be64390b5b8e944c03dd065f9f46b42", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InterceptVehicleFootprint.c": "5dea67d14ebab67231c485e14bc92f34c005a5f1bf6d9c0943db28e9857e958a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_KnownMines.c": "045468a052e485a91da601adcb42b504bb6e4ff13b096bc0666128e50a6aa9c6", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarAimSolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarBattery.c": "157024afc8fd3c1ffeea6ae923ff091e5773b9ffcf5f5864f8040d001e689110", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarCourierTransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarFiring.c": "2606ed8c19d5569815dacd3248f012072bb76834f429ce7557d24d884724f733", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarLogistics.c": "b3624e4a00a2bdef16f6c100bbd79910e3bb8c2ae8ec5fe2ad5aa70bffecd303", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarPrediction.c": "05863b2b4f9f70cdb288f91c722cbea163c13f2a2927dc485482e5bd4fa7d57f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarReadiness.c": "4c3799b3f2681e977669de0cbfaeb307d9a682b04365bfc9f59079e762965758", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarRefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarReportLedger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSalvo.c": "c128850c7a78a4d8fee00ad38f48b265f1fbd1d9b24b092ddc5c205b0f0ad6da", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSpotting.c": "39b3c223ade610ed9f1d73040423339ac65c90b153f30c6f5c42290978c57427", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarStation.c": "cbbd7c86f722b664c85ab7c070ae1131d2ce5c41d1dacb4381bff9c1720a1866", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSupplyTransfer.c": "ad71084f507ad9c32d3055e7ec6844a1ec5ddf568c0216ab8391e902b56e417c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSystem.c": "01bae0bab685e9f0c86c3a8939d18ce6f20dc0b8c1a389d179d91e93008c6957", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedAmmoPickup.c": "5f7ca5b31f3b405c2a6ca32ff91042f5b4dac6ab9640ce67fb10d7a74236ba69", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedAmmoTransfer.c": "0b195784497672fdaf651f336c14f7be98c257f98c85cfbeb4f96fe1a401999b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedMagazineSeed.c": "b42d0aac142907433df8bedc40de24c94813544016cf5f451846f1980250f995", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedResupply.c": "c26ad43705765be1c20eca37fbe2978b8c647151f6620ed37141657a4b7dc312", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAirAssaultProbe.c": "c1d55b338b157b758e6ffb993d5f689029b28b13929797c91e5dcb15b5e561ea", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAirLogisticsProbe.c": "58fe863775d0ad575cb566c78cef696c9826691cf49ef9adde76376be7316db1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAirReconProbe.c": "c1216e0512a0268e4dbb82429e228334401c0c3cac52ba4486ae6dc91e41576d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAircraftControlProbe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAircraftFieldProbe.c": "b64907c7566a894ca2f3c49ede5d972d4087a938da1a0ca87bcbd7c2203b2c52", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAircraftRouteProbe.c": "8d0dca97e5106d1c84b64992c789e1af0689514beefc027e713ca6ab901fc470", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarCourierProbe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarFiringProbe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarSalvoProbe.c": "fb9ccc6b36247ab3ad828ffbb2556abf5c2838d93ea6cd1ad259c0a015142f5e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarStationProbe.c": "a110f0abc753cb1d2f781e457e637dd5346ecd2e924eb5eb3a5c7dca3d1e2340", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarTransferProbe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativePatrolHQProbe.c": "9784b551cbb91f017004fb728ce08b5c36bead0ffc83aa7149c2c46a7c4dc495", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeScoutProbe.c": "41b39b1abe5e51a5b8a428d533cccbfb0dda9d7a570228dc3489408c60543f17", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeTownProbe.c": "28876e65f9f8a7d96d8056f446b61e12e97d9bbf1a5ac0d4c40edee44e6c4a21", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ObjectiveDefence.c": "83ef91c2118521aedb4c1838b2e47909c80e0950086449b98ced168f1fd87080", + "addons/core/Scripts/Game/ERR/10_AI/ERR_OptionalMotorbikes.c": "87cf6544983386d29058a6f892aadbf242a517cfff4ed24348f56a72bcde8cd1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ParkedCarCatalog.c": "1d865c263e910071b127ccd1bdc8b58dd45768c4629194da49705f76995ff0e7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_PlaneFlight.c": "14fa2328e1d31cf59fb89cbb53ba33224be6cfcdd2813525fa9585f8b2e237c7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_PlaneRecon.c": "fe94c29fd9befd3c1bf3ab97b9b27458a8563697d4d46f72df43c6e642f3664e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ReconAirports.c": "7551347d776d6e0eec818d6468cacbca7ac53daee7317e0a1618ca3d39ebc762", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ReconCrewLocks.c": "83b63c21574140208792aaf3d24e3d22b255a078871382122110bb48520d4541", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ReconFlightComponent.c": "1386e2a2d2a635417ca517aa1d8ddd4f657dd415ff59be2465543cd8f601e7a9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_RescueAssets.c": "fca1a4518baf09f0b2c97f3a51995001d9674849417fea9ca1233e8d1f578495", + "addons/core/Scripts/Game/ERR/10_AI/ERR_RescueFlightComponent.c": "60db8029bbfbbb362b5bce61f509740eabea5925b93bc975e7c2b44addcf03f3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_RoadblockMining.c": "47d0212cd20c0b320a47123d17f2b89f7d60b44072a00c69944ada7bb83c4e5a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_Roadblocks.c": "879f78beeb284d1298ec49dbca9624c5f3899ffc6fcd376e748bf55e4347d4bf", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ScoutSystem.c": "63287a252e4e7d5aefce840279f26ce3e1f286cb79cadb32596c37897cec7119", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeech.c": "ca87494ecd355052b46b72e2faf13660e458f3d376285bb0e4c20fd0112ef2e2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeechAudio.c": "4734d614c5366ae3ff57717f514664c9dfdbe4408e16ba36f6b10d807361e313", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeechContext.c": "d2baa94f036f7dde5cf24e004ad1fb9416f249cbf7d0c6c07c5898f7d21751be", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyColumn.c": "bd898aabcac5724d60dbecc4ff5ab6f062c66cf7c735ff59127c588ff94f898e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyService.c": "5393efab9d663382e67b9b27a388063986a4f99c2607328c998f007588074ca4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoySystem.c": "f09aa817c27d6af0ccfb544f4ab1ae2afafb63d626641e03d87cfe159475d821", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyTactics.c": "d2fe073b0c23c877afaa65e246544751eecabce4febd72412fc9a4ec18eb1c8c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupportScenario.c": "151eb6189701e559bd4f1359c91187f5a64deab1f2bacbd521c4f4cf3de6d878", + "addons/core/Scripts/Game/ERR/10_AI/ERR_TownGarrisons.c": "9b48331ff8bf7e5a111b498c59a57a5d0210125af983424535286a4aeda9a18d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_VehicleAlarmPerception.c": "45ac71d25e10a057a26a5b0fc7128935baaf47f4c0f87208a4420fa52086fd98", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelAdminProvider.c": "40adf8497b64cc74b1390149fe5ba789ee2f14e6fb3c325af8f5ffa8c806878e", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelDiscoveryFeedback.c": "741de1dbadfd46c154905a0918aad41386ddc139d843553db55d20d60700c020", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelEvidence.c": "ff436bd3c7aa0fcd5c24e940430c1ffdda934889953f63e877ae418bc9557d26", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelReroll.c": "d8b04de9ea789732cc78ebce9aa60786c86fe46d05f671cf251eefa68a214b59", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelService.c": "2911325c79a7a372628b18ffa0e110d11919ce2c2cd7b19277bfd608fdb03dfc", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_MineIntel.c": "3ce16cebaa9703b2f9803df7c11614f94de6460a9136dab8f80dcad41ae2b1c2", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_AtlasPresentation.c": "f0b36472b16477b8c3b5b62f55cfb2a3b3a08304b0779bc39244359af1abe203", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_NativeAtlasAnimationProbe.c": "845b39276bfdbadd6bfd9b41f445fce1a9d40231d38ef32adc7a6654868e17f2", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_NativeHeldMapProbe.c": "46c0210a3aef40fc34e4c9682d9364b1cc1e15d4373d8aabfeac7d9b8e55c351", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_NativeMapOwnershipProbe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_SharedMapComponent.c": "73298c94ecc8d227452b0eddfcaec7fe9df4748875fa7fafcc52544a43658f36", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_SharedMapPages.c": "2286d327b87f127f052e06c22f553b30ea31d25127b860fc02a220aeb4ce3ea2", + "addons/core/Scripts/Game/ERR/30_Map/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_AdminCommands.c": "282fe1463add7af8771aa58507b254e69d2d06f50274d4c77321db073f8394f0", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeAlarmHearingProbe.c": "5dbb6a48909b76cd141e3a79ef01d2e68cafee55153821c4471f85c761fff94f", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeConvoyCoverProbe.c": "d2450140cf9bdf09210473234605b4c0d818ea5b91f9532209166a35c5d13701", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeConvoyProbe.c": "87df652b339df4fe4239617752ac5fd9f47aa4396ba94742a0af39a32b54e784", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeCrashGeometryProbe.c": "7867ce1794aa0d1bbab72c32f60f5bd0c2bad4f5ff6224978c215e7828840178", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeCrashStartProbe.c": "957f40e36bfc025b8bc752b1f41dc177c8d0844c69ee5994321a47cf3ddea1ad", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeHQBodyProbe.c": "811244cc8297817efbfc3ee4edf01c868eae23c88127ba0c72e98ee7422da72f", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeHQMemoryProbe.c": "9bcd0b2e1007d40cb794aabe80368a2584ae58aad6a3ebbee070efc7b21a8147", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeHQResponseProof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeInfantryTransferProbe.c": "9b2de4dc22bdadd51b0271219a971dc8dc07f70ed3534f306acf03ed81b29424", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeLocalHandoffProbe.c": "0d4d61c424a16008595f86fa61f3b848caf9bd6e9ebbacea9c10254d88ba378e", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMaintenanceProbe.c": "852b9b397efc3f919c97fec63bc3df1a850cd7833421af8441994afd191951d4", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedAmmoProbe.c": "7ddb634444c79ad9291d53a754dc0ed383342e36720ddaa4b7aa4bd4e7ee656d", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedCourierProbe.c": "12710e9e5548fe8856f7a52f3566338369a8a1eedf0bd92af16229271872ada5", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedInterceptProbe.c": "34b0b1e38a59f14c4e83d93ec412779945388e6f4d697bda2f6cb90f519a6372", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedSwapProbe.c": "a6721fcaaccadf8eddb06687c7d587d0a3e377d5d1bb0b8e72e630fede8690ac", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeRadioProbe.c": "a4bd5cd9fe0594e05238b2d6dcd80466773f8fa160dc60bbe1eda70e3acdbe79", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeRandomRadiusTrace.c": "7e946406067092e30b6b75cc6ef0c56db7f866249e02bd13648156933ee578d9", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeSmoke.c": "4dfb218419db4cd7a46d25cb1f2e578e75ad89efc43f99c6ca8ab8e591e139d7", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeSupplyConvoyProbe.c": "89c2696071912500840f4bb91d754f695bf674335b51a7ee1d03727084fd4869", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeSupplyTravelProbe.c": "32e6074e912491f2643a24cb44311b9fe5b069c76e4e94a45e7409ac82d36507", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_OrdinaryScenarioLaunchChat.c": "a747af09599ce4d0c52051f18f00c4624d24d137e328341b580b82e896c6bf65", + "addons/core/Scripts/Game/Editor/Components/EditableEntity/RHS_CAS_EditableEntityComponent.c": "3788cbdc39c3da4f6564b73b7f49848077ad4504b6c28a1984c424247d1c6678", + "addons/core/Scripts/Game/Vehicle/RHS_DestructionTireComponent.c": "9b3de0966d7b8184bb70a14df2a448e06f34ca9db09b46da07277cb92ab7f8b2", + "addons/core/Scripts/GameLib/ERR/00_Core/ERR_DiagnosticNoSplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5", + "addons/core/Scripts/WorkbenchGame/ERR/00_Core/ERR_BuildAtlasModel.c": "f6cb5e6f5afc9bb60a8a46d96b52c7506882faf0a880e0b20a01a2603b336d2c", + "addons/core/Scripts/WorkbenchGame/ERR/00_Core/ERR_ValidateBaseWorldPlugin.c": "49a38c37b51e5318c7dcbcb01543dd9a6300d053f0d39808b3974f4edc45b871", + "addons/core/Scripts/WorkbenchGame/ERR/40_Chat/ERR_ValidateWorldPlugin.c": "d1f3fc372d0d16062a5983f2a6cffb6e72f202cb93fea5b33b4d77e0c852ecc7", + "addons/core/Sounds/ERR/Speech/radio_01.acp": "cf63378bf3950f5e6c1c1f46c057ad38a371b14b945b1201777820384805c3af", + "addons/core/Sounds/ERR/Speech/radio_01.acp.meta": "d5966526f35aa64dc980238f72f4f93f9d0e6a360f10e3f6538e97b7d086aa47", + "addons/core/Sounds/ERR/Speech/radio_01.wav": "cfe4a00000bc9b629a9e8e282ed64e7177673f829c5657b1ae2b2cb9e661d2ae", + "addons/core/Sounds/ERR/Speech/radio_01.wav.meta": "eaf33fa344fccf9aacab626117d03b96b135fa819d3e63ae300fac544291b571", + "addons/core/Sounds/ERR/Speech/radio_02.acp": "9111d118594094a8e09acdf80d8b107cc7d5d890b6ab086274e0e1004039e345", + "addons/core/Sounds/ERR/Speech/radio_02.acp.meta": "76b55d9abf7f599c5db3269a5829546a6d5f92e6350b2fe987245f9cd6b599fb", + "addons/core/Sounds/ERR/Speech/radio_02.wav": "6f0c94ae0e501afe6cc1aba804ba6a0403ba4de931debc28bf22970f591d0798", + "addons/core/Sounds/ERR/Speech/radio_02.wav.meta": "06ec85166aa4c54a6fafa1fa2eb2cc32f4a36dc8eecde8f9ba9912229e5e00e0", + "addons/core/Sounds/ERR/Speech/radio_03.acp": "019f939d65396f4a334a024bbf53c41479a9f8ce806610945af2be13e7352c70", + "addons/core/Sounds/ERR/Speech/radio_03.acp.meta": "8aa2f4f26f04bc3085ae046f543c047cdadf9af9e06a38920f1e1fd8a3aa02fe", + "addons/core/Sounds/ERR/Speech/radio_03.wav": "415a206bd1de167342cf1b82d59c708441b8d802395f941d15097c064133802a", + "addons/core/Sounds/ERR/Speech/radio_03.wav.meta": "de1d81fb653146404de5b6a6018c1cd73e902571b82d544de5b6cfccf21f5410", + "addons/core/Sounds/ERR/Speech/radio_04.acp": "77bcff7cc7ce49036a440e829fb4eab1dbe5252b0fc9ea24c42e6f6b68e2698e", + "addons/core/Sounds/ERR/Speech/radio_04.acp.meta": "dd61ee2545776cf23403240424470661c737048d01432d90b24f2c9e75f45d82", + "addons/core/Sounds/ERR/Speech/radio_04.wav": "a225810c7fba048517248fd9f7e9f7ab8aad5bac35e59f22e11e69166551f7f3", + "addons/core/Sounds/ERR/Speech/radio_04.wav.meta": "0ae046e2ac7f9653661ba99646d40dd78d52f113ea6554e1dbfd6e578572a4f4", + "addons/core/Sounds/ERR/Speech/radio_05.acp": "7dbc2b3b3d251eb8d3e749b0a7f32186b0421a95fa5585be493cf04b45510e3d", + "addons/core/Sounds/ERR/Speech/radio_05.acp.meta": "cbf3b48ed3865e30ba5d838d96ec4f1ee950cdcd51368f7a9259460e4b78cc1b", + "addons/core/Sounds/ERR/Speech/radio_05.wav": "90f5abe221165ac5cd7d88c9b3e01cf6fd4d00b594c84d09c6baf101fdb776ad", + "addons/core/Sounds/ERR/Speech/radio_05.wav.meta": "d8e3de0e1ae8670a01bcc272a1adf4199ffcea514ce024ee3286820dedab4d83", + "addons/core/Sounds/ERR/Speech/radio_06.acp": "e14da41c1cd186f35a4f385fab71ad85ad6fe718e67299a65466339ae23a2922", + "addons/core/Sounds/ERR/Speech/radio_06.acp.meta": "efc810a60e93453942adba476b423121f2a7dc1133b25d8764c1bec546a3949b", + "addons/core/Sounds/ERR/Speech/radio_06.wav": "b3f86b8dde535bc1a63301376c8d42775446d1b6117168557841565391fe0a14", + "addons/core/Sounds/ERR/Speech/radio_06.wav.meta": "07f53131f4ad153cc09051ba1de07f7b43d38f69781aad24371c4eeb331b280b", + "addons/core/Sounds/ERR/Speech/radio_07.acp": "bf3a48af07ad6e5da2ca6ed6c581fc6232e1bd62ebb905b934188366f2bc3d77", + "addons/core/Sounds/ERR/Speech/radio_07.acp.meta": "60aab59223c0ea734f7c1e88f803de30164ccef1a909730abed3eb76b3378ca2", + "addons/core/Sounds/ERR/Speech/radio_07.wav": "f3fd18ddaebe9eb3d0db9ac73c89a7b7a7f18b76e4b66d404d544be660a6825e", + "addons/core/Sounds/ERR/Speech/radio_07.wav.meta": "ef6c72aa32c1c46f7133782536744bdaf4eee03bcdb75aecb87accef6d1c4f2d", + "addons/core/Sounds/ERR/Speech/radio_08.acp": "a82c5dbcd7094085324d93d539c6f829c53dcf3781f40b8d65a10b7cb4125bae", + "addons/core/Sounds/ERR/Speech/radio_08.acp.meta": "69fb3400109e19d4f4d0fb371d056edbecc0a96a0a923174d1aba95dfeac1014", + "addons/core/Sounds/ERR/Speech/radio_08.wav": "ce3c2aff20dbea83aa6545a383c454969c5caeb53d5a88155ec182f789047d4a", + "addons/core/Sounds/ERR/Speech/radio_08.wav.meta": "72c5e117ab7b605b8370fe90923edee73593df6071c39b86556731387814a014", + "addons/core/Sounds/ERR/Speech/radio_09.acp": "73725377def1832742c7620fec46dc0100400d92b9cb79add8b4d44e94c46c0a", + "addons/core/Sounds/ERR/Speech/radio_09.acp.meta": "95456fe20def274a1972867024e9d0eb572f3878eae19c63522fcefe401dcb07", + "addons/core/Sounds/ERR/Speech/radio_09.wav": "3eb0be6393c431b526dbddc723cb608a7681a2dcd8af6910d9f2234aa98c923c", + "addons/core/Sounds/ERR/Speech/radio_09.wav.meta": "724dd301d1b25e41318503a815e87b54e7283735c51fd122af55c070f26adb37", + "addons/core/Sounds/ERR/Speech/radio_10.acp": "f976a0fecf73b3379ffb9728e96c68ca79800712919320e7ff7f3484cd2c9724", + "addons/core/Sounds/ERR/Speech/radio_10.acp.meta": "5411a9ffa23e42c8a2e8d4eba75d6e87631bcf542128327dfefd603a64d5b6ec", + "addons/core/Sounds/ERR/Speech/radio_10.wav": "2b2dac499a45a7779e79465d628a67b87078c0951db7db3e051feeb4342f2816", + "addons/core/Sounds/ERR/Speech/radio_10.wav.meta": "c3ac10a092dcb26ec637be6c9264a85eae1b6da55b9d8b44a14766a70ddf2933", + "addons/core/Sounds/ERR/Speech/soldier_1001.acp": "1af0d303063f37811a9b1a25424d887fe5eed4b5c57da71cf36ba6985f8cf002", + "addons/core/Sounds/ERR/Speech/soldier_1001.acp.meta": "2fbdda4d9fa83c6945985bd2f2215aa9f745b3a18adb0e7edafac1b01c161ba5", + "addons/core/Sounds/ERR/Speech/soldier_1001.wav": "a8935a5aded028f2fb03734f4423e731ea4f5b17394526df47c0407a3deddfe7", + "addons/core/Sounds/ERR/Speech/soldier_1001.wav.meta": "aff7a92a727d8bd4df033be2961fb85cafdc5c45fd272c5ea718bc07fb8e5cce", + "addons/core/Sounds/ERR/Speech/soldier_1002.acp": "1444636949683a430efe20a7f296e85e669cb8e26799c326f73a00c4f8d32fa5", + "addons/core/Sounds/ERR/Speech/soldier_1002.acp.meta": "d8eb34135a3b76f0a4f889f9662d954b3b0b3638c10c0732e25ca29d7b2ef412", + "addons/core/Sounds/ERR/Speech/soldier_1002.wav": "8535643e93757dd916f4158b5b03671cefc599489dbccf6bb0f7abf294fbae88", + "addons/core/Sounds/ERR/Speech/soldier_1002.wav.meta": "e8c8813e5a1989a0d7e4d2a5c90622c4b0f909aafb929f4737c82e5710220d1f", + "addons/core/Sounds/ERR/Speech/soldier_1003.acp": "5ab123f150debd6fda0b822fee7ffca5a0bdc168f4d8d2e28b3982972db05613", + "addons/core/Sounds/ERR/Speech/soldier_1003.acp.meta": "f89fa8e7ac42e7f675d29f0b241d181df572413c6c41bf31cfb98fa205baa87e", + "addons/core/Sounds/ERR/Speech/soldier_1003.wav": "5910896661ad67333d2374a16ca44ce831a5820feb337655df99c02df2915d5a", + "addons/core/Sounds/ERR/Speech/soldier_1003.wav.meta": "5281a71be599a70aeb9972ea85364e5ef32f824db94c71953d8a1912fb2a27c2", + "addons/core/Sounds/ERR/Speech/soldier_1004.acp": "10ac847b206834168e63d8d0f7ad25d7542a58a49d331af50aecf13e7e070ac9", + "addons/core/Sounds/ERR/Speech/soldier_1004.acp.meta": "8c073328d3f5f06ca583d97e9ce2453d8167ec7bc5643ab90783748a4cd9b6bf", + "addons/core/Sounds/ERR/Speech/soldier_1004.wav": "76375e462ba518c76f752d4b194c9370dffcebd8ce0037865133b37af3ff9a9e", + "addons/core/Sounds/ERR/Speech/soldier_1004.wav.meta": "563aae8d93efeaa7ca098c12bf0004da279321607793bb32a93b2530d6832d06", + "addons/core/Sounds/ERR/Speech/soldier_1005.acp": "ea3d874f84dd85f09871444c348b1c7f4948fc043c59cba4d3aea8b8eaa8b86e", + "addons/core/Sounds/ERR/Speech/soldier_1005.acp.meta": "40cbfddfa9937e319d412f3ecb66b75e2c1c88f2823a64e43a81a2939fb9021a", + "addons/core/Sounds/ERR/Speech/soldier_1005.wav": "3e20728fb61863278738f5366343cddd6fac1b8b114a14867f91ebb5cac547d8", + "addons/core/Sounds/ERR/Speech/soldier_1005.wav.meta": "e330fc819872b0a97a280a42d936ff75e30d21ea3ac96891988b48ded36af7b0", + "addons/core/Sounds/ERR/Speech/soldier_1100.acp": "86dc8e90d826947672342f44a6ff8d2fd4a8f014db0b215c0865b3728b14ea88", + "addons/core/Sounds/ERR/Speech/soldier_1100.acp.meta": "1a41730365335ebfabf6c75ab1c67ecb1d0d6c85db56d1d85f688a780a3ecf15", + "addons/core/Sounds/ERR/Speech/soldier_1100.wav": "eaf1deb5381f6bac165e364a652920fcf78438c351c564ebe50a216f3f3ba5a0", + "addons/core/Sounds/ERR/Speech/soldier_1100.wav.meta": "dcd087d3e0bec53abdd4e42218a3bbb234b7ae3cd2da05dcee71a298632a8da9", + "addons/core/Sounds/ERR/Speech/soldier_1101.acp": "2680131b5364efe39f3dee44ce1605dbc9e064cea9baf8247a8c5b55dcfa8d99", + "addons/core/Sounds/ERR/Speech/soldier_1101.acp.meta": "4feaa2b8e069ee2e9576d4009329f585b1b5ade9e47816882b78075f4897646f", + "addons/core/Sounds/ERR/Speech/soldier_1101.wav": "4bca012ec25d8456cd38d26606312f54b480b674365b76a9c9f54e408314570b", + "addons/core/Sounds/ERR/Speech/soldier_1101.wav.meta": "6ac6bd7a06be3fa35c513137b4584e405c0cd7e32d0c6912f2d7f9b5a3087d36", + "addons/core/Sounds/ERR/Speech/soldier_1102.acp": "08002dc26a4c07d6bf488d5f7c8c6587787c1755ce374b4053dad582eb2d77cb", + "addons/core/Sounds/ERR/Speech/soldier_1102.acp.meta": "2133e516f162d6aaa7f0d3a191421964ca6df7b00d0a50fa42ffaba70864bef4", + "addons/core/Sounds/ERR/Speech/soldier_1102.wav": "1432bb3c9d99910314a84d9773d2afafe4f5fbb143afb291b0deed55d25ee6d0", + "addons/core/Sounds/ERR/Speech/soldier_1102.wav.meta": "a6ca33938733e22789434db35ca2cdfb0fc4c51716feadf4a28a60ee9d1044b2", + "addons/core/Sounds/ERR/Speech/soldier_1103.acp": "c93e1e75c272d31107fde86205b859cf505e2acf7d8776fbd81357bc8b3625b9", + "addons/core/Sounds/ERR/Speech/soldier_1103.acp.meta": "f3d41ab27e932b10d46c3a2aa63f826825403a70640381a089db608c1c00a257", + "addons/core/Sounds/ERR/Speech/soldier_1103.wav": "c294454907a229d521c2285eec26dbb82f9782f2a7eca764e11713ff63f0e004", + "addons/core/Sounds/ERR/Speech/soldier_1103.wav.meta": "968d93e9dee2104aee94407604d021d8849a83dc3d115484088e81289654c246", + "addons/core/Sounds/ERR/Speech/soldier_1104.acp": "cb94ed3c95670f11f78f6470f1f50492fff6d2f0ac94602d054d474d52400cec", + "addons/core/Sounds/ERR/Speech/soldier_1104.acp.meta": "92d43bf610784953d8d94322b73ae235f7a8aeb83ece72733d795c8034275052", + "addons/core/Sounds/ERR/Speech/soldier_1104.wav": "952b3d71366c26fc12bdbb9014665bfc0402f30944c22b1b2369d26a93db7104", + "addons/core/Sounds/ERR/Speech/soldier_1104.wav.meta": "939562214b39250feaa8f6f6c6bd10c3d4e0b4c529f338490a2dc234919c0d31", + "addons/core/Sounds/ERR/Speech/soldier_1105.acp": "62c5d3d230a8a15cf2a4de193620ccdf83ca9973b550ace4e8edf7cc49f52851", + "addons/core/Sounds/ERR/Speech/soldier_1105.acp.meta": "6774063562b9c83975bc394dd3c72aa2a0d8001d0990ab8ff870ae2876889f93", + "addons/core/Sounds/ERR/Speech/soldier_1105.wav": "20e9e82d9897b598497da4722432f83ae03a5e6bf9a1f7a77caab712e3fc3130", + "addons/core/Sounds/ERR/Speech/soldier_1105.wav.meta": "6f21652352edbd59d1244ce9c2dcd1ad4ab65f022222381d9709c28148121c42", + "addons/core/Sounds/ERR/Speech/soldier_1200.acp": "c27db60629a41145697e041224cc2dde21c72d6a883fa305c71ec9c5b86bd84e", + "addons/core/Sounds/ERR/Speech/soldier_1200.acp.meta": "ea228ec869a7a0266f5604266f68c4166abc6cfeaa29180cb3b4351464b71079", + "addons/core/Sounds/ERR/Speech/soldier_1200.wav": "5a1561e821ef33a574c1f9ef95ccf76e69b832bf0a20bcbbf914760345921859", + "addons/core/Sounds/ERR/Speech/soldier_1200.wav.meta": "ccf3b62fd2eea460d576fa68863a901eb0025f47b1b76729a4289162d0dfa0c8", + "addons/core/Sounds/ERR/Speech/soldier_1201.acp": "45f220c5b6bac64db61eebcf54bb52da572f9f8f1ea0872c5af9fd3238c25a4e", + "addons/core/Sounds/ERR/Speech/soldier_1201.acp.meta": "3be417d66b05e11e0b520af136dfc45c86c17d5e35b56a611efbcf38e0d35003", + "addons/core/Sounds/ERR/Speech/soldier_1201.wav": "f058f0482cfe4034fdf37d9b596f7ba8172fae1c57aeb387ce153f8041895e45", + "addons/core/Sounds/ERR/Speech/soldier_1201.wav.meta": "abaebe719eff7e009eb4d0222060280877451126c02154706df6d13e4c5d3e11", + "addons/core/Sounds/ERR/Speech/soldier_1202.acp": "c08625886d8c6dc405cf96c640c9dafd4510ba5cef2c22b037c8c7b3eb5bea39", + "addons/core/Sounds/ERR/Speech/soldier_1202.acp.meta": "cf345e968edad1b825dd33b87267b63f770c169250f8c51195bffc3161d396bd", + "addons/core/Sounds/ERR/Speech/soldier_1202.wav": "c875f4e798ff5e24c3eb3b48bdfa1b8af03de9326a19c671eca86660297ad737", + "addons/core/Sounds/ERR/Speech/soldier_1202.wav.meta": "dd2d6411abe914bce71c6688a1647c2699303ca248191ec01c6325b366e5d7fb", + "addons/core/Sounds/ERR/Speech/soldier_1203.acp": "f0237a51ffe0e7d463154d321117a9b19c6914f6ee680ebf07a0ff9ab51fc340", + "addons/core/Sounds/ERR/Speech/soldier_1203.acp.meta": "0e93332191ac74be950ce8139b96ed6fdfe3ddbe68de8949826dc801d12c97f2", + "addons/core/Sounds/ERR/Speech/soldier_1203.wav": "6e7857dc96dfb556f011ba89f2f4ea659cfd7b605b88790c69e754d5cc51398a", + "addons/core/Sounds/ERR/Speech/soldier_1203.wav.meta": "0f564169dc05a95f7b01f64f72bdabf6de9ed3f37a2f44b4751f89b38eb18cd8", + "addons/core/Sounds/ERR/Speech/soldier_1204.acp": "94dbf98b5e05f1ebf6960495032c46203caaa4440dfb1ffd3beda2679fe6bec5", + "addons/core/Sounds/ERR/Speech/soldier_1204.acp.meta": "7cc8c61f4bb210c0576fac350d170f8f54a6e55531db6102c1a0fa7cb7a8a809", + "addons/core/Sounds/ERR/Speech/soldier_1204.wav": "bd170ca015b017114e42078dcc5c49d5626aef17d22e4a12b8282e9ee4908ae6", + "addons/core/Sounds/ERR/Speech/soldier_1204.wav.meta": "1c6ddb11c22a14d9d498074e2fb2864783f91afc552c4cd671452fa8df483de0", + "addons/core/Sounds/ERR/Speech/soldier_1205.acp": "47180a3445a265335d682eac6fa51fedca51d76f329adc39b1802092b311118b", + "addons/core/Sounds/ERR/Speech/soldier_1205.acp.meta": "c34346f4b10149b426ebb4e94db8c29883c9d0e36f2b42d07d41570eb8932554", + "addons/core/Sounds/ERR/Speech/soldier_1205.wav": "769c457805376e9c0172ddb525ead5f1d8774e15bd1f3f3b218a19f9d77b6883", + "addons/core/Sounds/ERR/Speech/soldier_1205.wav.meta": "31a2a7314b44afb3f0031376b2ad6df22649e8089bf1a3bbeb64cdc41156cff7", + "addons/core/Sounds/ERR/Speech/soldier_clear.acp": "f33f03f3d24182a95db7d02058f2dd6ae52098e3b5142a33ede833ee881d54ed", + "addons/core/Sounds/ERR/Speech/soldier_clear.acp.meta": "7d3643c9de2d81ab0f1b4898e781341c1962bd8505c20882233ef7c40159b23b", + "addons/core/Sounds/ERR/Speech/soldier_clear.wav": "d6527b8136aa720b721463210420f47de0dbc45acc4e4c390b6a44968c5f0acd", + "addons/core/Sounds/ERR/Speech/soldier_clear.wav.meta": "d9f9a921a85fe275c6cce649421a19946ff6aec49559796725c3858d9fe9b261", + "addons/core/Sounds/ERR/Speech/soldier_covering.acp": "7d4109edbd6c20f9e2af0b394fa12e8b3b40fc18bf2b5ac118beebb1fa4a79b1", + "addons/core/Sounds/ERR/Speech/soldier_covering.acp.meta": "320908bf7decea55b8d8b4a89b30e84e7d96a033d4a9cd1bd84912dce013f0d8", + "addons/core/Sounds/ERR/Speech/soldier_covering.wav": "f51e0086eaf0eece8b4061711088a413a2dbeae263deab7ea30fb1852dafda69", + "addons/core/Sounds/ERR/Speech/soldier_covering.wav.meta": "7bdf2d2c5f9cf741bae523e1ab0b9acc99b38ccd1228ebfbcba92f2b9a5cba9d", + "addons/core/Sounds/ERR/Speech/soldier_engaging.acp": "9f052e87edaf182030edb656821621cdeabbf13d65bc181308357530c9d93a74", + "addons/core/Sounds/ERR/Speech/soldier_engaging.acp.meta": "9e487fa3746c46b2993f1dfd1f0513f375571728704533674bee62586e25b72b", + "addons/core/Sounds/ERR/Speech/soldier_engaging.wav": "ac0f2d7d698732e3d7c270186e7aa2ab7e6bd4c908f36b07fb6f66a3cbe75ccf", + "addons/core/Sounds/ERR/Speech/soldier_engaging.wav.meta": "d571b9ebce196cc209078a83e4bde8f6a5f4b6d28c2945e2b47953ccb6889e97", + "addons/core/Sounds/ERR/Speech/soldier_moving.acp": "05503ca7af13a7ad03ed2a3aa562cc58504fdfff3148477f8d81b5a01abdf37c", + "addons/core/Sounds/ERR/Speech/soldier_moving.acp.meta": "a2474c87e4e1587226919dfdbd03739d938803d34f4a4f441889b0d8015513bd", + "addons/core/Sounds/ERR/Speech/soldier_moving.wav": "a61dda64e6fc2a11eac3e6008ee14b89f360bd67e258dce1191a71d9e2e26fad", + "addons/core/Sounds/ERR/Speech/soldier_moving.wav.meta": "bd87cd72ccb819584f9da09fb0d6973ffd6eb0bb5572c562978500e2af467217", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.acp": "c821c61afb2ddc12d3ecdb552a66d2a9ff89a5258a567ff2a99fed4f45a33520", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.acp.meta": "65a27b81a5b437163befd4dc566785a9dda4def1798495ca53c8f768a5d7a73f", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.wav": "ffe6ef5fdf30411749e0cb73186e3005b1ce6a52fcb7c836caeb1bca422ed3ed", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.wav.meta": "25b5680fd2a313c18e15ce6e0d3f709d78352b93206c22c7881be19b81faddd5", + "addons/core/Sounds/ERR/Speech/soldier_reloading.acp": "51c5cb464bab6637cf9e3b1880a010e05774d76a92298daf40b1d84970845be7", + "addons/core/Sounds/ERR/Speech/soldier_reloading.acp.meta": "ca351e809b1ba7c69b066d2c1d0a5d2afdcaa833c1163e6d13a0396437e98cf6", + "addons/core/Sounds/ERR/Speech/soldier_reloading.wav": "15b2749f79bc73fd0784bcd6e6076e1bc50da835e0c434cd43bd185d0735c732", + "addons/core/Sounds/ERR/Speech/soldier_reloading.wav.meta": "161c9ebee1d0496c7aa9501d00eba646094bf1ce89cda4efde6e3a0229a49e4f", + "addons/core/Sounds/ERR/Speech/soldier_target_down.acp": "77acc89c4ef0b912b969a2e5f6c41e071e04d10cfe89666fbc1296878dab62bf", + "addons/core/Sounds/ERR/Speech/soldier_target_down.acp.meta": "fe456d354ace93b0f2261de483e86ccc92991011b1738c5703d6d7bc0daa49a6", + "addons/core/Sounds/ERR/Speech/soldier_target_down.wav": "e2e60e8b83a24a548c90b84c5e1137adb7e792cf1d4ba6232ddfb1012fa78892", + "addons/core/Sounds/ERR/Speech/soldier_target_down.wav.meta": "064588b86589ac9437fbccafedeefae04bec3331dd8a229d1c6d27b5e524a9e9", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.acp": "5ffd3ff57550296274e9e93fb64efdf2fb06a51161d6deb221c1f3eb408d1459", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.acp.meta": "366a3c9e20f27c0f73bdff5827576df8924e99241061f933e72bd342e5bc7119", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.wav": "bbcf454d48adea47478d410b1baf14df3a5d018237272e70ae33ee62823f822f", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.wav.meta": "d1ac64242280521a7e40de51ae32a007878d7801401020e7a074a48e0f8ce62e", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.acp": "5af1c949d4662c2f33320165d2efdbd69cb183af1101aa246fe538bf0d91a33e", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.acp.meta": "aa7799e8a790539166a1d3a9c691416e7b2f6589d1674f5cf4b3e47523f15259", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.wav": "e4bd5e69fda289593fc6e6b8c2fae9a271a10d0a9bae877f18ba02dbbf75d1fc", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.wav.meta": "25a988c31e4fc3ae6540920df3d4548307a4a1e3b96b1303e9b7bdb4ac5eea27", + "addons/core/Sounds/ERR/Speech/welcome.acp": "f8a7b6cdd08b57b4b227a2d5b480a6c76857d7fc8ace3434478aec01c0de5a83", + "addons/core/Sounds/ERR/Speech/welcome.acp.meta": "d3ac98b02c0725d347b30d0ac7586cb22904d46b65a145e4a1131222484a6929", + "addons/core/Sounds/ERR/Speech/welcome.wav": "01de068469bd6746dba7634fb6b5b85b150621d3359c17fd01bcb916b34b1720", + "addons/core/Sounds/ERR/Speech/welcome.wav.meta": "bf33edad44bbb04df852501154f08a9a9900ce503248abc698127a51e9eec934", + "addons/core/UI/Textures/ERR/SiteMarkers.edds": "611ec6c68c2456c2af017c47135134d73122461017b315f64ed7ca9891f20c21", + "addons/core/UI/Textures/ERR/SiteMarkers.edds.meta": "90f40b38e52a79951b72da2960e30887d5ee8bbcefbada0c0ac950c1bfcf847f", + "addons/core/UI/Textures/ERR/SiteMarkers.imageset": "3f947d03b3492ada541032539cdb3f34a03d68ae83c0ef8796dc7fd091b5911d", + "addons/core/UI/Textures/ERR/SiteMarkers.imageset.meta": "1dc5285abd0062af288fb40b2f22b5b7c3925cf7270a096862335db250ac1453", + "addons/core/UI/Textures/ERR/SiteMarkers.png": "76b472982234bd27050a9430e6a53f4c14fa38f7388db3706ebef506eab4e660", + "addons/core/UI/layouts/ERR/AdminMenu.layout": "7d93d1d6b845e41b2c56dcfed201008682ac1d05b1df896601465bdef713c1ab", + "addons/core/UI/layouts/ERR/AdminMenu.layout.meta": "9deeece996f43b1f1fed6b5ec89279645c7b6424250200a42580cc088142e9bf", + "addons/core/UI/layouts/ERR/AdminValue.layout": "cd811af6d2fb187f01c74e20ea07ad85669546b0ad70efae2ce52921ce26cbca", + "addons/core/UI/layouts/ERR/AdminValue.layout.meta": "56b3d2335db400c1308e07c4a35d278b23ef32013dfd6dc82951866327428d08", + "addons/core/UI/layouts/ERR/ContentRow.layout": "7bf19d12b1b5e2c165f8671e92ae9227b54b4d1e551de94fa67bd54d3a66fddb", + "addons/core/UI/layouts/ERR/ContentRow.layout.meta": "8c4bc13b41e7aee38e0ca640a97813ed1a6964a00e2cff9e1fe4ebd71fc2fdc6", + "addons/core/UI/layouts/ERR/ItemRow.layout": "3c7ae3acdf2fad0ba661a1152ea319392668d774adc09a2a8b61e9a0319db312", + "addons/core/UI/layouts/ERR/ItemRow.layout.meta": "33eaef9c403ea3a030e58ec17f78e46af457048243571ad5856fff04101fb60b", + "addons/core/UI/layouts/ERR/ItemWeightRow.layout": "dfa6b87420efc683cb278178553350daa7753004d64672741a3dc13b4316810d", + "addons/core/UI/layouts/ERR/ItemWeightRow.layout.meta": "eb4b28587abdf6100092fd6eee1695663fa6e1548d5e53017173c4a5f7320240", + "addons/core/UI/layouts/ERR/PauseModsButton.layout": "d21d436291e2c1b262e33dc228b0d60a1d188dc9e85cfda6d2373f8281431b79", + "addons/core/UI/layouts/ERR/PauseModsButton.layout.meta": "9ed6adabd8f53eb9a562d7186789876bba5c4202155ca894c1af866ca47354f3", + "addons/core/UI/layouts/ERR/PreparationFailure.layout": "b7c4a2e6aa2be0992b478bb4f969f80355753573fffbc15be44670f3b136ea2e", + "addons/core/UI/layouts/ERR/PreparationFailure.layout.meta": "17ca2c9a12f691680883cec368ff06f511c996e5da5c25498f5f0955887867b0", + "addons/core/UI/layouts/ERR/PreparationStatus.layout": "ec3369f4030e593d34043e70a311b0963606cf024cb452648671556f25f5b52a", + "addons/core/UI/layouts/ERR/PreparationStatus.layout.meta": "75b12176a443bb911fc4ad446982d762201fda42ed38736b79bc5439fca31ccc", + "addons/core/UI/layouts/ERR/RoundResults.layout": "8550ebc009024f619827a43fd766aff8b7fbf8bc87ef7593db0fd7f4d778c615", + "addons/core/UI/layouts/ERR/RoundResults.layout.meta": "7509e050b3910ee5730dd25c60aacf405110e943f4ab46e3fc2186b3b15a3cf9", + "addons/core/UI/layouts/ERRMap/ObjectiveMapElement.layout": "82d9ae77f076f945583791dfa0b01f1c925e6ff8aaebcf382fd56089fe61a115", + "addons/core/UI/layouts/ERRMap/ObjectiveMapElement.layout.meta": "8691fe2eaf46568bca4a9f8128b247a8da810bb87a5546aa7ca3334e740270d6", + "addons/core/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "aef5d565301046ae902033ec4eb4799ff1bdd9a37bc507898781d8790f04fc2a", + "addons/core/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "6bcb7fbb27b6282719dae8a37486e518d4cbaea385f2ea9af1918b36bb28b175", + "addons/core/addon.gproj": "6ccf0d3a2817a5f865e605d5abe89bd794e7c8654f2dd005d0f496f05d91e76a" +} diff --git a/docs/evidence/vehicle-roles-2026-11-06/menu-run/launch-source.json b/docs/evidence/vehicle-roles-2026-11-06/menu-run/launch-source.json new file mode 100644 index 00000000..56b3a690 --- /dev/null +++ b/docs/evidence/vehicle-roles-2026-11-06/menu-run/launch-source.json @@ -0,0 +1,45 @@ +{ + "schema_version": 1, + "launch_id": "ba46c998-b0f0-4a65-8c21-5354f5e52011", + "captured_unix": 1793973961.9731007, + "source_root": "/home/jakub/devel/escapistsrereintroduced/.local/vehicle-roles/source6", + "command": [ + "gamescope", + "--backend", + "headless", + "-W", + "1920", + "-H", + "1080", + "-w", + "1920", + "-h", + "1080", + "-r", + "30", + "--", + "/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton", + "run", + "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe", + "-gproj", + "Z:/home/jakub/devel/escapistsrereintroduced/.local/vehicle-roles/source6/addons/core/addon.gproj", + "-addonsDir", + "Z:/home/jakub/devel/escapistsrereintroduced/.local/vehicle-roles/source6/addons", + "-profile", + "Z:/home/jakub/devel/escapistsrereintroduced/.local/vehicle-roles/native6", + "-logconsole", + "-wbModule=WorldEditor", + "-load", + "Worlds/ERR_Everon.ent", + "-plugin=ERR_ValidateWorldPlugin", + "-errPlay", + "1", + "-errSmoke", + "0", + "-errSmokeOutcome", + "normal-escape-route", + "-noThrow", + "-disableCrashReporter" + ], + "manifest_sha256": "f30e51a757ed2e353f52aa84ed84726274c7a6c46033150809ee905dbce9448f" +} diff --git a/docs/evidence/vehicle-roles-2026-11-06/menu-run/result.log b/docs/evidence/vehicle-roles-2026-11-06/menu-run/result.log new file mode 100644 index 00000000..1ba37188 --- /dev/null +++ b/docs/evidence/vehicle-roles-2026-11-06/menu-run/result.log @@ -0,0 +1,56 @@ +Test audio routed to silent output and muted (stream 54659) +Test audio routed to silent output and muted (stream 54694) +{ + "stopped_unix": 1793974091.837287, + "console_sha256": "ed0333b272f66f50dfe2e05119cecfdd859632db9975e8acbfa21717fff1d71a", + "end_source_sha256": "f30e51a757ed2e353f52aa84ed84726274c7a6c46033150809ee905dbce9448f", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "ba46c998-b0f0-4a65-8c21-5354f5e52011", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "f30e51a757ed2e353f52aa84ed84726274c7a6c46033150809ee905dbce9448f", + "external_addons_unchanged_after_run": true, + "external_addon_count": 7, + "external_addon_inputs": "external-addons-inputs.json", + "started_unix": 1793973961.9731991, + "result": "smoke-completed", + "result_before_cleanup": "smoke-completed", + "cleanup_confirmed": true, + "cleanup_report": { + "cleanup_confirmed": true, + "idle_verified": true, + "errors": [], + "orphan_cleanup": { + "attempted": false, + "reason": "noncanonical-private-prefix" + } + }, + "runner_error": null, + "session": "/home/jakub/devel/escapistsrereintroduced/.local/vehicle-roles/native6/logs/logs_2026-11-06_15-06-03", + "rounds_required": 1, + "project": "chat", + "display": "headless Gamescope 1920x1080/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} +{ + "log": "/home/jakub/devel/escapistsrereintroduced/.local/vehicle-roles/native6/logs/logs_2026-11-06_15-06-03/console.log", + "smoke_completions": 1, + "assertions_passed": 10, + "script_or_runtime_failures": [], + "engine_errors": [ + "15:06:05.455 RESOURCES (E): Wrong GUID/name for resource @\"{0AFDD005CD669892}Language/rhs_localization.st\" in property \"StringTableSource\"", + "15:06:05.455 RESOURCES (E): Wrong GUID/name for resource @\"{41FA2A08B6971D4C}Language/wcs_armament_localization.st\" in property \"StringTableSource\"", + "15:06:05.456 RESOURCES (E): Wrong GUID/name for resource @\"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st\" in property \"StringTableSource\"", + "15:06:05.456 RESOURCES (E): Wrong GUID/name for resource @\"{E50E557B468C7073}Language/wcs_bmp1_localization.st\" in property \"StringTableSource\"", + "15:06:12.832 DEFAULT (E): Failed to request DLC ownership information.", + "15:06:42.924 WORLD (E): Unknown keyword/data 'm_HardLandingVelocity' at offset 133(0x85)", + "15:06:42.924 WORLD (E): Unknown keyword/data 'm_DeathLandingVelocity' at offset 163(0xa3)", + "15:06:53.681 WORLD (E): Unknown keyword/data 'Pacejka' at offset 939(0x3ab)", + "15:06:53.682 WORLD (E): Unknown keyword/data 'ClutchUncoupleRpm' at offset 1320(0x528)", + "15:06:53.682 WORLD (E): Unknown keyword/data 'ClutchCoupleRpm' at offset 1346(0x542)" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/vehicle-roles-2026-11-06/menu-run/runner.json b/docs/evidence/vehicle-roles-2026-11-06/menu-run/runner.json new file mode 100644 index 00000000..949057b3 --- /dev/null +++ b/docs/evidence/vehicle-roles-2026-11-06/menu-run/runner.json @@ -0,0 +1,34 @@ +{ + "stopped_unix": 1793974091.837287, + "console_sha256": "ed0333b272f66f50dfe2e05119cecfdd859632db9975e8acbfa21717fff1d71a", + "end_source_sha256": "f30e51a757ed2e353f52aa84ed84726274c7a6c46033150809ee905dbce9448f", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "ba46c998-b0f0-4a65-8c21-5354f5e52011", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "f30e51a757ed2e353f52aa84ed84726274c7a6c46033150809ee905dbce9448f", + "external_addons_unchanged_after_run": true, + "external_addon_count": 7, + "external_addon_inputs": "external-addons-inputs.json", + "started_unix": 1793973961.9731991, + "result": "smoke-completed", + "result_before_cleanup": "smoke-completed", + "cleanup_confirmed": true, + "cleanup_report": { + "cleanup_confirmed": true, + "idle_verified": true, + "errors": [], + "orphan_cleanup": { + "attempted": false, + "reason": "noncanonical-private-prefix" + } + }, + "runner_error": null, + "session": "/home/jakub/devel/escapistsrereintroduced/.local/vehicle-roles/native6/logs/logs_2026-11-06_15-06-03", + "rounds_required": 1, + "project": "chat", + "display": "headless Gamescope 1920x1080/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/vehicle-roles-2026-11-06/menu-run/script.log b/docs/evidence/vehicle-roles-2026-11-06/menu-run/script.log new file mode 100644 index 00000000..29d4c184 --- /dev/null +++ b/docs/evidence/vehicle-roles-2026-11-06/menu-run/script.log @@ -0,0 +1,369 @@ +--------------------------------------------- +Log Z:\home\jakub\devel\escapistsrereintroduced\.local\vehicle-roles\native6\logs\logs_2026-11-06_15-06-03\script.log started at 2026-11-06 15:06:06 (2026-11-06 14:06:06 UTC) + +15:06:06.384 SCRIPT : SCRIPT : Initializing scripts +15:06:06.384 SCRIPT : SCRIPT : ScriptProjectManager init +15:06:09.167 SCRIPT : SCRIPT : Compiling GameLib scripts +15:06:09.224 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +15:06:09.225 SCRIPT : Module: GameLib; loaded 513x files; 704x classes; used 887K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 35487d81 +15:06:09.226 SCRIPT : SCRIPT : Compiling Game scripts +15:06:10.144 SCRIPT : Compiling Game scripts +15:06:10.144 SCRIPT (W): @"Scripts/Game/Parachutes/ParachuteDeployed.c,7": Pointer type 'Physics' can only be used with local variables +15:06:10.332 SCRIPT (W): @"Scripts/Game/Components/Vehicles/RHS_VehicleAntennaComponent.c,82": Pointer type 'Animation' can only be used with local variables +15:06:10.681 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,787": 'GetPlayerPlatformKind' is obsolete +15:06:10.681 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,788": 'GetPlayerPlatformId' is obsolete +15:06:11.067 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SiteService.c,363": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:06:11.081 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +15:06:11.125 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +15:06:11.244 SCRIPT (W): @"Scripts/Game/Components/Magazines/SCR_MagazineComponent.c,134": Variable 'prefabPath' is not used +15:06:11.259 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +15:06:11.259 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +15:06:11.259 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +15:06:11.259 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +15:06:11.285 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_NativeVehicleSecurityProbe.c,77": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:06:11.295 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead +15:06:11.363 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +15:06:11.363 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +15:06:11.365 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +15:06:11.393 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_NativeVehicleSecurityProbe.c,186": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:06:11.418 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,311": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:06:11.418 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,323": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:06:11.419 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +15:06:11.419 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +15:06:11.449 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_NativeTransportProbe.c,138": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:06:11.483 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +15:06:11.843 SCRIPT : Module: WorkbenchGame; loaded 187x files; 692x classes; used 2796K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 53d2bfa5 +15:06:11.851 SCRIPT : Module: Game; loaded 6965x files; 14474x classes; used 45315K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG,WCS_DEFINES_ARMAMENTS,WCS_DEFINES_SPACECORE"; CRC32: bcecd979 +15:06:12.832 SCRIPT : Unable to register a script command due keyword duplicity: ban +15:06:12.832 SCRIPT : Unable to register a script command due keyword duplicity: kick +15:06:24.637 SCRIPT : Reintroduced [config]: using $profile:Escapists.json; legacy files retained but no longer used. +15:06:25.617 SCRIPT : ERR VALIDATION: prison terrain=211.344, radio terrain=159.656, extraction terrain=65.1562 +15:06:25.617 SCRIPT : ERR TERRAIN: x=6084 z=7154 y=211.531 +15:06:25.617 SCRIPT : ERR TERRAIN: x=6084 z=7157 y=211.516 +15:06:25.617 SCRIPT : ERR TERRAIN: x=6084 z=7160 y=211.5 +15:06:25.618 SCRIPT : ERR TERRAIN: x=6084 z=7163 y=211.453 +15:06:25.618 SCRIPT : ERR TERRAIN: x=6084 z=7166 y=211.406 +15:06:25.618 SCRIPT : ERR TERRAIN: x=6087 z=7154 y=211.438 +15:06:25.618 SCRIPT : ERR TERRAIN: x=6087 z=7157 y=211.438 +15:06:25.618 SCRIPT : ERR TERRAIN: x=6087 z=7160 y=211.422 +15:06:25.618 SCRIPT : ERR TERRAIN: x=6087 z=7163 y=211.391 +15:06:25.618 SCRIPT : ERR TERRAIN: x=6087 z=7166 y=211.344 +15:06:25.618 SCRIPT : ERR TERRAIN: x=6090 z=7154 y=211.344 +15:06:25.619 SCRIPT : ERR TERRAIN: x=6090 z=7157 y=211.344 +15:06:25.619 SCRIPT : ERR TERRAIN: x=6090 z=7160 y=211.344 +15:06:25.619 SCRIPT : ERR TERRAIN: x=6090 z=7163 y=211.328 +15:06:25.619 SCRIPT : ERR TERRAIN: x=6090 z=7166 y=211.281 +15:06:25.619 SCRIPT : ERR TERRAIN: x=6093 z=7154 y=211.25 +15:06:25.619 SCRIPT : ERR TERRAIN: x=6093 z=7157 y=211.281 +15:06:25.619 SCRIPT : ERR TERRAIN: x=6093 z=7160 y=211.25 +15:06:25.619 SCRIPT : ERR TERRAIN: x=6093 z=7163 y=211.234 +15:06:25.620 SCRIPT : ERR TERRAIN: x=6093 z=7166 y=211.188 +15:06:25.620 SCRIPT : ERR TERRAIN: x=6096 z=7154 y=211.156 +15:06:25.620 SCRIPT : ERR TERRAIN: x=6096 z=7157 y=211.172 +15:06:25.620 SCRIPT : ERR TERRAIN: x=6096 z=7160 y=211.156 +15:06:25.620 SCRIPT : ERR TERRAIN: x=6096 z=7163 y=211.141 +15:06:25.620 SCRIPT : ERR TERRAIN: x=6096 z=7166 y=211.094 +15:06:25.640 SCRIPT : ERR SITE CANDIDATE: position=<6090,211.344,7160> elevationRange=0.640625 +15:06:28.495 SCRIPT : Unable to register a script command due keyword duplicity: ban +15:06:28.495 SCRIPT : Unable to register a script command due keyword duplicity: kick +15:06:38.666 SCRIPT : Reintroduced [loading]: respawn animation and preparation display attached to Escape +15:06:42.917 SCRIPT : Map load time: 2236ms +15:06:42.929 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +15:06:42.929 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +15:06:42.931 SCRIPT (W): Can't open config file "" +15:06:42.937 SCRIPT (W): Slot_WeaponInfo Has no Content! +15:06:42.937 SCRIPT (W): Slot_Chat Has no Content! +15:06:42.937 SCRIPT (W): Slot_VON Has no Content! +15:06:42.938 SCRIPT (W): Slot_AvailableActions Has no Content! +15:06:42.938 SCRIPT (W): Slot_Vehicle Has no Content! +15:06:42.938 SCRIPT (W): Slot_GameVersion Has no Content! +15:06:42.938 SCRIPT (W): Slot_Notifications Has no Content! +15:06:42.938 SCRIPT (W): Slot_Hints Has no Content! +15:06:42.951 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {259EE7B78C51B624}UAZ469.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants. +15:06:42.951 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {DF5CCB7C0FF049F4}Mi8MT_unarmed_transport.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants. +15:06:42.952 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {DF5CCB7C0FF049F4}Mi8MT_unarmed_transport.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants. +15:06:42.956 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +15:06:43.103 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +15:06:43.116 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +15:06:43.285 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.206 SCRIPT : ERR CONTENT: controller=1 +15:06:48.215 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.215 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.216 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.216 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.217 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.217 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.218 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.218 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.218 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.219 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.219 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.220 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.220 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.221 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.221 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.222 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.223 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.224 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.224 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.225 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.225 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.226 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.226 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.227 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.227 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.228 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.228 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.229 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.229 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.229 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.230 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.230 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.231 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.231 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.232 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.232 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.232 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.233 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.233 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.234 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.234 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.234 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.235 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.235 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.236 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.236 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.237 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.238 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.238 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.238 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.239 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.240 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:48.288 SCRIPT : Reintroduced [terrain selection]: discovered 45 playable scenario headers; truncated=0 +15:06:49.271 SCRIPT : ERR CONTENT STAGE: 0 page=0 vehicles=0 addon= +15:06:52.335 SCRIPT : ERR CONTENT STAGE: 0 page=0 vehicles=0 addon= +15:06:52.337 SCRIPT : ERR CONTENT MODS: rows=11 vehicleMods=6 +15:06:55.347 SCRIPT : ERR CONTENT STAGE: 1 page=3 vehicles=0 addon= +15:06:55.435 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:55.436 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:55.436 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:55.437 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:55.438 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:55.438 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:55.439 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:55.440 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:55.441 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:55.441 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:55.442 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:55.443 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:06:58.404 SCRIPT : ERR CONTENT STAGE: 2 page=17 vehicles=0 addon= +15:07:01.665 SCRIPT : Reintroduced [server items]: addons=11 uniqueItems=2403 unattributed=0 truncated=0 +15:07:02.410 SCRIPT : ERR CONTENT STAGE: 3 page=17 vehicles=0 addon= +15:07:02.554 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:02.555 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:02.556 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:02.556 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:02.557 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:02.558 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:02.559 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:02.560 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:02.561 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:02.562 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:02.564 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:02.565 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:06.470 SCRIPT : ERR CONTENT STAGE: 4 page=17 vehicles=0 addon= +15:07:10.564 SCRIPT : ERR CONTENT STAGE: 5 page=17 vehicles=0 addon= +15:07:13.569 SCRIPT : ERR CONTENT STAGE: 6 page=17 vehicles=0 addon= +15:07:13.569 SCRIPT : ERR SMOKE PASS: real menu item disable, master mod restoration and empty search +15:07:13.570 SCRIPT : ERR CONTENT VEHICLE INDEX: 0 +15:07:13.647 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:13.648 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:13.649 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:13.650 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:13.651 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:13.652 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:13.653 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:13.654 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:13.655 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:13.656 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:13.657 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:13.658 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:07:16.577 SCRIPT : ERR CONTENT STAGE: 10 page=16 vehicles=0 addon= +15:07:16.976 SCRIPT : Reintroduced [server vehicles]: inspected=2085 groundVehicles=324 truncated=0 +15:07:19.586 SCRIPT : ERR CONTENT STAGE: 11 page=17 vehicles=0 addon= +15:07:19.586 SCRIPT : ERR SMOKE PASS: item search restored after visiting advanced weights +15:07:22.589 SCRIPT : ERR CONTENT STAGE: 7 page=27 vehicles=12 addon=58d0fb3206b6f859 +15:07:25.690 SCRIPT : ERR CONTENT STAGE: 7 page=27 vehicles=12 addon=58d0fb3206b6f859 +15:07:28.848 SCRIPT : ERR CONTENT STAGE: 8 page=27 vehicles=12 addon=58d0fb3206b6f859 +15:07:31.854 SCRIPT : ERR CONTENT STAGE: 9 page=27 vehicles=12 addon=58d0fb3206b6f859 +15:07:31.854 SCRIPT : ERR SMOKE PASS: vehicle disable, filtered list and persisted preferences reload +15:07:31.902 SCRIPT : ERR SMOKE PASS: all navigation pages fit and disabled vehicles are excluded from selection +15:07:34.863 SCRIPT : ERR CONTENT STAGE: 12 page=3 vehicles=12 addon=58d0fb3206b6f859 +15:07:37.951 SCRIPT : ERR CONTENT STAGE: 13 page=27 vehicles=1 addon=2528466de220d91c +15:07:41.977 SCRIPT : ERR CONTENT STAGE: 14 page=27 vehicles=1 addon=2528466de220d91c +15:07:45.067 SCRIPT : ERR CONTENT STAGE: 15 page=27 vehicles=1 addon=2528466de220d91c +15:07:45.074 SCRIPT : ERR SMOKE PASS: real menu assigns a discovered vehicle to patrols, preserves independent uses, blocks stale role actions and reloads saved assignments +15:07:49.126 SCRIPT : ERR CONTENT STAGE: 16 page=27 vehicles=1 addon=2528466de220d91c +15:07:49.127 SCRIPT : ERR ROLE FOUND: {F001C0DE00000001}Prefabs/Vehicles/ERR_RoleTestCar.et contains=1 capable=1 sources=0x000000014FE137C0 {ArmaReforger,RHS_Core,WCS_Armaments,ERR_Core} +15:07:49.127 SCRIPT : ERR ROLE COMPONENT: EventHandlerManagerComponent +15:07:49.127 SCRIPT : ERR ROLE COMPONENT: ParametricMaterialInstanceComponent +15:07:49.127 SCRIPT : ERR ROLE COMPONENT: Persistence +15:07:49.127 SCRIPT : ERR ROLE COMPONENT: SignalsManagerComponent +15:07:49.128 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleSoundComponent +15:07:49.128 SCRIPT : ERR ROLE COMPONENT: AIKnowledgeComponent +15:07:49.128 SCRIPT : ERR ROLE COMPONENT: BaseLightManagerComponent +15:07:49.128 SCRIPT : ERR ROLE COMPONENT: ChimeraAIPathfindingComponent +15:07:49.128 SCRIPT : ERR ROLE COMPONENT: ColliderHistoryComponent +15:07:49.128 SCRIPT : ERR ROLE COMPONENT: ControllersManagerComponent +15:07:49.128 SCRIPT : ERR ROLE COMPONENT: MeshObject +15:07:49.129 SCRIPT : ERR ROLE COMPONENT: RHS_RadioSourceComponent +15:07:49.129 SCRIPT : ERR ROLE COMPONENT: RigidBody +15:07:49.129 SCRIPT : ERR ROLE COMPONENT: SCR_AIVehicleUsageComponent +15:07:49.129 SCRIPT : ERR ROLE COMPONENT: SCR_BaseCompartmentManagerComponent +15:07:49.129 SCRIPT : ERR ROLE COMPONENT: SCR_BaseLockComponent +15:07:49.129 SCRIPT : ERR ROLE COMPONENT: SCR_EditableVehicleComponent +15:07:49.129 SCRIPT : ERR ROLE COMPONENT: SCR_FuelConsumptionComponent +15:07:49.129 SCRIPT : ERR ROLE COMPONENT: SCR_FuelManagerComponent +15:07:49.130 SCRIPT : ERR ROLE COMPONENT: SCR_ImpactEffectComponent +15:07:49.130 SCRIPT : ERR ROLE COMPONENT: SCR_MotorExhaustEffectGeneralComponent +15:07:49.130 SCRIPT : ERR ROLE COMPONENT: SCR_PowerComponent +15:07:49.130 SCRIPT : ERR ROLE COMPONENT: SCR_ResourceComponent +15:07:49.130 SCRIPT : ERR ROLE COMPONENT: SCR_UniversalInventoryStorageComponent +15:07:49.130 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleBuoyancyComponent +15:07:49.131 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleCameraDataComponent +15:07:49.131 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleFactionAffiliationComponent +15:07:49.131 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleSpawnProtectionComponent +15:07:49.131 SCRIPT : ERR ROLE COMPONENT: SCR_WheeledDamageManagerComponent +15:07:49.131 SCRIPT : ERR ROLE COMPONENT: VehicleLightPortalComponent +15:07:49.132 SCRIPT : ERR ROLE COMPONENT: VehicleWheeledSimulation +15:07:49.132 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleDustPerWheel +15:07:49.132 SCRIPT : ERR ROLE COMPONENT: BaseFlattenGrassComponent +15:07:49.132 SCRIPT : ERR ROLE COMPONENT: BaseVehicleNodeComponent +15:07:49.132 SCRIPT : ERR ROLE COMPONENT: ChimeraAIVehicleControlComponent +15:07:49.132 SCRIPT : ERR ROLE COMPONENT: SCR_VehiclePerceivableComponent +15:07:49.132 SCRIPT : ERR ROLE COMPONENT: CarProcAnimComponent +15:07:49.133 SCRIPT : ERR ROLE COMPONENT: WCS_Armament_GroundVehicleInfraredEmitterComponent +15:07:49.133 SCRIPT : ERR ROLE COMPONENT: WCS_Armament_RadarReflectorComponent +15:07:49.133 SCRIPT : ERR ROLE COMPONENT: SlotManagerComponent +15:07:49.133 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleInventoryStorageManagerComponent +15:07:49.133 SCRIPT : ERR ROLE COMPONENT: ActionsManagerComponent +15:07:49.133 SCRIPT : ERR ROLE COMPONENT: VehicleAnimationComponent +15:07:49.134 SCRIPT : ERR ROLE COMPONENT: VehicleGamepadEffectsManagerComponent +15:07:49.134 SCRIPT : ERR ROLE COMPONENT: NwkCarMovementComponent +15:07:49.134 SCRIPT : ERR ROLE COMPONENT: RplComponent +15:07:49.186 SCRIPT : ERR SMOKE PASS: previously unknown car assigned independently to garage and traffic selections +15:07:50.487 SCRIPT : ERR SMOKE PASS: discovered assigned vehicle role=2 prefab={F001C0DE00000001}Prefabs/Vehicles/ERR_RoleTestCar.et actualCrew=4 +15:07:50.488 SCRIPT : ERR ROLE COMPARTMENT VAR: Enabled +15:07:50.488 SCRIPT : ERR ROLE COMPARTMENT VAR: components +15:07:50.488 SCRIPT : ERR ROLE COMPARTMENT VAR: DoorInfoList +15:07:50.488 SCRIPT : ERR ROLE COMPARTMENT VAR: CompartmentSlots +15:07:50.489 SCRIPT : ERR ROLE COMPARTMENT VAR: m_bBlockSuppliesIfOccupied +15:07:50.489 SCRIPT : ERR ROLE FOUND: {F001C0DE00000002}Prefabs/Vehicles/ERR_RoleTestEscort.et contains=1 capable=1 sources=0x000000014FE3C858 {ArmaReforger,RHS_Core,WCS_Armaments,ERR_Core} +15:07:50.489 SCRIPT : ERR ROLE COMPONENT: EventHandlerManagerComponent +15:07:50.489 SCRIPT : ERR ROLE COMPONENT: ParametricMaterialInstanceComponent +15:07:50.489 SCRIPT : ERR ROLE COMPONENT: Persistence +15:07:50.490 SCRIPT : ERR ROLE COMPONENT: SignalsManagerComponent +15:07:50.490 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleSoundComponent +15:07:50.490 SCRIPT : ERR ROLE COMPONENT: AIKnowledgeComponent +15:07:50.490 SCRIPT : ERR ROLE COMPONENT: BaseLightManagerComponent +15:07:50.490 SCRIPT : ERR ROLE COMPONENT: BaseRadioComponent +15:07:50.490 SCRIPT : ERR ROLE COMPONENT: ChimeraAIPathfindingComponent +15:07:50.491 SCRIPT : ERR ROLE COMPONENT: ColliderHistoryComponent +15:07:50.491 SCRIPT : ERR ROLE COMPONENT: ControllersManagerComponent +15:07:50.491 SCRIPT : ERR ROLE COMPONENT: MeshObject +15:07:50.491 SCRIPT : ERR ROLE COMPONENT: RHS_RadioSourceComponent +15:07:50.491 SCRIPT : ERR ROLE COMPONENT: RigidBody +15:07:50.491 SCRIPT : ERR ROLE COMPONENT: SCR_AIVehicleUsageComponent +15:07:50.492 SCRIPT : ERR ROLE COMPONENT: SCR_BaseCompartmentManagerComponent +15:07:50.492 SCRIPT : ERR ROLE COMPONENT: SCR_BaseLockComponent +15:07:50.492 SCRIPT : ERR ROLE COMPONENT: SCR_EditableVehicleComponent +15:07:50.492 SCRIPT : ERR ROLE COMPONENT: SCR_FuelConsumptionComponent +15:07:50.492 SCRIPT : ERR ROLE COMPONENT: SCR_FuelManagerComponent +15:07:50.492 SCRIPT : ERR ROLE COMPONENT: SCR_ImpactEffectComponent +15:07:50.493 SCRIPT : ERR ROLE COMPONENT: SCR_MotorExhaustEffectGeneralComponent +15:07:50.493 SCRIPT : ERR ROLE COMPONENT: SCR_PowerComponent +15:07:50.493 SCRIPT : ERR ROLE COMPONENT: SCR_ResourceComponent +15:07:50.493 SCRIPT : ERR ROLE COMPONENT: SCR_UniversalInventoryStorageComponent +15:07:50.493 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleBuoyancyComponent +15:07:50.493 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleCameraDataComponent +15:07:50.493 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleFactionAffiliationComponent +15:07:50.494 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleSpawnProtectionComponent +15:07:50.494 SCRIPT : ERR ROLE COMPONENT: SCR_WheeledDamageManagerComponent +15:07:50.494 SCRIPT : ERR ROLE COMPONENT: VehicleWheeledSimulation +15:07:50.494 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleDustPerWheel +15:07:50.494 SCRIPT : ERR ROLE COMPONENT: BaseFlattenGrassComponent +15:07:50.494 SCRIPT : ERR ROLE COMPONENT: BaseVehicleNodeComponent +15:07:50.495 SCRIPT : ERR ROLE COMPONENT: ChimeraAIVehicleControlComponent +15:07:50.495 SCRIPT : ERR ROLE COMPONENT: SCR_VehiclePerceivableComponent +15:07:50.495 SCRIPT : ERR ROLE COMPONENT: CarProcAnimComponent +15:07:50.495 SCRIPT : ERR ROLE COMPONENT: WCS_Armament_GroundVehicleInfraredEmitterComponent +15:07:50.495 SCRIPT : ERR ROLE COMPONENT: WCS_Armament_RadarReflectorComponent +15:07:50.495 SCRIPT : ERR ROLE COMPONENT: SlotManagerComponent +15:07:50.496 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleInventoryStorageManagerComponent +15:07:50.496 SCRIPT : ERR ROLE COMPONENT: ActionsManagerComponent +15:07:50.496 SCRIPT : ERR ROLE COMPONENT: VehicleAnimationComponent +15:07:50.496 SCRIPT : ERR ROLE COMPONENT: VehicleGamepadEffectsManagerComponent +15:07:50.496 SCRIPT : ERR ROLE COMPONENT: NwkCarMovementComponent +15:07:50.497 SCRIPT : ERR ROLE COMPONENT: RplComponent +15:07:51.647 SCRIPT : ERR SMOKE PASS: discovered assigned vehicle role=3 prefab={F001C0DE00000002}Prefabs/Vehicles/ERR_RoleTestEscort.et actualCrew=2 +15:07:51.648 SCRIPT : ERR ROLE COMPARTMENT VAR: Enabled +15:07:51.648 SCRIPT : ERR ROLE COMPARTMENT VAR: components +15:07:51.648 SCRIPT : ERR ROLE COMPARTMENT VAR: DoorInfoList +15:07:51.648 SCRIPT : ERR ROLE COMPARTMENT VAR: CompartmentSlots +15:07:51.648 SCRIPT : ERR ROLE COMPARTMENT VAR: m_bBlockSuppliesIfOccupied +15:07:51.649 SCRIPT : ERR ROLE FOUND: {F001C0DE00000003}Prefabs/Vehicles/ERR_RoleTestTruck.et contains=1 capable=1 sources=0x000000014FE6DB60 {ArmaReforger,RHS_Core,WCS_Armaments,ERR_Core} +15:07:51.649 SCRIPT : ERR ROLE COMPONENT: EventHandlerManagerComponent +15:07:51.649 SCRIPT : ERR ROLE COMPONENT: ParametricMaterialInstanceComponent +15:07:51.649 SCRIPT : ERR ROLE COMPONENT: Persistence +15:07:51.649 SCRIPT : ERR ROLE COMPONENT: SignalsManagerComponent +15:07:51.650 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleSoundComponent +15:07:51.650 SCRIPT : ERR ROLE COMPONENT: AIKnowledgeComponent +15:07:51.650 SCRIPT : ERR ROLE COMPONENT: BaseLightManagerComponent +15:07:51.650 SCRIPT : ERR ROLE COMPONENT: BaseRadioComponent +15:07:51.650 SCRIPT : ERR ROLE COMPONENT: ChimeraAIPathfindingComponent +15:07:51.651 SCRIPT : ERR ROLE COMPONENT: ColliderHistoryComponent +15:07:51.651 SCRIPT : ERR ROLE COMPONENT: ControllersManagerComponent +15:07:51.651 SCRIPT : ERR ROLE COMPONENT: MeshObject +15:07:51.651 SCRIPT : ERR ROLE COMPONENT: RHS_GroupMaterialController +15:07:51.651 SCRIPT : ERR ROLE COMPONENT: RHS_RadioSourceComponent +15:07:51.652 SCRIPT : ERR ROLE COMPONENT: RigidBody +15:07:51.652 SCRIPT : ERR ROLE COMPONENT: SCR_AIVehicleUsageComponent +15:07:51.652 SCRIPT : ERR ROLE COMPONENT: SCR_BaseCompartmentManagerComponent +15:07:51.652 SCRIPT : ERR ROLE COMPONENT: SCR_BaseLockComponent +15:07:51.652 SCRIPT : ERR ROLE COMPONENT: SCR_EditableVehicleComponent +15:07:51.652 SCRIPT : ERR ROLE COMPONENT: SCR_FuelConsumptionComponent +15:07:51.653 SCRIPT : ERR ROLE COMPONENT: SCR_FuelManagerComponent +15:07:51.653 SCRIPT : ERR ROLE COMPONENT: SCR_ImpactEffectComponent +15:07:51.653 SCRIPT : ERR ROLE COMPONENT: SCR_MotorExhaustEffectGeneralComponent +15:07:51.653 SCRIPT : ERR ROLE COMPONENT: SCR_PowerComponent +15:07:51.653 SCRIPT : ERR ROLE COMPONENT: SCR_UniversalInventoryStorageComponent +15:07:51.654 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleBuoyancyComponent +15:07:51.654 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleCameraDataComponent +15:07:51.654 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleDamageManagerComponent +15:07:51.654 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleFactionAffiliationComponent +15:07:51.654 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleSpawnProtectionComponent +15:07:51.655 SCRIPT : ERR ROLE COMPONENT: VehicleLightPortalComponent +15:07:51.655 SCRIPT : ERR ROLE COMPONENT: VehicleWheeledSimulation +15:07:51.655 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleDustPerWheel +15:07:51.655 SCRIPT : ERR ROLE COMPONENT: BaseFlattenGrassComponent +15:07:51.655 SCRIPT : ERR ROLE COMPONENT: BaseVehicleNodeComponent +15:07:51.656 SCRIPT : ERR ROLE COMPONENT: ChimeraAIVehicleControlComponent +15:07:51.656 SCRIPT : ERR ROLE COMPONENT: SCR_VehiclePerceivableComponent +15:07:51.656 SCRIPT : ERR ROLE COMPONENT: CarProcAnimComponent +15:07:51.656 SCRIPT : ERR ROLE COMPONENT: WCS_Armament_GroundVehicleInfraredEmitterComponent +15:07:51.656 SCRIPT : ERR ROLE COMPONENT: WCS_Armament_RadarReflectorComponent +15:07:51.657 SCRIPT : ERR ROLE COMPONENT: SlotManagerComponent +15:07:51.657 SCRIPT : ERR ROLE COMPONENT: SCR_VehicleInventoryStorageManagerComponent +15:07:51.657 SCRIPT : ERR ROLE COMPONENT: ActionsManagerComponent +15:07:51.657 SCRIPT : ERR ROLE COMPONENT: VehicleAnimationComponent +15:07:51.657 SCRIPT : ERR ROLE COMPONENT: VehicleGamepadEffectsManagerComponent +15:07:51.658 SCRIPT : ERR ROLE COMPONENT: NwkCarMovementComponent +15:07:51.658 SCRIPT : ERR ROLE COMPONENT: RplComponent +15:07:52.740 SCRIPT : ERR SMOKE PASS: discovered assigned vehicle role=4 prefab={F001C0DE00000003}Prefabs/Vehicles/ERR_RoleTestTruck.et actualCrew=1 +15:07:52.740 SCRIPT : ERR ROLE COMPARTMENT VAR: Enabled +15:07:52.740 SCRIPT : ERR ROLE COMPARTMENT VAR: components +15:07:52.741 SCRIPT : ERR ROLE COMPARTMENT VAR: DoorInfoList +15:07:52.741 SCRIPT : ERR ROLE COMPARTMENT VAR: CompartmentSlots +15:07:52.741 SCRIPT : ERR ROLE COMPARTMENT VAR: m_bBlockSuppliesIfOccupied +15:08:04.871 SCRIPT : ERR SMOKE PASS: newly discovered patrol, escort and supply vehicles physically driven more than20m with production crews +15:08:04.871 SCRIPT : ERR SMOKE COMPLETE: vehicle roles discovery assignments native crews and driving diff --git a/docs/evidence/vehicle-roles-2026-11-06/patrol-browser.png b/docs/evidence/vehicle-roles-2026-11-06/patrol-browser.png new file mode 100644 index 0000000000000000000000000000000000000000..9e1b7e39af99d4b8441b2573a62f7dc84d9d79ca GIT binary patch literal 109626 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

}Oghqqmt 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

y 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 literal 0 HcmV?d00001 diff --git a/docs/evidence/vehicle-roles-2026-11-06/repository-checks.log b/docs/evidence/vehicle-roles-2026-11-06/repository-checks.log new file mode 100644 index 00000000..d8fd6c20 --- /dev/null +++ b/docs/evidence/vehicle-roles-2026-11-06/repository-checks.log @@ -0,0 +1,943 @@ +Menu layouts and palette are up to date. +....... +---------------------------------------------------------------------- +Ran 7 tests in 0.051s + +OK +.... +---------------------------------------------------------------------- +Ran 4 tests in 0.001s + +OK +....../usr/lib/python3.14/tempfile.py:538: ResourceWarning: Implicitly cleaning up + _warnings.warn(self.warn_message, ResourceWarning) +.......... +---------------------------------------------------------------------- +Ran 16 tests in 0.142s + +OK +PASS: authoritative kills/deaths, duplicate-event protection, friendly kills, suicide, GM and vehicle exclusions, down/recovery edges, disconnected escapees and terminal gates +PASS: production roster reconciliation preserves disconnected names and reconnect counters, refuses connection-ID inheritance, freezes records and bounds retained participants +PASS: held/tapped AI horn limits, half-second pulses, 30-second cooldown, clock reset, player/passenger/aircraft/replica exclusion and ended mission cleanup +PASS: telemetry outcomes, exactly-once finish, opt-out gate, stale callbacks, HTTP status handling and bounded retry +PASS: durable installation credential, restart/endpoint/identity isolation, write failure, corruption, bounded retention and disabled-send gates +PASS: running dedicated configuration, automatic server config/lobby name, explicit override, startup absence, rename and payload bound +PASS: map/server/mission/event/outcome validation, bounded counters, stale delivery exclusion, current-round refresh and unavailable recovery +PASS: deployment init waits for mode, runs once, cancels on deletion/world change and bounds retries; respawn RPC registration stays immediate +PASS: native chat retained on both peers, nested ownership detached, absent chat supplied by replicated fallback, authored mission chat preserved +PASS: configurable independent restarts, idle clock reset and live setting changes; last disconnect, pending admission/spectator population, five-hour boundary, repeated empty rounds, preparation, authority and duplicate-end guards +PASS: faction aircraft profiles provide 12+ cargo capacity; FIA/ION crew comes only from the selected faction +PASS: fleet space is required before pickup registration; dispatch rechecks/replaces only the secondary within the original 48-candidate footprint budget +Policy-only arrival from 90 m offset / 150 m height at 15 Hz: original 65.60s, rescue 32.20s +Policy-only arrival from 90 m offset / 150 m height at 30 Hz: original 65.73s, rescue 32.30s +Policy-only arrival from 90 m offset / 150 m height at 60 Hz: original 65.72s, rescue 32.33s +Policy-only arrival from 90 m offset / 150 m height at 120 Hz: original 65.72s, rescue 32.33s +PASS: faster rescue descent, continuous near-ground braking, alignment gate, unchanged recovery/escort/default profile, and bounded settling at 15/30/60/120 Hz +PASS: split-fleet boarding, escort rejection, lost transport failure and both transports airborne for thirty seconds +PASS: actual nearest usable registered-fleet selection, patient reservation priority, independent ranges, audited benches/skids and captured-aircraft handshake guards +PASS: production Cessna boarding requires exact observed occupancy, activates before requesting, caps retries at three with 5s spacing, and preserves transition, ownership, health and seat restrictions; engine behavior is faked +PASS: traffic distance/grace, all-observer veto, player claims, foreign custody, bounded spawn cadence, failure/stall retention and shutdown preserve nearby/claimed entities +PASS: actual observer collection includes spectator targets and controlled bodies; missing views/controllers and open editor cameras veto spawn/cleanup +PASS: civilian traffic defaults to three; menu command resolves to persisted 0..6 setting with zero disabling new cars +PASS: bounded exit-road selection can turn along a coastline when the opposite road is unavailable; no-route case is withheld +PASS: managed traffic pins both native garbage entries; release/retirement removes only those pins, including partial creation +PASS: garage/yard family admission, bounded wall offsets, civilian and optional Rally catalog exclusions, vehicle-fit limits +PASS: yard road-width margin, missing road data, footprint water/slope and nonfinite-input vetoes +PASS: bodies and spectator targets are collected; unknown, nonfinite and editor views veto spawning/cleanup; no connected players yields an empty known view +PASS: permanent entry/movement/occupancy claims; far hidden grace cleanup; proximity/visibility/unknown-view resets; one staged operation per update, no same-frame catch-up, stop and client guards +PASS: saved garage menu settings configure the round once; unit conversion and cleanup radius scale correctly; count/chance zero disable startup; clients and stopped rounds do no work +PASS: exhausted/blocked opening keeps configured radius; distant objective fallback rejected; bounds, player clearance, separation, force cap and retry delay retained +PASS: separated rear vehicle approaches, opposite infantry sectors, radio-gated ownership, failed-order preservation, visual cover or bounded supported reconnaissance, bounded dismount/search/regroup and loss cleanup +PASS: production dismount/boarding allocation, all crew allowances, waypoint ownership, one-time vehicle detach/restore and capture/teardown guards +PASS: covering support requires the original conscious turret gunner, valid mounted driver, live crew and delivered assignment +PASS: alternate positions exclude failed and occupied stages, roll back on failed planning/allocation, and preserve the total time budget +PASS: blocked crew deadline survives combat interruptions, defers unsafe exits, resets after recovery; failed stages survive assignments with bounded expiry +PASS: native-callback cleanup, bounded retries and budget, pending quarantine, objective/ownership/lifecycle protection, no evidence retirement or forced entity deletion +PASS: radio intel boundary, exclusions, preparation cap, next-round configuration, sticky unlock, redirection/evidence, fixed retention, automatic recovery and lifecycle guards +PASS: actual terrain refusal reasons, counted summaries, site/attempt/time context, 30-second rate limit and per-site reset +PASS: actual low/negative dry terrain, height-correct shallow/lake/ocean/interior water refusal and downstream startup dry-ground gates +PASS: failure-only menu, repeated-frame/dialog focus, pause fallback, exact error, Esc routing, single local exit, stale/recovered mode guards and listener cleanup; native rendering unverified +PASS: only original fit loaded healthy uncaptured gunners stay mounted; driver can leave; infantry readiness excludes the retained gunner but regroup requires all survivors +PASS: actual HQ allocator selects reachable reports, distinct cover/flanks, simultaneous fronts, bounded reservations and failed-radio/placement rollback +PASS: shared own-force attack spacing, own-group refresh, exact release, expiry/deletion, finite capacity and fresh confirmed sighting-only flank permission +PASS: actual convoy foot transport detachment is idempotent; regroup restores only its live friendly uncaptured original truck +PASS: opposing native flank orders are transactional; arrived teams sweep twice, travelling/boarding teams retain orders, failed redirects retry and replayed contacts are ignored +PASS: expired-report approach, arrival-only search, completion, newer/older/replayed reports, visual priority, interrupted search and bounded travel +PASS: drone cooldown, capacity, freshness, replay, bounded retries, round cap, stop, optional API and radio boundaries +PASS: production camera cone/range rejects behind-camera and distant actors; control directions, damping and limits +PASS: production drone radio queue rejects wrong phase/authority/group, busy or unconscious radios and absent routes; snapshots only eligible observations +PASS: target equipment counts as character contact; unrelated blockers and cyclic hierarchies stay blocked +PASS: burial requires a conscious current player, actual held shovel, dead nearby unobstructed corpse and no vehicle; authority and duplicate deletion guards preserve player/tool +PASS: nearest reported idle team, blocked teams, guards, active/pending orders, combat, radio routes, stale status and distance limit +PASS: six editor listeners transferred idempotently, unrelated handlers retained, authority guard and lifecycle ordering +PASS: takeover reconnect creates only missing managers, restores native roles, never grants non-admin access, skips stale/disconnected/client states +PASS: Game Master button becomes enabled on native permission arrival and disabled on revocation; no permission bypass +PASS: native creation called once per editor; pending/duplicate ownership waits, host works, retry is bounded and stale-world callbacks cannot create editors +PASS: catalog-independent cleanup removes original subscriptions once, handles never-initialized/preload items, preserves live validation and opted-out/editor behavior +PASS: shared config transaction rejects client writes, preserves first-save/prior/fallback state across open, write, backup, partial-copy, readback and mismatch failures +PASS: actual Save/Commit preserves semantically valid backup across unrelated menu edits and repairs; unknown fields/default sections retained; actual terrain parser; other parsers, catalog and disk doubled +.....TTS request rejected: authentication failed (403) +TTS request completed (200) +....TTS request completed (200) +TTS request completed (200) +.. +---------------------------------------------------------------------- +Ran 11 tests in 1.068s + +OK +PASS: all 37 fixed messages have validated exact audio, native graph identities and source-bundle inclusion +PASS: production incremental decoder preserves binary data, bounds each slice, yields on elapsed time and rejects malformed or oversized payloads +PASS: production speech transfer checks order, exact part sizes and stable bounded totals without changing audio +PASS: production client callbacks only queue; shared updates prepare one bounded slice, preserve bytes, handle file failures and cancel safely before playback +PASS: production soldier timeout preserves queued/completed preparation, expires stalled requests and removes stopped graphs only once +PASS: actual welcome tick waits for URL/readiness/server permit, preserves local once-only state across worlds and refuses stopped callbacks +PASS: account greeting survives client/controller/round changes; owner validation, delayed readiness, idempotent retry, stale replies and bounded ledger +PASS: original body/equipment retained past old timeout; expiry, death, canonical account/body, occupied controller, failed handoff, missing/dead/expired body replacement and extraction/duplicate-audit guards +frame_ms=33.3333 buffered_step_variation=0.0336441 baseline=1.32469 +frame_ms=16.6667 buffered_step_variation=0.0660537 baseline=0.822226 +frame_ms=6.94444 buffered_step_variation=0.0253502 baseline=0.427864 +PASS: actual view buffer validates samples, follows position/roll/FOV, rejects stale/foreign/reordered data, buffers jitter without drift, bounds memory and expires gaps +PASS: actual relay rejects noncanonical sources, live/foreign/stale viewers, invalid/replayed/fast packets; bounds leases and owner-only target delivery +PASS: production scope sampling preserves ordinary views, selects active ADS only, carries zoom/zeroing/illumination and rejects mismatched/unstreamed optics; native APIs doubled +PASS: native head/helmet fade is local, target-scoped, restored on exit/switch and does not overwrite a later camera owner +PASS: actual orbit branch rotates and zooms without a target; anchor tracking, bounds, collision and menu gating; corpse/vehicle orbit and living player-view fallback preserved +PASS: production TTS settings/test/enable/failure/disable/timeout flows preserve fallback, secrets, authorization, saved state and late-callback cancellation +PASS: TTS admin authorization, limits, case preservation and menu control contract +PASS: actual atlas preparation shows disclosed markers on overview, regional and detail sheets; cover hidden; overlay matches map rectangle above print for square/wide/tall terrains +PASS: actual objective overlay lifecycle preserves separate ownership, late readiness/reopen, data refresh, pan/zoom/culling, supported sibling/shared-frame parents, coordinate offsets, native task-clear isolation and terminal cleanup; native rendering remains unverified +PASS: actual map element initializes each widget, retries missing widgets, updates position and changes only stale text/icon data; no native image-load claim +PASS: all atlas identifiers, including the quoted question mark, match the generator +PASS: actual native fixture root/config ownership and idempotent cleanup preserve foreign map, selector excludes ordinary route, fixed budgets/screenshots/UGC boundaries retained; native operations not executed +PASS: actual full Inspect rejects canvas parenting, wrong active container/canvas, omitted origin offset, wrong rendered box and stale coordinates; differing origins and DPI accepted +PASS: actual long-warning phases retain visible label through1500ms checkpoint then restore radio before close; synthetic marker separated from unmoved player +PASS: actual Center keeps marker offset within large and small native viewports at both fixture zooms without altering disclosed coordinates +PASS: missing, child-only, malformed, zero and duplicate prefab root IDs rejected +PASS: delayed scene/inventory arrival, deferred preload, identity checks, stale replies, timeout and observer cleanup +PASS: loading protection restores only its own damage change, rejects invalid admission actors, and tolerates repeat/deleted cleanup +PASS: actual inventory manifest, delayed/missing/wrong-owner item links, finite cap, consumed-stock refresh and preload ordering +PASS: spawn scene remains held through final acknowledgement and nearby use; leaving, reassignment, disconnect and teardown release it +PASS: production prison AI hold/release, repeat activation, authority/faction/player exclusion, dead actor and stop cleanup +PASS: actual protected/capped damage plus exact-actor terminal fixture bypass through delayed native damage, fail-closed ownership and untouched ordinary actor; no native claim +PASS: actual full planner selection/commit body, 360 equivalence scenarios, orders/reservations/cooldowns identical; one128-unit scan vs >10000 repeated unit visits; no FPS claim +PASS: actual observer monitor/recovery/cleanup rejects retained old controller, preserves new camera/editor/hints/timer, restarts once and retains normal recovery; native effects modeled from SDK, no runtime claim +PASS: former chat controller releases only its own callbacks and preserves replacement menu; current-owner stop/scope and repeated teardown remain intact +PASS: wrong observer fixture selector rejected before runtime/profile setup; no engine launched +PASS: native camera fixture uses current generated sites instead of the obsolete fixed extraction pickup +PASS: actual depot mixed-roster worker/item selection, ownership/refusal and radio/planning/two-leg state transitions, fixed deadline, late proof quarantine, finite import and no adoption after Stop +PASS: actual depot HQ lifecycle, existing planner priority, server/mode/owner gates, idempotent polling and owner replacement +PASS: actual HQ mine/magazine claim separation, real demand methods, exact token cleanup and original authority gates; native availability doubled +PASS: actual full magazine/inert-PMN4 depot leaf, exact custody, isolated callbacks, finite reservation, false/unknown and Stop quarantine, once-only delivery and caps; native movement unqualified +PASS: actual mine/magazine provenance and separated finite mine imports; actual authored identity capture, READY-only detached provenance, same shared stock admission, completed exact two-leg proof, lifetime caps and Stop no late adoption +PASS: anger per car, all thresholds and remainders, disable/re-enable, wave cap, staged retries, empty-round reset, no backlog, four seats and nearest-player road distance +PASS: motorbikes require all mounted addons and exactly two crew seats; base/wreck prefabs rejected +.. +---------------------------------------------------------------------- +Ran 2 tests in 0.001s + +OK +PASS: road width/bridge/length checks, prison and post spacing, setting bounds/default, finite startup and owned HQ admission +PASS: exact configurable width cutoff, separate quotas and independent disabling +PASS: every saved setting has a fresh-profile constructor default +PASS: actual roadblock scheduler yields initial deadline/attempt cap to background, budgets samples, pauses empty/full worlds, completes 30 after unlock, preserves safety and never replenishes losses; teardown cancels work +PASS: actual staged post creation spawns at most one entity per callback, commits only all four/eight guards, all planned props and waypoint, and rolls back player approach, obstructions, spawn/replication/ledger failure and cancellation; all committed props bypass distance streaming +PASS: both shipped checkpoint layouts preserve vehicle lane, opposing signs, staggered barriers, clear guard slots and separate props across 4–16m roads and all tested headings +PASS: actual prop clearance excludes owned geometry while retaining moved-guard, foreign-obstruction, water and terrain rejection +PASS: road-edge/intersection clearance, mine detour geometry, checkpoint hold authority and retask cancellation +PASS: actual crash geometry, detached definition setup, frozen server choice and guarded phase policy; integration/source ordering checked +PASS: actual GameMode readiness admission and common full-footprint survey require crash authorization and both surveyed areas +PASS: actual start defaults/parse/save, failure retention and authorized command wiring; current/next feedback, aliases and no random choice; native UI and core mode freezing are separate +PASS: native-rejected custom items remain available without startup delay; required map and async insertion safeguards retained +PASS: exact starting-stock edits, quantities/type/total limits, duplicate rejection, saved custom/default modes, authority/read-only/save-failure retention and authenticated catalog routing +PASS: actual immutable measured footprint/root/attachment matching, bounds/transforms, moving geometry, seated-body and cargo reciprocity, finite hierarchy caps; native geometry doubled +PASS: actual BMP singleton geometry and typed current order; one survey, full straight segment, width, known history, reservations, settlement/clearance and work caps; placement/footprint tested separately +PASS: actual five random-radius diagnostic wrappers, disabled transparency, cached opt-in, exact zero and exclusion branch, native arguments/returns/outarg preservation, single superclass call and shared16-log cap +PASS: zero-radius trace disabled by default, scoped before setup, exact opt-in emission; no native launch +PASS: complete actual supply-travel probe, immutable 6+2 formations and 25 actors, admission/travel deadlines, six observed native-boundary moves, stop/ownership/partial-substitution refusals +PASS: actual distinct supply-travel hook, fixed420s selector, original observer protection/restoration, failure/terminal cleanup and no legacy convoy setup +PASS: actual supply-travel selector requires Chat, one round and480s; existing outcomes unaffected; no native launch +usage: test_native_mounted_intercept.py [-h] [--steam STEAM] + [--external-addons EXTERNAL_ADDONS] + --compat COMPAT --profile PROFILE + [--smoke {coordinated-ai,crash-start,crash-geometry,normal-escape-route,escape-route,optional-site-skip,infantry-combat,medical-combat,hunter-faction,unconscious-camera,self-epinephrine,starter-backpack,speech-download,bundled-speech,objective-map,town-garrisons,site-garrisons,radio-interaction,enemy-loadout,aggression,sarka-hunters,air-logistics,air-assault,air-recon,airfield-markers,opening-tools,mortar-station,generated-sites,roadblocks,hq-local-handoff,infantry-transfer,hq-body,convoy,supply-convoys,supply-travel,mounted-ammo,alarm-hearing,hq-memory,hq-awareness,aircraft-field,aircraft-route,native-end-active,native-end-preparing,aircraft-control,aircraft-cancel,aircraft-translate,map-ownership,mortar-refresh,mortar-salvo,mortar-courier,station-teardown,inventory-hitzone,prison-breach,powered-flight,powered-translate,local-admission,mortar-expiry,mortar-transfer,mortar-fire,patrol-hq,victory,lost-helicopter,player-death,radio-network,hq-response,mortar-inventory,startup-failure,site-survey,cache-loss,extraction-capacity,early-helicopter-loss,extraction-startup-failure,extraction-boundary-failure,transport-loss,transport-survey,lifecycle,objective-ui,recovery,prisoner-kit,medical,casualty-load,casualty-direct,casualty-bench,casualty-remove,environment,environment-restart,patrols,radio-document-loss,radio-document-loss-partial,guard-cancel,casualty-service}] + [--roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--large-roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--speech-probe-url SPEECH_PROBE_URL] + [--trace-random-radius] + [--maintenance-refuel] + [--mounted-swap-eligibility] + [--mounted-bmp] [--mine-stock] + [--mounted-courier] + [--mounted-intercept] [--convoy-cover] + [--field-terrain-audit] + [--field-service-cancel] + [--route-service-cancel] + [--station-teardown-diagnostics] + [--flight-autohover] + [--flight-action-inputs] + [--flight-input-diagnostics] + [--recon-takeover-only] + [--body-recovery-only] + [--coordinated-blocked-only] + [--rounds ROUNDS] [--timeout TIMEOUT] + [--project {core,chat}] +test_native_mounted_intercept.py: error: --mounted-intercept requires Chat --smoke convoy, one round and timeout at least900 seconds +usage: test_native_mounted_intercept.py [-h] [--steam STEAM] + [--external-addons EXTERNAL_ADDONS] + --compat COMPAT --profile PROFILE + [--smoke {coordinated-ai,crash-start,crash-geometry,normal-escape-route,escape-route,optional-site-skip,infantry-combat,medical-combat,hunter-faction,unconscious-camera,self-epinephrine,starter-backpack,speech-download,bundled-speech,objective-map,town-garrisons,site-garrisons,radio-interaction,enemy-loadout,aggression,sarka-hunters,air-logistics,air-assault,air-recon,airfield-markers,opening-tools,mortar-station,generated-sites,roadblocks,hq-local-handoff,infantry-transfer,hq-body,convoy,supply-convoys,supply-travel,mounted-ammo,alarm-hearing,hq-memory,hq-awareness,aircraft-field,aircraft-route,native-end-active,native-end-preparing,aircraft-control,aircraft-cancel,aircraft-translate,map-ownership,mortar-refresh,mortar-salvo,mortar-courier,station-teardown,inventory-hitzone,prison-breach,powered-flight,powered-translate,local-admission,mortar-expiry,mortar-transfer,mortar-fire,patrol-hq,victory,lost-helicopter,player-death,radio-network,hq-response,mortar-inventory,startup-failure,site-survey,cache-loss,extraction-capacity,early-helicopter-loss,extraction-startup-failure,extraction-boundary-failure,transport-loss,transport-survey,lifecycle,objective-ui,recovery,prisoner-kit,medical,casualty-load,casualty-direct,casualty-bench,casualty-remove,environment,environment-restart,patrols,radio-document-loss,radio-document-loss-partial,guard-cancel,casualty-service}] + [--roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--large-roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--speech-probe-url SPEECH_PROBE_URL] + [--trace-random-radius] + [--maintenance-refuel] + [--mounted-swap-eligibility] + [--mounted-bmp] [--mine-stock] + [--mounted-courier] + [--mounted-intercept] [--convoy-cover] + [--field-terrain-audit] + [--field-service-cancel] + [--route-service-cancel] + [--station-teardown-diagnostics] + [--flight-autohover] + [--flight-action-inputs] + [--flight-input-diagnostics] + [--recon-takeover-only] + [--body-recovery-only] + [--coordinated-blocked-only] + [--rounds ROUNDS] [--timeout TIMEOUT] + [--project {core,chat}] +test_native_mounted_intercept.py: error: --mounted-intercept requires Chat --smoke convoy, one round and timeout at least900 seconds +usage: test_native_mounted_intercept.py [-h] [--steam STEAM] + [--external-addons EXTERNAL_ADDONS] + --compat COMPAT --profile PROFILE + [--smoke {coordinated-ai,crash-start,crash-geometry,normal-escape-route,escape-route,optional-site-skip,infantry-combat,medical-combat,hunter-faction,unconscious-camera,self-epinephrine,starter-backpack,speech-download,bundled-speech,objective-map,town-garrisons,site-garrisons,radio-interaction,enemy-loadout,aggression,sarka-hunters,air-logistics,air-assault,air-recon,airfield-markers,opening-tools,mortar-station,generated-sites,roadblocks,hq-local-handoff,infantry-transfer,hq-body,convoy,supply-convoys,supply-travel,mounted-ammo,alarm-hearing,hq-memory,hq-awareness,aircraft-field,aircraft-route,native-end-active,native-end-preparing,aircraft-control,aircraft-cancel,aircraft-translate,map-ownership,mortar-refresh,mortar-salvo,mortar-courier,station-teardown,inventory-hitzone,prison-breach,powered-flight,powered-translate,local-admission,mortar-expiry,mortar-transfer,mortar-fire,patrol-hq,victory,lost-helicopter,player-death,radio-network,hq-response,mortar-inventory,startup-failure,site-survey,cache-loss,extraction-capacity,early-helicopter-loss,extraction-startup-failure,extraction-boundary-failure,transport-loss,transport-survey,lifecycle,objective-ui,recovery,prisoner-kit,medical,casualty-load,casualty-direct,casualty-bench,casualty-remove,environment,environment-restart,patrols,radio-document-loss,radio-document-loss-partial,guard-cancel,casualty-service}] + [--roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--large-roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--speech-probe-url SPEECH_PROBE_URL] + [--trace-random-radius] + [--maintenance-refuel] + [--mounted-swap-eligibility] + [--mounted-bmp] [--mine-stock] + [--mounted-courier] + [--mounted-intercept] [--convoy-cover] + [--field-terrain-audit] + [--field-service-cancel] + [--route-service-cancel] + [--station-teardown-diagnostics] + [--flight-autohover] + [--flight-action-inputs] + [--flight-input-diagnostics] + [--recon-takeover-only] + [--body-recovery-only] + [--coordinated-blocked-only] + [--rounds ROUNDS] [--timeout TIMEOUT] + [--project {core,chat}] +test_native_mounted_intercept.py: error: --mounted-intercept requires Chat --smoke convoy, one round and timeout at least900 seconds +usage: test_native_mounted_intercept.py [-h] [--steam STEAM] + [--external-addons EXTERNAL_ADDONS] + --compat COMPAT --profile PROFILE + [--smoke {coordinated-ai,crash-start,crash-geometry,normal-escape-route,escape-route,optional-site-skip,infantry-combat,medical-combat,hunter-faction,unconscious-camera,self-epinephrine,starter-backpack,speech-download,bundled-speech,objective-map,town-garrisons,site-garrisons,radio-interaction,enemy-loadout,aggression,sarka-hunters,air-logistics,air-assault,air-recon,airfield-markers,opening-tools,mortar-station,generated-sites,roadblocks,hq-local-handoff,infantry-transfer,hq-body,convoy,supply-convoys,supply-travel,mounted-ammo,alarm-hearing,hq-memory,hq-awareness,aircraft-field,aircraft-route,native-end-active,native-end-preparing,aircraft-control,aircraft-cancel,aircraft-translate,map-ownership,mortar-refresh,mortar-salvo,mortar-courier,station-teardown,inventory-hitzone,prison-breach,powered-flight,powered-translate,local-admission,mortar-expiry,mortar-transfer,mortar-fire,patrol-hq,victory,lost-helicopter,player-death,radio-network,hq-response,mortar-inventory,startup-failure,site-survey,cache-loss,extraction-capacity,early-helicopter-loss,extraction-startup-failure,extraction-boundary-failure,transport-loss,transport-survey,lifecycle,objective-ui,recovery,prisoner-kit,medical,casualty-load,casualty-direct,casualty-bench,casualty-remove,environment,environment-restart,patrols,radio-document-loss,radio-document-loss-partial,guard-cancel,casualty-service}] + [--roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--large-roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--speech-probe-url SPEECH_PROBE_URL] + [--trace-random-radius] + [--maintenance-refuel] + [--mounted-swap-eligibility] + [--mounted-bmp] [--mine-stock] + [--mounted-courier] + [--mounted-intercept] [--convoy-cover] + [--field-terrain-audit] + [--field-service-cancel] + [--route-service-cancel] + [--station-teardown-diagnostics] + [--flight-autohover] + [--flight-action-inputs] + [--flight-input-diagnostics] + [--recon-takeover-only] + [--body-recovery-only] + [--coordinated-blocked-only] + [--rounds ROUNDS] [--timeout TIMEOUT] + [--project {core,chat}] +test_native_mounted_intercept.py: error: --mounted-intercept requires Chat --smoke convoy, one round and timeout at least900 seconds +usage: test_native_mounted_intercept.py [-h] [--steam STEAM] + [--external-addons EXTERNAL_ADDONS] + --compat COMPAT --profile PROFILE + [--smoke {coordinated-ai,crash-start,crash-geometry,normal-escape-route,escape-route,optional-site-skip,infantry-combat,medical-combat,hunter-faction,unconscious-camera,self-epinephrine,starter-backpack,speech-download,bundled-speech,objective-map,town-garrisons,site-garrisons,radio-interaction,enemy-loadout,aggression,sarka-hunters,air-logistics,air-assault,air-recon,airfield-markers,opening-tools,mortar-station,generated-sites,roadblocks,hq-local-handoff,infantry-transfer,hq-body,convoy,supply-convoys,supply-travel,mounted-ammo,alarm-hearing,hq-memory,hq-awareness,aircraft-field,aircraft-route,native-end-active,native-end-preparing,aircraft-control,aircraft-cancel,aircraft-translate,map-ownership,mortar-refresh,mortar-salvo,mortar-courier,station-teardown,inventory-hitzone,prison-breach,powered-flight,powered-translate,local-admission,mortar-expiry,mortar-transfer,mortar-fire,patrol-hq,victory,lost-helicopter,player-death,radio-network,hq-response,mortar-inventory,startup-failure,site-survey,cache-loss,extraction-capacity,early-helicopter-loss,extraction-startup-failure,extraction-boundary-failure,transport-loss,transport-survey,lifecycle,objective-ui,recovery,prisoner-kit,medical,casualty-load,casualty-direct,casualty-bench,casualty-remove,environment,environment-restart,patrols,radio-document-loss,radio-document-loss-partial,guard-cancel,casualty-service}] + [--roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--large-roadblock-probe-count {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}] + [--speech-probe-url SPEECH_PROBE_URL] + [--trace-random-radius] + [--maintenance-refuel] + [--mounted-swap-eligibility] + [--mounted-bmp] [--mine-stock] + [--mounted-courier] + [--mounted-intercept] [--convoy-cover] + [--field-terrain-audit] + [--field-service-cancel] + [--route-service-cancel] + [--station-teardown-diagnostics] + [--flight-autohover] + [--flight-action-inputs] + [--flight-input-diagnostics] + [--recon-takeover-only] + [--body-recovery-only] + [--coordinated-blocked-only] + [--rounds ROUNDS] [--timeout TIMEOUT] + [--project {core,chat}] +test_native_mounted_intercept.py: error: --mounted-intercept and --convoy-cover are mutually exclusive +PASS: actual native interception witness requires real radio cursor/lineage, original actor identities, fixed movement/hold/expiry/resume and immutable deadline; no movement/delivery injection +PASS: actual CLI rejects wrong mode/project/rounds/899s/conflict before runtime; valid flag and terminal branch identify synthetic-observation qualification +PASS: visible base hook and actual fixture override delegate once; delivery proof uses retained pre-super route only on successful production transition +actual mounted HQ dispatch planning, radio, ownership and lifecycle checks passed +PASS: actual mounted intercept eligibility/order chronology, fixed destinations, native road selection bounds, width, segment heading, clearance and settlement delegation; no native driving claim +PASS: actual paired arc geometry,40m/80m spacing, separate original polylines, both-position validation and128road/4096segment budget; no native driving proof +PASS: actual typed original BMP singleton, loss/footprint/custody guards and native cancellation, UAZ-only pair admission, rollback, native allocation/revocation boundaries, per-member ownership, hold and expiry +PASS: actual Tick clock initialization admits fractional first ticks and expires without extending the original start +PASS: actual finite conservation/deadline/callback policies; read-only selection, bounded once-only inventory submission and no can refill; native transfer not executed +PASS: actual exact-context membership, bounded identity/reach gates, native start/cache/eligibility ordering and no duplicate/foreign action start; fuel manager identity and empty-can headroom guards checked +PASS: actual detached node/value snapshot and conservation refuse mismatched lengths before indexed reads, retain original identities under native out-array aliasing and log bounded counts once; native cause remains unknown +PASS: actual mine evidence sealing/recovery, historical coarse publication, caps, canonical ownership, marker join retry/owner-change/stop; native arming and replicated vector-array transport untested +PASS: actual full document recovery retains authored/sealed targets, one shared spent ledger, retry/exhaustion semantics and canonical multi-player ownership alongside supplemental mine intel +PASS: actual infantry search suspension, quiet grace, finite resume, expiry/replacement and defensive/ownership boundaries +PASS: infantry combat gate precedes radio delivery and preserves non-task transports +PASS: actual HQ contact transition wakes only fit squad members, cancels only task orders and logs changes once +PASS: actual finite medicine grants, authored stock deduction, full-backpack refusal/pouch fallback, no loot replenishment, unresolved-operation quarantine and ownership/stop guards +PASS: only recent native detected/identified threats suspend hunter travel; stale/disarmed/destroyed contacts cannot strand patrols +PASS: actual hunter combat transition cancels only its travel once, holds through renewed contact and resumes after quiet; unregistered startup preserved +PASS: actual movement recovery retries delivered orders three times, respects combat/speed/arrival/progress, then abandons the stalled vehicle +PASS: actual abandonment releases once, detaches transport, requests native exits only for fit original AI aboard, and leaves players/captured crews alone +PASS: captured sighting retention, immutable details, expiry, replay rejection, bounded sound uncertainty/cooldown, radio loss, priority and overdue-status fairness +PASS: arrow press/release, held keys, opposing keys, disabled/menu input and firearm-only retention +PASS: actual self-injection eligibility matrix and authority/rate limit; default-off persistence, authenticated menu route, owned finite injector and native effect/consumption boundaries +PASS: town trigger and hard 700m exclusion for all observers, empty/invalid positions and final-check crossings +PASS: object guard split, hard 1000m exclusion / 1400m activation, footprint support, slopes, holes and invalid traces +PASS: actual fixed-post admission reserves only stationary guards from HQ retasking and tightens their defend radius +PASS: production site classification accepts structures/descriptors and excludes industrial props, fragments, flags, ruins and vehicles +PASS: increased site populations preserve the 32 fixed / 16 mobile field-soldier budget, with guards at every site +PASS: exact finite site squads, invalid roster/count rejection, committed-site spacing and safe fallback boundary +PASS: mortar couriers use the mobile site team and refuse permanent-only garrisons +PASS: omitted preferred mortar depot selects a surviving owned camp/mobile team; no camp, foreign cache and permanent-only sites are unavailable; historical priority retained +PASS: real-session mortar deadline, failed-support convoy admission and hunter survivor/recovery gates +PASS: native-route retry preserves delivered target, limits attempts and suspends during combat +PASS: stale/deleted AI utility cannot receive Complete; mortar HQ preflight withholds unsafe orders; mounted convoy cover never creates infantry Defend +PASS: flight crew affiliation and group precede native boarding; preparation remains bounded even while passengers wait +PASS: factionless/deleted map targets do not abort perception; faction lookup tolerates teardown; deleting helicopter releases without capture/engine access +PASS: shoot adapter waits for a physical round; bounded same-shell retries, interrupted/never-started loads, committed no-retry, order/owner changes and normal native delegation +PASS: observed mortar corrections, radio delivery, bounded expiry, aim preservation and out-of-order impacts; native flight untested +PASS: splash reports retain HQ-estimated movement with matching position/time; stale, mismatched or unsupported estimates rejected +PASS: missing/invalid faction crew defers before any native spawn or allowance insertion; all registered RHS factions have explicit soldier and medic profiles +PASS: vehicle radio issued once; pending, refusal and looting cannot duplicate or fabricate a physical radio link +PASS: actual vehicle-radio link requires the original seated crew, physical manpack and live uncaptured mission vehicle; looting, dismount, release and teardown remove it +PASS: actual hunter release preserves survivors/HQ, releases driving ownership once, delegates capture/teardown, and excludes prison/patrol/mortar from generic objective defence +PASS: actual hunter cancellation releases exactly the pending source/message once; teardown clears ownership without HQ/game/world +PASS: actual player-entry hook latches original hunter capture before native callbacks; both release layers cancel ownership without new entities/refund; bounded current-owner guards and prior-release policy +PASS: real opening road geometry enforces wide azimuths; fresh delivered contact preempts patrol cooldown, respects radio failures and does not starve in-flight interception +PASS: delivered ground search survives the 60-second mortar cutoff, with five-minute/500m uncertainty bounds and no live target reads; mortar policy unchanged +PASS: reserve uses HQ reports/dispatch deadlines, preserves radio uncertainty, spends once, respects cooldown/availability/three-reserve/15-vehicle caps +PASS: searches expire ten minutes after observation, ignore replays, wait at arrival, widen within 1 km and bound road queries +PASS: actual scoped 10% tighter REGULAR aim error and alert perception; preserves equipment multiplier and restores vanilla behavior when unbound +PASS: physical inspection and parent-wreck retention; server-only searched/report delivery unlocks native cleanup once with a 300-second delay +PASS: 570 folders cover 57 unfinished sites evenly; known/automatic targets excluded, late camps included, and exact issued/authored documents preserved +PASS: bounded same-group empty-spawn retries, no casualty refill, queue retirement, delivery-gated intel, prepared-team reuse, throttled diagnostics and LOD release +PASS: four-team/twelve-wave bounds; two-thirds nearby radio defence; nearest selection, radio failures, expiry, perimeter separation, protected duties and independent response budgets +PASS: production airborne memory confidence, persistence, ground coverage, confirmed losses, artillery veto, cooldown and invalid-input rules +PASS: production bounded approach deadline, empty-drop reuse, partial-drop protection; cover retains the carried HQ target until its deadline; airport reload waits until the drop pass and cover have finished +PASS: air logistics reservation preserves delivered search until radio handoff, excludes guards/combat/in-flight orders, and quarantines unresolved native loads/moves +PASS: actual ammunition cargo selector handles empty rifle/machinegun/sniper magazines, preserves loaded variants, excludes auxiliary launchers and tolerates missing native metadata +PASS: original 15-minute launch/loss cadence, active/captured timer disarm, saved delay reset, stop, 300m orbit and bounded close-contact standoff at 30/60/120 Hz +PASS: actual aircraft-removal notification guards owner/server/active/stop and schedules one full delay without replay extension +PASS: actual helicopter delay applies resolved Random values, preserves countdown on save failure, and leaves active flights running +PASS: hill prominence/elevation, actual road edges/heights/bends and server-only finite scout admission, pending stock, timeout and no replacements/refills +PASS: mortar duty scope excludes players, other crews, stopped/client/inactive states; only destruction releases an active assignment, while the gunner may approach the gun +PASS: random mode restrictions, full numeric ranges, independent calendar dates and strict daylight boundaries +PASS: actual killais eligibility includes the 1000m boundary, excludes players/retained bodies/dead/non-character entities and checks full 3D distance +PASS: actual generation scheduler bounds each tick, enforces deadline/candidate ceiling, validates fallback, commits only accepted positions, skips only dispensable sites, preserves required objectives/intel, and resets the next search budget +PASS: actual background activation waits an hour empty without consuming placement time; disconnect does not reset active budget +PASS: actual separation keeps randomized extraction within the escape boundary in both placement orders, including fallback +PASS: scenario validation admits randomized extraction definitions and rejects unsupported randomized site kinds +PASS: terrain placement samples world bounds, retains streaming candidates, bounds waits/work, rejects foreign fallbacks, preserves objectives/intel and validates completion +PASS: actual navigation readiness supports static meshes, yields only for loadable streaming tiles and refuses unreachable positions +PASS: automatic extraction samples the whole terrain immediately and retains geometry/navigation/flatness and fleet-space checks without airport bias +PASS: universal connector, embedded/standalone exports, multiple terrains, stable IDs, native nav configs, missing-nav visibility, path validation and overwrite protection +PASS: airfield detection accepts physical runways/towers and bounded authored markers, rejects unrelated props, water and out-of-world markers, and samples terrain height +PASS: configured airport parsing, bounded readiness, stale admission rejection and cleanup wiring +PASS: automatic default, explicit header/CLI opt-out, editor/authored-mode guards, optional airport override precedence and fresh-round saving guard +PASS: singleton identity guards, paired faction deserialization and client world-cleanup wiring +PASS: task/map/respawn getters survive delayed old destruction and preserve ordinary-mode behavior +PASS: replication hierarchy refuses absent/aliased nodes and establishes delivery dependencies idempotently +PASS: standalone old faction delegates collected once, with null/deleted owners ignored +PASS: actual terrain takeover startup skips mode-less/menu worlds, always forwards super, retains eligible/unsupported/authored/client/editor semantics +PASS: native name callback preserves authored modes, opt-outs and failures; terrain suffix follows world changes, cached resolution and confirmed takeover text restores on cleanup without changing scenario identity or overwriting later edits +PASS: actual terrain parent traversal, Armenhof/Nogova names, Everon alias, missing-resource fallback, empty names and bounded cycles/depth +PASS: actual loading title/description hooks follow late takeover, apply text limits and empty updates, retain native progress and tolerate missing headers/widgets/game +PASS: saved terrain GUIDs, defaults, restart persistence, clearing, backup recovery, corrupt-file preservation, write failures, and client write denial +PASS: startup terrain capture protects client/editor/menu worlds, default behavior, same-map loads and reload-loop recovery +PASS: actual transition waits for native startup, disconnects without bans, requires an empty session, retains every loaded mod, bounds waiting and consumes requests once +PASS: actual faction resolution reserves explicit roles, samples without replacement, substitutes disabled selections, and rejects duplicate/unknown/missing choices and insufficient pools +PASS: Random all submits persistent random roles immediately; manual mixed choices, stale/unauthorized UI guards and debounce preserved +PASS: actual content policy gates parent packs, individual factions, faction identity and finite group rotation with vanilla fallback +PASS: actual delivered road eligibility, ahead projection without chords, reservations, stock road query bounds, terrain/water/obstruction refusal and clean outputs +PASS: actual delivered-task lineage, expiry, old-order retention, native commit, release, road precision expiry and duplicate delivery +PASS: actual original-roster local handoff,100m3D bound,busy carrier/budget exclusion,origin interruption including deletedsource,normal radio delivery and per-source replay history +PASS: actual visual intake retains source/time/position/id, rejects replay, prefers usable own route, excludes simultaneous callers and conservatively resets negative-sweep dwell +PASS: actual fixture local/radio gating, immutable source/time/position, interrupted-report exclusion and exact-owner cleanup +PASS: local-handoff runner refuses wrong project/round count/insufficient deadline before runtime work +PASS: actual fixture allocator terminal/unsubmitted guard, original-group lookup and both candidate gates +PASS: actual report-derived waypoint insertion/order and tighter positive radii; no formation navigation claim +PASS: actual Place/Stop waits native pose update, bounds four attempts, preserves original position, restores pending/settled placement and respects ownership/accepted-move quarantine +PASS: actual fixture current/original recipient ownership, unresolved transfer cleanup, exact-token release and idempotent Stop +PASS: actual fixture phased-cargo readiness, bounded callbacks, captured-stock mixed-caliber selection/continuation, reservation cleanup and component magazine counts +PASS: actual inventory-fixture setup uses ordinary prison unlock before constructing its convoy-waiting probe; failed unlock cannot run fixture +PASS: actual authored storage anchors, native trace flags, own-hierarchy exclusion, external wall/vehicle obstruction, range, unknown geometry and bounded context refusal +PASS: actual Compatible and bounded stock preflight before report/claim consumption, later compatible truck, launcher controls, convoy binding, finite identities, disjoint tokens, shared report replay/cooldown, original recipients and HQ cleanup +PASS: actual finite convoy supply pool; immutable slots, shared demand state, sparse/capped discovery and permanent shutdown +PASS: actual HQ rotates finite donors, skips unavailable/contacted trucks, uses delivered reports and dispatches at most one trip per planning cadence +PASS: actual original turret identity, native/canonical guards, scoped maximum-skill profile, reset, dismount/reboard, requested-skill preservation and restoration +PASS: bounded HQ startup/memory windows and outcome-specific full-route deadlines +PASS: explicit escape-route skips only administrator stress, preserving original full-fixture wait/failure paths +PASS: normal escape route keeps ordinary catalog and generated placement; historical selectors remain unchanged +PASS: actual patrol fixture leaves prison before responder HQ proof, followed by separate permanent-patrol observation +PASS: exact patrol-hq finite responder preparation and native search-radius receipt verification +PASS: actual read migrates old valid settings, preserves explicit disabled state, rejects invalid data; next-round feedback and fixed menu remain honest +PASS: actual automatic convoy timing/authority/admission/one-attempt/manual-task/stop policy; native deployment unproved +PASS: late authoritative failure reason refreshes open result; detach, mode change and success subscriptions preserved +infantry resupply actual rules, radio transitions, owned cleanup and unresolved-operation tests passed +PASS: actual resupply Roster preserves permanent release, original slot mapping and bounded ownership +PASS: actual designated zero/one original carrier selection, settled startup, shared finite claims, no refund after submission +PASS: actual HQ startup grant readiness forwarding is authoritative and fail-closed +PASS: actual finite PMN4 designated-zero/one entitlement, pinned original ownership, shared commit, physical custody, callback quarantine/deletion and no retry +PASS: actual bounded empty-return and finite delivery; phase-isolated callbacks, exact ownership proof, stop quarantine and original actor/vehicle boundaries +PASS: actual shared finite identity reservation; competing consumers, submission permanence, stale cleanup and96-item bound +PASS: actual carried-mounted swap, shared committed claim, physical slot reach, exact two-way proof, uncertainty and terminal cleanup +PASS: actual mounted pickup, exact finite ownership, pre-submission commit, physical custody, bounded callback and quarantine lifecycle; no native coverage claim +PASS: actual mounted courier admission, radio, individual orders, two-stage transfer, reboarding, token cleanup and quarantine lifecycle +PASS: actual scoped crew permit and native board completion/failure preserves foreign seats without teleport fallback +PASS: actual shared mounted stock/history ownership, atomic exact HQ pair claim, and bounded stopped-owner proof polling +PASS: actual carried/mounted early ammunition policy and status-first shared uplink; complete threshold, phases, cooldown, failures requested check-ins and non-urgent detached carried-mine status +PASS: actual group radio startup preservation, finite native grants, callback quarantine, frozen selection/actor ownership and bounded observation +PASS: actual maintenance native-stock check rejects missing/duplicate/wrong-identity/unowned/depleted/malformed stock and is read-only; native runtime not executed +.................. +---------------------------------------------------------------------- +Ran 18 tests in 0.299s + +OK +PASS: actual radio node rejects current incapacitation, death, ownership and faction changes despite cached inventory; one-second capability refresh remains explicit +PASS: Southern finite maintenance stock preserves weapons/clues and optional transport, historical Western fixture stays separate; native capacity/consumption untested +PASS: optional transport deferred behind required readiness, bounded once-only spawn/omission, isolated cleanup, occupied-candidate retention and required-default preservation +PASS: actual diagnostic fallback runs only on failed missing-context call, derives unique native pilot door, preserves stock eligibility and restores prior index on success/failure; diagnostics mutate no game state. +PASS: actual native-prelude cleanup restores only original changed damage, refuses stale/incapacitated/aboard teleport; bounded five-seat/four-door fixture wiring checked. Native execution remains pending. +PASS: actual CreateTransport requires successful scoped Configure after handbrake, preserves ordinary vehicles, tracks spawned entity before failures and never treats failed lock registration as ready. +PASS: actual preparation Configure guards/idempotence/breach preservation, security eligibility/final current-body server mutation and all scoped action guards; all five seat/four door resource overrides. Native hold, prefab merge, replication and boarding remain unverified. +PASS: production vehicle alarm single trigger/replica completion/no replay, fixed deadline/readiness wait, failed audio, dedicated server, moving exact handle, destruction/native end/deletion/clock and mission teardown. Native sound and multiplayer delivery require engine qualification. +PASS: production alarm emitter/receiver original time/location, explicit native queue only, 32-entry cap, 50m local witness eligibility, bound perception, native-super preservation; actual engine broadcast/hearing remains unverified. +PASS: actual optional candidate barrier, exact callback/custody proof and unchanged mine/primary snapshots; no native transfer claim +Native finite mine-stock runner: parser, scope, exclusions and command pass +PASS: actual bounded native mounted proof/detached payload/deadline/cleanup methods, production-only setup and isolated runner selector +PASS: actual one-existing-convoy candidate readiness, sender-root identity, incomplete cargo refusal and fixed three-candidate bound +PASS: actual BMP capture requires complete armed exact original resource; pinned delivery/slot checks and isolated CLI flag +PASS: actual opt-in pre-unlock isolation refuses wrong mode/phase/flag and existing hunters; no baseline service changes +PASS: actual once-only native dry query, exact before/after slots, native refusal, shutdown; shared bounded discovery and distinct opt-in verdict +PASS: actual completion selector and pre-cleanup variant capture preserve separate radio and eligibility verdicts +PASS: actual cargo diagnostic stages separate absent/foreign magazines, used/empty/invalid rounds, well mismatch and exact truck storage/attachment without mutation +PASS: actual native courier witness rejects missing radio/custody/swap/reboard evidence; CLI opt-in bounded; native success remains unqualified +PASS: actual courier constructor/Tick waits for preparation, returns before physical checks, preserves fixed deadline and sticky stop/failure; Enfusion startup awaits native verification +PASS: actual arranged native alarm fixture deadline, single emit, natural-route observation, original timestamp/area/detail assertions, natural observer proximity/activation wait, failure cleanup and independent canonical-body restoration; native delivery itself remains unqualified. +PASS: actual convoy cover observation/snapshot/uplink/HOLD/RESUME/cleanup transitions; native boundaries mocked, non-convoy runner opt-in refused +Enemy optics actual-service ownership, preservation, callback, deadline and bounded-inspection policies passed +PASS: actual delivered cover freshness/lineage/replay and canonical executor; owned waypoint-only hold, one resume at preserved route index, invalid ownership/crew/ledger refusal and fail-closed native recreation +PASS: actual Stinger show/set/help state precise actor-roll effects; read-only help, bounded values, malformed syntax and failed-save preservation; no rerolls/gameplay edits and no native persistence claim +PASS: new/retasked search and radio delivery ammo gates; active tasks and delivered release preserved +HQ convoy delivered-report planning and downlink regressions passed +PASS: actual own-inventory ammo inspection deduplicates loaded/carried/shared wells, separates chambers/launchers, freezes scalar snapshots and treats unsupported/capped/foreign inventory as unknown +PASS: actual carried PMN4 inventory, original-owner guards, bounded deduplication, independent unknown state and detached counts +PASS: actual mounted hierarchy sampling, ownership exclusion, deduplication, completeness/caps, quarter threshold and detached validation; no runtime policy or ammunition mutation +PASS: WORKBENCH opt-in diagnostics distinguish cycles/cap/storage/manager/mount failures without repeated native traversal +PASS: actual HQ original convoy-root admission rejects wrong force/server/group and never supplies replacement lookup +PASS: production mounted structural seat scan ignores >128 carried/cargo descendants, shares exact native mount/magazine ownership, preserves attachment seats and exact occupants, rejects unknown/cyclic/oversize structures; native binding still requires qualification. +PASS: native body fixture uses existing immutable actors, real production LOS/queued uplink, pre-delivery isolation, actual status overlap, bounded cleanup and no fabricated reports/spawns +PASS: actual native fixture lookup selects exact BODY kind/identity/message from bounded evaluations, never sighting-only Get +PASS: actual ammo snapshot comparison checks every scalar/category flag; native probe requires real roster rescan, loaded-round lower bound and separate immutable pending/Watch objects +PASS: actual delivered slot-union bodies preserve overlap/disjoint evidence, replay idempotence, status subset integrity, full-wipe closure and formation-local bounds +test_review_added_allowed_media_invalidates_snapshot (__main__.ReviewTests.test_review_added_allowed_media_invalidates_snapshot) ... ok +test_review_added_source_directory_rejected (__main__.ReviewTests.test_review_added_source_directory_rejected) ... ok +test_review_loose_root_resource_and_symlink_rejected (__main__.ReviewTests.test_review_loose_root_resource_and_symlink_rejected) ... ok +test_review_metadata_media_and_sidecars_remain_allowed_and_bound (__main__.ReviewTests.test_review_metadata_media_and_sidecars_remain_allowed_and_bound) ... ok +test_review_missing_link_rejected (__main__.ReviewTests.test_review_missing_link_rejected) ... ok +test_review_package_guard_sees_new_scripts (__main__.ReviewTests.test_review_package_guard_sees_new_scripts) ... ok +test_review_retargeted_private_link_rejected (__main__.ReviewTests.test_review_retargeted_private_link_rejected) ... ok + +---------------------------------------------------------------------- +Ran 7 tests in 0.090s + +OK +PASS: actual report methods reproduce old starvation; status-first scheduler delivers check-ins and requires 30s without combat or actual visible contacts before negative reports +PASS: actual actor group lookup retains controlled character membership when seated/inherited vehicle agents differ; missing control or parent refuses +................. +---------------------------------------------------------------------- +Ran 17 tests in 7.180s + +OK +PASS: actual convoy motion thresholds, native-only proof boundaries, physical cargo/crew ownership and pre-launch runner restrictions +PASS: actual new measured ClearFootprint 25/441 sample grids, measured extents/height, water/invalid world/terrain/trace refusal plus legacy filled rotated-footprint TraceBox and nine terrain/water samples; broad tree/cable bounds alone accepted, actual collision/nonfinite trace refused, nonzero sweep and ENTS/OCEAN flags, bounded diagnostic query and reset +PASS: actual road interpolation/projection/orientation, six35m starts,200m forward tail, preserved bends, short/far/degenerate/nonfinite/overdense/hairpin refusal and deterministic candidate ties +PASS: actual authenticated convoy dispatch, active/ready admission gates, canonical receipt, safe unconsumed preflight retry, pool refusal, retained partial failure and consumed no-retry +PASS: actual native readiness exact membership, one-time per-vehicle ledger admission/reservation, partial readiness retry without duplicate records and one-pass56-item cargo allocation without replenishment +PASS: actual per-vehicle readiness reasons, native agent/activity counts, intended-seat diagnostics, five-second throttle and read-only observation +PASS: actual convoy dispatch validates before receipt consumption, consumes once before native mutation, retains all10 partial-failure paths, accepts the selected non-USSR enemy, and allocates exact10 bodies without capacity shrinking +PASS: own memberless prefab disables automatic spawn before initialization; actual admission rejects populated, immediate or authored-slot templates before finite crew creation +PASS: actual native seated-group arrival outside35m, native waypoint removal, idempotent advance, and convoy waypoint idempotence/arrival/deadline, missing/dead/captured/reparented crew refusal, failed native waypoint release, original vehicle/member preservation and no replacement +PASS: actual convoy/team Release retains original active survivors and HQ identity, rejects takeover/terminal/unknown roster, preserves exact logistics quarantine and normal eligibility +PASS: actual convoy receipt identity/one-use, shared60-body and128-formation caps, outstanding/native-ledger accounting, exact10-body composition, source reuse, mode/client guards and no consumed receipt refunds +PASS: actual supply route cycling/arrival/stops, finite startup bounds, contact freshness, dismount hold, quiet interval, interrupted boarding, timeout and lost-truck release +PASS: moving-convoy perception boundaries and scoped individual/group abandonment priorities +PASS: actual supply startup reasons expose unchanged body budget/requirement, journal only failure changes, preserve retry cadence/caps and report the true final refusal +PASS: actual combat start releases only exact intercept claims before owning route/orders; foreign claim defers combat takeover +PASS: actual StartOne plus actual pool preserve unconsumed receipt retry, reject consumed replay, skip impossible new-budget surveys, retain equality, retry caps and journal dedup; no FPS claim +PASS: actual admission seeds use exact installed loaded prefab, reject replacement/foreign/projectile paths and preserve bounded immutable identity +PASS: actual primary-before-mounted one-shot batch, shared96/128 caps, physical snapshot headroom, original ownership, callback refusal and admission pinning +PASS: actual bounded HQ query validates only existing original binding without admission or replacement lookup +PASS: exact optional PMN4 startup, primary callback independence, original owner,128 capacity/callback limits, terminal no-retry and callback-proven freeze +PASS: production convoy spacing, physical arrival, stable follower targets, supply ownership, leader promotion and bounded stuck recovery +PASS: convoy combat keeps native manoeuvres for unchanged contacts and refreshes when contact moves +PASS: native convoy proof excludes pre-departure movement and ends via explicit fixture reset, not prohibited player death +PASS: boarding retries only after approach/seat progress stops, capped at three, with delayed native reissue and completed-team preservation +PASS: slow only owned vehicles near fit dismounted infantry; ignore passengers, casualties and released teams/vehicles +PASS: restore missing native driving registration only for healthy owned seated crews; preserve existing association and refuse invalid/released vehicles +PASS: actual convoy support preserves visual cover and ongoing approach, retries masked arrived positions, withholds unsafe moves and preserves ammo withdrawal +PASS: production support geometry rejects occupied, disallowed, blocked and too-close positions; only explicit intermediate approaches waive the firing-lane requirement +PASS: actual body observer enforces owned physical roster, local death-only candidates, native trace gating, budget/cadence/caps, immutable body-only snapshots, radio retries and confirmed suppression +PASS: own initial roster, explicit retained corpse evidence, unconscious/missing/ref transfer guards, fixed strength, no replacement adoption, detached samples, surviving radio sender, immutable convoy root/ledger, mounted capture release and lost-root unknown +PASS: delivered-only status snapshots, two missed check-ins/reply deadline, last reported coordinates, episode/replay guards, confirmed-loss idempotence, detached/validated mounted payload replacement 256-record cap and detached carried-mine radio delivery/chronology +PASS: actual failed-retask deadline rollback plus assignment cancellation/release preserves radio ownership, native waypoint lifecycle and failed-order retry boundaries +PASS: actual force ledger, finite casualties/identity/cap, routes/arrival/elevation/overshoot, server and physical guards, staggered 256-record simulated hour without world queries +PASS: actual equipment coordinator registration dedupe, startup delay, five member scans, finite component retries, unregister/stop terminal behavior and 256-group bound +PASS: actual percentage selection, native/preferred launcher preservation, failure/removal fallback, pending-operation quarantine, capture, finite two-mine grants and no replenishment +PASS: automatic inventory one-shot roll, exact item ownership, finite compatible ammo, rejection, capture/stop, deletion, loot and late callback quarantine +PASS: enabled/valid catalog eligibility, category restrictions, content filtering, GUID deduplication across factions and bounded catalogs and exact weighted ticket boundaries (100:1, zero excluded) +PASS: actual engineer native group-envelope admission and phase cancellation, preparation/deadline, original custody/identity, once-only callback removal, cancellation quarantine, withdrawal/clearance, native refusal and owned-action cleanup; native execution untested +PASS: actual mine selector respects road and settlement flank safety; native boundaries doubled +PASS: actual HQ and post ledger: second delivered post, one query/tick,2 active/32 jobs,4 consumed lifetime attempts, no-stock/query refusal consumption, pending old job and original identity constraints +PASS: actual mine post ledger immutable history, strict chronology/evidence, aliases, >160m separation, detached sites and finite4/32 consumed attempts +PASS: actual objective heading/threat/approach rules, persistent doctrine weight, fresh-contact coverage invalidation, stale-sweep rejection and atomic radio retask ownership +PASS: actual bounded delivered-negative coverage, replay/freshness/expiry/invalid guards, oldest eviction, small-circle and nearest-unswept selection, reserved-cell exclusion and cleanup +PASS: actual five/six bounded hypotheses, observation-relative ETA, future lead, hiding/reverse, local negative weighting, immutable report lineage, road bends/heights and finite cache budgets +PASS: actual10/40m local negative patches, same-cell hidden-ground preservation, proportional residual belief, replay, chronology, physical-report guards, caps and cleanup +PASS: actual operation selection/replay, pending reservations, detached reports, identity/sequence/time gates, terminal lifecycle, bounded ledger, finite roles, no shadow mutation or hidden-player inputs +PASS: actual squad judgment, stable caution, delivered casualty/contact/ammo trends, isolation, replay/time validation, recovery hysteresis, no invented healing or enemy knowledge +PASS: actual terrain survey chooses usable cover/concealment, preserves search and bound envelopes, honours finite support, delivered evidence, ownership, async tiles and shared geometry budget +PASS: actual-action speech, finite current cover, local search wording, silence after replacement/transfer/stale queue, stable cooldown and optional direct speech +PASS: actual hunter reservation ledger, pending/delivered replacement, independent six/eight caps, stale/empty status, finite observation deadline, no hidden force-position lookup +PASS: actual coordinated adapter report gates, local evidence, delivered-force snapshots, ownership/lease checks, continuous-contact arbitration, legacy isolation and shadow no-native-order boundary +PASS: actual execution lifecycle, original physical arrivals, failed movement, quiet footprint, local support expiry and delivered report acknowledgments +PASS: native support wiring requires own activity, soldier suppression, actual projectile event and immutable roster; no waypoint-completion arrival shortcut +PASS: actual finite native LOD leases restore prior overrides and protect transferred agents, player ownership and intervening overrides +PASS: actual waypoint pause/resume owns only its finite order, preserves unrelated routes and cannot resurrect a superseded or deleted hold +PASS: installed native priorities authorize group suppression71 over ordinary combat70, below native healing80; tagged soldier suppression91 yields ammo100, retreat110, medics111 and immediate danger (action SHA256=dbc652e6885f5d52d9dcdd465f74a7f8eb742eeb7f3a47d38fd11bb8b93ed1d8) +PASS: actual suppression and projectile methods retain a fixed eight-second last-seen area, deny blind support, require exact owned behavior, preserve finite ammo/shot budgets and bound retries +............. +---------------------------------------------------------------------- +Ran 13 tests in 0.733s + +OK +PASS: actual coordinated runner admission and explicit blocked-only engine flag; no native launch +PASS: actual HQ active/pending reservations, interruption, committed replacement, bounded coverage and unchanged force counts +PASS: actual bounded pursuit roles/objectives/scores, stale search degradation, physical/busy/home guards, finite lifetime and two-bearing escape gap; no hidden player reads or spawning +PASS: actual finite45..110 radius and both ordinary search queue snapshot expressions +PASS: actual HQ memory rules/service preserve delivered snapshots, chronology, replay bounds, decay, motion limits, identity and negative-search revisions +........... +---------------------------------------------------------------------- +Ran 11 tests in 0.284s + +OK +PASS: actual session Tick + journal router delivers each grant completion and new HQ line once, without repeats on empty/unavailable feeds or unauthorized ticks +..... +---------------------------------------------------------------------- +Ran 5 tests in 0.673s + +OK +PASS: actual current-controller/admin/mode authorization, per-round anti-replay, token-rotation refusal, command/snapshot throttles and client scope; owner-only replies and player-tool cleanup wiring +PASS: mission provider registration is idempotent, optional dispatch is ordered, status aggregates, journals preserve cursors, aliases stay with their addons and topic help is bounded +PASS: actual menu command routing covers all menu settings, rejects unsupported keys, gates companions, and matches unique authored widgets +PASS: explicit weapon retention buttons use the same ready/authorized server command path +PASS: restart toggle submits authorized settings commands; Mission controls fit without overlap +PASS: item editor, preset controls and dynamic item-row layout are structurally valid +PASS: selected choices remain green/red and fully visible when disabled; unselected choices return to neutral +PASS: probability editor and weighted item-row layout have all bound controls +PASS: panel fits narrow/large-DPI viewports, restores requested size, avoids repeated writes and preserves user DPI +PASS: catalog requests use authenticated sessions, independent admin page selections, loaded-mod allowlisting, bounded pages and allowlisted item mutations +PASS: whole-catalog multiword/case-insensitive search, name/path matching, enabled/disabled filters and large result sets +PASS: optional vehicle discovery excludes parts/wrecks/base templates; bounded custom patrol crews accept cars and gun crews without extra bodies +PASS: actual item rules, shared-source conflicts, missing/returning mods, bulk reset, independent named presets, bounds, malformed data and failed-save state preservation +PASS: actual summaries preserve queued/delivered meaning, clear counts and IDs; raw records, legacy display, cursor gaps and RPC limits remain intact +PASS: actual admin body authorization, god restoration, vanilla item deposit, callback completion/failure, timeout quarantine and stop/revocation paths +PASS: same-body revoke/regrant preserves pending insertions and timeout quarantine; new-body binding isolates late callbacks and never inherits god mode +PASS: actual Intel commands distinguish status/start/failure, preserve authorization gate and reject malformed requests; spent ledger is idempotent, server-only and bounded +PASS: actual reroll snapshot, authority, cancellation, ownership, accepted operations, quarantine, bounded work and stop methods; no native runtime claim +PASS: production Intel feedback coalescing, rough secrecy, rate limit, bounded dedupe, local/remote delivery and round cleanup; native UI/RPC not exercised +PASS: actual per-squad bounded report selector rotates visible targets, survives ordering/turnover, records only queued attempts, and preserves radio intake ordering +PASS: actual action denial/clearing, server request failure, single submitted-result feedback, current rescuer identity and terminal/stop suppression; native UI/RPC pending +PASS: actual physical denial precedence and transport-seat occupancy/reservation/access/lock checks +PASS: actual initial admission exhaustion and ServerTick grace; new/pending/empty/controller/life guards, normal death preserved +...................... +---------------------------------------------------------------------- +Ran 22 tests in 0.234s + +OK +...................... +---------------------------------------------------------------------- +Ran 22 tests in 25.197s + +OK +.................. +---------------------------------------------------------------------- +Ran 18 tests in 2.945s + +OK +......... +---------------------------------------------------------------------- +Ran 9 tests in 2.263s + +OK +............... +---------------------------------------------------------------------- +Ran 15 tests in 1.132s + +OK +PASS: actual field result/braking observer and Chat dispatch rules; one finite fixed candidate, deferred callback failure and guarded cleanup; no native measurement +PASS: actual opt-in terrain audit records one fixed1681-point grid, preserves original survey refusal/success and exact no-allocation scope; malformed heights stop without retry; no native data acquired +.... +---------------------------------------------------------------------- +Ran 4 tests in 0.652s + +OK +PASS: actual field PI/ramp/vector caps, antiwindup, braking hypothesis, immutable admission limits and segment bounds; no native physics tested +PASS: actual100m whole-field survey sampling/4096cap, rotated coverage, all-node terrain and native trace refusal; original certificate lineage retained; no native qualification +PASS: actual QualifyField preserves original identity/footprint/time, orders complete surveys before issuance, and refuses failed stages/moved body/expired or changed world; native boundaries faked +PASS: WORKBENCH first-refusal diagnostics preserve ordinary predicates, query order/count/budget and opt-in scope; no native logging run +PASS: actual field startup delegation, immutable lease/target, braking/settling/cancel transitions, early abort, callback scope, physical terminal policy and shared landing demand; native boundaries faked +PASS: actual inherited airborne pre-CLIMB cancellation enables verified native autohover once, refuses failed enable and never writes after capture +PASS: actual Core maintenance/default/tick/stop methods; empty/populated authority, terminal reentry, no tactical resume or new scheduler; native boundaries substituted +PASS: actual finite registration, unique claims/tokens, retention/cancel/stop, readiness gating, capture/expiry retirement and bounded cross-kind order history and typed field/route construction; native boundaries faked +PASS: actual WORKBENCH route observer returns exact retained route subtype and refuses absent/field controllers +..... +---------------------------------------------------------------------- +Ran 5 tests in 0.656s + +OK +...................... +---------------------------------------------------------------------- +Ran 22 tests in 0.174s + +OK +................ +---------------------------------------------------------------------- +Ran 16 tests in 9.758s + +OK +...... +---------------------------------------------------------------------- +Ran 6 tests in 0.017s + +OK +PASS: actual production bridge lookup, lease/world/mode/seat/capture guards, no allocation, native super ordering and read-only fixture hooks +............... +---------------------------------------------------------------------- +Ran 15 tests in 0.059s + +OK +............. +---------------------------------------------------------------------- +Ran 13 tests in 4.831s + +OK +PASS: actual route gain/caps/braking, callback selection, old landing/cancellation control and matching read-only telemetry +.............................. +---------------------------------------------------------------------- +Ran 30 tests in 0.370s + +OK +.............. +---------------------------------------------------------------------- +Ran 14 tests in 0.203s + +OK +......... +---------------------------------------------------------------------- +Ran 9 tests in 0.105s + +OK +PASS: actual gate observer binds native registered action/context and current life, reads accumulated progress, refuses stale bindings and never revives outside original bounds +PASS: actual read-only look observer methods enforce explicit scope, pinned native camera/body/identity, normalized pose, terminal cancellation and original sample/time bounds +........... +---------------------------------------------------------------------- +Ran 11 tests in 0.063s + +OK +....................... +---------------------------------------------------------------------- +Ran 23 tests in 0.030s + +OK +PASS: actual initial WAITING task/guide copy, configured duration, unchanged interruption and rounded progress; native task assertion pending +........ +---------------------------------------------------------------------- +Ran 8 tests in 0.014s + +OK +PASS: actual inventory adapter scope, grid placement, sole compatible host, refresh reuse, rollback, foreign hierarchy refusal and exactly-once native delegation; native compatibility pending +................................................................................. +---------------------------------------------------------------------- +Ran 81 tests in 0.542s + +OK +...... +---------------------------------------------------------------------- +Ran 6 tests in 0.072s + +OK +................. +---------------------------------------------------------------------- +Ran 17 tests in 0.004s + +OK +........... +---------------------------------------------------------------------- +Ran 11 tests in 0.079s + +OK +......... +---------------------------------------------------------------------- +Ran 9 tests in 0.333s + +OK +PASS: actual observer nonce, admission pins, baseline/menu sequencing, snapshots, bounded clocks/samples, cleanup and one-attempt latch; native untested +PASS: actual corridor caps/height/hold and whole-rectangle survey bounds, terrain refusal, native trace refusal and exact certificate lineage; native route unqualified +PASS: actual route entry, fixed corridor/target, hover hold, cancellation landing freeze, shared lease/capture/deadline gate and unchanged native startup/tick sequence +PASS: finite opt-in route fixture, original native input order, meaningful physical-arrival evidence and guarded cleanup; no native launch +PASS: actual Chat route step result dispatch and scoped completion/cleanup wiring; six real early-parser refusal paths leave no prefix/profile output +PASS: actual retained-service fixture entry, immutable controller/token/deadline/count bindings, observer getter and cleanup ownership ordering; native route validation pending +PASS: actual measured cancellation gate, one-shot retained service Stop, no premature drain, immutable lease, fresh real controller readback and separate physical cancellation result policy +PASS: actual rough-intel objective selection, exact precedence, source grid dimensions and unchanged other-phase dispatch; native UI pending +................................. +---------------------------------------------------------------------- +Ran 33 tests in 0.090s + +OK +............... +---------------------------------------------------------------------- +Ran 15 tests in 0.035s + +OK +PASS: actual preparation status scope, persistent updates, spinner restoration, placeholder replacement/deletion/destruction, native observation persistence/timeout; rendering remains native-pending +PASS: replaced respawn system receives frame updates, disabled updater wakes, stale/non-Escape binding refused; terminal and stale preload leases release black overlay +PASS: actual guide ownership and scoped timer cancellation, current-controller preservation/reacquisition, hint retry/dedup and observer boundaries; native UI not exercised +PASS: actual native-end shutdown, existing terminal snapshots, reentrancy, unchanged native end data and stale preparation guards +.... +---------------------------------------------------------------------- +Ran 4 tests in 1.334s + +OK +PASS: actual three-state result wording and UI refresh; stale winner IDs never manufacture escape +........... +---------------------------------------------------------------------- +Ran 11 tests in 0.104s + +OK +PASS: actual immutable target, bounded autohover demand, drift refusal, five-second hold and unchanged qualification/deadline +PASS: actual admission attempt budget bounds blocked/missing prerequisites; preparation, spent life and async pending remain protected +PASS: delayed admission retry retains controller ownership across same-account recycled connection IDs +PASS: actual scene deadline overrides delayed native preload only for rejection; late completion cannot assign, ordinary verified admission preserved +PASS: actual action permission matrix unchanged; useful phase/intel/consciousness denials, stale reason cleared, native door denial preserved; no native UI claim +..... +---------------------------------------------------------------------- +Ran 5 tests in 0.198s + +OK +PASS: actual aircraft cancellation/stage rules, ground-only completion, expiry/capture faults, input ownership and no physical shortcuts +PASS: actual exact-instance single-use qualification, native-clock staleness/movement refusal, footprint bounds and ownership-safe ground/fault cleanup +PASS: actual optional screenshot helper flag/identity/world/life revalidation, one queued attempt, delayed capture and mission/world cleanup; no native image/presentation claim +PASS: actual yard diagnostic exact registered prison ownership, eight native-bound corner projections, no root-sibling escape, bounded duplicate/deep/wide hierarchy traversal; native projection/mask still unmeasured +PASS: actual CurrentActor, SpawnPosition and observer-selection methods reject pending/unregistered/replaced/recycled/foreign bodies; canonical live selection and roster-corpse cycling, unconscious following and prison/geometry fallback preserved; native boundaries adapted +PASS: actual native-map fixture ownership, cleanup and callback evidence fail closed; native execution remains separate +PASS: actual shared-map callbacks bind exact map/config/root, preserve replacement UI/camera, defer focus, and remove only owned delayed work +PASS: actual Intel/HQ methods and one-shot qualified readiness handoff deliver late actors once; duplicate readiness, accepted spawn, pickup/drop, death and original negative rolls do not mint assignments +PASS: Workbench-only read accessor rejects unknown/nonserver identities; Chat observes all distinct ready crew before existing shell-depletion mutation +PASS: actual native-event latch survives deselection, requires exact activity/order, detaches before cleanup, preserves failure/timeout and never infers completion from physical shot count +......... +---------------------------------------------------------------------- +Ran 9 tests in 0.104s + +OK +PASS: actual refresh-fixture gates pin immutable observations/actual downlinks/original activity, reject unaccepted or relabelled commits, stop queueing early and require all queued contacts claimed before replay +.......................... +---------------------------------------------------------------------- +Ran 26 tests in 0.194s + +OK +PASS: actual refresh scheduler/delivery/cancellation/projectile methods reject interrupted or replayed reports, retain committed ownership, preserve immutable snapshots/aim geometry and isolate stopped or replaced orders; native radio/crew behavior remains separate +..................... +---------------------------------------------------------------------- +Ran 21 tests in 0.034s + +OK +........... +---------------------------------------------------------------------- +Ran 11 tests in 0.037s + +OK +PASS: actual full-salvo gates require eight fresh committed physical launches, natural closure and exact finite inventory; reject partial/extra/replayed events +PASS: actual reason/availability guidance and refresh matrix; no-target copy omits cycling, hint retry retained, existing command/admin paths unchanged; native UI pending +PASS: actual client camera policy closes immediately on healing or mission end; late unconscious metadata cannot keep the view active +PASS: actual open-chat capture/context renewal and camera/menu priority, text-entry isolation, held-key release; actual revival camera handoff with editor close/retry, missing camera, replacement body and stopped round +................usage: test_native_package.py [-h] [--project {core}] --session SESSION + --compat COMPAT [--steam STEAM] + [--timeout TIMEOUT] + [--external-addons EXTERNAL_ADDONS] + [--silent-workbench | --exit-after-init] + [--continue-on-failure] +test_native_package.py: error: argument --exit-after-init: not allowed with argument --silent-workbench +................................ +---------------------------------------------------------------------- +Ran 48 tests in 22.768s + +OK +....... +---------------------------------------------------------------------- +Ran 7 tests in 0.236s + +OK +.................. +---------------------------------------------------------------------- +Ran 18 tests in 5.983s + +OK +.... +---------------------------------------------------------------------- +Ran 4 tests in 0.267s + +OK +.... +---------------------------------------------------------------------- +Ran 4 tests in 0.057s + +OK +PASS: actual finite-courier age, token, exact ownership/callback and delivered-status admission reject stale, replayed, captured, canceled and ambiguous work +PASS: actual native-gun ownership gate rejects player/foreign/replaced/dead occupant, faction change, missing seat and missing registry +PASS: four-battery courier selection preserves pending trip/report/transfer identity, skips unavailable crews, and selects the next depleted battery without new stock +PASS: 64 bounded distinct storage candidates; native gates, five-store barrier and finite-stock ownership retained; native placement pending +PASS: 128 coarse+80 local refinement+169 airport grid candidates retain all native clearance gates; real terrain untested +PASS: actual prison registration/crossing policies reject missing/duplicate/destroyed initial gate, incomplete ownership/scan, outside-only body, jumps and stale samples; physical exit independent of later gate damage +PASS: actual prison door execution blocks direct AI/UI bypass while locked and delegates unchanged native action once after unlock and permission approval +.................. +---------------------------------------------------------------------- +Ran 18 tests in 1.808s + +OK +..... +---------------------------------------------------------------------- +Ran 5 tests in 1.074s + +OK +PASS: native local-admission snapshot rejects changed life/key/body/participant/pending state; authentication is not simulated +PASS: actual mortar report ledger prevents duplicate response after cancellation, expiry and interleaved reports; native scheduler separate +......... +---------------------------------------------------------------------- +Ran 9 tests in 0.012s + +OK +.... +---------------------------------------------------------------------- +Ran 4 tests in 0.132s + +OK +PASS: actual aim renewal requires fresh same-report solve and original-command equivalence; native firing untested +......... +---------------------------------------------------------------------- +Ran 9 tests in 0.056s + +OK +PASS: actual startup/generation/ownership/timeout/callback policies and native-counter wait; integration preserves one-shot allocation and pending-crew cancellation +PASS: rapid mortar cycle counts eight physical rounds once and waits for native completion without a ninth aim or shell +PASS: actual probe binds native events to fresh immutable commits, permits delayed emission, rejects unrelated expiry closure and premature stop +PASS: actual noSplash Load body requires both explicit diagnostic and noSplash, preserves vanilla otherwise, and handles repeated Load/reload +PASS: actual fixture method permits one native resilience operation and restores either prior protection state, including failure paths +PASS: actual safe-exit boundary policy, native action/door selection, stop/cache cleanup, separate old mechanism and opt-in runner contracts +PASS: actual one-shot deadline/stability policies and preparation ownership, fuel, cleanup integration contracts +PASS: pending-only cancellation retires copied instance intent, preserves physical/control actors, and stops once +PASS: actual short-cast hit, upward support normal, no self support and no dynamic support +PASS: actual committed-ticket structure preserves reservation after death, rejects missing bodies/seats and ends at observation expiry +PASS: actual pending callback expires an empty-server reservation once, preserves its full lease, and cancels on completion/Stop +PASS: rescue lease expiry/reordering, fresh five-second settling, independent rescue ranges and grounded upright aircraft motion boundaries +PASS: requested guard population requires complete physical conscious membership before deadline +...................................... +---------------------------------------------------------------------- +Ran 38 tests in 0.018s + +OK +.......... +---------------------------------------------------------------------- +Ran 10 tests in 0.002s + +OK +..... +---------------------------------------------------------------------- +Ran 5 tests in 0.932s + +OK +PASS: authored radio/optional-site bounds and physical horizontal/vertical boundaries +... +---------------------------------------------------------------------- +Ran 3 tests in 0.001s + +OK +PASS: all phase transitions, terminal states, defence boundaries, stale/future observations, intel discovery +PASS: Core document-discovery alias, companion-only alias exclusion, strict integer parsing and setting boundaries +PASS: player admission phase/life/identity/controller matrix, preload displacement limits, pending reservation overlap and owner exclusion +PASS: actual gate and pre-inventory document guards reject noncanonical/faction/life/disconnect/server mismatches; canonical reconnect and unconscious carried intel preserved +PASS: WB-only native fault injection restores both body mutations before checks/returns and requires eligible held-document negative/positive proof; runtime pending +PASS: actual discovery coordinates disclose stable 500m cell center until identified, then exact point, including negative/boundary coordinates +PASS: hidden/anonymous/rough/identified markers, toggle transitions, prepared sites, no identity leakage, intel discovery and replicated authority wiring +PASS: actual local admission context/selection/latch, same-round late identity, replacement/mode failure, fresh round and untouched network path +PASS: prison search packs 16 unique 3m-spaced inside-wall centers, prioritizes inner/edge positions and never bypasses clearance +PASS: physical body occupancy rejects overlap, permits diagonal neighboring slots, and excludes own body and unrelated broad-phase bounds +PASS: recovery state excludes dead bodies, preserves reservations, requires controlled rescuers and distinguishes empty/all-dead teams +PASS: actual native-probe lifecycle/counters with doubled boundaries; fixed deadline, exact seven sources, true forwarding, async close, no late updates and selector wiring +PASS: actual one-argument adapter, explicit refresh, native initialization flag, duplicate/blood ownership, rebind/detach/destruction and foreign-mode transparency +PASS: authority-scoped slow recovery, bleeding pauses resilience, medicine unaffected, player-only lethal damage cap without healing +PASS: bleeding severity survives low health, retains armour, causes no knockout and restores the actual damage/blood-loss cap +PASS: viable passive recovery survives native delay; bleeding, disabled/full effects and low-blood resilience do not block defeat +PASS: actual combat injector admission/effect alignment; mild blood-only refusal, native threshold equality and all existing useful treatments preserved; engine consumption untested +PASS: every minute round-trips, malformed clocks rejected, defaults limited to added keys, progression bounds and day duration aligned +PASS: native settings policy matches calendar boundaries 1900-2050, date/profile parsing is strict, authored defaults preserve old worlds +PASS: view-distance bounds, default, save failures, command parsing, temporary ownership, server/platform limits and lifecycle wiring +..... +---------------------------------------------------------------------- +Ran 5 tests in 0.567s + +OK +. +---------------------------------------------------------------------- +Ran 1 test in 0.349s + +OK +PASS: radio authorization/discovery/phase matrix, exact distance limits, defender handover, interruption, empty samples, clock regression and duration boundary +PASS: actual radio feedback policy, initial wait, interruption persistence, resumption and terminal/new-round reset +............... +---------------------------------------------------------------------- +Ran 15 tests in 2.158s + +OK +.............................................. +---------------------------------------------------------------------- +Ran 46 tests in 0.830s + +OK +PASS: legacy values preserved, unsupported fields reported, invalid data rejected, existing files protected, runtime bounds aligned +PASS: failed initial settings promotion leaves defaults writable after restart; prior/fallback saves survive copy, readback and mismatch faults +PASS: real-carrier shortest-hop paths, 500m boundary, three-hop cap, no-manpack failure, three-second originating-call interruption, unchanged downlink hop timing, completed-hop survival, interrupted final uplink, radio loss, capture, motion, timeout, reset and network bounds +PASS: migrated aircraft availability policy (controller migration still pending) +PASS: migrated salvo offsets are deterministic, spread and bounded (native firing and complete salvo qualification are separate) +PASS: 48 prefabs have unique saved root entity IDs +PASS: 299 original script entries tracked across 18 unfinished responsibilities +PASS: 1 isolated addons, acyclic dependencies, 158 unique resources, exact vanilla/authorized external references +All repository checks passed. Native compilation and multiplayer tests are separate requirements. diff --git a/docs/evidence/vehicle-roles-2026-11-06/source-comparison.json b/docs/evidence/vehicle-roles-2026-11-06/source-comparison.json new file mode 100644 index 00000000..3373dc24 --- /dev/null +++ b/docs/evidence/vehicle-roles-2026-11-06/source-comparison.json @@ -0,0 +1,736 @@ +{ + "matched_production_files": { + "addons/core/AI/BehaviorTrees/ERR/MortarRapidFire.bt": "16b263bcb2fb3ae361367a600753a829425620d2e6b350a891c51fba47437ab6", + "addons/core/AI/BehaviorTrees/ERR/MortarRapidFire.bt.meta": "f2a44ece28891240e6bfa1d01af29428adcadbe82c80e287eb33cd5e58f1f90a", + "addons/core/Assets/Items/ERR_Atlas/AtlasCover.emat": "0a536cd31d1917965ab36d33e273a881be384eb8b863eb5da03d1666e141d45a", + "addons/core/Assets/Items/ERR_Atlas/AtlasCover.emat.meta": "9f4d59cd6d103547e3e494baf7cc8fce70f31f87c66fe6d26b70011bbd27e38b", + "addons/core/Assets/Items/ERR_Atlas/AtlasPaper.emat": "88a2c1061c01eb96ce8a0f753bd3e89e1d7af01471ccc4abb4774a7aa9a532fb", + "addons/core/Assets/Items/ERR_Atlas/AtlasPaper.emat.meta": "e0093b7df155499444f93a1148a07f66cc755489192db17c81f4035d17378efb", + "addons/core/Assets/Items/ERR_Atlas/AtlasPrint.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/core/Assets/Items/ERR_Atlas/AtlasPrint.emat.meta": "33a9eaa49871813f2e8537f071ea0f5a4422eb08d536355a47314b6b6d845b19", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agf": "48dc42771b7e44994839dfabe9b007c23e37bd9be900196c757f42351e5c6b04", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agf.meta": "c081aec31c927c0c374dcc0f8eb3eaec498f71cb0e2ac746879b926f8dc7d00e", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agr": "8ec57b278c9d63324d00f7af62abf75230c5ef631d1cc070661585ee235c8a1f", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agr.meta": "b045e26f86116703d1b3599fdf747b413cc0064d8101eff659ded0355eff31fe", + "addons/core/Assets/Items/ERR_Atlas/AtlasWire.emat": "372247aac7b84ddf6c66e276d03321d22496e65726f55e490ee7287a90151318", + "addons/core/Assets/Items/ERR_Atlas/AtlasWire.emat.meta": "ea10c7bd630b31febf511fb28a42cc73597fcc1e3010597dc074c651813ede94", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.fbx": "03a654900103878223ab5c4a42e71d17022ca4885ced71b99c67d8c91652b5fc", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.txo": "9838bcb2e4ff1cd649586535ca7d5ad2497e6118cdfb76b8aadabded9cafb938", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.xob": "a4602d65e84cec1b23b6b09b5bc5847cbd52efe82925986c6eaf1c43bec1ac78", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.xob.meta": "04f4039be7950ca393ea74469898dabcfec4dc8b8f9e08068898c00333445878", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.fbx": "4ca13bbeafaa0dc0bf007ae9024b8d6c2a5279afc62e0ebc227e2bec2ad67a30", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.txo": "8ed37705192d3d9b18f26b5deb51af6f2a6d694e7e2dcdbd04b317497610b50d", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.xob": "fe6ea401412fdbb3bb46367cf7dc9215f7d01c6373c8ac954cbf23f2a6927bf7", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.xob.meta": "492a44fc323d3df469753d4bbbc35ceb3d362e734f48083ba633b3de5dd42d8b", + "addons/core/Configs/ERR/AdminMenus.conf": "5a4b405060135efd0f7faf913c7f061f6250a1e6e9d27f2bb394281d784b20e6", + "addons/core/Configs/ERR/AdminMenus.conf.meta": "5faf5ddc0a51c1d0f82d60af00d91edc22fe9c39aac50d8d04b772a2c9271be1", + "addons/core/Configs/ERR/Content/Registry.conf": "546a5a407c9e6c25c9157ae4392898fa3f40c04c7956649e62201f9ac0ba187c", + "addons/core/Configs/ERR/Content/Registry.conf.meta": "046aa988bf8e972afcf7a60b6f2312f605f016f98625dbbd9cd75ebf9ea88800", + "addons/core/Configs/ERR/EveronSites.conf": "781a9a3f4d2d4ea5b913fbfd15c2f1a991efdee7e033b7ba4241ad632609f52f", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/Factions/MissionVehicles.conf": "5f74f4a7089c7e7b54ad62463159ce8f0bab25a6b85268dc3872ea6001e048fb", + "addons/core/Configs/ERR/Factions/MissionVehicles.conf.meta": "00c368b6271d3440cc8bf627b03a384d247635723923fc5ad2104b8b4007b035", + "addons/core/Configs/ERR/Factions/US.conf": "4c3da063abb6e3ee39a6e4e0c5a9ffd5eae9d209d58470ea18b45dba5528db1b", + "addons/core/Configs/ERR/Factions/US.conf.meta": "a05469aef028e9e17eba545e81e2af2887b59f0fef17dac51a23c7b8155e381b", + "addons/core/Configs/ERR/Factions/USSR.conf": "407ea27f80a64c5184c089d43cdd0bdabfc5974c84f1d2a245081fdf2afa3f30", + "addons/core/Configs/ERR/Factions/USSR.conf.meta": "057397d97096346791b51b7b13fbe18af218bcf78e9984d9c01b49a2403de611", + "addons/core/Configs/ERR/GameOverScreens.conf": "1bb83c26a57d64595e91c3ba7926987e22b33dce2c6c876016e3ec2d04f9eb2a", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/ObserverInput.conf": "1efd2e1823f80e6b8a3e4a697cdeb72dd87888ec5a2d16ae289937575b880072", + "addons/core/Configs/ERR/ObserverInput.conf.meta": "9714dce6c38ee81bcc513c8ebef51d7af63fd15bcdda2e40946937c625dc3ba4", + "addons/core/Configs/ERR/Telemetry.conf": "12d895ba4fcd159e23c2f3e94dc59e6f1e54702470cf0b1dad7d04f15572cf7a", + "addons/core/Configs/ERR/Telemetry.conf.meta": "afd52b410ce1a1026f4b0900b10aae2ee50c30764a212a59668233f4f8b8c5a1", + "addons/core/Configs/ERR/Tests/LegacySites.conf": "3864eb638d0ed4dd313013d2d787f975ae6ce4bbe238569919f76b73d5f7ca42", + "addons/core/Configs/ERR/Tests/LegacySites.conf.meta": "097ac7daef4fc18344699a8471fdd77f9d158f8c70bab394068d7a08e4777ac0", + "addons/core/Configs/ERR/VanillaFactions.conf": "db890b61b48ee15484041fd2245a862d9fa9e7ba21b1229c281ff37c448a35b1", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Materials/ERRM_MapRenderTarget.emat": "4ab251037d40a850e3767c0de85136842bcd4fd130eda47bf8e19352b0d030e3", + "addons/core/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/core/Missions/ERR_Everon.conf": "c6cce48484301a76b81f3a0cd76a4012f5808b901754d4114034e92beeefcff3", + "addons/core/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/core/Prefabs/Characters/Core/Character_Base.et": "74a6f03a1e76173a0cfa20b23c711d02e70bac810d6743e16c60476bfe5be457", + "addons/core/Prefabs/Characters/Core/Character_Base.et.meta": "c6b142d1985719236268cdf12ac522fee4b1206871a6f22b568d9198d1fcc077", + "addons/core/Prefabs/ERR/AssaultParachute.et": "b556997989605e2a05982418b7e9f26d12d427eb3ea6e3bc50e85c67ea7aa4b8", + "addons/core/Prefabs/ERR/AssaultParachute.et.meta": "e9dea2d533ad1ce6ce689e0e2815c97a6382e1b90c35ce1efa88a885527e8e18", + "addons/core/Prefabs/ERR/CombatEpinephrine.et": "aa57d78bae861dc4a0fc509f7916190d2f2f0b36a1c3867f9bf9a071717cd7f5", + "addons/core/Prefabs/ERR/CombatEpinephrine.et.meta": "0e19ebd1dd4d81f739125a4dcbff898424ffe39572c2668bd56455d939b3f604", + "addons/core/Prefabs/ERR/ConvoyCrew.et": "29a525a29605386dfcf292dc2316e9fc7650ce39db9fbaa4ce4372ad0de66db4", + "addons/core/Prefabs/ERR/ConvoyCrew.et.meta": "0a909a15b7dcca34202ded136b3bdbbe8898153c9589e1cce1388433d362da02", + "addons/core/Prefabs/ERR/CrashSite.et": "8d06afe6e2db8986f06a7c5d6649e52df009f9eead7345bf2b477f50a0725b3c", + "addons/core/Prefabs/ERR/CrashSite.et.meta": "0f54fe80ed96394374c1922e1d0b05f7e0200ce5b979ff58325b033f51641f69", + "addons/core/Prefabs/ERR/CrashWreck.et": "f5de4785c0e3cdf02f1d5372e9b01171bd5a37acb9c36aa2a94bae3f429b2272", + "addons/core/Prefabs/ERR/CrashWreck.et.meta": "bde3299bdbbddb91d2ef471b61035b6cced29899cff4cd90c080fe584ce63f26", + "addons/core/Prefabs/ERR/Epinephrine.et": "e09c70b3d47a4dc5b92fd332c8222b99554b28a8a0c93cb5caac18eec4501571", + "addons/core/Prefabs/ERR/Epinephrine.et.meta": "f1861f0b0ccace1b7b3d9c29768e37a83bf0c6fae5a411b1bd61d6b2eec7ed89", + "addons/core/Prefabs/ERR/Extraction.et": "4d24c7811415c06386205e5bf5c132a23fcf21e96c75c7657ccd5f3ac914ac50", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FactionManager.et": "d34a8bbc5dce259c4a467c7bfa2ba746683bbeb9448de8c226856e65319f4911", + "addons/core/Prefabs/ERR/FactionManager.et.meta": "9bf53d5e4bcbe60dd1a4ece1409fc23c349055c860708620f5f6e9716290a97d", + "addons/core/Prefabs/ERR/FieldCover.et": "e403d5cb3a5966f0cea81f15e0e825d482ba1a7a27b12498319ba45a414963b0", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "a2b7e632714e646a7010592cc7ac75f0afff7da6c995bf91aaf65d9473a6af3f", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/Items/EmergencyRepairKit.et": "0157bc235eeb78a0e1373b561fd22a1dcb225c833ff7c2d4abae688bca0ec92a", + "addons/core/Prefabs/ERR/Items/EmergencyRepairKit.et.meta": "da6f065cb2414b5a4cbe9ef0f0b1295b2466f26ad406c0bddb83845d4598efb3", + "addons/core/Prefabs/ERR/MortarCrew.et": "21086e886fe3199624208c9a866f883ec109f7d08746c2b56b497e59857fb656", + "addons/core/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "5118ecaf9d2038eea44a4b785f05d2e78781dc1387249aa58a6782c7e6752e14", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "d3eca8fe9197c57a27a285cdb3baf168b037b198d92b39df28a338ae2cfd0c74", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "c0ca5219aa2d6322ba7d094b92000640b259112ff6611a745c0713c8875d09d4", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonBackpack.et": "ae750f08fc9af645561f59d7e5809bd22f4cec26ca8fa6409d09730765958c91", + "addons/core/Prefabs/ERR/PrisonBackpack.et.meta": "7da6aa45467250edc910ad7230dc244d1b041e8a6f55881eb3747ce51f9212ba", + "addons/core/Prefabs/ERR/PrisonDoor.et": "b0ff94443fe334032113a663917de23f920a8b73ffadc9c8e9f11b545022b3d2", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonPatrol.et": "dc88c31cf5c415573a874f74e13572f0add9e6122c8fcad507fe82860d789c47", + "addons/core/Prefabs/ERR/PrisonPatrol.et.meta": "5528e0d778dce5ed39c3e504c6427625527127b23269d20fbf12ca2bffe52ffe", + "addons/core/Prefabs/ERR/PrisonWall.et": "9b410b7c85bb001be4601ad93f750e17b8318b850306d84f29c4dc1b02723d7c", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Prisoner.et": "e6d345ac98ad9ec742bf6c3b8686839c3256df9833d31bb4bdf605cd41d0ba5c", + "addons/core/Prefabs/ERR/Prisoner.et.meta": "974278ba49fafeed70b619a0067bbc70ae4d534be441c812ce2bef4a5fb3c022", + "addons/core/Prefabs/ERR/Radio.et": "99b1d80b49d1e7f9d30aa4283772a36fd66e962369f288f5fe329c7fc911bb1b", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/RadioCamp.et": "5e6216bf8e6e160da5d9f966c8f7c2081bf6dd16dfac1b89d682a14b3b8a6716", + "addons/core/Prefabs/ERR/RadioCamp.et.meta": "3cb8d3d553ab6d8d111a74f721cf4e69ee1011cbb90248b83cdc7275697276bd", + "addons/core/Prefabs/ERR/ReconCrew.et": "33953379ceb725bcd0cbe505cd643c94adaed17dbbfa95dadd404d6b8e345715", + "addons/core/Prefabs/ERR/ReconCrew.et.meta": "2653e8c5b1cdb857de5badd5959ddd9826a6a298ab3c166628dbb835d7104d90", + "addons/core/Prefabs/ERR/ReconHelicopter.et": "c609ee59ab145e0a1936f95726b86df643f5cc425c43924029e9c1abc69ebbd0", + "addons/core/Prefabs/ERR/ReconHelicopter.et.meta": "d80f1c3d6a6f9104562b89729996c1c92ad240f08cdcf48d4c390a09d2047c08", + "addons/core/Prefabs/ERR/ReconPilotEast.et": "d961f329823b991eafed80d085de1bd89b44a4575be98d8dac385d6b77741ba2", + "addons/core/Prefabs/ERR/ReconPilotEast.et.meta": "d73df3c896359a54514d2efcd851f579feca7a2619b76c2a38f607649a31a4f1", + "addons/core/Prefabs/ERR/ReconPilotWest.et": "8f8221927269352e55c8026ee5b00e026c281c79af6684b386f24e7dc4675fb8", + "addons/core/Prefabs/ERR/ReconPilotWest.et.meta": "4785f23bb492c6af420ee7896ddbfc9767e0db1e06de95207df2dc949a1b1814", + "addons/core/Prefabs/ERR/RescueEscortION.et": "aa5cae65250936da239c865fe1070c68a1d20b49bcef37f6bd29021f22c274a9", + "addons/core/Prefabs/ERR/RescueEscortION.et.meta": "34eef8053198a49df774792322c6d3cba81f689e56b6a418aed5a14de0913537", + "addons/core/Prefabs/ERR/RescueEscortWest.et": "6f9671fb68e2716479d96be74b80ffb29fec535f1333c5e4dc4d7b684dca1ccb", + "addons/core/Prefabs/ERR/RescueEscortWest.et.meta": "45a87304712d6a18afb0ddc5b3ccbb70da395541e21aafe9d6d3641c392eaab3", + "addons/core/Prefabs/ERR/RescueHelicopter.et": "d9b3b01a0cdb6ed779f40f14f03dfd8fe732382931cdee02ea643f260783313c", + "addons/core/Prefabs/ERR/RescueHelicopter.et.meta": "f47b4a9a72faddcb5817e396dab7c115ac05a5455e5dc8ca4c6a3e9d5fc4093c", + "addons/core/Prefabs/ERR/RescueHelicopterAFRF.et": "cbd9c88b0a0c798096c78770cdef834cebfbdfd62fa12d96b56e74c5ac60dcb3", + "addons/core/Prefabs/ERR/RescueHelicopterAFRF.et.meta": "5cf8cdd7f34e2bffccedfab0cc0cf266d3c8a6856215e797874c531eb2a3ebf2", + "addons/core/Prefabs/ERR/RescueHelicopterFIA.et": "6aa11ddd56ebc9d0aefd06e1f55c7c61136d5c703b6eddc9cc84f3bcd8c8c26b", + "addons/core/Prefabs/ERR/RescueHelicopterFIA.et.meta": "ac0b32de9818aab77ff42d244cd5165112a7764eb6d289dcfe12ec77ea0c9b3b", + "addons/core/Prefabs/ERR/RescueHelicopterION.et": "a910548e7346439af90bb87e445f056aa1799572a69f87f45addbc17dc01fd85", + "addons/core/Prefabs/ERR/RescueHelicopterION.et.meta": "426a478d15718c0193490d5381f732e4c559348f2e5e9c7eb9473a4ca3017add", + "addons/core/Prefabs/ERR/RescueHelicopterWest.et": "dbf3827f58c27d957aac23f505a24c0af2a8f6c6555a82d0962a0ee5d47efb42", + "addons/core/Prefabs/ERR/RescueHelicopterWest.et.meta": "963b5b22139a2f3496e937855854c3ffe01604b86a93f1fb63b547bc1ba29068", + "addons/core/Prefabs/ERR/ScoutEast.et": "b4593aab494c4f21637757b3daff4f349da77b4c48ec5e8a4a2917a6a12cf811", + "addons/core/Prefabs/ERR/ScoutEast.et.meta": "7c72af632537f687e92f30b52d97fc7d70dadd39d33f37e0b1004f9596f55012", + "addons/core/Prefabs/ERR/ScoutGroup.et": "8dc0fce8ee3decc1c367411b00b6d8518df9d8458281cec0881464a2ce906af0", + "addons/core/Prefabs/ERR/ScoutGroup.et.meta": "62e43fd152ce57aa4ceb2187a49e4aecdeb9f428b3a1e8318f86bb83dbf8a259", + "addons/core/Prefabs/ERR/ScoutRadioPack.et": "f1c4911e2556c0e0caa8b896982190c5e7d0433e850b4610e19442caf9117607", + "addons/core/Prefabs/ERR/ScoutRadioPack.et.meta": "825506e3d814d30a52d5dbf64124470641c07a0453543ba71426841e6c783635", + "addons/core/Prefabs/ERR/ScoutWest.et": "2681b5a3f8621adb44195f0dbca6f3e79ef7decad8f9d0dd0e1a801ec2549627", + "addons/core/Prefabs/ERR/ScoutWest.et.meta": "22a6607b4b8fe606ca75a634a0b2ac3178e7bedae7f9ff01e7a4989f3b39a3da", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "761d845fc1c086da58fd87c8933bf58d46d1ff5e17cca5950141743d07c8ce16", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "4c97b0514fe7e723046f40f0b396f6573b12eb9981ca5df70b9e8aa3cf29323e", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "f33681281d26676fac88736091834d5a7b87fe0fa01883582542df964dcfc694", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Prefabs/ERR/TerrainConnector.et": "cf9cb28f5a3f41931380864a29ac979aa1d5e843456f564ac7a7de78f88e1aa8", + "addons/core/Prefabs/ERR/TerrainConnector.et.meta": "9f37c979ae282aabca29ce84beb0db851ee8b9a19f7f3a64d387c175616127f3", + "addons/core/Prefabs/ERR/TerrainTakeover.et": "63e26db48c624056350f9ee123ae5b815bc2fad392060a9c26cfcd86c0af872a", + "addons/core/Prefabs/ERR/TerrainTakeover.et.meta": "64e953e378ab1d2a75ee7246f876f4ef93ae8a4e3fddb5002d7ba37268cb959d", + "addons/core/Prefabs/ERR/TerrainTakeoverWithChat.et": "aa857f7e8e0585839c7e9b2e3616702180779e68c6fb149d94a83c05bd52449b", + "addons/core/Prefabs/ERR/TerrainTakeoverWithChat.et.meta": "a213272011050a881c87fdd94b229e002ece24f26f25db5fe53824f8a5b147a8", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZ.et": "29f157849f413261494a63d4d5b0a97e8bbe61cb076efcd59d6c940653f23352", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZ.et.meta": "544c94cf1c26757a10654de7856cd6cc48b821ce3bdc02add13cfe6514269915", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZRearSeats.et": "cd4acdcecad299445952aea0adefc85f2b9e9b43f8186f100e0505c5621b3656", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZRearSeats.et.meta": "123955da03462befb90e293b3bb856d49cc761166611b38ff47cb48ec2fbe95c", + "addons/core/Prefabs/Items/Equipment/ERRM_AtlasLeaf.et": "11185bc813c00c5bda09c0afaad78849a1c81d89843e8f7f3a14c0776b8296a9", + "addons/core/Prefabs/Items/Equipment/ERRM_AtlasLeaf.et.meta": "8cdfeb51c3774ed790a223ce74872cfbc4588fb6812a0e98136eb607dcc17d9d", + "addons/core/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "57dfbd215f28478a791b2e029832ddf3c363658d5dd5590cee4db9ec6a8b690a", + "addons/core/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Actors.c": "7258b838f8365e4fa575c4f2ccc8532e22a33946405ebb490120534d5ca65607", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenu.c": "cac52cfb9f31ba42daed671e55bf5d55ea0840139deba5d13a0e156ec90559ff", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuFields.c": "55466b735c5c8f1041ac600338d55847372a71af48ba1ffbde8cce4286e55b19", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuPages.c": "fc07549ba14900998223e8c1a95f57ddb0f365d0d687ac4907b0d97ffe1612b8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuView.c": "6c34557350659782bc1a098169dbbabf1f71502c35cdf711b83ce0efad907142", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminPlayerTools.c": "56780d78bf423f54f482d8620f821b8d3eb0199194482b4f12e37f5ec3f55ef5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminProvider.c": "62e05aceb49da07fed7aa89fb6b2f8eb3efc373ac09eff286fba983c3ad570eb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminService.c": "277df355d00458bf4a337b68feeb926ec4aa12c1546a604d039121a1bde7d995", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminSession.c": "27c88e9317ada33351042f0d1bdbd8e406fd798de34d1057544f1c6165a289b2", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AirfieldPlacement.c": "0601d8da570e1f63e43ea7df451d0e997872e4e163669fd8ad37bedd59de7b9b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_BakedSpeech.c": "d11fff16f86fd3447126701af84c3800860d721263b3c2c16d3b91d686d8b2fc", + "addons/core/Scripts/Game/ERR/00_Core/ERR_BuryBodyAction.c": "adbf4cee5b5f5317b185f17738205f28b701a15364e643cc9fb443866a121109", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c": "8010394e7731d3bc2ce436cf795a37819e16d4d605e8d152027cf391e811d37c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingFeedback.c": "ac554a946cd14f73a5bf79005b8a3f770c9caaf0a6ea409134077b8d96f9433f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingGameMode.c": "1e670937736330716a467157d0f45bace512047d7e87d8678f4ae0ee123969c3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingOwner.c": "3f430930c2598951b75cba157a57967189686ca7a86aff8ecedd20f181262bbb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingService.c": "6efcfb4bb1bdf0da84400eef28a24f6c61e7f446073af2c9667b6f26f0bc47b5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ChatClient.c": "4bf937ff74e0483c17fa0103f73bfee3afd8f67a37c0c248b08772a17bfcc349", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CommunityStatistics.c": "84f2615fac1375bbe3738edd13a413ef1d524dea5ce0195b05b3a957aae84435", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentDefinition.c": "bc1dd4ed27ec894cf4bd617fb226cb8140b544aaa9ef6d8654e815d81e7f6fd0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentMenu.c": "d9df3b2dd8fca119ecee466dc71d336b5a70ee7d5fced368cf34e250d22075de", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentPolicy.c": "3a4987345d5a7159234a7e1a08bf5ac40dd5a23031e9b1953fc43a0501d9924b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentSettings.c": "3e2734dfb935a4e93d79b66ca4a7c883723a1fc348e3595432dbf2bfca643923", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CrashSiteResources.c": "832aebf6e754dba54ba28b8f480180d32ced968a2d2f192424c4007a862c2b43", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DebugAI.c": "bc5529c60591a6c36c39cdb753b1af948690fc3c3c725f38a8d595b41a499235", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DebugIntel.c": "a9f6e7e42a3214879a21052e897f9afc0653c12ff15d5bee7766e26a1af6ab17", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DiscoveryMap.c": "8a8653b322c948c462002077272dae79e2f45a24e883767b3ad9c1f24caad237", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DiscoveryService.c": "552d9e40f72a135f19d25a17fbecf475b8bba8d8b62ec6b6d055c65499a0b637", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DocumentComponent.c": "885c8ab4fc9e64c3f8b40056536096c8c32b011cb340b25ca00353a96da15c69", + "addons/core/Scripts/Game/ERR/00_Core/ERR_EnvironmentService.c": "c0fae5bf51ccf507bc84d44adc2d1dff021cd83653c0468b7645a4f343e3fc8d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Epinephrine.c": "14a75e040f510773313c7e70b57f338821bc1ded650bc65133968dcad6e49c7c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_EscapeGameOverScreenInfo.c": "4746b0715c6e9a527038b47d54d2ff305becea219da6b736f6998d81901143c9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionPlacement.c": "6d388fe21f08b25cbdb5dfa4e198d94a4c80c5092f8d17630a4654e18bf8b3f5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionRadio.c": "ad7fd91d8bb96f05f3be04a03fd00c20ab9413adb12d649d3020c6f7994319e1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionService.c": "c48e79a117990f83839704ae221af05fc7995b956af2d4b4f9ed2a6b91ec335a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_FactionMenu.c": "1deab4c396c307fc17dbaa8731b2943ffb73c37dc0121a5cba5c239c34901ba3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_FactionSelection.c": "04b8bd8a042cf743ab8a87ec3711f9758e7b0112995a9d363e81a63df4eabe5e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ForceLedger.c": "0ecaf1c5a52568e751678b0b1236e91e6adb538f8fbf010d38b61a312d1bf253", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ForceSimulation.c": "2bbb8888c752a3ffc042f3059937526d25ae288af5b4db024cc683025a2605ce", + "addons/core/Scripts/Game/ERR/00_Core/ERR_GameMode.c": "d26e665cf5b9c0e1dc6c5e2da200a99711ef9272718d330f5aa66b09cede40d1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_GeneratedSites.c": "4943f761d0274e163a1da325ac4f750de9180947b05b79ee173e12141bfd6661", + "addons/core/Scripts/Game/ERR/00_Core/ERR_InitialGuardRules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_InventoryHitZoneCompat.c": "23c34f901311dce63a79aafe83c11e2fc25bd3fddb0cde38bd313eb90878ca90", + "addons/core/Scripts/Game/ERR/00_Core/ERR_InventoryLayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ItemPreferences.c": "1319637add7f9fdb122ac130784c5426d90a32380d870df03efcce7f297c55e9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ItemStationLifecycle.c": "0feee55cc5ddf13e00fe73ae3926ec2cadd5ba861d793a939164287ccbe1861d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ItemStationTeardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_JournalText.c": "1ad00a77cb0be741c7b6ef5dad2d8a8c1ff1fcca3b093df2e132ead0b69f74e1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_LoadCasualtyAction.c": "1521af55a34110ce1c971b5226a618a9c6d931622abaae4946d9c0d27c05a273", + "addons/core/Scripts/Game/ERR/00_Core/ERR_LocalAdmission.c": "a076922d1ae966cf5cc67b198166ca6b1288358fb7f641207a4681e6a610a2ae", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Location.c": "6323facd2d5b32382b466a2aa0140064632a8c1de0597e0738cb09a3fcfd7abb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_MenuTheme.c": "90d9babfec7978b3d7f5baffedbbe5c1b54a9742f576f51e6232043e32d1cc9a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_MissionRules.c": "17d1f48878b02a457eebbe5ff87c4267488d68d2a9b3121dda77a8bc8e69c8c6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAdminMenuProbe.c": "2deded62be82adcf9866dacf8065f0c6a9a643bdd60a1c3e87990e1c70254c48", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAdminSettingsProbe.c": "73e58561e08e50008d33f81eed606dd4e8109fb69a627e892d28ca468d641f7d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAggressionProbe.c": "dcda8528a64d35e6aa2f030b59503a49ea8a85ffcc33beaecdf8da00c003b50e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAirfieldMarkersProbe.c": "980025c07d042c2f109e2c99ccee0316b596806ba2c4fcd9446b6ad7580d1d1f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeBaseSmoke.c": "f7697361c6a056a62aff86de7f7d69e9ccf47b92121dcb96ed012ad136e47e30", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyGroundProbe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyLoadProbe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyRemoveProbe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyServiceProbe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeContentProbe.c": "cb0ccfe1e1575f9ed80a8054058b471f3543378db059e6af2fed8eb42a262638", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeContractsProbe.c": "60aa767d9455f2f4958a6a47bd68bbd8ab0466adc8f1dd9ae433c40ae96c68ff", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCoordinatedAIProbe.c": "9104a7a5154bf34906f135f00c5793229e343da6a1ed19dd572e3c1d9821d393", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeDefinitionProbe.c": "904d8d4c3e7b91d49dadfe495fc7b4f02f300e4aaf7efa348df5ca17ec4a6e8a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeDiscoveryMapProbe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEndProbe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEnemyLoadoutProbe.c": "0885ca69f6fa7f53414ce1792cfc3c49916886b8173783c634135c13c5d37429", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEnvironmentProbe.c": "9e2e66ac5d9778a1c65445348e3300cbb90b68b3f669f3ddf1d2b78a858430eb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEnvironmentRestartProbe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFactionCatalogProbe.c": "e3011fa47b67122d7b2c23af8f91b7a217599d6cc114c4f9de628744b9c948d3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFactionSelectionProbe.c": "946879d822e7be2d48e03a3140aa1aad3e3d44dd18507fa3cdedb4c6d7dd81b9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFlightFootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFlightInputDiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeGeneratedSitesProbe.c": "a3202ee4658e98539122926755caf689a693a79642e8c88d3146c247dd961138", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeGuardCancelProbe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeInfantryCombatProbe.c": "3e4c4382ab91f470357268927b954fd101685df6b2244df483f0422d6c0d7da2", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeInventoryHitZoneProbe.c": "604eacdc66cd52bc8a0115862ee7884a8b0f83bdb50609397de671eacd476543", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeItemStationTeardownProbe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeLifecycleProbe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeLocalAdmissionProbe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeMedicalCombatProbe.c": "59c5b04dd32370f8cf5c62fe6931d64209825522127a068b1957e9d1556274e1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeMedicalProbe.c": "4b73e7cf35e9c8fddb089678a320ea58272e1b6611318d0a762754c171eff785", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeObjectiveMapProbe.c": "37e66177ee0f16fc33d3d18321211206bc4f095fccbd17b177d4b8cc1ba4e057", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeOpeningToolsProbe.c": "0c5d6b96ed5a7cb1cf0d098d534dc7190449ed09339062e6b584729d53a61b4c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeOptionalSiteProbe.c": "59d86432c19fd85da30a63087cf1f15375c8ee30178ed7e2765c1bda4cc4d035", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePatrolProbe.c": "5a2af71cc4cfccc7dd7c23584398a38290eba1a8894cd46f6967252ff3a7087c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePoweredFlightProbe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePreparationStatusProbe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePrisonBreachProbe.c": "4889e0d3799a6a21b9f84bcb2f2ae78dce16269cccd1329f8d1fcc1a23e7c22c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePrisonerProbe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeProgressionIdentityProbe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRadioCampProbe.c": "67f1a088f9b20e5f0f11ed3aa083ffa772bffd7c74d85b7a307344ac3d47e09a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRadioDefenceProbe.c": "ff1e27a0ce75b123a86e7df31354831880ca62ea90b6c5d7c60d3ba168e1fff0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRadioInteractionProbe.c": "7b27552d233813894f65c08eb9f04b547c4ca9ff96a2370a763cb94bd4a555c3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRecoveryProbe.c": "d6691f22432b3ce37d07d448aeb3ce7feb5cd09e852e0167b5e4676afd24bb21", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRescueProbe.c": "78f4dc11a179a5b924c0ec1939f0fc1e61d4e6f6647729c48a9f126ee32d1714", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeResultProbe.c": "c9a89cae067f221b9f33965b4d3ab311b78ba79ea383ca65032c4001df44b472", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRoadblocksProbe.c": "6f44725b049f2545a9ce3c94ae3e9134e16077fa017a438fe4f073b453292c1e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSarkaProbe.c": "511816c4b86c9f1392bc4a1d83ad11e082280bec16356d8ab24ac1f2094bba93", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSiteGarrisonsProbe.c": "1a5ff8747d7501862085b5e9162043fee3b05e82c73c516ad8093aaada53dc60", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSpeechDownloadProbe.c": "5377da12cabd58b9105851a2348d7496316db371bfc4346a5fb3f84f245ec013", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeStationTeardownDiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeTimeProbe.c": "4a2c6ffd947334a0a71eac083d10c853c524b00042e9ea0987497c4cee60c3d5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeTransportProbe.c": "7a3fe04aa1c5ed1061ff63d9d5180e8b925932b62d76c1ffb49bd3dc23530993", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeTransportSurvey.c": "e5abdb69c0675a20f4287afb24b9e3c877e91b162c77c32d81ef61e2a8b72577", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeVehicleSecurityProbe.c": "59bce863142e4fba4b6fb2f544bb8a58061f0e99b1a38e5ac291cea919563763", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObjectiveMapPresentation.c": "70339c05c550b72a4fd5890a871c5d8e6a9e574813d61696194c5fbb1475ac8f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObjectiveText.c": "d2fd3670c89d679fcb1359ebccf67b58734fe5168e31fc239bdeffa7f8ff0607", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Objectives.c": "b9cd5bb3b193c20401175c4328405be1b121e8a60b7b5999910b6a71f834af8a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Observer.c": "7c478eff3575eb1bd8a85c08955d4ca7f63b57969cd7b2b76dfd6c42136de1af", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObserverPlayerView.c": "c287a1891451dce0836c6e859eb962c154aad9621a46e50400f44fb83f97d95e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObserverScope.c": "97d29535a0ca1571ceb86996f58b68e5ba0944edfe30370455c52a321772f85e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObserverTargets.c": "1dfd50307b5d74075b90b5f2f70bae2c9488fc12df03d82eb19350a724f910f6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryGateObserver.c": "1e376ca83c0005cf532539e14d7f47363c47b7c5b03fe3d55405a59208705fd7", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryInputObserver.c": "808a46cc1e4b31b65dbbbcdd55493f594ebb3974bbec38b4a2402334c653c0ef", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryLookObserver.c": "d5a1b636938d65e9d11c78b31487f2924400c34d98e2ec812954a2a224da7dc0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryScenarioLaunch.c": "8d8da4c1222dcc6adfee350490f4399b4129cfce7a42b45fd7fba52febfd3eda", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PassengerHandbrake.c": "3078487e077aaed1567894f6df12386aae440b790b6c134118d3afc2c4da156d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Performance.c": "037ffa482e3765bb537629e34f10919d85d4b6bfb0abf56ccc7c0d44fce8872f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerAdminCommands.c": "eca9baa3b07da48a740851583540840f8bf5f65f7be854902a3778f76967faad", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerGuide.c": "dc52f551a1d3705fceb64ea18d882009d9e9548c01f08ae1c7ef3083b19ab2d3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerMedical.c": "270454d50235bc28df9bba4fde2689934578874c4eca9560afb9f0f6324d7215", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerReconnect.c": "478fd041e8a13132df25202088f42d0810d36680060dd7a0424d8f40a5b1ca44", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerRoster.c": "dc785a8a1d78a285fe55ce76f87b78a9f522eeb9f7d9655dfe9b5c4348a26a18", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PreparationFailureMenu.c": "5c31219740bbc26cb903a91f4fe22866c465b38220391093c72a3b094ca30f34", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PreparationStatus.c": "c5cc9125986e2285282f3f7fa9068ca72f00d7e26465d00213e734039c0e34e4", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PrisonAI.c": "67f8b444824634fc37fc253c60fd24b56d06d971f48e56a8d53095c97aaf0070", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PrisonEscapeService.c": "ed180448cb516bc4ec521aedd366810a47787628c7f5ee9c9afdbd185d980751", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PrisonPatrol.c": "284618391ee2da84dbcda4a99ca3c072eae3d67b8a9ef40a86827b9ea00810f9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ProfileConfig.c": "b5aca526a860ed9ed609dc3fad99ebb34d2f6fbd537575a167390472efd4ba89", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RadioDefenceService.c": "f5f0bf1352141f933d0edb5630e30541e001dc07e1d2c8529b29cc159c126b13", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RadioFeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ReaperRHSCompat.c": "bcdf98c05ac6cdf0c7eaa854531b02e9ee4f53fbb346ae01d58114e572e7dd4f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RecoveryForecast.c": "0eda507fb58860c0eac1d957319d1e80e9576a870d22931c86081db748df44b6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RecoveryService.c": "182037828b74938746022ebe03bbd9cf849d52e31067c0b33f392f03969d6162", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RescueLanding.c": "e6f63ee8860335de1125e0a62eae3b8406faf5a5ad2c8d9c6f9a6da077986e56", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RoundStatistics.c": "60e6839cc50fa02df1795a00b93fd431160f9201bdbb6f1e3b9b50271306e9fb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RoundStatisticsLifecycle.c": "b813a9ccea9a61c9c6d7d4806cf18adfb323d483622ca1225930207ca2436d12", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ScenarioComponent.c": "ca6b20d5c4599e31957e5cb464d21bb3a4bac517dd539711f9d4f380e48a0e15", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SelectionStyle.c": "b9ea5158e51559dc13812cdfa8939ac36b58c79b9e4115c72465d869fdf264a8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SelfEpinephrine.c": "da5850374b51e89016c4557d06f3c7c087b6e6e36fa9734b22c7c6c50d757914", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemCatalog.c": "047d8c4c36bfa32e1afed13f8199f01681ebd362c72d87da8868cb6959661973", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsMenu.c": "b81283ec17fdd9f72096901f8bc2a3c87fb8fa4c8fd488579ba0817328b9dafd", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsWeightsMenu.c": "f0900e42100c9a58402cfdd48b7f27689144f53e03d3ae3dcd4bbebc13a5f61f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehicleCatalog.c": "bbc346188ed280d34b1b519ab7c96c6bc35df9ec3e4bfd03591cb9b8008f89f7", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehiclesMenu.c": "d873cdd81b2350acac7068c4d59d5603437561e061a3b9ff2cde2356239da322", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Settings.c": "fc5cbd7f52632228c071b9f14cce7979ef55298672e441f665f0efa97f083249", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteDefinition.c": "d421d70b32bd2b55cd8e4966c04af3d5bc381ac811d3b4b2efa4bc0a8af8bd2c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteDiscoveryRules.c": "dcbce3b7aee89bfc47a50e9de89209758af1f1bb462b99af67a8ad7a26e9f229", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteService.c": "2b283ad19b046fd6b33245d466b197bd05b4c472e128a747e6b1e725f4a34c2a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteSquads.c": "183883783a4e8399cf62851a4cc65a5d091d25131bc53b4323cf17286315b2e0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnClientScene.c": "b56f99a91cdc53bdb93d320d10839339022d7e61e6b101eee8296271abd7d3cb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnFinalization.c": "6ec741f8d19ee316d3c67b0dd2216698584bf2cde3634a3d6a7c3cdc3a3935b8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c": "6d9243f66b4ca8c53d53fedff9dea8986c815e90c1f97de58200cd759aa8b49f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnPlacement.c": "fc5b61f1877aeaee75fbfd6aed3cd0b4c5277ae8543bc38a0c09836353d54b27", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnSceneInventory.c": "76b79d5bd9d1f367e1ed19724302b7d49f8b0ede85cf19e89c452582ef651f8f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnSceneLease.c": "20de7f96bacc9037580d88d4424664b4554b2c082d82e7d29913e9dfe390b594", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechMenu.c": "33f9ef80b4d6cdbf3646eab602d15ae0d05884bb20b3a7222b0648752339cda5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechService.c": "74ea305ac0c9a9d145646a5c73cba58e4920ab472943ae73b3dbd71d8216f752", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartBackpack.c": "4a36799d3a3defd674822974cd96647c0accb2a854631dd5488c35e2ef697f7c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartBackpackMenu.c": "07c90db1a84893759dae71f40b7ae3109827646e48fade542190d21598ac271e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartRules.c": "ab7c21ef700343cbe769d8d51d91f167db37285b466d6af9873e121b3adf4ade", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartSetup.c": "58a6b617b22910d0ce9255f82091dc11cd1284417a66adf1cdaa7b661c1ed01c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Telemetry.c": "b1dc3ecab89f5e6db1ff4ba613b43755a5ae44f3612249288cd134ad850719f6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TelemetryCredentials.c": "9835caf69d4615d6a3fc840d9dc3cb0f507a0c5a2a6490893c21761f9cb4a216", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TelemetryLifecycle.c": "15d2d90d4457339dacd61c1bb23b619243b8af10731687c35ecc300125a642f5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TelemetryServerName.c": "7744762c4586e2543601fb0899847bed311c439cfda3dcaba825adf870628693", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainCatalog.c": "ba2e68543a8c929492d06f8725a743d26849a630d6f8c09be0f23894f92d0990", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainControllerInit.c": "8071e38812ac61f9b480d9e91f9ebc7712b360d431f5555da83027db6cdf2471", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainMenu.c": "1da542ef60ff7c1897b1f12432c636ef6a08cc710bac520ef186589d506e9a54", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainPreference.c": "93fc55f2c33e95adbcf2bead3430aa14bdb55154315760bcc9647f89dc8286ff", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainSelection.c": "ee75cac068b99e7403f5eaabe556152513cf5d973602cc6e6b8967d25402f6ad", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainSites.c": "4ac347d4d91951bcc7175a965ccea25f3782edb6e352354cce506d6b626e5ac0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainSupportStations.c": "c4fe4265963ec88e24379c143edae251452c84e43a3102f5da120205f9a39c9d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeover.c": "ac31af5ff2937f8a1fd89ac03732a8a473b27b09c83a07923f17986b0f9db841", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverClient.c": "70f192d5d749b4211c5604575d2b9d7e39deca589b5841ffdd03f99baeca1280", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverManagers.c": "ab1d64c8073e4daebf14f4ad2c745d874032675ebcac3fdb0fdae4626acb8dbf", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverPresentation.c": "91d450215eb6ed2da74446b5fbb805356e3881e3cb43e37fe45308e30b22be9c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverSettings.c": "da22775930b13e41d4a71409e37af3bb99e4cc1d94bdea0e3b59fbdcd4d40132", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TimeService.c": "63867760876d523a1794f619118a52c5cd387d5d92756cd286b2c16a348a6c7b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_UnconsciousCameraProbe.c": "cfc63058a20fad99e76c59b64d0d288cc3441fd3486ff63a6dde9998b4ab103d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_UnconsciousWeapon.c": "24d31bc857486638e55c605283c17cde0cdbd3c5c6021eac1ec93611387b10d1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_VehicleSecurityActions.c": "bd7d0aeb4abcc9d8044e4888f9a92f9e5fc97c098bdfa3bbad57e1a29697a779", + "addons/core/Scripts/Game/ERR/00_Core/ERR_VehicleSecurityComponent.c": "2ffec4e646584ec546147fc4b08249825cb32b531aba26467b586d760485adc3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ViewDistance.c": "8514f72f8207f12570d2317e64094a45507a1647dfd45a1501499ef81e90189f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeIdentity.c": "8624bac67c1990f87b3fb799361e5facd31c2e03cb621563b9c73c4fe9d7f87b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeVoice.c": "a6a9a816dee1c766675990c158a757cf9ea8628a7b2b0de991af67ff4cd23e47", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZBakedSpeechProbe.c": "533c89b6a258dccb61d7ff6abe0a43da58d52ffae60735a38c2545fbb4480afb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZSelfEpinephrineProbe.c": "a13e14d1ef525209d4609a2532c6d72135377ce058298937b632a91eeb6392fe", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZStartBackpackProbe.c": "6778cd98392f4e73dfe974782e626d98472251c1266698020d63edf8fe735bcf", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AIDriverHorn.c": "db9f100c6cc10efc6f5b86e8fe9adb75657ebabee6f8bf0c89b997c2e947750a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirAmmoMission.c": "0a471a40c8f7dfb797d8d35e41c5b1ff91e8d2ab13b43cf866e46c0e4ab4ed9d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirAssaultLoad.c": "de7b6c485167ab68ab0b37b96fe161ee821c2efd41362172b810448a02110e68", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirAssaultSystem.c": "2eaf9816eee3e1cd2ac70744a6ef7ea5a90d0a3eebdf925e384028a7edde6a42", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirReconSystem.c": "f8a0e3cf4552d8133efd33c2126ea15a7694676773a7047c15e00021c1d9721e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirSupportPolicy.c": "c1a7ac8759ca8ec8b43cbccf303255a2f0b69de447d0d991e44b6bd3db415d51", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftAmmo.c": "2be282406d0c45ab2e35b0ced791b5e494c662588f536701a4e82e6f5fb7c913", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftControlBridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFieldEnvelope.c": "0f53c7d9ab167a804eb904d63725decebb53fd5796fdf27864a75abed5679838", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFieldFlight.c": "c04e264cff9963821852094c451502d31bf9c96d4deae2e8ff8a2373b53b5665", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFieldRules.c": "30be68f4ca2db7e169f6f0432815821179cddf9159f7b150341dc8eb479bbd17", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFlight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFlightEnvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftRouteEnvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftRouteFlight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftService.c": "3f05209227986b5c6bfb193f8f53783cfd4ef083bce898e22257c3e63daed913", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirfieldSupport.c": "c6d88ede0b1b6bac5a7075b6e2e783ccfa8850210aabd28bfa4bcdb698cc5f87", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AssaultParachute.c": "a93c996059e7166988e9d1b0b498cbfd36f19a1cf8520cb4e9215a8884752e18", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AttackSpace.c": "e7be303231b5946d78c61480a5de3f5b37a63d0d2281a9a30a21e59f072904d0", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AutomaticEquipment.c": "8658421f846fcd3402289103762edaccbe3ca26280d7d72df2846c32ae8a4cdc", + "addons/core/Scripts/Game/ERR/10_AI/ERR_BodyRecovery.c": "f5fc311ecac4533c2d053a686c51e71216e69130a34483f27146627172914c99", + "addons/core/Scripts/Game/ERR/10_AI/ERR_CessnaBridge.c": "f1adb0f9b92f6ed94a8e9897b64e2fccba0f28552525a93f1ab893faa4fc5da2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_CivilianTraffic.c": "b6509be9cc891ba4c1fc0f3fed8b09ebb31ca69bf2e5b28b50a6060706baed73", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyBoardingProgress.c": "328f8a5eabb8174b7727eee1d675db83a2eb0be7b8e834db4e950a645ca5d7a3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyBudget.c": "fc7e254056c1da4aadd26d4f56d51ee375d5d3331f5f7e5183581108c7474a10", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyCombat.c": "5c4b7576b28d51edea868cbb91a0ab31a40e6ddb558f1b8a38e07e20fdb2969d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyMineStock.c": "4497d6b790a45df2b76d18541ddaf299b406def88b868caa29f096849026a42c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyPlacement.c": "af4799e3028448e1a73f944989313e5d10c6262521bd29a8cdd5236842717963", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyRoadPlan.c": "fae404f85cae63e63976938a5fdb73efc988ba25c5846564f12edca04fb88551", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyService.c": "5abc35861aebf2e4ad00de11f040d01f784c6f2184de2e10beaf46a74ec8758c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyStartup.c": "360228fd45aa6ecd9426e36120b5e637d2feee1e3a4a89aac8207526b871c87e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_DroneBridge.c": "9ad23a763c5995b2ac6f68ed02def487b0ba887e8ca68f0e546d1b6812504cc9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_DroneRecon.c": "dc685b57c884d733e0ff90cf7937f5664ec08545f4cbf59d63bc8a84383dc442", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyEquipment.c": "dfb6a7aeda23adb8aff2292753b694770affc9855bff9fb11d50bb534f9219eb", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyGunnerSkill.c": "adf8bac5a6f7e40b2f9caff5fe9be590c4e4ce2b2b387ba39e741a3c4f4cc564", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyLoadout.c": "a48f32dbd7f209bf08fce2840aaffc1781c571fc679763be58987f6b082e776c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyMapMarking.c": "0f161fd3e08a54e3e1063679127549e482c40253a022e9d06cd9ee4d740b8625", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyMedicine.c": "68b65c98214e1a27383e155727901a4f70e9c065bb0cf133bdcf7fe6d5a57a40", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyOptics.c": "215e8a05594c541861b48e093520c00091708eb0f3635dcee5d0b5e1160230eb", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyRadio.c": "3a97e5c3de9ff33873d97c6b2d84ae505cfc4f3146e047b928e76ec3b22c8789", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemySkillAwareness.c": "00c450d033e43fc45c9e2cb64a1d81161d123cc594a4292cfc5f68eb6c17ee60", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EngineerMine.c": "067bed625a3f4d0fa189f46476988e90528c59b2351ec0ea71916317b06efabb", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EngineerMinePosts.c": "bcddb72845189b52e5ed71c687d7dd4b0b40b91b7306c3f6edf84a631002fc5b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EngineerMineSite.c": "d838f5693d4fa5d252d529e59777f560674c02532f1041a5598e938b3a850839", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EquipmentLog.c": "df9eec7f94e4bf1b30b9463604e9b97ba3cbff36028a80b81327b0b021cbb2a9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_FiniteMagazineReservation.c": "8278590ced1936d618905b0cbd0b5aebddda238d426a6a2a52e455fc36bbb502", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GarageVehicles.c": "673661374e0854fd896d3d51aba84c07088057c941751b311daa4a97b899633e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GroundDepotHQ.c": "c51fccd0ecdb0a1d6ba99ae965e2e572fc1ea65a5d8dc2e1e2a058698dae45c3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GroundDepotLoading.c": "6abb278409527bb67db084138a773de240d99ba7f63f9ac740f8167615d53f1d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GroundDepotTransfer.c": "21daa9ed8cb5f2dc08a0fa85e305fa4b4f3e7b01e16c71fd1ca98d66a4e8b652", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c": "9bd25f9fc7e574c515c7131e8b52eb357e295822e1ce2f401e6e86cfd6ce062f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQAdminProvider.c": "8879febe59fd99584add06690b29853f7cf14b580bb15c9a955cf1a2ce033908", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQAmmoReporting.c": "95c024cbdd35c02d9b0c3d389d29bb042e5dda6ffd2f5f0d896078274b3adb35", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQAmmoSampler.c": "8bb0ec1422887feaa340307d3c60bae50fc82d424fce6390876e580ff8b75e8b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQBodyObserver.c": "f59421c1e0c83f0f480d7dd4d048b4b0a41193ed8fe8f2f627d2b6a696420ea1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQCoordinated.c": "5b67ad624c4a6b0bbb715314ab9cf14e527018fccb7d38af479184b4952b8c49", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQCoverage.c": "0ef1ed718797114d95c636c8fa5a9e46a5f2a7ccbe3f432049b0c7d37f1eebd0", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQDeliveredCasualties.c": "1f738127e55e843ee2705007cedb5c08741f52f63c75eca7c80242177af82273", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQDoctrine.c": "6335728e89ed40ce11b811f00b61bfea76e94dd3379e4357cbfc438b05522bb0", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQExecution.c": "d286b8273faec0acf87366bf53ad2517d5b7d909741e981cdf283cd1f4f50314", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQHunterOperations.c": "b9200b6de3a3a61de94ad720aca94aca64db542acc64ba65e7b8061a5e4884e7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQHypotheses.c": "060796bbbed604f9733d23e131c9836702870c6e25c81cc0b396c885eb06ade2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQJournal.c": "53563ff54fc4e0656713d6eaec5e88ddf69fd4bfa8ef6a67cfa13380d24031e1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQLocalAwareness.c": "124260280ac8eda0e920bfcfc86932c9b21df6b1f7a6aa8acfc43feea3da149f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQLocalHandoff.c": "2dd700dae9d9b232d22ca63ff01af75a3f5cc213ac24b7c0a43ffa38bc0b9ffa", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMemory.c": "ec2047a477fb4273e22ae6bb68e7365f321f55c583b5d2c48c4abf2ac38e3b7d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMineSampler.c": "2a0fdc4d27e947a1d77b02ae23f757c7fa074eb456f817b7df0766583d757f55", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedAmmoSampler.c": "97dfab7381385959b0906be13fa2575253ac43be91a271a5d41edaf4106366ac", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedDispatch.c": "12769b56019e9fa5b8141498a1c33814ba5262253193495e72f85972365961a7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedIntercept.c": "5f45545c11de5e183969203cdf07e29089697ddc89752a9c5aea0fa2a1a33a97", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQNetwork.c": "0b73be993628a55e3b21c8670d540e39c938093dd5cb4d586e800ac530509b25", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQObservation.c": "57ad3f0b68d150791e30a7e4bd7dfedfb1ddd78a1c76f228e67b33ea9cb7144e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQOperationSpeech.c": "6f133c104223ce23262c2927db9e16df0f76f1ee647085114baef1d51417f4f3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQOperations.c": "b83b805c61c3960801d24ae54854ba7aa4dc914ea89e61db365b5ec99f305ae5", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQPursuit.c": "280e91feecc4e5b6d0886fc4201b12117b58c56857d4386b6c4cb963557274bf", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQReport.c": "4c0c1f0e33f621d1e02375cf4f56b0e8c4ba6fd851912d3d16081949bae46158", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQRoadIntercept.c": "f87727aa1c722a180c7b71fa2d896601b6250978a21bd2d1e973501fee81373b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQSquadJudgment.c": "12e9ccc9d42a858a998bd46708fbb04d05d48dcf460303a5ecc1629021051bb4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQStatusSampler.c": "b937eaed913a5095afa8e678dc1c36b5c805541bf8cd5be927069533d6baed1c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQTacticalGround.c": "eba9a9cabdaa80b936aa5e7025544e8b011fb597b96cbdb8d781583c025afbe8", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQTask.c": "29359f52734cbf3400e12696057bbb7aa54466a018fc88c42015b6eb9bb9990c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQWatch.c": "abe634cf6003ae920ec1ed18e305ed462920204960894520d3dd11f7e5ef1c33", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterCloseContact.c": "56f22051566354ccdc61531af4869b62458a30d945e4d21de5aadf7079d2245b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterCombat.c": "df1c319d10efd07ed6f971cf0e41d8d7e377b04ea7f0fe143bf94df733fd1d9c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterCrewRecovery.c": "22e192ca222017d4d7a27210c6e42cf0f128827bca00b37924c9c8d6866b62a4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterGunTeam.c": "0e66d82964ef8eeba29de11d5bb2af954ad72a8090855ac4c1b28fe1e66c0d69", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterOpeningPlan.c": "7791513b8b41f4d2ba1b593b5219d7f6e2bf036e352f8e4eb1a8029fc97ab7c8", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterSarkaRules.c": "8c8c96e2f985f553e303f7e459b73a2a5cd0051951b22aa0ed364bc2ae19e194", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c": "c938b8beb3f72ca1b2a76b48052dee70fe52651593dcdc16b7993a9398bc92e8", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterTactics.c": "274ae619589b85cf64df1510631ab914aa9fe8c50fc2a76e6e8c5aa5a2c8d9ba", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryAmmoAccess.c": "ab4262f78d54782c5ecbf5fff4ebe3da16d72329658d7e18c0c35387dc8b3c7d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryAmmoTransfer.c": "99fa26beb0c0869d0cd694500f3bfc0705c2c1cf674dea90d98fb93a59570ef7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryCombat.c": "5d7a8e579edf95003133ddb6e509202dba56ac9e68385247e1ac0256c1b319ec", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryMineTransfer.c": "02c399413f80879c22b4891e8ec807c67a6235677095fc4b98bafdc360d6944c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryResupply.c": "ca8eee2704e7758172e33014404bb1307c683f19b561b840d4592f6312051e62", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantrySupplyPool.c": "c8e454573cf064ff392291d6feebf1f23be64390b5b8e944c03dd065f9f46b42", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InterceptVehicleFootprint.c": "5dea67d14ebab67231c485e14bc92f34c005a5f1bf6d9c0943db28e9857e958a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_KnownMines.c": "045468a052e485a91da601adcb42b504bb6e4ff13b096bc0666128e50a6aa9c6", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarAimSolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarBattery.c": "157024afc8fd3c1ffeea6ae923ff091e5773b9ffcf5f5864f8040d001e689110", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarCourierTransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarFiring.c": "2606ed8c19d5569815dacd3248f012072bb76834f429ce7557d24d884724f733", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarLogistics.c": "b3624e4a00a2bdef16f6c100bbd79910e3bb8c2ae8ec5fe2ad5aa70bffecd303", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarPrediction.c": "05863b2b4f9f70cdb288f91c722cbea163c13f2a2927dc485482e5bd4fa7d57f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarReadiness.c": "4c3799b3f2681e977669de0cbfaeb307d9a682b04365bfc9f59079e762965758", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarRefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarReportLedger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSalvo.c": "c128850c7a78a4d8fee00ad38f48b265f1fbd1d9b24b092ddc5c205b0f0ad6da", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSpotting.c": "39b3c223ade610ed9f1d73040423339ac65c90b153f30c6f5c42290978c57427", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarStation.c": "cbbd7c86f722b664c85ab7c070ae1131d2ce5c41d1dacb4381bff9c1720a1866", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSupplyTransfer.c": "ad71084f507ad9c32d3055e7ec6844a1ec5ddf568c0216ab8391e902b56e417c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSystem.c": "01bae0bab685e9f0c86c3a8939d18ce6f20dc0b8c1a389d179d91e93008c6957", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedAmmoPickup.c": "5f7ca5b31f3b405c2a6ca32ff91042f5b4dac6ab9640ce67fb10d7a74236ba69", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedAmmoTransfer.c": "0b195784497672fdaf651f336c14f7be98c257f98c85cfbeb4f96fe1a401999b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedMagazineSeed.c": "b42d0aac142907433df8bedc40de24c94813544016cf5f451846f1980250f995", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedResupply.c": "c26ad43705765be1c20eca37fbe2978b8c647151f6620ed37141657a4b7dc312", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAirAssaultProbe.c": "c1d55b338b157b758e6ffb993d5f689029b28b13929797c91e5dcb15b5e561ea", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAirLogisticsProbe.c": "58fe863775d0ad575cb566c78cef696c9826691cf49ef9adde76376be7316db1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAirReconProbe.c": "c1216e0512a0268e4dbb82429e228334401c0c3cac52ba4486ae6dc91e41576d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAircraftControlProbe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAircraftFieldProbe.c": "b64907c7566a894ca2f3c49ede5d972d4087a938da1a0ca87bcbd7c2203b2c52", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAircraftRouteProbe.c": "8d0dca97e5106d1c84b64992c789e1af0689514beefc027e713ca6ab901fc470", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarCourierProbe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarFiringProbe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarSalvoProbe.c": "fb9ccc6b36247ab3ad828ffbb2556abf5c2838d93ea6cd1ad259c0a015142f5e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarStationProbe.c": "a110f0abc753cb1d2f781e457e637dd5346ecd2e924eb5eb3a5c7dca3d1e2340", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarTransferProbe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativePatrolHQProbe.c": "9784b551cbb91f017004fb728ce08b5c36bead0ffc83aa7149c2c46a7c4dc495", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeScoutProbe.c": "41b39b1abe5e51a5b8a428d533cccbfb0dda9d7a570228dc3489408c60543f17", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeTownProbe.c": "28876e65f9f8a7d96d8056f446b61e12e97d9bbf1a5ac0d4c40edee44e6c4a21", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ObjectiveDefence.c": "83ef91c2118521aedb4c1838b2e47909c80e0950086449b98ced168f1fd87080", + "addons/core/Scripts/Game/ERR/10_AI/ERR_OptionalMotorbikes.c": "87cf6544983386d29058a6f892aadbf242a517cfff4ed24348f56a72bcde8cd1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ParkedCarCatalog.c": "1d865c263e910071b127ccd1bdc8b58dd45768c4629194da49705f76995ff0e7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_PlaneFlight.c": "14fa2328e1d31cf59fb89cbb53ba33224be6cfcdd2813525fa9585f8b2e237c7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_PlaneRecon.c": "fe94c29fd9befd3c1bf3ab97b9b27458a8563697d4d46f72df43c6e642f3664e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ReconAirports.c": "7551347d776d6e0eec818d6468cacbca7ac53daee7317e0a1618ca3d39ebc762", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ReconCrewLocks.c": "83b63c21574140208792aaf3d24e3d22b255a078871382122110bb48520d4541", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ReconFlightComponent.c": "1386e2a2d2a635417ca517aa1d8ddd4f657dd415ff59be2465543cd8f601e7a9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_RescueAssets.c": "fca1a4518baf09f0b2c97f3a51995001d9674849417fea9ca1233e8d1f578495", + "addons/core/Scripts/Game/ERR/10_AI/ERR_RescueFlightComponent.c": "60db8029bbfbbb362b5bce61f509740eabea5925b93bc975e7c2b44addcf03f3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_RoadblockMining.c": "47d0212cd20c0b320a47123d17f2b89f7d60b44072a00c69944ada7bb83c4e5a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_Roadblocks.c": "879f78beeb284d1298ec49dbca9624c5f3899ffc6fcd376e748bf55e4347d4bf", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ScoutSystem.c": "63287a252e4e7d5aefce840279f26ce3e1f286cb79cadb32596c37897cec7119", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeech.c": "ca87494ecd355052b46b72e2faf13660e458f3d376285bb0e4c20fd0112ef2e2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeechAudio.c": "4734d614c5366ae3ff57717f514664c9dfdbe4408e16ba36f6b10d807361e313", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeechContext.c": "d2baa94f036f7dde5cf24e004ad1fb9416f249cbf7d0c6c07c5898f7d21751be", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyColumn.c": "bd898aabcac5724d60dbecc4ff5ab6f062c66cf7c735ff59127c588ff94f898e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyService.c": "5393efab9d663382e67b9b27a388063986a4f99c2607328c998f007588074ca4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoySystem.c": "f09aa817c27d6af0ccfb544f4ab1ae2afafb63d626641e03d87cfe159475d821", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyTactics.c": "d2fe073b0c23c877afaa65e246544751eecabce4febd72412fc9a4ec18eb1c8c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupportScenario.c": "151eb6189701e559bd4f1359c91187f5a64deab1f2bacbd521c4f4cf3de6d878", + "addons/core/Scripts/Game/ERR/10_AI/ERR_TownGarrisons.c": "9b48331ff8bf7e5a111b498c59a57a5d0210125af983424535286a4aeda9a18d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_VehicleAlarmPerception.c": "45ac71d25e10a057a26a5b0fc7128935baaf47f4c0f87208a4420fa52086fd98", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelAdminProvider.c": "40adf8497b64cc74b1390149fe5ba789ee2f14e6fb3c325af8f5ffa8c806878e", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelDiscoveryFeedback.c": "741de1dbadfd46c154905a0918aad41386ddc139d843553db55d20d60700c020", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelEvidence.c": "ff436bd3c7aa0fcd5c24e940430c1ffdda934889953f63e877ae418bc9557d26", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelReroll.c": "d8b04de9ea789732cc78ebce9aa60786c86fe46d05f671cf251eefa68a214b59", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelService.c": "2911325c79a7a372628b18ffa0e110d11919ce2c2cd7b19277bfd608fdb03dfc", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_MineIntel.c": "3ce16cebaa9703b2f9803df7c11614f94de6460a9136dab8f80dcad41ae2b1c2", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_AtlasPresentation.c": "f0b36472b16477b8c3b5b62f55cfb2a3b3a08304b0779bc39244359af1abe203", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_NativeAtlasAnimationProbe.c": "845b39276bfdbadd6bfd9b41f445fce1a9d40231d38ef32adc7a6654868e17f2", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_NativeHeldMapProbe.c": "46c0210a3aef40fc34e4c9682d9364b1cc1e15d4373d8aabfeac7d9b8e55c351", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_NativeMapOwnershipProbe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_SharedMapComponent.c": "73298c94ecc8d227452b0eddfcaec7fe9df4748875fa7fafcc52544a43658f36", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_SharedMapPages.c": "2286d327b87f127f052e06c22f553b30ea31d25127b860fc02a220aeb4ce3ea2", + "addons/core/Scripts/Game/ERR/30_Map/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_AdminCommands.c": "282fe1463add7af8771aa58507b254e69d2d06f50274d4c77321db073f8394f0", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeAlarmHearingProbe.c": "5dbb6a48909b76cd141e3a79ef01d2e68cafee55153821c4471f85c761fff94f", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeConvoyCoverProbe.c": "d2450140cf9bdf09210473234605b4c0d818ea5b91f9532209166a35c5d13701", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeConvoyProbe.c": "87df652b339df4fe4239617752ac5fd9f47aa4396ba94742a0af39a32b54e784", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeCrashGeometryProbe.c": "7867ce1794aa0d1bbab72c32f60f5bd0c2bad4f5ff6224978c215e7828840178", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeCrashStartProbe.c": "957f40e36bfc025b8bc752b1f41dc177c8d0844c69ee5994321a47cf3ddea1ad", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeHQBodyProbe.c": "811244cc8297817efbfc3ee4edf01c868eae23c88127ba0c72e98ee7422da72f", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeHQMemoryProbe.c": "9bcd0b2e1007d40cb794aabe80368a2584ae58aad6a3ebbee070efc7b21a8147", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeHQResponseProof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeInfantryTransferProbe.c": "9b2de4dc22bdadd51b0271219a971dc8dc07f70ed3534f306acf03ed81b29424", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeLocalHandoffProbe.c": "0d4d61c424a16008595f86fa61f3b848caf9bd6e9ebbacea9c10254d88ba378e", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMaintenanceProbe.c": "852b9b397efc3f919c97fec63bc3df1a850cd7833421af8441994afd191951d4", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedAmmoProbe.c": "7ddb634444c79ad9291d53a754dc0ed383342e36720ddaa4b7aa4bd4e7ee656d", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedCourierProbe.c": "12710e9e5548fe8856f7a52f3566338369a8a1eedf0bd92af16229271872ada5", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedInterceptProbe.c": "34b0b1e38a59f14c4e83d93ec412779945388e6f4d697bda2f6cb90f519a6372", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedSwapProbe.c": "a6721fcaaccadf8eddb06687c7d587d0a3e377d5d1bb0b8e72e630fede8690ac", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeRadioProbe.c": "a4bd5cd9fe0594e05238b2d6dcd80466773f8fa160dc60bbe1eda70e3acdbe79", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeRandomRadiusTrace.c": "7e946406067092e30b6b75cc6ef0c56db7f866249e02bd13648156933ee578d9", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeSmoke.c": "4dfb218419db4cd7a46d25cb1f2e578e75ad89efc43f99c6ca8ab8e591e139d7", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeSupplyConvoyProbe.c": "89c2696071912500840f4bb91d754f695bf674335b51a7ee1d03727084fd4869", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeSupplyTravelProbe.c": "32e6074e912491f2643a24cb44311b9fe5b069c76e4e94a45e7409ac82d36507", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_OrdinaryScenarioLaunchChat.c": "a747af09599ce4d0c52051f18f00c4624d24d137e328341b580b82e896c6bf65", + "addons/core/Scripts/Game/Editor/Components/EditableEntity/RHS_CAS_EditableEntityComponent.c": "3788cbdc39c3da4f6564b73b7f49848077ad4504b6c28a1984c424247d1c6678", + "addons/core/Scripts/Game/Vehicle/RHS_DestructionTireComponent.c": "9b3de0966d7b8184bb70a14df2a448e06f34ca9db09b46da07277cb92ab7f8b2", + "addons/core/Scripts/GameLib/ERR/00_Core/ERR_DiagnosticNoSplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5", + "addons/core/Scripts/WorkbenchGame/ERR/00_Core/ERR_BuildAtlasModel.c": "f6cb5e6f5afc9bb60a8a46d96b52c7506882faf0a880e0b20a01a2603b336d2c", + "addons/core/Scripts/WorkbenchGame/ERR/00_Core/ERR_ValidateBaseWorldPlugin.c": "49a38c37b51e5318c7dcbcb01543dd9a6300d053f0d39808b3974f4edc45b871", + "addons/core/Scripts/WorkbenchGame/ERR/40_Chat/ERR_ValidateWorldPlugin.c": "d1f3fc372d0d16062a5983f2a6cffb6e72f202cb93fea5b33b4d77e0c852ecc7", + "addons/core/Sounds/ERR/Speech/radio_01.acp": "cf63378bf3950f5e6c1c1f46c057ad38a371b14b945b1201777820384805c3af", + "addons/core/Sounds/ERR/Speech/radio_01.acp.meta": "d5966526f35aa64dc980238f72f4f93f9d0e6a360f10e3f6538e97b7d086aa47", + "addons/core/Sounds/ERR/Speech/radio_01.wav": "cfe4a00000bc9b629a9e8e282ed64e7177673f829c5657b1ae2b2cb9e661d2ae", + "addons/core/Sounds/ERR/Speech/radio_01.wav.meta": "eaf33fa344fccf9aacab626117d03b96b135fa819d3e63ae300fac544291b571", + "addons/core/Sounds/ERR/Speech/radio_02.acp": "9111d118594094a8e09acdf80d8b107cc7d5d890b6ab086274e0e1004039e345", + "addons/core/Sounds/ERR/Speech/radio_02.acp.meta": "76b55d9abf7f599c5db3269a5829546a6d5f92e6350b2fe987245f9cd6b599fb", + "addons/core/Sounds/ERR/Speech/radio_02.wav": "6f0c94ae0e501afe6cc1aba804ba6a0403ba4de931debc28bf22970f591d0798", + "addons/core/Sounds/ERR/Speech/radio_02.wav.meta": "06ec85166aa4c54a6fafa1fa2eb2cc32f4a36dc8eecde8f9ba9912229e5e00e0", + "addons/core/Sounds/ERR/Speech/radio_03.acp": "019f939d65396f4a334a024bbf53c41479a9f8ce806610945af2be13e7352c70", + "addons/core/Sounds/ERR/Speech/radio_03.acp.meta": "8aa2f4f26f04bc3085ae046f543c047cdadf9af9e06a38920f1e1fd8a3aa02fe", + "addons/core/Sounds/ERR/Speech/radio_03.wav": "415a206bd1de167342cf1b82d59c708441b8d802395f941d15097c064133802a", + "addons/core/Sounds/ERR/Speech/radio_03.wav.meta": "de1d81fb653146404de5b6a6018c1cd73e902571b82d544de5b6cfccf21f5410", + "addons/core/Sounds/ERR/Speech/radio_04.acp": "77bcff7cc7ce49036a440e829fb4eab1dbe5252b0fc9ea24c42e6f6b68e2698e", + "addons/core/Sounds/ERR/Speech/radio_04.acp.meta": "dd61ee2545776cf23403240424470661c737048d01432d90b24f2c9e75f45d82", + "addons/core/Sounds/ERR/Speech/radio_04.wav": "a225810c7fba048517248fd9f7e9f7ab8aad5bac35e59f22e11e69166551f7f3", + "addons/core/Sounds/ERR/Speech/radio_04.wav.meta": "0ae046e2ac7f9653661ba99646d40dd78d52f113ea6554e1dbfd6e578572a4f4", + "addons/core/Sounds/ERR/Speech/radio_05.acp": "7dbc2b3b3d251eb8d3e749b0a7f32186b0421a95fa5585be493cf04b45510e3d", + "addons/core/Sounds/ERR/Speech/radio_05.acp.meta": "cbf3b48ed3865e30ba5d838d96ec4f1ee950cdcd51368f7a9259460e4b78cc1b", + "addons/core/Sounds/ERR/Speech/radio_05.wav": "90f5abe221165ac5cd7d88c9b3e01cf6fd4d00b594c84d09c6baf101fdb776ad", + "addons/core/Sounds/ERR/Speech/radio_05.wav.meta": "d8e3de0e1ae8670a01bcc272a1adf4199ffcea514ce024ee3286820dedab4d83", + "addons/core/Sounds/ERR/Speech/radio_06.acp": "e14da41c1cd186f35a4f385fab71ad85ad6fe718e67299a65466339ae23a2922", + "addons/core/Sounds/ERR/Speech/radio_06.acp.meta": "efc810a60e93453942adba476b423121f2a7dc1133b25d8764c1bec546a3949b", + "addons/core/Sounds/ERR/Speech/radio_06.wav": "b3f86b8dde535bc1a63301376c8d42775446d1b6117168557841565391fe0a14", + "addons/core/Sounds/ERR/Speech/radio_06.wav.meta": "07f53131f4ad153cc09051ba1de07f7b43d38f69781aad24371c4eeb331b280b", + "addons/core/Sounds/ERR/Speech/radio_07.acp": "bf3a48af07ad6e5da2ca6ed6c581fc6232e1bd62ebb905b934188366f2bc3d77", + "addons/core/Sounds/ERR/Speech/radio_07.acp.meta": "60aab59223c0ea734f7c1e88f803de30164ccef1a909730abed3eb76b3378ca2", + "addons/core/Sounds/ERR/Speech/radio_07.wav": "f3fd18ddaebe9eb3d0db9ac73c89a7b7a7f18b76e4b66d404d544be660a6825e", + "addons/core/Sounds/ERR/Speech/radio_07.wav.meta": "ef6c72aa32c1c46f7133782536744bdaf4eee03bcdb75aecb87accef6d1c4f2d", + "addons/core/Sounds/ERR/Speech/radio_08.acp": "a82c5dbcd7094085324d93d539c6f829c53dcf3781f40b8d65a10b7cb4125bae", + "addons/core/Sounds/ERR/Speech/radio_08.acp.meta": "69fb3400109e19d4f4d0fb371d056edbecc0a96a0a923174d1aba95dfeac1014", + "addons/core/Sounds/ERR/Speech/radio_08.wav": "ce3c2aff20dbea83aa6545a383c454969c5caeb53d5a88155ec182f789047d4a", + "addons/core/Sounds/ERR/Speech/radio_08.wav.meta": "72c5e117ab7b605b8370fe90923edee73593df6071c39b86556731387814a014", + "addons/core/Sounds/ERR/Speech/radio_09.acp": "73725377def1832742c7620fec46dc0100400d92b9cb79add8b4d44e94c46c0a", + "addons/core/Sounds/ERR/Speech/radio_09.acp.meta": "95456fe20def274a1972867024e9d0eb572f3878eae19c63522fcefe401dcb07", + "addons/core/Sounds/ERR/Speech/radio_09.wav": "3eb0be6393c431b526dbddc723cb608a7681a2dcd8af6910d9f2234aa98c923c", + "addons/core/Sounds/ERR/Speech/radio_09.wav.meta": "724dd301d1b25e41318503a815e87b54e7283735c51fd122af55c070f26adb37", + "addons/core/Sounds/ERR/Speech/radio_10.acp": "f976a0fecf73b3379ffb9728e96c68ca79800712919320e7ff7f3484cd2c9724", + "addons/core/Sounds/ERR/Speech/radio_10.acp.meta": "5411a9ffa23e42c8a2e8d4eba75d6e87631bcf542128327dfefd603a64d5b6ec", + "addons/core/Sounds/ERR/Speech/radio_10.wav": "2b2dac499a45a7779e79465d628a67b87078c0951db7db3e051feeb4342f2816", + "addons/core/Sounds/ERR/Speech/radio_10.wav.meta": "c3ac10a092dcb26ec637be6c9264a85eae1b6da55b9d8b44a14766a70ddf2933", + "addons/core/Sounds/ERR/Speech/soldier_1001.acp": "1af0d303063f37811a9b1a25424d887fe5eed4b5c57da71cf36ba6985f8cf002", + "addons/core/Sounds/ERR/Speech/soldier_1001.acp.meta": "2fbdda4d9fa83c6945985bd2f2215aa9f745b3a18adb0e7edafac1b01c161ba5", + "addons/core/Sounds/ERR/Speech/soldier_1001.wav": "a8935a5aded028f2fb03734f4423e731ea4f5b17394526df47c0407a3deddfe7", + "addons/core/Sounds/ERR/Speech/soldier_1001.wav.meta": "aff7a92a727d8bd4df033be2961fb85cafdc5c45fd272c5ea718bc07fb8e5cce", + "addons/core/Sounds/ERR/Speech/soldier_1002.acp": "1444636949683a430efe20a7f296e85e669cb8e26799c326f73a00c4f8d32fa5", + "addons/core/Sounds/ERR/Speech/soldier_1002.acp.meta": "d8eb34135a3b76f0a4f889f9662d954b3b0b3638c10c0732e25ca29d7b2ef412", + "addons/core/Sounds/ERR/Speech/soldier_1002.wav": "8535643e93757dd916f4158b5b03671cefc599489dbccf6bb0f7abf294fbae88", + "addons/core/Sounds/ERR/Speech/soldier_1002.wav.meta": "e8c8813e5a1989a0d7e4d2a5c90622c4b0f909aafb929f4737c82e5710220d1f", + "addons/core/Sounds/ERR/Speech/soldier_1003.acp": "5ab123f150debd6fda0b822fee7ffca5a0bdc168f4d8d2e28b3982972db05613", + "addons/core/Sounds/ERR/Speech/soldier_1003.acp.meta": "f89fa8e7ac42e7f675d29f0b241d181df572413c6c41bf31cfb98fa205baa87e", + "addons/core/Sounds/ERR/Speech/soldier_1003.wav": "5910896661ad67333d2374a16ca44ce831a5820feb337655df99c02df2915d5a", + "addons/core/Sounds/ERR/Speech/soldier_1003.wav.meta": "5281a71be599a70aeb9972ea85364e5ef32f824db94c71953d8a1912fb2a27c2", + "addons/core/Sounds/ERR/Speech/soldier_1004.acp": "10ac847b206834168e63d8d0f7ad25d7542a58a49d331af50aecf13e7e070ac9", + "addons/core/Sounds/ERR/Speech/soldier_1004.acp.meta": "8c073328d3f5f06ca583d97e9ce2453d8167ec7bc5643ab90783748a4cd9b6bf", + "addons/core/Sounds/ERR/Speech/soldier_1004.wav": "76375e462ba518c76f752d4b194c9370dffcebd8ce0037865133b37af3ff9a9e", + "addons/core/Sounds/ERR/Speech/soldier_1004.wav.meta": "563aae8d93efeaa7ca098c12bf0004da279321607793bb32a93b2530d6832d06", + "addons/core/Sounds/ERR/Speech/soldier_1005.acp": "ea3d874f84dd85f09871444c348b1c7f4948fc043c59cba4d3aea8b8eaa8b86e", + "addons/core/Sounds/ERR/Speech/soldier_1005.acp.meta": "40cbfddfa9937e319d412f3ecb66b75e2c1c88f2823a64e43a81a2939fb9021a", + "addons/core/Sounds/ERR/Speech/soldier_1005.wav": "3e20728fb61863278738f5366343cddd6fac1b8b114a14867f91ebb5cac547d8", + "addons/core/Sounds/ERR/Speech/soldier_1005.wav.meta": "e330fc819872b0a97a280a42d936ff75e30d21ea3ac96891988b48ded36af7b0", + "addons/core/Sounds/ERR/Speech/soldier_1100.acp": "86dc8e90d826947672342f44a6ff8d2fd4a8f014db0b215c0865b3728b14ea88", + "addons/core/Sounds/ERR/Speech/soldier_1100.acp.meta": "1a41730365335ebfabf6c75ab1c67ecb1d0d6c85db56d1d85f688a780a3ecf15", + "addons/core/Sounds/ERR/Speech/soldier_1100.wav": "eaf1deb5381f6bac165e364a652920fcf78438c351c564ebe50a216f3f3ba5a0", + "addons/core/Sounds/ERR/Speech/soldier_1100.wav.meta": "dcd087d3e0bec53abdd4e42218a3bbb234b7ae3cd2da05dcee71a298632a8da9", + "addons/core/Sounds/ERR/Speech/soldier_1101.acp": "2680131b5364efe39f3dee44ce1605dbc9e064cea9baf8247a8c5b55dcfa8d99", + "addons/core/Sounds/ERR/Speech/soldier_1101.acp.meta": "4feaa2b8e069ee2e9576d4009329f585b1b5ade9e47816882b78075f4897646f", + "addons/core/Sounds/ERR/Speech/soldier_1101.wav": "4bca012ec25d8456cd38d26606312f54b480b674365b76a9c9f54e408314570b", + "addons/core/Sounds/ERR/Speech/soldier_1101.wav.meta": "6ac6bd7a06be3fa35c513137b4584e405c0cd7e32d0c6912f2d7f9b5a3087d36", + "addons/core/Sounds/ERR/Speech/soldier_1102.acp": "08002dc26a4c07d6bf488d5f7c8c6587787c1755ce374b4053dad582eb2d77cb", + "addons/core/Sounds/ERR/Speech/soldier_1102.acp.meta": "2133e516f162d6aaa7f0d3a191421964ca6df7b00d0a50fa42ffaba70864bef4", + "addons/core/Sounds/ERR/Speech/soldier_1102.wav": "1432bb3c9d99910314a84d9773d2afafe4f5fbb143afb291b0deed55d25ee6d0", + "addons/core/Sounds/ERR/Speech/soldier_1102.wav.meta": "a6ca33938733e22789434db35ca2cdfb0fc4c51716feadf4a28a60ee9d1044b2", + "addons/core/Sounds/ERR/Speech/soldier_1103.acp": "c93e1e75c272d31107fde86205b859cf505e2acf7d8776fbd81357bc8b3625b9", + "addons/core/Sounds/ERR/Speech/soldier_1103.acp.meta": "f3d41ab27e932b10d46c3a2aa63f826825403a70640381a089db608c1c00a257", + "addons/core/Sounds/ERR/Speech/soldier_1103.wav": "c294454907a229d521c2285eec26dbb82f9782f2a7eca764e11713ff63f0e004", + "addons/core/Sounds/ERR/Speech/soldier_1103.wav.meta": "968d93e9dee2104aee94407604d021d8849a83dc3d115484088e81289654c246", + "addons/core/Sounds/ERR/Speech/soldier_1104.acp": "cb94ed3c95670f11f78f6470f1f50492fff6d2f0ac94602d054d474d52400cec", + "addons/core/Sounds/ERR/Speech/soldier_1104.acp.meta": "92d43bf610784953d8d94322b73ae235f7a8aeb83ece72733d795c8034275052", + "addons/core/Sounds/ERR/Speech/soldier_1104.wav": "952b3d71366c26fc12bdbb9014665bfc0402f30944c22b1b2369d26a93db7104", + "addons/core/Sounds/ERR/Speech/soldier_1104.wav.meta": "939562214b39250feaa8f6f6c6bd10c3d4e0b4c529f338490a2dc234919c0d31", + "addons/core/Sounds/ERR/Speech/soldier_1105.acp": "62c5d3d230a8a15cf2a4de193620ccdf83ca9973b550ace4e8edf7cc49f52851", + "addons/core/Sounds/ERR/Speech/soldier_1105.acp.meta": "6774063562b9c83975bc394dd3c72aa2a0d8001d0990ab8ff870ae2876889f93", + "addons/core/Sounds/ERR/Speech/soldier_1105.wav": "20e9e82d9897b598497da4722432f83ae03a5e6bf9a1f7a77caab712e3fc3130", + "addons/core/Sounds/ERR/Speech/soldier_1105.wav.meta": "6f21652352edbd59d1244ce9c2dcd1ad4ab65f022222381d9709c28148121c42", + "addons/core/Sounds/ERR/Speech/soldier_1200.acp": "c27db60629a41145697e041224cc2dde21c72d6a883fa305c71ec9c5b86bd84e", + "addons/core/Sounds/ERR/Speech/soldier_1200.acp.meta": "ea228ec869a7a0266f5604266f68c4166abc6cfeaa29180cb3b4351464b71079", + "addons/core/Sounds/ERR/Speech/soldier_1200.wav": "5a1561e821ef33a574c1f9ef95ccf76e69b832bf0a20bcbbf914760345921859", + "addons/core/Sounds/ERR/Speech/soldier_1200.wav.meta": "ccf3b62fd2eea460d576fa68863a901eb0025f47b1b76729a4289162d0dfa0c8", + "addons/core/Sounds/ERR/Speech/soldier_1201.acp": "45f220c5b6bac64db61eebcf54bb52da572f9f8f1ea0872c5af9fd3238c25a4e", + "addons/core/Sounds/ERR/Speech/soldier_1201.acp.meta": "3be417d66b05e11e0b520af136dfc45c86c17d5e35b56a611efbcf38e0d35003", + "addons/core/Sounds/ERR/Speech/soldier_1201.wav": "f058f0482cfe4034fdf37d9b596f7ba8172fae1c57aeb387ce153f8041895e45", + "addons/core/Sounds/ERR/Speech/soldier_1201.wav.meta": "abaebe719eff7e009eb4d0222060280877451126c02154706df6d13e4c5d3e11", + "addons/core/Sounds/ERR/Speech/soldier_1202.acp": "c08625886d8c6dc405cf96c640c9dafd4510ba5cef2c22b037c8c7b3eb5bea39", + "addons/core/Sounds/ERR/Speech/soldier_1202.acp.meta": "cf345e968edad1b825dd33b87267b63f770c169250f8c51195bffc3161d396bd", + "addons/core/Sounds/ERR/Speech/soldier_1202.wav": "c875f4e798ff5e24c3eb3b48bdfa1b8af03de9326a19c671eca86660297ad737", + "addons/core/Sounds/ERR/Speech/soldier_1202.wav.meta": "dd2d6411abe914bce71c6688a1647c2699303ca248191ec01c6325b366e5d7fb", + "addons/core/Sounds/ERR/Speech/soldier_1203.acp": "f0237a51ffe0e7d463154d321117a9b19c6914f6ee680ebf07a0ff9ab51fc340", + "addons/core/Sounds/ERR/Speech/soldier_1203.acp.meta": "0e93332191ac74be950ce8139b96ed6fdfe3ddbe68de8949826dc801d12c97f2", + "addons/core/Sounds/ERR/Speech/soldier_1203.wav": "6e7857dc96dfb556f011ba89f2f4ea659cfd7b605b88790c69e754d5cc51398a", + "addons/core/Sounds/ERR/Speech/soldier_1203.wav.meta": "0f564169dc05a95f7b01f64f72bdabf6de9ed3f37a2f44b4751f89b38eb18cd8", + "addons/core/Sounds/ERR/Speech/soldier_1204.acp": "94dbf98b5e05f1ebf6960495032c46203caaa4440dfb1ffd3beda2679fe6bec5", + "addons/core/Sounds/ERR/Speech/soldier_1204.acp.meta": "7cc8c61f4bb210c0576fac350d170f8f54a6e55531db6102c1a0fa7cb7a8a809", + "addons/core/Sounds/ERR/Speech/soldier_1204.wav": "bd170ca015b017114e42078dcc5c49d5626aef17d22e4a12b8282e9ee4908ae6", + "addons/core/Sounds/ERR/Speech/soldier_1204.wav.meta": "1c6ddb11c22a14d9d498074e2fb2864783f91afc552c4cd671452fa8df483de0", + "addons/core/Sounds/ERR/Speech/soldier_1205.acp": "47180a3445a265335d682eac6fa51fedca51d76f329adc39b1802092b311118b", + "addons/core/Sounds/ERR/Speech/soldier_1205.acp.meta": "c34346f4b10149b426ebb4e94db8c29883c9d0e36f2b42d07d41570eb8932554", + "addons/core/Sounds/ERR/Speech/soldier_1205.wav": "769c457805376e9c0172ddb525ead5f1d8774e15bd1f3f3b218a19f9d77b6883", + "addons/core/Sounds/ERR/Speech/soldier_1205.wav.meta": "31a2a7314b44afb3f0031376b2ad6df22649e8089bf1a3bbeb64cdc41156cff7", + "addons/core/Sounds/ERR/Speech/soldier_clear.acp": "f33f03f3d24182a95db7d02058f2dd6ae52098e3b5142a33ede833ee881d54ed", + "addons/core/Sounds/ERR/Speech/soldier_clear.acp.meta": "7d3643c9de2d81ab0f1b4898e781341c1962bd8505c20882233ef7c40159b23b", + "addons/core/Sounds/ERR/Speech/soldier_clear.wav": "d6527b8136aa720b721463210420f47de0dbc45acc4e4c390b6a44968c5f0acd", + "addons/core/Sounds/ERR/Speech/soldier_clear.wav.meta": "d9f9a921a85fe275c6cce649421a19946ff6aec49559796725c3858d9fe9b261", + "addons/core/Sounds/ERR/Speech/soldier_covering.acp": "7d4109edbd6c20f9e2af0b394fa12e8b3b40fc18bf2b5ac118beebb1fa4a79b1", + "addons/core/Sounds/ERR/Speech/soldier_covering.acp.meta": "320908bf7decea55b8d8b4a89b30e84e7d96a033d4a9cd1bd84912dce013f0d8", + "addons/core/Sounds/ERR/Speech/soldier_covering.wav": "f51e0086eaf0eece8b4061711088a413a2dbeae263deab7ea30fb1852dafda69", + "addons/core/Sounds/ERR/Speech/soldier_covering.wav.meta": "7bdf2d2c5f9cf741bae523e1ab0b9acc99b38ccd1228ebfbcba92f2b9a5cba9d", + "addons/core/Sounds/ERR/Speech/soldier_engaging.acp": "9f052e87edaf182030edb656821621cdeabbf13d65bc181308357530c9d93a74", + "addons/core/Sounds/ERR/Speech/soldier_engaging.acp.meta": "9e487fa3746c46b2993f1dfd1f0513f375571728704533674bee62586e25b72b", + "addons/core/Sounds/ERR/Speech/soldier_engaging.wav": "ac0f2d7d698732e3d7c270186e7aa2ab7e6bd4c908f36b07fb6f66a3cbe75ccf", + "addons/core/Sounds/ERR/Speech/soldier_engaging.wav.meta": "d571b9ebce196cc209078a83e4bde8f6a5f4b6d28c2945e2b47953ccb6889e97", + "addons/core/Sounds/ERR/Speech/soldier_moving.acp": "05503ca7af13a7ad03ed2a3aa562cc58504fdfff3148477f8d81b5a01abdf37c", + "addons/core/Sounds/ERR/Speech/soldier_moving.acp.meta": "a2474c87e4e1587226919dfdbd03739d938803d34f4a4f441889b0d8015513bd", + "addons/core/Sounds/ERR/Speech/soldier_moving.wav": "a61dda64e6fc2a11eac3e6008ee14b89f360bd67e258dce1191a71d9e2e26fad", + "addons/core/Sounds/ERR/Speech/soldier_moving.wav.meta": "bd87cd72ccb819584f9da09fb0d6973ffd6eb0bb5572c562978500e2af467217", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.acp": "c821c61afb2ddc12d3ecdb552a66d2a9ff89a5258a567ff2a99fed4f45a33520", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.acp.meta": "65a27b81a5b437163befd4dc566785a9dda4def1798495ca53c8f768a5d7a73f", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.wav": "ffe6ef5fdf30411749e0cb73186e3005b1ce6a52fcb7c836caeb1bca422ed3ed", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.wav.meta": "25b5680fd2a313c18e15ce6e0d3f709d78352b93206c22c7881be19b81faddd5", + "addons/core/Sounds/ERR/Speech/soldier_reloading.acp": "51c5cb464bab6637cf9e3b1880a010e05774d76a92298daf40b1d84970845be7", + "addons/core/Sounds/ERR/Speech/soldier_reloading.acp.meta": "ca351e809b1ba7c69b066d2c1d0a5d2afdcaa833c1163e6d13a0396437e98cf6", + "addons/core/Sounds/ERR/Speech/soldier_reloading.wav": "15b2749f79bc73fd0784bcd6e6076e1bc50da835e0c434cd43bd185d0735c732", + "addons/core/Sounds/ERR/Speech/soldier_reloading.wav.meta": "161c9ebee1d0496c7aa9501d00eba646094bf1ce89cda4efde6e3a0229a49e4f", + "addons/core/Sounds/ERR/Speech/soldier_target_down.acp": "77acc89c4ef0b912b969a2e5f6c41e071e04d10cfe89666fbc1296878dab62bf", + "addons/core/Sounds/ERR/Speech/soldier_target_down.acp.meta": "fe456d354ace93b0f2261de483e86ccc92991011b1738c5703d6d7bc0daa49a6", + "addons/core/Sounds/ERR/Speech/soldier_target_down.wav": "e2e60e8b83a24a548c90b84c5e1137adb7e792cf1d4ba6232ddfb1012fa78892", + "addons/core/Sounds/ERR/Speech/soldier_target_down.wav.meta": "064588b86589ac9437fbccafedeefae04bec3331dd8a229d1c6d27b5e524a9e9", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.acp": "5ffd3ff57550296274e9e93fb64efdf2fb06a51161d6deb221c1f3eb408d1459", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.acp.meta": "366a3c9e20f27c0f73bdff5827576df8924e99241061f933e72bd342e5bc7119", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.wav": "bbcf454d48adea47478d410b1baf14df3a5d018237272e70ae33ee62823f822f", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.wav.meta": "d1ac64242280521a7e40de51ae32a007878d7801401020e7a074a48e0f8ce62e", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.acp": "5af1c949d4662c2f33320165d2efdbd69cb183af1101aa246fe538bf0d91a33e", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.acp.meta": "aa7799e8a790539166a1d3a9c691416e7b2f6589d1674f5cf4b3e47523f15259", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.wav": "e4bd5e69fda289593fc6e6b8c2fae9a271a10d0a9bae877f18ba02dbbf75d1fc", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.wav.meta": "25a988c31e4fc3ae6540920df3d4548307a4a1e3b96b1303e9b7bdb4ac5eea27", + "addons/core/Sounds/ERR/Speech/welcome.acp": "f8a7b6cdd08b57b4b227a2d5b480a6c76857d7fc8ace3434478aec01c0de5a83", + "addons/core/Sounds/ERR/Speech/welcome.acp.meta": "d3ac98b02c0725d347b30d0ac7586cb22904d46b65a145e4a1131222484a6929", + "addons/core/Sounds/ERR/Speech/welcome.wav": "01de068469bd6746dba7634fb6b5b85b150621d3359c17fd01bcb916b34b1720", + "addons/core/Sounds/ERR/Speech/welcome.wav.meta": "bf33edad44bbb04df852501154f08a9a9900ce503248abc698127a51e9eec934", + "addons/core/UI/Textures/ERR/SiteMarkers.edds": "611ec6c68c2456c2af017c47135134d73122461017b315f64ed7ca9891f20c21", + "addons/core/UI/Textures/ERR/SiteMarkers.edds.meta": "90f40b38e52a79951b72da2960e30887d5ee8bbcefbada0c0ac950c1bfcf847f", + "addons/core/UI/Textures/ERR/SiteMarkers.imageset": "3f947d03b3492ada541032539cdb3f34a03d68ae83c0ef8796dc7fd091b5911d", + "addons/core/UI/Textures/ERR/SiteMarkers.imageset.meta": "1dc5285abd0062af288fb40b2f22b5b7c3925cf7270a096862335db250ac1453", + "addons/core/UI/Textures/ERR/SiteMarkers.png": "76b472982234bd27050a9430e6a53f4c14fa38f7388db3706ebef506eab4e660", + "addons/core/UI/layouts/ERR/AdminMenu.layout": "9a2c9d6e2526d9318b4587bb69741f828f7f0f26607e5ef3791455fff6a701e3", + "addons/core/UI/layouts/ERR/AdminMenu.layout.meta": "9deeece996f43b1f1fed6b5ec89279645c7b6424250200a42580cc088142e9bf", + "addons/core/UI/layouts/ERR/AdminValue.layout": "cd811af6d2fb187f01c74e20ea07ad85669546b0ad70efae2ce52921ce26cbca", + "addons/core/UI/layouts/ERR/AdminValue.layout.meta": "56b3d2335db400c1308e07c4a35d278b23ef32013dfd6dc82951866327428d08", + "addons/core/UI/layouts/ERR/ContentRow.layout": "7bf19d12b1b5e2c165f8671e92ae9227b54b4d1e551de94fa67bd54d3a66fddb", + "addons/core/UI/layouts/ERR/ContentRow.layout.meta": "8c4bc13b41e7aee38e0ca640a97813ed1a6964a00e2cff9e1fe4ebd71fc2fdc6", + "addons/core/UI/layouts/ERR/ItemRow.layout": "3c7ae3acdf2fad0ba661a1152ea319392668d774adc09a2a8b61e9a0319db312", + "addons/core/UI/layouts/ERR/ItemRow.layout.meta": "33eaef9c403ea3a030e58ec17f78e46af457048243571ad5856fff04101fb60b", + "addons/core/UI/layouts/ERR/ItemWeightRow.layout": "dfa6b87420efc683cb278178553350daa7753004d64672741a3dc13b4316810d", + "addons/core/UI/layouts/ERR/ItemWeightRow.layout.meta": "eb4b28587abdf6100092fd6eee1695663fa6e1548d5e53017173c4a5f7320240", + "addons/core/UI/layouts/ERR/PauseModsButton.layout": "d21d436291e2c1b262e33dc228b0d60a1d188dc9e85cfda6d2373f8281431b79", + "addons/core/UI/layouts/ERR/PauseModsButton.layout.meta": "9ed6adabd8f53eb9a562d7186789876bba5c4202155ca894c1af866ca47354f3", + "addons/core/UI/layouts/ERR/PreparationFailure.layout": "b7c4a2e6aa2be0992b478bb4f969f80355753573fffbc15be44670f3b136ea2e", + "addons/core/UI/layouts/ERR/PreparationFailure.layout.meta": "17ca2c9a12f691680883cec368ff06f511c996e5da5c25498f5f0955887867b0", + "addons/core/UI/layouts/ERR/PreparationStatus.layout": "ec3369f4030e593d34043e70a311b0963606cf024cb452648671556f25f5b52a", + "addons/core/UI/layouts/ERR/PreparationStatus.layout.meta": "75b12176a443bb911fc4ad446982d762201fda42ed38736b79bc5439fca31ccc", + "addons/core/UI/layouts/ERR/RoundResults.layout": "8550ebc009024f619827a43fd766aff8b7fbf8bc87ef7593db0fd7f4d778c615", + "addons/core/UI/layouts/ERR/RoundResults.layout.meta": "7509e050b3910ee5730dd25c60aacf405110e943f4ab46e3fc2186b3b15a3cf9", + "addons/core/UI/layouts/ERRMap/ObjectiveMapElement.layout": "82d9ae77f076f945583791dfa0b01f1c925e6ff8aaebcf382fd56089fe61a115", + "addons/core/UI/layouts/ERRMap/ObjectiveMapElement.layout.meta": "8691fe2eaf46568bca4a9f8128b247a8da810bb87a5546aa7ca3334e740270d6", + "addons/core/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "aef5d565301046ae902033ec4eb4799ff1bdd9a37bc507898781d8790f04fc2a", + "addons/core/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "6bcb7fbb27b6282719dae8a37486e518d4cbaea385f2ea9af1918b36bb28b175" + }, + "project_difference": "Disposable project adds Rally DLC dependency for native verification", + "fixture_only_files": [ + "addons/core/Prefabs/Vehicles/ERR_RoleTestCar.et", + "addons/core/Prefabs/Vehicles/ERR_RoleTestCar.et.meta", + "addons/core/Prefabs/Vehicles/ERR_RoleTestEscort.et", + "addons/core/Prefabs/Vehicles/ERR_RoleTestEscort.et.meta", + "addons/core/Prefabs/Vehicles/ERR_RoleTestTruck.et", + "addons/core/Prefabs/Vehicles/ERR_RoleTestTruck.et.meta", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZZZContentReviewProbe.c" + ] +} diff --git a/docs/evidence/workshop-0.0.144-2026-11-06/README.md b/docs/evidence/workshop-0.0.144-2026-11-06/README.md new file mode 100644 index 00000000..e79611d4 --- /dev/null +++ b/docs/evidence/workshop-0.0.144-2026-11-06/README.md @@ -0,0 +1,10 @@ +# Workshop 0.0.144 — 6 November 2026 + +User-published release: Workbench confirmed successful upload and backend processing. +The bundle manifest identifies Escape 2528466DE220D91C version 0.0.144. +All current mission script bytes match the published bundle; both retired RHS +script overrides are absent. Archive digest and individual script hashes are +in verification.json; selected success lines are in upload.log. + +The published-version helper was run after verifying this result. +This records publication and bundle contents, not new multiplayer qualification. diff --git a/docs/evidence/workshop-0.0.144-2026-11-06/upload.log b/docs/evidence/workshop-0.0.144-2026-11-06/upload.log new file mode 100644 index 00000000..70a5a811 --- /dev/null +++ b/docs/evidence/workshop-0.0.144-2026-11-06/upload.log @@ -0,0 +1,5 @@ +22:04:06.414 DEFAULT : Bundle successfully saved into: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Publishing/2528466DE220D91C +22:04:07.848 DEFAULT : Publishing project to Workshop... +22:04:15.756 DEFAULT : Uploading finished +22:04:15.756 DEFAULT : Project uploaded successfully +22:04:21.760 DEFAULT : Addon processing successful diff --git a/docs/evidence/workshop-0.0.144-2026-11-06/verification.json b/docs/evidence/workshop-0.0.144-2026-11-06/verification.json new file mode 100644 index 00000000..88fa25c0 --- /dev/null +++ b/docs/evidence/workshop-0.0.144-2026-11-06/verification.json @@ -0,0 +1,412 @@ +{ + "addon_id": "2528466DE220D91C", + "version": "0.0.144", + "archive_sha256": "c1f6b66db29424a40410b1524cc46af0b1a6002c45041dfe3ecc1197cfb3dd9c", + "archive_bytes": 8346623, + "current_script_count": 398, + "current_script_hashes_match_uploaded_bundle": true, + "retired_overrides_absent": [ + "scripts/game/editor/components/editableentity/rhs_cas_editableentitycomponent.c", + "scripts/game/vehicle/rhs_destructiontirecomponent.c" + ], + "scripts": { + "scripts/gamelib/err/00_core/err_diagnosticnosplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5", + "scripts/workbenchgame/err/00_core/err_validatebaseworldplugin.c": "49a38c37b51e5318c7dcbcb01543dd9a6300d053f0d39808b3974f4edc45b871", + "scripts/workbenchgame/err/00_core/err_buildatlasmodel.c": "f6cb5e6f5afc9bb60a8a46d96b52c7506882faf0a880e0b20a01a2603b336d2c", + "scripts/workbenchgame/err/40_chat/err_validateworldplugin.c": "d1f3fc372d0d16062a5983f2a6cffb6e72f202cb93fea5b33b4d77e0c852ecc7", + "scripts/game/err/00_core/err_actors.c": "7258b838f8365e4fa575c4f2ccc8532e22a33946405ebb490120534d5ca65607", + "scripts/game/err/00_core/err_location.c": "6323facd2d5b32382b466a2aa0140064632a8c1de0597e0738cb09a3fcfd7abb", + "scripts/game/err/00_core/err_factioncatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "scripts/game/err/00_core/err_spawnlogic.c": "6d9243f66b4ca8c53d53fedff9dea8986c815e90c1f97de58200cd759aa8b49f", + "scripts/game/err/00_core/err_actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6", + "scripts/game/err/00_core/err_supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "scripts/game/err/00_core/err_playerroster.c": "dc785a8a1d78a285fe55ce76f87b78a9f522eeb9f7d9655dfe9b5c4348a26a18", + "scripts/game/err/00_core/err_objectives.c": "b9cd5bb3b193c20401175c4328405be1b121e8a60b7b5999910b6a71f834af8a", + "scripts/game/err/00_core/err_sitedefinition.c": "d421d70b32bd2b55cd8e4966c04af3d5bc381ac811d3b4b2efa4bc0a8af8bd2c", + "scripts/game/err/00_core/err_documentcomponent.c": "885c8ab4fc9e64c3f8b40056536096c8c32b011cb340b25ca00353a96da15c69", + "scripts/game/err/00_core/err_nativedefinitionprobe.c": "904d8d4c3e7b91d49dadfe495fc7b4f02f300e4aaf7efa348df5ca17ec4a6e8a", + "scripts/game/err/00_core/err_resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee", + "scripts/game/err/00_core/err_playeradmincommands.c": "eca9baa3b07da48a740851583540840f8bf5f65f7be854902a3778f76967faad", + "scripts/game/err/00_core/err_nativesitesurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "scripts/game/err/00_core/err_extractionservice.c": "c48e79a117990f83839704ae221af05fc7995b956af2d4b4f9ed2a6b91ec335a", + "scripts/game/err/00_core/err_nativeextractionprobe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "scripts/game/err/00_core/err_playerescaperesult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "scripts/game/err/00_core/err_nativeresultprobe.c": "c9a89cae067f221b9f33965b4d3ab311b78ba79ea383ca65032c4001df44b472", + "scripts/game/err/00_core/err_timeservice.c": "63867760876d523a1794f619118a52c5cd387d5d92756cd286b2c16a348a6c7b", + "scripts/game/err/00_core/err_nativetimeprobe.c": "4a2c6ffd947334a0a71eac083d10c853c524b00042e9ea0987497c4cee60c3d5", + "scripts/game/err/00_core/err_nativeobjectiveprobe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b", + "scripts/game/err/00_core/err_objectivedetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf", + "scripts/game/err/00_core/err_radiodefenceservice.c": "f5f0bf1352141f933d0edb5630e30541e001dc07e1d2c8529b29cc159c126b13", + "scripts/game/err/00_core/err_nativeradiodefenceprobe.c": "ff1e27a0ce75b123a86e7df31354831880ca62ea90b6c5d7c60d3ba168e1fff0", + "scripts/game/err/00_core/err_nativestationteardowndiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c", + "scripts/game/err/00_core/err_nativetransportsurvey.c": "e5abdb69c0675a20f4287afb24b9e3c877e91b162c77c32d81ef61e2a8b72577", + "scripts/game/err/00_core/err_spawnplacement.c": "fc5b61f1877aeaee75fbfd6aed3cd0b4c5277ae8543bc38a0c09836353d54b27", + "scripts/game/err/00_core/err_nativelifecycleprobe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115", + "scripts/game/err/00_core/err_recoveryservice.c": "182037828b74938746022ebe03bbd9cf849d52e31067c0b33f392f03969d6162", + "scripts/game/err/00_core/err_nativerecoveryprobe.c": "d6691f22432b3ce37d07d448aeb3ce7feb5cd09e852e0167b5e4676afd24bb21", + "scripts/game/err/00_core/err_nativeprisonerprobe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86", + "scripts/game/err/00_core/err_nativemedicalprobe.c": "4b73e7cf35e9c8fddb089678a320ea58272e1b6611318d0a762754c171eff785", + "scripts/game/err/00_core/err_nativecasualtyloadprobe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b", + "scripts/game/err/00_core/err_nativeadminsettingsprobe.c": "73e58561e08e50008d33f81eed606dd4e8109fb69a627e892d28ca468d641f7d", + "scripts/game/err/00_core/err_environmentservice.c": "c0fae5bf51ccf507bc84d44adc2d1dff021cd83653c0468b7645a4f343e3fc8d", + "scripts/game/err/00_core/err_nativeenvironmentprobe.c": "9e2e66ac5d9778a1c65445348e3300cbb90b68b3f669f3ddf1d2b78a858430eb", + "scripts/game/err/00_core/err_nativefactioncatalogprobe.c": "e3011fa47b67122d7b2c23af8f91b7a217599d6cc114c4f9de628744b9c948d3", + "scripts/game/err/00_core/err_nativepatrolprobe.c": "5a2af71cc4cfccc7dd7c23584398a38290eba1a8894cd46f6967252ff3a7087c", + "scripts/game/err/00_core/err_nativeenvironmentrestartprobe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507", + "scripts/game/err/00_core/err_inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6", + "scripts/game/err/00_core/err_nativeobjectivelossprobe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48", + "scripts/game/err/00_core/err_sitediscoveryrules.c": "dcbce3b7aee89bfc47a50e9de89209758af1f1bb462b99af67a8ad7a26e9f229", + "scripts/game/err/00_core/err_initialguardrules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558", + "scripts/game/err/00_core/err_casualtyloadingservice.c": "6efcfb4bb1bdf0da84400eef28a24f6c61e7f446073af2c9667b6f26f0bc47b5", + "scripts/game/err/00_core/err_casualtyloadingowner.c": "3f430930c2598951b75cba157a57967189686ca7a86aff8ecedd20f181262bbb", + "scripts/game/err/00_core/err_casualtyloadinggamemode.c": "1e670937736330716a467157d0f45bace512047d7e87d8678f4ae0ee123969c3", + "scripts/game/err/00_core/err_loadcasualtyaction.c": "1521af55a34110ce1c971b5226a618a9c6d931622abaae4946d9c0d27c05a273", + "scripts/game/err/00_core/err_nativecasualtyserviceprobe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea", + "scripts/game/err/00_core/err_nativeguardcancelprobe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514", + "scripts/game/err/00_core/err_casualtygroundsupport.c": "8010394e7731d3bc2ce436cf795a37819e16d4d605e8d152027cf391e811d37c", + "scripts/game/err/00_core/err_nativecasualtygroundprobe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3", + "scripts/game/err/00_core/err_radiofeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db", + "scripts/game/err/00_core/err_extractionplacement.c": "6d388fe21f08b25cbdb5dfa4e198d94a4c80c5092f8d17630a4654e18bf8b3f5", + "scripts/game/err/00_core/err_nativecasualtyremoveprobe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36", + "scripts/game/err/00_core/err_ordinaryscenariolaunch.c": "8d8da4c1222dcc6adfee350490f4399b4129cfce7a42b45fd7fba52febfd3eda", + "scripts/game/err/00_core/err_localadmission.c": "a076922d1ae966cf5cc67b198166ca6b1288358fb7f641207a4681e6a610a2ae", + "scripts/game/err/00_core/err_nativelocaladmissionprobe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09", + "scripts/game/err/00_core/err_nativepoweredflightprobe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f", + "scripts/game/err/00_core/err_nativediscoverymapprobe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f", + "scripts/game/err/00_core/err_nativeprisonbreachprobe.c": "4889e0d3799a6a21b9f84bcb2f2ae78dce16269cccd1329f8d1fcc1a23e7c22c", + "scripts/game/err/00_core/err_itemstationteardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e", + "scripts/game/err/00_core/err_nativeitemstationteardownprobe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9", + "scripts/game/err/00_core/err_nativeflightfootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d", + "scripts/game/err/00_core/err_nativeflightinputdiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4", + "scripts/game/err/00_core/err_nativeprogressionidentityprobe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560", + "scripts/game/err/00_core/err_nativeendprobe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f", + "scripts/game/err/00_core/err_preparationstatus.c": "c5cc9125986e2285282f3f7fa9068ca72f00d7e26465d00213e734039c0e34e4", + "scripts/game/err/00_core/err_nativepreparationstatusprobe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5", + "scripts/game/err/00_core/err_ordinaryinputobserver.c": "808a46cc1e4b31b65dbbbcdd55493f594ebb3974bbec38b4a2402334c653c0ef", + "scripts/game/err/00_core/err_inventorylayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8", + "scripts/game/err/00_core/err_ordinarylookobserver.c": "d5a1b636938d65e9d11c78b31487f2924400c34d98e2ec812954a2a224da7dc0", + "scripts/game/err/00_core/err_ordinarygateobserver.c": "1e376ca83c0005cf532539e14d7f47363c47b7c5b03fe3d55405a59208705fd7", + "scripts/game/err/00_core/err_casualtyloadingfeedback.c": "ac554a946cd14f73a5bf79005b8a3f770c9caaf0a6ea409134077b8d96f9433f", + "scripts/game/err/00_core/err_adminprovider.c": "62e05aceb49da07fed7aa89fb6b2f8eb3efc373ac09eff286fba983c3ad570eb", + "scripts/game/err/00_core/err_adminplayertools.c": "56780d78bf423f54f482d8620f821b8d3eb0199194482b4f12e37f5ec3f55ef5", + "scripts/game/err/00_core/err_adminsession.c": "27c88e9317ada33351042f0d1bdbd8e406fd798de34d1057544f1c6165a289b2", + "scripts/game/err/00_core/err_chatclient.c": "4bf937ff74e0483c17fa0103f73bfee3afd8f67a37c0c248b08772a17bfcc349", + "scripts/game/err/00_core/err_nativeadminmenuprobe.c": "2deded62be82adcf9866dacf8065f0c6a9a643bdd60a1c3e87990e1c70254c48", + "scripts/game/err/00_core/err_forceledger.c": "0ecaf1c5a52568e751678b0b1236e91e6adb538f8fbf010d38b61a312d1bf253", + "scripts/game/err/00_core/err_forcesimulation.c": "2bbb8888c752a3ffc042f3059937526d25ae288af5b4db024cc683025a2605ce", + "scripts/game/err/00_core/err_vehiclesecurityactions.c": "bd7d0aeb4abcc9d8044e4888f9a92f9e5fc97c098bdfa3bbad57e1a29697a779", + "scripts/game/err/00_core/err_vehiclesecuritycomponent.c": "2ffec4e646584ec546147fc4b08249825cb32b531aba26467b586d760485adc3", + "scripts/game/err/00_core/err_nativevehiclesecurityprobe.c": "59bce863142e4fba4b6fb2f544bb8a58061f0e99b1a38e5ac291cea919563763", + "scripts/game/err/00_core/err_nativetransportprobe.c": "7a3fe04aa1c5ed1061ff63d9d5180e8b925932b62d76c1ffb49bd3dc23530993", + "scripts/game/err/00_core/err_escapegameoverscreeninfo.c": "4746b0715c6e9a527038b47d54d2ff305becea219da6b736f6998d81901143c9", + "scripts/game/err/00_core/err_spawnclientscene.c": "b56f99a91cdc53bdb93d320d10839339022d7e61e6b101eee8296271abd7d3cb", + "scripts/game/err/00_core/err_spawnsceneinventory.c": "76b79d5bd9d1f367e1ed19724302b7d49f8b0ede85cf19e89c452582ef651f8f", + "scripts/game/err/00_core/err_spawnscenelease.c": "20de7f96bacc9037580d88d4424664b4554b2c082d82e7d29913e9dfe390b594", + "scripts/game/err/00_core/err_contentpolicy.c": "3a4987345d5a7159234a7e1a08bf5ac40dd5a23031e9b1953fc43a0501d9924b", + "scripts/game/err/00_core/err_contentmenu.c": "d9df3b2dd8fca119ecee466dc71d336b5a70ee7d5fced368cf34e250d22075de", + "scripts/game/err/00_core/err_contentdefinition.c": "bc1dd4ed27ec894cf4bd617fb226cb8140b544aaa9ef6d8654e815d81e7f6fd0", + "scripts/game/err/00_core/err_contentsettings.c": "3e2734dfb935a4e93d79b66ca4a7c883723a1fc348e3595432dbf2bfca643923", + "scripts/game/err/00_core/err_nativecontentprobe.c": "cb0ccfe1e1575f9ed80a8054058b471f3543378db059e6af2fed8eb42a262638", + "scripts/game/err/00_core/err_factionselection.c": "04b8bd8a042cf743ab8a87ec3711f9758e7b0112995a9d363e81a63df4eabe5e", + "scripts/game/err/00_core/err_factionmenu.c": "1deab4c396c307fc17dbaa8731b2943ffb73c37dc0121a5cba5c239c34901ba3", + "scripts/game/err/00_core/err_nativefactionselectionprobe.c": "946879d822e7be2d48e03a3140aa1aad3e3d44dd18507fa3cdedb4c6d7dd81b9", + "scripts/game/err/00_core/err_debugai.c": "bc5529c60591a6c36c39cdb753b1af948690fc3c3c725f38a8d595b41a499235", + "scripts/game/err/00_core/err_nativegeneratedsitesprobe.c": "a3202ee4658e98539122926755caf689a693a79642e8c88d3146c247dd961138", + "scripts/game/err/00_core/err_prisonpatrol.c": "284618391ee2da84dbcda4a99ca3c072eae3d67b8a9ef40a86827b9ea00810f9", + "scripts/game/err/00_core/err_debugintel.c": "a9f6e7e42a3214879a21052e897f9afc0653c12ff15d5bee7766e26a1af6ab17", + "scripts/game/err/00_core/err_nativeopeningtoolsprobe.c": "0c5d6b96ed5a7cb1cf0d098d534dc7190449ed09339062e6b584729d53a61b4c", + "scripts/game/err/00_core/err_airfieldplacement.c": "0601d8da570e1f63e43ea7df451d0e997872e4e163669fd8ad37bedd59de7b9b", + "scripts/game/err/00_core/err_nativeairfieldmarkersprobe.c": "980025c07d042c2f109e2c99ccee0316b596806ba2c4fcd9446b6ad7580d1d1f", + "scripts/game/err/00_core/err_nativeradiocampprobe.c": "67f1a088f9b20e5f0f11ed3aa083ffa772bffd7c74d85b7a307344ac3d47e09a", + "scripts/game/err/00_core/err_nativeaggressionprobe.c": "dcda8528a64d35e6aa2f030b59503a49ea8a85ffcc33beaecdf8da00c003b50e", + "scripts/game/err/00_core/err_nativeenemyloadoutprobe.c": "0885ca69f6fa7f53414ce1792cfc3c49916886b8173783c634135c13c5d37429", + "scripts/game/err/00_core/err_journaltext.c": "1ad00a77cb0be741c7b6ef5dad2d8a8c1ff1fcca3b093df2e132ead0b69f74e1", + "scripts/game/err/00_core/err_nativeradiointeractionprobe.c": "7b27552d233813894f65c08eb9f04b547c4ca9ff96a2370a763cb94bd4a555c3", + "scripts/game/err/00_core/err_sitesquads.c": "183883783a4e8399cf62851a4cc65a5d091d25131bc53b4323cf17286315b2e0", + "scripts/game/err/00_core/err_nativesitegarrisonsprobe.c": "1a5ff8747d7501862085b5e9162043fee3b05e82c73c516ad8093aaada53dc60", + "scripts/game/err/00_core/err_unconsciousweapon.c": "24d31bc857486638e55c605283c17cde0cdbd3c5c6021eac1ec93611387b10d1", + "scripts/game/err/00_core/err_epinephrine.c": "14a75e040f510773313c7e70b57f338821bc1ded650bc65133968dcad6e49c7c", + "scripts/game/err/00_core/err_nativemedicalcombatprobe.c": "59c5b04dd32370f8cf5c62fe6931d64209825522127a068b1957e9d1556274e1", + "scripts/game/err/00_core/err_nativeinfantrycombatprobe.c": "3e4c4382ab91f470357268927b954fd101685df6b2244df483f0422d6c0d7da2", + "scripts/game/err/00_core/err_nativeoptionalsiteprobe.c": "59d86432c19fd85da30a63087cf1f15375c8ee30178ed7e2765c1bda4cc4d035", + "scripts/game/err/00_core/err_viewdistance.c": "8514f72f8207f12570d2317e64094a45507a1647dfd45a1501499ef81e90189f", + "scripts/game/err/00_core/err_terrainsites.c": "4ac347d4d91951bcc7175a965ccea25f3782edb6e352354cce506d6b626e5ac0", + "scripts/game/err/00_core/err_spawnfinalization.c": "6ec741f8d19ee316d3c67b0dd2216698584bf2cde3634a3d6a7c3cdc3a3935b8", + "scripts/game/err/00_core/err_terraintakeoversettings.c": "da22775930b13e41d4a71409e37af3bb99e4cc1d94bdea0e3b59fbdcd4d40132", + "scripts/game/err/00_core/err_terraintakeover.c": "ac31af5ff2937f8a1fd89ac03732a8a473b27b09c83a07923f17986b0f9db841", + "scripts/game/err/00_core/err_terraintakeoverclient.c": "70f192d5d749b4211c5604575d2b9d7e39deca589b5841ffdd03f99baeca1280", + "scripts/game/err/00_core/err_terraintakeovermanagers.c": "ab1d64c8073e4daebf14f4ad2c745d874032675ebcac3fdb0fdae4626acb8dbf", + "scripts/game/err/00_core/err_playermedical.c": "270454d50235bc28df9bba4fde2689934578874c4eca9560afb9f0f6324d7215", + "scripts/game/err/00_core/err_siteservice.c": "2b283ad19b046fd6b33245d466b197bd05b4c472e128a747e6b1e725f4a34c2a", + "scripts/game/err/00_core/err_playerguide.c": "dc52f551a1d3705fceb64ea18d882009d9e9548c01f08ae1c7ef3083b19ab2d3", + "scripts/game/err/00_core/err_discoverymap.c": "8a8653b322c948c462002077272dae79e2f45a24e883767b3ad9c1f24caad237", + "scripts/game/err/00_core/err_objectivemappresentation.c": "70339c05c550b72a4fd5890a871c5d8e6a9e574813d61696194c5fbb1475ac8f", + "scripts/game/err/00_core/err_nativeobjectivemapprobe.c": "37e66177ee0f16fc33d3d18321211206bc4f095fccbd17b177d4b8cc1ba4e057", + "scripts/game/err/00_core/err_observer.c": "7c478eff3575eb1bd8a85c08955d4ca7f63b57969cd7b2b76dfd6c42136de1af", + "scripts/game/err/00_core/err_unconsciouscameraprobe.c": "cfc63058a20fad99e76c59b64d0d288cc3441fd3486ff63a6dde9998b4ab103d", + "scripts/game/err/00_core/err_terraintakeoverpresentation.c": "91d450215eb6ed2da74446b5fbb805356e3881e3cb43e37fe45308e30b22be9c", + "scripts/game/err/00_core/err_terraincatalog.c": "ba2e68543a8c929492d06f8725a743d26849a630d6f8c09be0f23894f92d0990", + "scripts/game/err/00_core/err_terrainpreference.c": "93fc55f2c33e95adbcf2bead3430aa14bdb55154315760bcc9647f89dc8286ff", + "scripts/game/err/00_core/err_terrainselection.c": "ee75cac068b99e7403f5eaabe556152513cf5d973602cc6e6b8967d25402f6ad", + "scripts/game/err/00_core/err_terrainmenu.c": "1da542ef60ff7c1897b1f12432c636ef6a08cc710bac520ef186589d506e9a54", + "scripts/game/err/00_core/err_serveritemcatalog.c": "047d8c4c36bfa32e1afed13f8199f01681ebd362c72d87da8868cb6959661973", + "scripts/game/err/00_core/err_serveritemsmenu.c": "b81283ec17fdd9f72096901f8bc2a3c87fb8fa4c8fd488579ba0817328b9dafd", + "scripts/game/err/00_core/err_itempreferences.c": "1319637add7f9fdb122ac130784c5426d90a32380d870df03efcce7f297c55e9", + "scripts/game/err/00_core/err_welcomevoice.c": "a6a9a816dee1c766675990c158a757cf9ea8628a7b2b0de991af67ff4cd23e47", + "scripts/game/err/00_core/err_profileconfig.c": "b5aca526a860ed9ed609dc3fad99ebb34d2f6fbd537575a167390472efd4ba89", + "scripts/game/err/00_core/err_selectionstyle.c": "b9ea5158e51559dc13812cdfa8939ac36b58c79b9e4115c72465d869fdf264a8", + "scripts/game/err/00_core/err_reaperrhscompat.c": "bcdf98c05ac6cdf0c7eaa854531b02e9ee4f53fbb346ae01d58114e572e7dd4f", + "scripts/game/err/00_core/err_gamemode.c": "d26e665cf5b9c0e1dc6c5e2da200a99711ef9272718d330f5aa66b09cede40d1", + "scripts/game/err/00_core/err_generatedsites.c": "4943f761d0274e163a1da325ac4f750de9180947b05b79ee173e12141bfd6661", + "scripts/game/err/00_core/err_missionrules.c": "17d1f48878b02a457eebbe5ff87c4267488d68d2a9b3121dda77a8bc8e69c8c6", + "scripts/game/err/00_core/err_prisonescapeservice.c": "ed180448cb516bc4ec521aedd366810a47787628c7f5ee9c9afdbd185d980751", + "scripts/game/err/00_core/err_scenariocomponent.c": "ca6b20d5c4599e31957e5cb464d21bb3a4bac517dd539711f9d4f380e48a0e15", + "scripts/game/err/00_core/err_startrules.c": "ab7c21ef700343cbe769d8d51d91f167db37285b466d6af9873e121b3adf4ade", + "scripts/game/err/00_core/err_startsetup.c": "58a6b617b22910d0ce9255f82091dc11cd1284417a66adf1cdaa7b661c1ed01c", + "scripts/game/err/00_core/err_settings.c": "fc5cbd7f52632228c071b9f14cce7979ef55298672e441f665f0efa97f083249", + "scripts/game/err/00_core/err_adminservice.c": "277df355d00458bf4a337b68feeb926ec4aa12c1546a604d039121a1bde7d995", + "scripts/game/err/00_core/err_adminmenu.c": "cac52cfb9f31ba42daed671e55bf5d55ea0840139deba5d13a0e156ec90559ff", + "scripts/game/err/00_core/err_objectivetext.c": "d2fd3670c89d679fcb1359ebccf67b58734fe5168e31fc239bdeffa7f8ff0607", + "scripts/game/err/00_core/err_crashsiteresources.c": "832aebf6e754dba54ba28b8f480180d32ced968a2d2f192424c4007a862c2b43", + "scripts/game/err/00_core/err_nativecontractsprobe.c": "60aa767d9455f2f4958a6a47bd68bbd8ab0466adc8f1dd9ae433c40ae96c68ff", + "scripts/game/err/00_core/err_prisonai.c": "67f8b444824634fc37fc253c60fd24b56d06d971f48e56a8d53095c97aaf0070", + "scripts/game/err/00_core/err_inventoryhitzonecompat.c": "23c34f901311dce63a79aafe83c11e2fc25bd3fddb0cde38bd313eb90878ca90", + "scripts/game/err/00_core/err_nativeinventoryhitzoneprobe.c": "604eacdc66cd52bc8a0115862ee7884a8b0f83bdb50609397de671eacd476543", + "scripts/game/err/00_core/err_nativebasesmoke.c": "f7697361c6a056a62aff86de7f7d69e9ccf47b92121dcb96ed012ad136e47e30", + "scripts/game/err/00_core/err_speechservice.c": "74ea305ac0c9a9d145646a5c73cba58e4920ab472943ae73b3dbd71d8216f752", + "scripts/game/err/00_core/err_speechmenu.c": "33f9ef80b4d6cdbf3646eab602d15ae0d05884bb20b3a7222b0648752339cda5", + "scripts/game/err/00_core/err_welcomeidentity.c": "8624bac67c1990f87b3fb799361e5facd31c2e03cb621563b9c73c4fe9d7f87b", + "scripts/game/err/00_core/err_playerreconnect.c": "478fd041e8a13132df25202088f42d0810d36680060dd7a0424d8f40a5b1ca44", + "scripts/game/err/00_core/err_observertargets.c": "1dfd50307b5d74075b90b5f2f70bae2c9488fc12df03d82eb19350a724f910f6", + "scripts/game/err/00_core/err_observerplayerview.c": "c287a1891451dce0836c6e859eb962c154aad9621a46e50400f44fb83f97d95e", + "scripts/game/err/00_core/err_nativeroadblocksprobe.c": "6f44725b049f2545a9ce3c94ae3e9134e16077fa017a438fe4f073b453292c1e", + "scripts/game/err/00_core/err_performance.c": "037ffa482e3765bb537629e34f10919d85d4b6bfb0abf56ccc7c0d44fce8872f", + "scripts/game/err/00_core/err_observerscope.c": "97d29535a0ca1571ceb86996f58b68e5ba0944edfe30370455c52a321772f85e", + "scripts/game/err/00_core/err_itemstationlifecycle.c": "0feee55cc5ddf13e00fe73ae3926ec2cadd5ba861d793a939164287ccbe1861d", + "scripts/game/err/00_core/err_serveritemsweightsmenu.c": "f0900e42100c9a58402cfdd48b7f27689144f53e03d3ae3dcd4bbebc13a5f61f", + "scripts/game/err/00_core/err_extractionradio.c": "ad7fd91d8bb96f05f3be04a03fd00c20ab9413adb12d649d3020c6f7994319e1", + "scripts/game/err/00_core/err_nativerescueprobe.c": "78f4dc11a179a5b924c0ec1939f0fc1e61d4e6f6647729c48a9f126ee32d1714", + "scripts/game/err/00_core/err_nativecoordinatedaiprobe.c": "9104a7a5154bf34906f135f00c5793229e343da6a1ed19dd572e3c1d9821d393", + "scripts/game/err/00_core/err_rescuelanding.c": "e6f63ee8860335de1125e0a62eae3b8406faf5a5ad2c8d9c6f9a6da077986e56", + "scripts/game/err/00_core/err_terraincontrollerinit.c": "8071e38812ac61f9b480d9e91f9ebc7712b360d431f5555da83027db6cdf2471", + "scripts/game/err/00_core/err_selfepinephrine.c": "da5850374b51e89016c4557d06f3c7c087b6e6e36fa9734b22c7c6c50d757914", + "scripts/game/err/00_core/err_zselfepinephrineprobe.c": "a13e14d1ef525209d4609a2532c6d72135377ce058298937b632a91eeb6392fe", + "scripts/game/err/00_core/err_startbackpack.c": "4a36799d3a3defd674822974cd96647c0accb2a854631dd5488c35e2ef697f7c", + "scripts/game/err/00_core/err_startbackpackmenu.c": "07c90db1a84893759dae71f40b7ae3109827646e48fade542190d21598ac271e", + "scripts/game/err/00_core/err_zstartbackpackprobe.c": "6778cd98392f4e73dfe974782e626d98472251c1266698020d63edf8fe735bcf", + "scripts/game/err/00_core/err_nativespeechdownloadprobe.c": "5377da12cabd58b9105851a2348d7496316db371bfc4346a5fb3f84f245ec013", + "scripts/game/err/00_core/err_bakedspeech.c": "d11fff16f86fd3447126701af84c3800860d721263b3c2c16d3b91d686d8b2fc", + "scripts/game/err/00_core/err_zbakedspeechprobe.c": "533c89b6a258dccb61d7ff6abe0a43da58d52ffae60735a38c2545fbb4480afb", + "scripts/game/err/00_core/err_nativesarkaprobe.c": "511816c4b86c9f1392bc4a1d83ad11e082280bec16356d8ab24ac1f2094bba93", + "scripts/game/err/00_core/err_adminmenufields.c": "55466b735c5c8f1041ac600338d55847372a71af48ba1ffbde8cce4286e55b19", + "scripts/game/err/00_core/err_menutheme.c": "90d9babfec7978b3d7f5baffedbbe5c1b54a9742f576f51e6232043e32d1cc9a", + "scripts/game/err/00_core/err_adminmenupages.c": "fc07549ba14900998223e8c1a95f57ddb0f365d0d687ac4907b0d97ffe1612b8", + "scripts/game/err/00_core/err_adminmenuview.c": "6c34557350659782bc1a098169dbbabf1f71502c35cdf711b83ce0efad907142", + "scripts/game/err/00_core/err_discoveryservice.c": "552d9e40f72a135f19d25a17fbecf475b8bba8d8b62ec6b6d055c65499a0b637", + "scripts/game/err/00_core/err_burybodyaction.c": "adbf4cee5b5f5317b185f17738205f28b701a15364e643cc9fb443866a121109", + "scripts/game/err/00_core/err_preparationfailuremenu.c": "5c31219740bbc26cb903a91f4fe22866c465b38220391093c72a3b094ca30f34", + "scripts/game/err/00_core/err_telemetry.c": "b1dc3ecab89f5e6db1ff4ba613b43755a5ae44f3612249288cd134ad850719f6", + "scripts/game/err/00_core/err_telemetrylifecycle.c": "15d2d90d4457339dacd61c1bb23b619243b8af10731687c35ecc300125a642f5", + "scripts/game/err/00_core/err_roundstatistics.c": "60e6839cc50fa02df1795a00b93fd431160f9201bdbb6f1e3b9b50271306e9fb", + "scripts/game/err/00_core/err_roundstatisticslifecycle.c": "b813a9ccea9a61c9c6d7d4806cf18adfb323d483622ca1225930207ca2436d12", + "scripts/game/err/00_core/err_telemetrycredentials.c": "9835caf69d4615d6a3fc840d9dc3cb0f507a0c5a2a6490893c21761f9cb4a216", + "scripts/game/err/00_core/err_communitystatistics.c": "84f2615fac1375bbe3738edd13a413ef1d524dea5ce0195b05b3a957aae84435", + "scripts/game/err/00_core/err_terrainsupportstations.c": "c4fe4265963ec88e24379c143edae251452c84e43a3102f5da120205f9a39c9d", + "scripts/game/err/00_core/err_passengerhandbrake.c": "3078487e077aaed1567894f6df12386aae440b790b6c134118d3afc2c4da156d", + "scripts/game/err/00_core/err_recoveryforecast.c": "0eda507fb58860c0eac1d957319d1e80e9576a870d22931c86081db748df44b6", + "scripts/game/err/00_core/err_telemetryservername.c": "7744762c4586e2543601fb0899847bed311c439cfda3dcaba825adf870628693", + "scripts/game/err/00_core/err_servervehiclecatalog.c": "bbc346188ed280d34b1b519ab7c96c6bc35df9ec3e4bfd03591cb9b8008f89f7", + "scripts/game/err/00_core/err_servervehiclesmenu.c": "d873cdd81b2350acac7068c4d59d5603437561e061a3b9ff2cde2356239da322", + "scripts/game/err/10_ai/err_aircraftcontrolbridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a", + "scripts/game/err/10_ai/err_aircraftfieldenvelope.c": "0f53c7d9ab167a804eb904d63725decebb53fd5796fdf27864a75abed5679838", + "scripts/game/err/10_ai/err_aircraftfieldflight.c": "c04e264cff9963821852094c451502d31bf9c96d4deae2e8ff8a2373b53b5665", + "scripts/game/err/10_ai/err_aircraftfieldrules.c": "30be68f4ca2db7e169f6f0432815821179cddf9159f7b150341dc8eb479bbd17", + "scripts/game/err/10_ai/err_aircraftflight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7", + "scripts/game/err/10_ai/err_aircraftflightenvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3", + "scripts/game/err/10_ai/err_aircraftrouteenvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511", + "scripts/game/err/10_ai/err_aircraftrouteflight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9", + "scripts/game/err/10_ai/err_aircraftservice.c": "3f05209227986b5c6bfb193f8f53783cfd4ef083bce898e22257c3e63daed913", + "scripts/game/err/10_ai/err_convoycombat.c": "5c4b7576b28d51edea868cbb91a0ab31a40e6ddb558f1b8a38e07e20fdb2969d", + "scripts/game/err/10_ai/err_convoyplacement.c": "af4799e3028448e1a73f944989313e5d10c6262521bd29a8cdd5236842717963", + "scripts/game/err/10_ai/err_convoyroadplan.c": "fae404f85cae63e63976938a5fdb73efc988ba25c5846564f12edca04fb88551", + "scripts/game/err/10_ai/err_convoystartup.c": "360228fd45aa6ecd9426e36120b5e637d2feee1e3a4a89aac8207526b871c87e", + "scripts/game/err/10_ai/err_enemygunnerskill.c": "adf8bac5a6f7e40b2f9caff5fe9be590c4e4ce2b2b387ba39e741a3c4f4cc564", + "scripts/game/err/10_ai/err_enemyoptics.c": "215e8a05594c541861b48e093520c00091708eb0f3635dcee5d0b5e1160230eb", + "scripts/game/err/10_ai/err_enemyradio.c": "3a97e5c3de9ff33873d97c6b2d84ae505cfc4f3146e047b928e76ec3b22c8789", + "scripts/game/err/10_ai/err_hqammoreporting.c": "95c024cbdd35c02d9b0c3d389d29bb042e5dda6ffd2f5f0d896078274b3adb35", + "scripts/game/err/10_ai/err_hqbodyobserver.c": "f59421c1e0c83f0f480d7dd4d048b4b0a41193ed8fe8f2f627d2b6a696420ea1", + "scripts/game/err/10_ai/err_hqdeliveredcasualties.c": "1f738127e55e843ee2705007cedb5c08741f52f63c75eca7c80242177af82273", + "scripts/game/err/10_ai/err_hqdoctrine.c": "6335728e89ed40ce11b811f00b61bfea76e94dd3379e4357cbfc438b05522bb0", + "scripts/game/err/10_ai/err_hqjournal.c": "53563ff54fc4e0656713d6eaec5e88ddf69fd4bfa8ef6a67cfa13380d24031e1", + "scripts/game/err/10_ai/err_hqlocalhandoff.c": "2dd700dae9d9b232d22ca63ff01af75a3f5cc213ac24b7c0a43ffa38bc0b9ffa", + "scripts/game/err/10_ai/err_hqmemory.c": "ec2047a477fb4273e22ae6bb68e7365f321f55c583b5d2c48c4abf2ac38e3b7d", + "scripts/game/err/10_ai/err_hqnetwork.c": "0b73be993628a55e3b21c8670d540e39c938093dd5cb4d586e800ac530509b25", + "scripts/game/err/10_ai/err_hqobservation.c": "57ad3f0b68d150791e30a7e4bd7dfedfb1ddd78a1c76f228e67b33ea9cb7144e", + "scripts/game/err/10_ai/err_hqpursuit.c": "280e91feecc4e5b6d0886fc4201b12117b58c56857d4386b6c4cb963557274bf", + "scripts/game/err/10_ai/err_hqreport.c": "4c0c1f0e33f621d1e02375cf4f56b0e8c4ba6fd851912d3d16081949bae46158", + "scripts/game/err/10_ai/err_hqroadintercept.c": "f87727aa1c722a180c7b71fa2d896601b6250978a21bd2d1e973501fee81373b", + "scripts/game/err/10_ai/err_hqwatch.c": "abe634cf6003ae920ec1ed18e305ed462920204960894520d3dd11f7e5ef1c33", + "scripts/game/err/10_ai/err_helicopteravailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "scripts/game/err/10_ai/err_infantryammoaccess.c": "ab4262f78d54782c5ecbf5fff4ebe3da16d72329658d7e18c0c35387dc8b3c7d", + "scripts/game/err/10_ai/err_mortaraimsolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649", + "scripts/game/err/10_ai/err_mortarbattery.c": "157024afc8fd3c1ffeea6ae923ff091e5773b9ffcf5f5864f8040d001e689110", + "scripts/game/err/10_ai/err_mortarcouriertransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7", + "scripts/game/err/10_ai/err_mortarfiring.c": "2606ed8c19d5569815dacd3248f012072bb76834f429ce7557d24d884724f733", + "scripts/game/err/10_ai/err_mortarlogistics.c": "b3624e4a00a2bdef16f6c100bbd79910e3bb8c2ae8ec5fe2ad5aa70bffecd303", + "scripts/game/err/10_ai/err_mortarprediction.c": "05863b2b4f9f70cdb288f91c722cbea163c13f2a2927dc485482e5bd4fa7d57f", + "scripts/game/err/10_ai/err_mortarreadiness.c": "4c3799b3f2681e977669de0cbfaeb307d9a682b04365bfc9f59079e762965758", + "scripts/game/err/10_ai/err_mortarrefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4", + "scripts/game/err/10_ai/err_mortarreportledger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae", + "scripts/game/err/10_ai/err_mortarsalvo.c": "c128850c7a78a4d8fee00ad38f48b265f1fbd1d9b24b092ddc5c205b0f0ad6da", + "scripts/game/err/10_ai/err_mortarsystem.c": "01bae0bab685e9f0c86c3a8939d18ce6f20dc0b8c1a389d179d91e93008c6957", + "scripts/game/err/10_ai/err_nativeaircraftcontrolprobe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205", + "scripts/game/err/10_ai/err_nativeaircraftfieldprobe.c": "b64907c7566a894ca2f3c49ede5d972d4087a938da1a0ca87bcbd7c2203b2c52", + "scripts/game/err/10_ai/err_nativeaircraftrouteprobe.c": "8d0dca97e5106d1c84b64992c789e1af0689514beefc027e713ca6ab901fc470", + "scripts/game/err/10_ai/err_nativemortarcourierprobe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f", + "scripts/game/err/10_ai/err_nativemortarfiringprobe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2", + "scripts/game/err/10_ai/err_nativemortarsalvoprobe.c": "fb9ccc6b36247ab3ad828ffbb2556abf5c2838d93ea6cd1ad259c0a015142f5e", + "scripts/game/err/10_ai/err_nativemortartransferprobe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c", + "scripts/game/err/10_ai/err_nativepatrolhqprobe.c": "9784b551cbb91f017004fb728ce08b5c36bead0ffc83aa7149c2c46a7c4dc495", + "scripts/game/err/10_ai/err_settlementsafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "scripts/game/err/10_ai/err_supportscenario.c": "151eb6189701e559bd4f1359c91187f5a64deab1f2bacbd521c4f4cf3de6d878", + "scripts/game/err/10_ai/err_mortarstation.c": "cbbd7c86f722b664c85ab7c070ae1131d2ce5c41d1dacb4381bff9c1720a1866", + "scripts/game/err/10_ai/err_nativemortarstationprobe.c": "a110f0abc753cb1d2f781e457e637dd5346ecd2e924eb5eb3a5c7dca3d1e2340", + "scripts/game/err/10_ai/err_scoutsystem.c": "63287a252e4e7d5aefce840279f26ce3e1f286cb79cadb32596c37897cec7119", + "scripts/game/err/10_ai/err_nativescoutprobe.c": "41b39b1abe5e51a5b8a428d533cccbfb0dda9d7a570228dc3489408c60543f17", + "scripts/game/err/10_ai/err_reconairports.c": "7551347d776d6e0eec818d6468cacbca7ac53daee7317e0a1618ca3d39ebc762", + "scripts/game/err/10_ai/err_airreconsystem.c": "f8a0e3cf4552d8133efd33c2126ea15a7694676773a7047c15e00021c1d9721e", + "scripts/game/err/10_ai/err_reconflightcomponent.c": "1386e2a2d2a635417ca517aa1d8ddd4f657dd415ff59be2465543cd8f601e7a9", + "scripts/game/err/10_ai/err_nativeairreconprobe.c": "c1216e0512a0268e4dbb82429e228334401c0c3cac52ba4486ae6dc91e41576d", + "scripts/game/err/10_ai/err_reconcrewlocks.c": "83b63c21574140208792aaf3d24e3d22b255a078871382122110bb48520d4541", + "scripts/game/err/10_ai/err_airsupportpolicy.c": "c1a7ac8759ca8ec8b43cbccf303255a2f0b69de447d0d991e44b6bd3db415d51", + "scripts/game/err/10_ai/err_airassaultsystem.c": "2eaf9816eee3e1cd2ac70744a6ef7ea5a90d0a3eebdf925e384028a7edde6a42", + "scripts/game/err/10_ai/err_airassaultload.c": "de7b6c485167ab68ab0b37b96fe161ee821c2efd41362172b810448a02110e68", + "scripts/game/err/10_ai/err_assaultparachute.c": "a93c996059e7166988e9d1b0b498cbfd36f19a1cf8520cb4e9215a8884752e18", + "scripts/game/err/10_ai/err_aircraftammo.c": "2be282406d0c45ab2e35b0ced791b5e494c662588f536701a4e82e6f5fb7c913", + "scripts/game/err/10_ai/err_airfieldsupport.c": "c6d88ede0b1b6bac5a7075b6e2e783ccfa8850210aabd28bfa4bcdb698cc5f87", + "scripts/game/err/10_ai/err_airammomission.c": "0a471a40c8f7dfb797d8d35e41c5b1ff91e8d2ab13b43cf866e46c0e4ab4ed9d", + "scripts/game/err/10_ai/err_bodyrecovery.c": "f5fc311ecac4533c2d053a686c51e71216e69130a34483f27146627172914c99", + "scripts/game/err/10_ai/err_nativeairassaultprobe.c": "c1d55b338b157b758e6ffb993d5f689029b28b13929797c91e5dcb15b5e561ea", + "scripts/game/err/10_ai/err_nativeairlogisticsprobe.c": "58fe863775d0ad575cb566c78cef696c9826691cf49ef9adde76376be7316db1", + "scripts/game/err/10_ai/err_objectivedefence.c": "83ef91c2118521aedb4c1838b2e47909c80e0950086449b98ced168f1fd87080", + "scripts/game/err/10_ai/err_enemyskillawareness.c": "00c450d033e43fc45c9e2cb64a1d81161d123cc594a4292cfc5f68eb6c17ee60", + "scripts/game/err/10_ai/err_hunteropeningplan.c": "7791513b8b41f4d2ba1b593b5219d7f6e2bf036e352f8e4eb1a8029fc97ab7c8", + "scripts/game/err/10_ai/err_huntercrewrecovery.c": "22e192ca222017d4d7a27210c6e42cf0f128827bca00b37924c9c8d6866b62a4", + "scripts/game/err/10_ai/err_towngarrisons.c": "9b48331ff8bf7e5a111b498c59a57a5d0210125af983424535286a4aeda9a18d", + "scripts/game/err/10_ai/err_nativetownprobe.c": "28876e65f9f8a7d96d8056f446b61e12e97d9bbf1a5ac0d4c40edee44e6c4a21", + "scripts/game/err/10_ai/err_hqlocalawareness.c": "124260280ac8eda0e920bfcfc86932c9b21df6b1f7a6aa8acfc43feea3da149f", + "scripts/game/err/10_ai/err_huntercombat.c": "df1c319d10efd07ed6f971cf0e41d8d7e377b04ea7f0fe143bf94df733fd1d9c", + "scripts/game/err/10_ai/err_enemymedicine.c": "68b65c98214e1a27383e155727901a4f70e9c065bb0cf133bdcf7fe6d5a57a40", + "scripts/game/err/10_ai/err_infantrycombat.c": "5d7a8e579edf95003133ddb6e509202dba56ac9e68385247e1ac0256c1b319ec", + "scripts/game/err/10_ai/err_supplyconvoycolumn.c": "bd898aabcac5724d60dbecc4ff5ab6f062c66cf7c735ff59127c588ff94f898e", + "scripts/game/err/10_ai/err_convoyboardingprogress.c": "328f8a5eabb8174b7727eee1d675db83a2eb0be7b8e834db4e950a645ca5d7a3", + "scripts/game/err/10_ai/err_enemymapmarking.c": "0f161fd3e08a54e3e1063679127549e482c40253a022e9d06cd9ee4d740b8625", + "scripts/game/err/10_ai/err_vehiclealarmperception.c": "45ac71d25e10a057a26a5b0fc7128935baaf47f4c0f87208a4420fa52086fd98", + "scripts/game/err/10_ai/err_convoybudget.c": "fc7e254056c1da4aadd26d4f56d51ee375d5d3331f5f7e5183581108c7474a10", + "scripts/game/err/10_ai/err_supplyconvoysystem.c": "f09aa817c27d6af0ccfb544f4ab1ae2afafb63d626641e03d87cfe159475d821", + "scripts/game/err/10_ai/err_mountedmagazineseed.c": "b42d0aac142907433df8bedc40de24c94813544016cf5f451846f1980250f995", + "scripts/game/err/10_ai/err_finitemagazinereservation.c": "8278590ced1936d618905b0cbd0b5aebddda238d426a6a2a52e455fc36bbb502", + "scripts/game/err/10_ai/err_mountedresupply.c": "c26ad43705765be1c20eca37fbe2978b8c647151f6620ed37141657a4b7dc312", + "scripts/game/err/10_ai/err_hqcoverage.c": "0ef1ed718797114d95c636c8fa5a9e46a5f2a7ccbe3f432049b0c7d37f1eebd0", + "scripts/game/err/10_ai/err_hqtask.c": "29359f52734cbf3400e12696057bbb7aa54466a018fc88c42015b6eb9bb9990c", + "scripts/game/err/10_ai/err_hqadminprovider.c": "8879febe59fd99584add06690b29853f7cf14b580bb15c9a955cf1a2ce033908", + "scripts/game/err/10_ai/err_mountedammopickup.c": "5f7ca5b31f3b405c2a6ca32ff91042f5b4dac6ab9640ce67fb10d7a74236ba69", + "scripts/game/err/10_ai/err_mountedammotransfer.c": "0b195784497672fdaf651f336c14f7be98c257f98c85cfbeb4f96fe1a401999b", + "scripts/game/err/10_ai/err_hqminesampler.c": "2a0fdc4d27e947a1d77b02ae23f757c7fa074eb456f817b7df0766583d757f55", + "scripts/game/err/10_ai/err_hqstatussampler.c": "b937eaed913a5095afa8e678dc1c36b5c805541bf8cd5be927069533d6baed1c", + "scripts/game/err/10_ai/err_convoyminestock.c": "4497d6b790a45df2b76d18541ddaf299b406def88b868caa29f096849026a42c", + "scripts/game/err/10_ai/err_supplyconvoyservice.c": "5393efab9d663382e67b9b27a388063986a4f99c2607328c998f007588074ca4", + "scripts/game/err/10_ai/err_infantrysupplypool.c": "c8e454573cf064ff392291d6feebf1f23be64390b5b8e944c03dd065f9f46b42", + "scripts/game/err/10_ai/err_automaticequipment.c": "8658421f846fcd3402289103762edaccbe3ca26280d7d72df2846c32ae8a4cdc", + "scripts/game/err/10_ai/err_enemyloadout.c": "a48f32dbd7f209bf08fce2840aaffc1781c571fc679763be58987f6b082e776c", + "scripts/game/err/10_ai/err_enemyequipment.c": "dfb6a7aeda23adb8aff2292753b694770affc9855bff9fb11d50bb534f9219eb", + "scripts/game/err/10_ai/err_infantryminetransfer.c": "02c399413f80879c22b4891e8ec807c67a6235677095fc4b98bafdc360d6944c", + "scripts/game/err/10_ai/err_grounddepotloading.c": "6abb278409527bb67db084138a773de240d99ba7f63f9ac740f8167615d53f1d", + "scripts/game/err/10_ai/err_grounddepothq.c": "c51fccd0ecdb0a1d6ba99ae965e2e572fc1ea65a5d8dc2e1e2a058698dae45c3", + "scripts/game/err/10_ai/err_grounddepottransfer.c": "21daa9ed8cb5f2dc08a0fa85e305fa4b4f3e7b01e16c71fd1ca98d66a4e8b652", + "scripts/game/err/10_ai/err_hqammosampler.c": "8bb0ec1422887feaa340307d3c60bae50fc82d424fce6390876e580ff8b75e8b", + "scripts/game/err/10_ai/err_infantryammotransfer.c": "99fa26beb0c0869d0cd694500f3bfc0705c2c1cf674dea90d98fb93a59570ef7", + "scripts/game/err/10_ai/err_infantryresupply.c": "ca8eee2704e7758172e33014404bb1307c683f19b561b840d4592f6312051e62", + "scripts/game/err/10_ai/err_hqmountedintercept.c": "5f45545c11de5e183969203cdf07e29089697ddc89752a9c5aea0fa2a1a33a97", + "scripts/game/err/10_ai/err_hqmounteddispatch.c": "12769b56019e9fa5b8141498a1c33814ba5262253193495e72f85972365961a7", + "scripts/game/err/10_ai/err_mortarsupplytransfer.c": "ad71084f507ad9c32d3055e7ec6844a1ec5ddf568c0216ab8391e902b56e417c", + "scripts/game/err/10_ai/err_supplyconvoytactics.c": "d2fe073b0c23c877afaa65e246544751eecabce4febd72412fc9a4ec18eb1c8c", + "scripts/game/err/10_ai/err_convoyservice.c": "5abc35861aebf2e4ad00de11f040d01f784c6f2184de2e10beaf46a74ec8758c", + "scripts/game/err/10_ai/err_hunterservice.c": "c938b8beb3f72ca1b2a76b48052dee70fe52651593dcdc16b7993a9398bc92e8", + "scripts/game/err/10_ai/err_engineerminesite.c": "d838f5693d4fa5d252d529e59777f560674c02532f1041a5598e938b3a850839", + "scripts/game/err/10_ai/err_engineermine.c": "067bed625a3f4d0fa189f46476988e90528c59b2351ec0ea71916317b06efabb", + "scripts/game/err/10_ai/err_engineermineposts.c": "bcddb72845189b52e5ed71c687d7dd4b0b40b91b7306c3f6edf84a631002fc5b", + "scripts/game/err/10_ai/err_interceptvehiclefootprint.c": "5dea67d14ebab67231c485e14bc92f34c005a5f1bf6d9c0943db28e9857e958a", + "scripts/game/err/10_ai/err_hqmountedammosampler.c": "97dfab7381385959b0906be13fa2575253ac43be91a271a5d41edaf4106366ac", + "scripts/game/err/10_ai/err_civiliantraffic.c": "b6509be9cc891ba4c1fc0f3fed8b09ebb31ca69bf2e5b28b50a6060706baed73", + "scripts/game/err/10_ai/err_huntertactics.c": "274ae619589b85cf64df1510631ab914aa9fe8c50fc2a76e6e8c5aa5a2c8d9ba", + "scripts/game/err/10_ai/err_attackspace.c": "e7be303231b5946d78c61480a5de3f5b37a63d0d2281a9a30a21e59f072904d0", + "scripts/game/err/10_ai/err_hunterclosecontact.c": "56f22051566354ccdc61531af4869b62458a30d945e4d21de5aadf7079d2245b", + "scripts/game/err/10_ai/err_soldierspeechaudio.c": "4734d614c5366ae3ff57717f514664c9dfdbe4408e16ba36f6b10d807361e313", + "scripts/game/err/10_ai/err_soldierspeech.c": "ca87494ecd355052b46b72e2faf13660e458f3d376285bb0e4c20fd0112ef2e2", + "scripts/game/err/10_ai/err_soldierspeechcontext.c": "d2baa94f036f7dde5cf24e004ad1fb9416f249cbf7d0c6c07c5898f7d21751be", + "scripts/game/err/10_ai/err_huntergunteam.c": "0e66d82964ef8eeba29de11d5bb2af954ad72a8090855ac4c1b28fe1e66c0d69", + "scripts/game/err/10_ai/err_hq.c": "9bd25f9fc7e574c515c7131e8b52eb357e295822e1ce2f401e6e86cfd6ce062f", + "scripts/game/err/10_ai/err_roadblocks.c": "879f78beeb284d1298ec49dbca9624c5f3899ffc6fcd376e748bf55e4347d4bf", + "scripts/game/err/10_ai/err_roadblockmining.c": "47d0212cd20c0b320a47123d17f2b89f7d60b44072a00c69944ada7bb83c4e5a", + "scripts/game/err/10_ai/err_knownmines.c": "045468a052e485a91da601adcb42b504bb6e4ff13b096bc0666128e50a6aa9c6", + "scripts/game/err/10_ai/err_cessnabridge.c": "f1adb0f9b92f6ed94a8e9897b64e2fccba0f28552525a93f1ab893faa4fc5da2", + "scripts/game/err/10_ai/err_planeflight.c": "14fa2328e1d31cf59fb89cbb53ba33224be6cfcdd2813525fa9585f8b2e237c7", + "scripts/game/err/10_ai/err_planerecon.c": "fe94c29fd9befd3c1bf3ab97b9b27458a8563697d4d46f72df43c6e642f3664e", + "scripts/game/err/10_ai/err_equipmentlog.c": "df9eec7f94e4bf1b30b9463604e9b97ba3cbff36028a80b81327b0b021cbb2a9", + "scripts/game/err/10_ai/err_mortarspotting.c": "39b3c223ade610ed9f1d73040423339ac65c90b153f30c6f5c42290978c57427", + "scripts/game/err/10_ai/err_optionalmotorbikes.c": "87cf6544983386d29058a6f892aadbf242a517cfff4ed24348f56a72bcde8cd1", + "scripts/game/err/10_ai/err_rescueflightcomponent.c": "60db8029bbfbbb362b5bce61f509740eabea5925b93bc975e7c2b44addcf03f3", + "scripts/game/err/10_ai/err_hqexecution.c": "d286b8273faec0acf87366bf53ad2517d5b7d909741e981cdf283cd1f4f50314", + "scripts/game/err/10_ai/err_hqhypotheses.c": "060796bbbed604f9733d23e131c9836702870c6e25c81cc0b396c885eb06ade2", + "scripts/game/err/10_ai/err_hqoperations.c": "b83b805c61c3960801d24ae54854ba7aa4dc914ea89e61db365b5ec99f305ae5", + "scripts/game/err/10_ai/err_hqcoordinated.c": "5b67ad624c4a6b0bbb715314ab9cf14e527018fccb7d38af479184b4952b8c49", + "scripts/game/err/10_ai/err_hqhunteroperations.c": "b9200b6de3a3a61de94ad720aca94aca64db542acc64ba65e7b8061a5e4884e7", + "scripts/game/err/10_ai/err_hqsquadjudgment.c": "12e9ccc9d42a858a998bd46708fbb04d05d48dcf460303a5ecc1629021051bb4", + "scripts/game/err/10_ai/err_hqtacticalground.c": "eba9a9cabdaa80b936aa5e7025544e8b011fb597b96cbdb8d781583c025afbe8", + "scripts/game/err/10_ai/err_hqoperationspeech.c": "6f133c104223ce23262c2927db9e16df0f76f1ee647085114baef1d51417f4f3", + "scripts/game/err/10_ai/err_rescueassets.c": "fca1a4518baf09f0b2c97f3a51995001d9674849417fea9ca1233e8d1f578495", + "scripts/game/err/10_ai/err_huntersarkarules.c": "8c8c96e2f985f553e303f7e459b73a2a5cd0051951b22aa0ed364bc2ae19e194", + "scripts/game/err/10_ai/err_dronebridge.c": "9ad23a763c5995b2ac6f68ed02def487b0ba887e8ca68f0e546d1b6812504cc9", + "scripts/game/err/10_ai/err_dronerecon.c": "dc685b57c884d733e0ff90cf7937f5664ec08545f4cbf59d63bc8a84383dc442", + "scripts/game/err/10_ai/err_aidriverhorn.c": "db9f100c6cc10efc6f5b86e8fe9adb75657ebabee6f8bf0c89b997c2e947750a", + "scripts/game/err/10_ai/err_garagevehicles.c": "673661374e0854fd896d3d51aba84c07088057c941751b311daa4a97b899633e", + "scripts/game/err/10_ai/err_parkedcarcatalog.c": "1d865c263e910071b127ccd1bdc8b58dd45768c4629194da49705f76995ff0e7", + "scripts/game/err/20_intel/err_inteladminprovider.c": "40adf8497b64cc74b1390149fe5ba789ee2f14e6fb3c325af8f5ffa8c806878e", + "scripts/game/err/20_intel/err_intelreroll.c": "d8b04de9ea789732cc78ebce9aa60786c86fe46d05f671cf251eefa68a214b59", + "scripts/game/err/20_intel/err_intelservice.c": "2911325c79a7a372628b18ffa0e110d11919ce2c2cd7b19277bfd608fdb03dfc", + "scripts/game/err/20_intel/err_intelevidence.c": "ff436bd3c7aa0fcd5c24e940430c1ffdda934889953f63e877ae418bc9557d26", + "scripts/game/err/20_intel/err_inteldiscoveryfeedback.c": "741de1dbadfd46c154905a0918aad41386ddc139d843553db55d20d60700c020", + "scripts/game/err/20_intel/err_mineintel.c": "3ce16cebaa9703b2f9803df7c11614f94de6460a9136dab8f80dcad41ae2b1c2", + "scripts/game/err/30_map/err_scenariomap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "scripts/game/err/30_map/errm_nativemapownershipprobe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254", + "scripts/game/err/30_map/errm_sharedmapcomponent.c": "73298c94ecc8d227452b0eddfcaec7fe9df4748875fa7fafcc52544a43658f36", + "scripts/game/err/30_map/errm_nativeheldmapprobe.c": "46c0210a3aef40fc34e4c9682d9364b1cc1e15d4373d8aabfeac7d9b8e55c351", + "scripts/game/err/30_map/errm_sharedmappages.c": "2286d327b87f127f052e06c22f553b30ea31d25127b860fc02a220aeb4ce3ea2", + "scripts/game/err/30_map/errm_atlaspresentation.c": "f0b36472b16477b8c3b5b62f55cfb2a3b3a08304b0779bc39244359af1abe203", + "scripts/game/err/30_map/errm_nativeatlasanimationprobe.c": "845b39276bfdbadd6bfd9b41f445fce1a9d40231d38ef32adc7a6654868e17f2", + "scripts/game/err/40_chat/err_admincommands.c": "282fe1463add7af8771aa58507b254e69d2d06f50274d4c77321db073f8394f0", + "scripts/game/err/40_chat/err_nativeconvoycoverprobe.c": "d2450140cf9bdf09210473234605b4c0d818ea5b91f9532209166a35c5d13701", + "scripts/game/err/40_chat/err_nativehqbodyprobe.c": "811244cc8297817efbfc3ee4edf01c868eae23c88127ba0c72e98ee7422da72f", + "scripts/game/err/40_chat/err_nativehqmemoryprobe.c": "9bcd0b2e1007d40cb794aabe80368a2584ae58aad6a3ebbee070efc7b21a8147", + "scripts/game/err/40_chat/err_nativehqresponseproof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3", + "scripts/game/err/40_chat/err_nativelocalhandoffprobe.c": "0d4d61c424a16008595f86fa61f3b848caf9bd6e9ebbacea9c10254d88ba378e", + "scripts/game/err/40_chat/err_nativemortarprobe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "scripts/game/err/40_chat/err_nativeradioprobe.c": "a4bd5cd9fe0594e05238b2d6dcd80466773f8fa160dc60bbe1eda70e3acdbe79", + "scripts/game/err/40_chat/err_ordinaryscenariolaunchchat.c": "a747af09599ce4d0c52051f18f00c4624d24d137e328341b580b82e896c6bf65", + "scripts/game/err/40_chat/err_nativesupplyconvoyprobe.c": "89c2696071912500840f4bb91d754f695bf674335b51a7ee1d03727084fd4869", + "scripts/game/err/40_chat/err_nativeinfantrytransferprobe.c": "9b2de4dc22bdadd51b0271219a971dc8dc07f70ed3534f306acf03ed81b29424", + "scripts/game/err/40_chat/err_nativealarmhearingprobe.c": "5dbb6a48909b76cd141e3a79ef01d2e68cafee55153821c4471f85c761fff94f", + "scripts/game/err/40_chat/err_nativemountedswapprobe.c": "a6721fcaaccadf8eddb06687c7d587d0a3e377d5d1bb0b8e72e630fede8690ac", + "scripts/game/err/40_chat/err_nativemountedcourierprobe.c": "12710e9e5548fe8856f7a52f3566338369a8a1eedf0bd92af16229271872ada5", + "scripts/game/err/40_chat/err_nativemaintenanceprobe.c": "852b9b397efc3f919c97fec63bc3df1a850cd7833421af8441994afd191951d4", + "scripts/game/err/40_chat/err_nativemountedinterceptprobe.c": "34b0b1e38a59f14c4e83d93ec412779945388e6f4d697bda2f6cb90f519a6372", + "scripts/game/err/40_chat/err_nativeconvoyprobe.c": "87df652b339df4fe4239617752ac5fd9f47aa4396ba94742a0af39a32b54e784", + "scripts/game/err/40_chat/err_nativesupplytravelprobe.c": "32e6074e912491f2643a24cb44311b9fe5b069c76e4e94a45e7409ac82d36507", + "scripts/game/err/40_chat/err_nativerandomradiustrace.c": "7e946406067092e30b6b75cc6ef0c56db7f866249e02bd13648156933ee578d9", + "scripts/game/err/40_chat/err_nativecrashgeometryprobe.c": "7867ce1794aa0d1bbab72c32f60f5bd0c2bad4f5ff6224978c215e7828840178", + "scripts/game/err/40_chat/err_nativecrashstartprobe.c": "957f40e36bfc025b8bc752b1f41dc177c8d0844c69ee5994321a47cf3ddea1ad", + "scripts/game/err/40_chat/err_nativesmoke.c": "4dfb218419db4cd7a46d25cb1f2e578e75ad89efc43f99c6ca8ab8e591e139d7", + "scripts/game/err/40_chat/err_nativemountedammoprobe.c": "7ddb634444c79ad9291d53a754dc0ed383342e36720ddaa4b7aa4bd4e7ee656d" + } +} diff --git a/docs/external-addons.json b/docs/external-addons.json index 6a5ea46e..b9bca145 100644 --- a/docs/external-addons.json +++ b/docs/external-addons.json @@ -10,7 +10,7 @@ "addons": { "595F2BF2F44836FB": { "title": "RHS: Status Quo", - "version": "0.16.5237", + "version": "0.17.5281", "dependencies": [ "58D0FB3206B6F859", "1337C0DE5DABBEEF", @@ -20,19 +20,19 @@ }, "1337C0DE5DABBEEF": { "title": "RHS: Status Quo - Content Pack 01", - "version": "0.16.5236", + "version": "0.17.5281", "dependencies": [ "58D0FB3206B6F859" ], - "project_sha256": "65197c50ff6e906a5732564e8b440d80ef1cdbcffead9eb388e1e2b56c1322bc" + "project_sha256": "09baf9fff74b1a8aadb03786d6d9ebe7159ddf074f7d46b35123501325332d98" }, "BADC0DEDABBEDA5E": { "title": "RHS: Status Quo - Content Pack 02", - "version": "0.16.5236", + "version": "0.17.5281", "dependencies": [ "58D0FB3206B6F859" ], - "project_sha256": "6ebd73d663ed6dbf981cd8bc7d19cfd5bcd3c9dec3b9a706fa331d992ef200b4" + "project_sha256": "196b2bc1da74c0b5154c7346c63989df237da487f29cff7b2094f53e0f17ff18" }, "5E389BB9F58B79A6": { "title": "WCS_SpaceCore", diff --git a/tests/test_admin_menu.py b/tests/test_admin_menu.py index 7ee386f8..9215ad09 100644 --- a/tests/test_admin_menu.py +++ b/tests/test_admin_menu.py @@ -217,7 +217,7 @@ weight_layout=(ROOT/'addons/core/UI/layouts/ERR/ItemWeightRow.layout').read_text validate_layout_structure(weight_layout) weight_names=re.findall(r'\bName "([^"]+)"', weight_layout) assert len(weight_names)==len(set(weight_names)) -for name in ('Sidebar_Items','OpenItems','OpenAllowedItems','AllowedItemsPage','OpenItemPresets','ItemPresetsPage','OpenWeights','WeightsPage','WeightsMod','WeightsShow','WeightsPrevious','WeightsNext','ModWeight','ModWeightApply','ModWeightNormal','ModWeightHigh','ModWeightSaved','WeightsChance','WeightsPageState','WeightsContent','WeightsScroll'): +for name in ('Sidebar_Content','OpenItems','OpenAllowedItems','AllowedItemsPage','OpenItemPresets','ItemPresetsPage','OpenWeights','WeightsPage','WeightsMod','WeightsShow','WeightsPrevious','WeightsNext','ModWeight','ModWeightApply','ModWeightNormal','ModWeightHigh','ModWeightSaved','WeightsChance','WeightsPageState','WeightsContent','WeightsScroll'): assert name in names, name for name in ('WeightLabel','WeightState','WeightValue','WeightApply','WeightNormal'): assert name in weight_names, name diff --git a/tests/test_civilian_traffic.py b/tests/test_civilian_traffic.py index 59c7a6b5..d022e23a 100644 --- a/tests/test_civilian_traffic.py +++ b/tests/test_civilian_traffic.py @@ -115,7 +115,9 @@ int main(){ # Integration boundaries: no military admission or late observer-driven retargets. s=p.read_text() assert '.RegisterGroup(' not in s and '.Own(' not in s -assert 'm_Serial >= 64' in body(p,'protected bool Spawn(') +spawn=body(p,'protected bool Spawn(') +assert 'm_Serial >= 64' in spawn +assert spawn.count('m_Serial++') == 1 and spawn.index('ERR_Actors.Spawn(prefab') < spawn.index('m_Serial++') < spawn.index('!ERR_VehicleSelection.RoadFit') assert 'Observers(observers, actors)' in body(p,'protected bool Spawn(') assert 'trace.ExcludeArray = excluded' in body(p,'protected bool Hidden(') assert 'sample = -1; sample <= 1' in body(p,'protected bool Hidden(') diff --git a/tests/test_content_browser.py b/tests/test_content_browser.py new file mode 100644 index 00000000..6cdf6bb5 --- /dev/null +++ b/tests/test_content_browser.py @@ -0,0 +1,28 @@ +"""Search the entire server result set before paging; exercise real filter rules.""" +from policy_harness import ROOT, body, run +p=ROOT/'addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemCatalog.c' +s=body(p,'static bool Matches(').replace('array', 'Array').replace('foreach (','for (').replace('WidgetManager.Translate','Translate') +run(r''' +#include +#include +#include +#include +#include +struct string; +templatestruct Array:std::vector{}; +struct string:std::string{using std::string::string;string(std::string x):std::string(x){}bool IsEmpty(){return empty();}void ToLower(){std::transform(begin(),end(),begin(),[](unsigned char c){return std::tolower(c);});}bool Contains(string s){return find(s)!=npos;}void Split(string,Array& out,bool){std::istringstream in(*this);std::string s;while(in>>s)out.push_back(s);}}; +string Translate(string s){return s;} +''' + s + r''' +int main(){ + assert(Matches("First Aid Kit","items/medical/kit.et",true,0,"first kit")); + assert(Matches("FIRST AID KIT","items/medical/kit.et",true,1,"medical")); + assert(!Matches("First Aid Kit","items/medical/kit.et",true,2,"")); + assert(Matches("V2101 Red","cars/V2101_red.et",false,2,"v2101 RED")); + assert(!Matches("V2101 Red","cars/V2101_red.et",false,1,"")); + assert(!Matches("V2101 Red","cars/V2101_red.et",true,0,"v2101 blue")); + assert(Matches("anything","",false,0," ")); + int matches=0;for(int i=0;i<5000;i++)if(Matches("First Aid Kit","items/kit.et",i%2,2,"kit"))matches++; + assert(matches==2500); +} +''') +print('PASS: whole-catalog multiword/case-insensitive search, name/path matching, enabled/disabled filters and large result sets') diff --git a/tests/test_convoy_dispatch.py b/tests/test_convoy_dispatch.py index d3257331..d3b7e729 100644 --- a/tests/test_convoy_dispatch.py +++ b/tests/test_convoy_dispatch.py @@ -7,6 +7,7 @@ source=path.read_text() # Dispatch's native calls are doubled; budget behavior is executed separately. code=body(path,'ERR_ConvoyTask Dispatch(') code=re.sub(r'//[^\n]*','',code) +code=code.replace('array', 'Array').replace('ResourceName','string').replace('prefab.IsEmpty()', 'prefab.empty()').replace('unit->Entity.FindComponent(InventoryStorageManagerComponent)', 'unit->Entity->storage').replace('GetGame().ERR_ServerVehicles().Reject', 'Reject') code=code.replace('array','Array&') code=code.replace('SCR_AIGroup.Cast(', 'static_cast(').replace('Vehicle.Cast(', 'static_cast(') code=code.replace('FactionAffiliationComponent.Cast(unit.Entity.FindComponent(FactionAffiliationComponent))','&unit->Entity->affiliation').replace('AICarMovementComponent.Cast(unit.Entity.FindComponent(AICarMovementComponent))','&unit->Entity->movement') @@ -14,8 +15,9 @@ for cls in ['ERR_ConvoyTask','ERR_ConvoyReceipt','ERR_ForceRoute','ERR_ConvoyVeh code=re.sub(r'\b'+cls+r' ([A-Za-z_]\w*)',cls+r'* \1',code) for obj in ['m_Mode','m_Pool','task','unit','affiliation','movement']: code=re.sub(r'\b'+obj+r'\.',obj+'->',code) -for cls in ['ERR_ForceRules','ERR_ConvoyRules','ERR_ConvoyResources','ERR_Actors','ERR_HQ']: +for cls in ['ERR_ForceRules','ERR_ConvoyRules','ERR_ConvoyResources','ERR_Actors','ERR_HQ','ERR_VehicleSelection']: code=code.replace(cls+'.',cls+'::') +code=code.replace('unit->Entity.FindComponent(InventoryStorageManagerComponent)', 'unit->Entity->storage') code=code.replace('EnemyFaction().','EnemyFaction()->').replace('Group.Get','Group->Get').replace('null','nullptr') run(r''' #include @@ -28,7 +30,7 @@ struct IEntity{virtual ~IEntity()=default;}; struct FactionAffiliationComponent{void SetAffiliatedFaction(Faction*){}}; struct AICarMovementComponent{int speed=0;void SetCruiseSpeed(int v){speed=v;}}; struct SCR_AIGroup:IEntity{Faction* GetFaction(){return &enemy;}int GetAgentsCount(){return 0;}}; -struct Vehicle:IEntity{FactionAffiliationComponent affiliation;AICarMovementComponent movement;}; +struct Vehicle:IEntity{bool storage=true;FactionAffiliationComponent affiliation;AICarMovementComponent movement;}; struct ERR_GameMode{Arrayowned;Faction* EnemyFaction(){return &enemy;}void Own(IEntity* e){owned.Insert(e);}}; struct ERR_ForceRoute{}; struct ERR_ConvoyReceipt{bool used=false;}; @@ -40,6 +42,8 @@ namespace ERR_ConvoyRules{bool valid=true,clear=true,empty=true;bool EmptyCrewTe namespace ERR_ConvoyResources{bool available=true;bool Available(){return available;}string GroupPrefab(){return "group";}string VehiclePrefab(int i){return "vehicle"+std::to_string(i);}} namespace ERR_HQ{void Event(string,string){}} namespace ERR_Actors{int calls=0,fail=0;IEntity* Spawn(string prefab,vector,vector=vector{}){calls++;if(calls==fail)return nullptr;if(prefab=="group")return new SCR_AIGroup();return new Vehicle();}} +namespace ERR_VehicleSelection{bool empty=false;bool fit=true;string ForRole(int,string preferred){return empty?"":preferred;}bool RoadFit(Vehicle* v){return v&&fit;}} +void Reject(string,int){} struct Service{ERR_GameMode* m_Mode;ERR_ConvoyPool* m_Pool;Arraym_Tasks;bool current=true;int crews=0,failCrew=-1; ERR_ConvoyTask* NewTask(){return new ERR_ConvoyTask();} ERR_ConvoyVehicle* NewVehicle(){return new ERR_ConvoyVehicle();} bool Current(){return current;}bool FillCrew(ERR_ConvoyVehicle* unit){crews++;return unit->Index!=failCrew;} @@ -50,6 +54,7 @@ int main(){ ERR_ConvoyRules::valid=false;assert(!service.Dispatch(&receipt,positions,angles,&route,100));assert(!receipt.used&&ERR_Actors::calls==0);ERR_ConvoyRules::valid=true; ERR_ConvoyRules::clear=false;assert(!service.Dispatch(&receipt,positions,angles,&route,100));assert(!receipt.used&&ERR_Actors::calls==0);ERR_ConvoyRules::clear=true; ERR_ConvoyResources::available=false;assert(!service.Dispatch(&receipt,positions,angles,&route,100));assert(!receipt.used&&ERR_Actors::calls==0);ERR_ConvoyResources::available=true; + ERR_VehicleSelection::empty=true;assert(!service.Dispatch(&receipt,positions,angles,&route,100)&&!receipt.used&&ERR_Actors::calls==0);ERR_VehicleSelection::empty=false; enemy.key="US"; // A selected non-USSR enemy uses the same finite dispatch transaction. auto task=service.Dispatch(&receipt,positions,angles,&route,100);assert(task&&task->Vehicles.Count()==6&&!task->stopped&&receipt.used&&pool.consumes==1&&ERR_Actors::calls==10&&mode.owned.Count()==10&&service.crews==5); assert(task->Vehicles[2]->Released&&!task->Vehicles[2]->Entity&&!task->Vehicles[2]->Group); diff --git a/tests/test_item_preferences.py b/tests/test_item_preferences.py index 2fbc37a9..6eafe183 100644 --- a/tests/test_item_preferences.py +++ b/tests/test_item_preferences.py @@ -2,11 +2,12 @@ from policy_harness import ROOT, body, run import re p=ROOT/'addons/core/Scripts/Game/ERR/00_Core/ERR_ItemPreferences.c' -methods='\n'.join(body(p,n) for n in ('static bool Name(', 'static bool Guid(', 'static bool WeightKey(', 'static bool WeightValue(', 'static bool Valid(', 'protected void Rebuild(', 'bool Enabled(', 'bool Allows(', 'bool Set(', 'int WeightSetting(', 'int Weight(', 'bool SetWeight(', 'bool Preset(')) -methods=methods.replace('weight.ToString()', 'string(std::to_string(weight))').replace('Math.Max', 'std::max').replace('ERR_CommandArguments.Integer', 'Integer') +methods='\n'.join(body(p,n) for n in ('static bool Name(', 'static bool Guid(', 'static bool RoleKey(', 'static bool WeightKey(', 'static bool WeightValue(', 'static bool Valid(', 'protected void Rebuild(', 'bool Enabled(', 'bool ModEnabled(', 'bool VehicleEnabled(', 'bool SetSwitch(', 'bool SetVehicleRole(', 'int VehicleRole(', 'bool AllowsVehicleRole(', 'bool AllowsVehicle(', 'bool Allows(', 'bool Set(', 'int WeightSetting(', 'int Weight(', 'bool SetWeight(', 'bool Preset(')) +methods=methods.replace('role.ToString()', 'string(std::to_string(role))').replace('weight.ToString()', 'string(std::to_string(weight))').replace('Math.Max', 'std::max').replace('ERR_CommandArguments.Integer', 'Integer') methods=methods.replace('protected ', '').replace('array', 'Array').replace('set keys = new set();','Array keys;') methods=methods.replace('foreach (', 'for (').replace('ResourceName','string').replace('ERR_TerrainCatalog.Key(prefab)', 'prefab').replace('SCR_AddonTool.GetResourceAddons(prefab)', 'sources') methods=methods.replace('Array sources = sources;', 'Array resourceSources = sources;').replace('project : sources','project : resourceSources') +methods=methods.replace('"01234".IndexOf', 'string("01234").IndexOf') methods=methods.replace('"0123456789abcdef".IndexOf','string("0123456789abcdef").IndexOf').replace('!records || ', '') run(r''' #include @@ -16,7 +17,7 @@ run(r''' #include struct string; templatestruct Array:std::vector{using std::vector::vector;using std::vector::operator=;int Count(){return this->size();}void Insert(T x){this->push_back(x);}bool Contains(T x){return std::find(this->begin(),this->end(),x)!=this->end();}void Clear(){this->clear();}}; -struct string:std::string{using std::string::string;string(std::string x):std::string(x){}bool IsEmpty(){return empty();}int Length(){return size();}int IndexOf(string s){auto i=find(s);return i==npos?-1:int(i);}string Substring(int a,int n){return substr(a,n);}int ToInt(){return std::stoi(*this);}void Split(string delim,Array& out,bool){size_t a=0;while(true){auto b=find(delim,a);out.Insert(substr(a,b==npos?b:b-a));if(b==npos)break;a=b+delim.size();}}}; +struct string:std::string{using std::string::string;string(std::string x):std::string(x){}bool StartsWith(string s){return find(s)==0;}bool IsEmpty(){return empty();}int Length(){return size();}int IndexOf(string s){auto i=find(s);return i==npos?-1:int(i);}string Substring(int a,int n){return substr(a,n);}int ToInt(){return std::stoi(*this);}void Split(string delim,Array& out,bool){size_t a=0;while(true){auto b=find(delim,a);out.Insert(substr(a,b==npos?b:b-a));if(b==npos)break;a=b+delim.size();}}}; templatestruct Map{std::map data;bool Contains(string k){return data.count(k);}T Get(string k){return data[k];}void Set(string k,T v){data[k]=v;}void Clear(){data.clear();}}; bool Integer(string s,int& n){try{size_t end;n=std::stoi(s,&end);return end==s.size();}catch(...){return false;}} struct Prefs{Array m_Records={"active"},sources={"base-project","mod-project"};Map m_Rules;Map m_Loaded;int m_Revision=0;bool fail=false; @@ -55,6 +56,8 @@ int main(){ auto old=p.m_Records;int revision=p.m_Revision;p.fail=true; assert(!p.Set(b,"*",true)&&p.m_Records==old&&p.m_Revision==revision); assert(!p.Preset("save","failed")&&p.m_Records==old); + assert(!p.SetSwitch(a,"mod",false)&&p.m_Records==old&&p.m_Revision==revision); + assert(!p.SetSwitch(a,"v"+i,false)&&p.m_Records==old&&p.m_Revision==revision); assert(!p.Preset("delete","custom")&&p.m_Records==old); p.fail=false; assert(p.Preset("save","custom")&&p.Preset("delete","custom")&&!p.Preset("load","custom")); @@ -66,6 +69,28 @@ int main(){ assert(!p.Valid({"active","active|1111111111111111|*|2"})); assert(!p.Valid({"active","active|1111111111111111|*|0","active|1111111111111111|*|1"})); assert(!p.Valid({"active","missing|1111111111111111|*|0"})); + // Master disable preserves per-item and per-vehicle decisions; all-items does not erase either gate or vehicle rules. + p.fail=false; p.m_Loaded.Set("base-project",a);p.m_Loaded.Set("mod-project",b); + assert(p.Set(a,"*",true)&&p.Set(b,"*",true)); + assert(p.Set(a,i,false));assert(p.SetSwitch(a,"v"+j,false)); + assert(p.SetSwitch(a,"mod",false)&&!p.Allows(j)&&!p.AllowsVehicle(i)); + assert(p.Set(a,"*",true)&&!p.ModEnabled(a)&&!p.VehicleEnabled(a,j)); + assert(p.SetSwitch(a,"mod",true)&&p.Allows(j)&&p.AllowsVehicle(i)&&!p.AllowsVehicle(j)); + assert(p.Set(a,i,false)&&p.SetSwitch(a,"v*",true)&&!p.Allows(i)&&p.AllowsVehicle(j)); + assert(p.Preset("save","replacement")&&p.SetSwitch(a,"mod",false)&&p.Preset("load","replacement")&&p.ModEnabled(a)); + assert(!p.SetSwitch(a,"vbad",false)&&!p.SetSwitch("../", "mod",false)); + // New vehicles are opt-in, role choices independent, explicit source denials win. + assert(p.SetVehicleRole(a,j,2,true)&&p.AllowsVehicleRole(j,2,false)); + assert(!p.AllowsVehicleRole(j,3,false)); + assert(p.SetVehicleRole(b,j,2,false)&&!p.AllowsVehicleRole(j,2,false)); + assert(p.SetVehicleRole(b,j,2,true)&&p.AllowsVehicleRole(j,2,false)); + assert(p.SetVehicleRole(a,"*",3,true)&&p.AllowsVehicleRole(j,3,false)); + assert(p.SetVehicleRole(a,j,3,false)&&!p.AllowsVehicleRole(j,3,false)&&p.AllowsVehicleRole(j,2,false)); + assert(p.Preset("save","replacement")&&p.SetVehicleRole(a,j,2,false)&&p.Preset("load","replacement")&&p.AllowsVehicleRole(j,2,false)); + assert(p.SetSwitch(a,"mod",false)&&!p.AllowsVehicleRole(j,2,true)&&p.SetSwitch(a,"mod",true)&&p.AllowsVehicleRole(j,2,false)); + int before=p.m_Revision;p.fail=true;assert(!p.SetVehicleRole(a,j,2,false)&&p.m_Revision==before&&p.AllowsVehicleRole(j,2,false));p.fail=false; + assert(!p.SetVehicleRole(a,j,5,true)&&!p.SetVehicleRole(a,j,-1,true)&&!p.SetVehicleRole(a,"bad",0,true)); + assert(!p.Valid({"active","active|1111111111111111|r5*|1"})); assert(!p.Set("../x",i,true)&&!p.Set(a,"unknown",true)); } ''') diff --git a/tests/test_server_item_catalog.py b/tests/test_server_item_catalog.py index 3a68e7f1..eb62c444 100644 --- a/tests/test_server_item_catalog.py +++ b/tests/test_server_item_catalog.py @@ -1,8 +1,9 @@ """Exercise per-admin catalog navigation; discovery itself is checked natively.""" from policy_harness import ROOT, body, run core=ROOT/'addons/core/Scripts/Game/ERR/00_Core' -s=body(core/'ERR_AdminSession.c','protected bool ItemCatalogCommand(') +s=body(core/'ERR_AdminSession.c','protected bool ItemCatalogCommand(')+'\n'+body(core/'ERR_AdminSession.c','protected bool VehicleCatalogCommand(') for a,b in [('protected ',''),('array replies','Array& replies'),('array parts','Array parts'),('ERR_ServerItemCatalog catalog','Catalog* catalog'),('GetGame().ERR_ServerItems()','GetCatalog()'),('GetGame().ERR_ItemSelections().','preferences.'),('catalog.','catalog->'),('ERR_CommandArguments.Integer','Integer')]:s=s.replace(a,b) +s=s.replace('query.Length()', 'int(query.size())').replace('ERR_ServerVehicleCatalog catalog', 'Catalog* catalog').replace('GetGame().ERR_ServerVehicles()', 'GetCatalog()') run(r''' #include #include @@ -10,12 +11,12 @@ run(r''' #include struct string; templatestruct Array:std::vector{using std::vector::vector;bool IsEmpty(){return this->empty();}int Count(){return this->size();}void Insert(T x){this->push_back(x);}}; -struct string:std::string{using std::string::string;string(std::string s):std::string(s){}void Split(string,Array& out,bool){std::istringstream in(*this);std::string word;while(in>>word)out.push_back(word);}}; -struct Catalog{bool Contains(string a,string i){return a=="loaded-a"&&i=="known-item";}void Start(void*){}bool Find(string s){return s=="loaded-a"||s=="loaded-b";}} catalog; +struct string:std::string{using std::string::string;string(std::string s):std::string(s){}bool IsEmpty(){return empty();}void Split(string,Array& out,bool){std::istringstream in(*this);std::string word;while(in>>word)out.push_back(word);}}; +struct Catalog{bool Contains(string a,string i){return a=="loaded-a"&&i=="known-item";}bool Capable(string i,int r){return i=="known-item"&&r!=4;}void Start(void* unused=nullptr){}bool Find(string s){return s=="loaded-a"||s=="loaded-b";}} catalog; Catalog* GetCatalog(){return &catalog;} bool Integer(string s,int& n){try{size_t p;n=std::stoi(s,&p);return p==s.size();}catch(...){return false;}} -struct Preferences{int edits=0;bool Preset(string action,string name){edits++;return action=="save"&&name=="test";}bool Set(string,string,bool){edits++;return true;}bool SetWeight(string,string,int){edits++;return true;}} preferences; -struct Session{void* m_Mode=nullptr;string m_ItemAddon;int m_ItemPage=0; +struct Preferences{int edits=0;bool Preset(string action,string name){edits++;return action=="save"&&name=="test";}bool Set(string,string,bool){edits++;return true;}bool SetVehicleRole(string,string,int,bool){edits++;return true;}bool SetSwitch(string,string,bool){edits++;return true;}bool SetWeight(string,string,int){edits++;return true;}} preferences; +struct Session{void* m_Mode=nullptr;string m_ItemAddon;int m_ItemPage=0,m_ItemFilter=0;string m_ItemQuery,m_VehicleAddon,m_VehicleQuery;int m_VehiclePage=0,m_VehicleFilter=0,m_VehicleRole=0; ''' + s + r''' }; int main(){Session a,b;Array replies; @@ -36,6 +37,21 @@ int main(){Session a,b;Array replies; a.ItemCatalogCommand("items weight loaded-a * 100",replies);assert(preferences.edits==4); a.ItemCatalogCommand("items weight loaded-a known-item 0",replies);assert(preferences.edits==5); assert(a.m_ItemAddon=="loaded-a"&&a.m_ItemPage==0); + a.ItemCatalogCommand("items browse loaded-a 2 2 first aid",replies); + assert(a.m_ItemPage==2&&a.m_ItemFilter==2&&a.m_ItemQuery=="first aid"); + a.VehicleCatalogCommand("vehicles browse loaded-b 1 1 2 red",replies); + assert(a.m_VehicleAddon=="loaded-b"&&a.m_VehiclePage==1&&a.m_VehicleQuery=="red"&&a.m_ItemAddon=="loaded-a"); + b.VehicleCatalogCommand("vehicles browse loaded-a 0 0 1",replies);assert(a.m_VehicleAddon=="loaded-b"); + a.VehicleCatalogCommand("vehicles role unknown 0 * 0",replies);assert(preferences.edits==5); + a.VehicleCatalogCommand("vehicles role loaded-a 0 unknown-item 0",replies);assert(preferences.edits==5); + a.ItemCatalogCommand("items browse loaded-a 2 3",replies);assert(a.m_ItemFilter==2); + a.ItemCatalogCommand("items mod loaded-a 0",replies);assert(preferences.edits==6); + a.ItemCatalogCommand("items mod unknown 0",replies);assert(preferences.edits==6); + a.VehicleCatalogCommand("vehicles role loaded-a 2 known-item 0",replies);assert(preferences.edits==7); + for(string bad:{"vehicles role loaded-a 4 known-item 1","vehicles role loaded-a 5 known-item 1","vehicles role loaded-a -1 * 1","vehicles role loaded-a 2 known-item 2"})a.VehicleCatalogCommand(bad,replies); + assert(preferences.edits==7&&a.m_VehicleRole==2&&b.m_VehicleRole==1); + a.VehicleCatalogCommand("vehicles browse loaded-a 0 0 5",replies);assert(a.m_VehicleRole==2); + a.VehicleCatalogCommand("vehicles role loaded-a 3 * 0",replies);assert(preferences.edits==8); } ''') command=body(core/'ERR_AdminSession.c','void Command(') diff --git a/tests/test_vehicle_roles.py b/tests/test_vehicle_roles.py new file mode 100644 index 00000000..2993252b --- /dev/null +++ b/tests/test_vehicle_roles.py @@ -0,0 +1,50 @@ +"""Production candidate and patrol crew limits for optional discovered vehicles.""" +from policy_harness import ROOT, body, run +p=ROOT/'addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehicleCatalog.c' +s=body(p,'static bool Candidate(')+'\n'+body(p,'static bool PatrolSeats(') +run(r''' +#include +#include +#include +struct string:std::string{using std::string::string;void ToLower(){std::transform(begin(),end(),begin(),[](unsigned char c){return std::tolower(c);});}bool Contains(string s){return find(s)!=npos;}bool EndsWith(string s){return size()>=s.size()&&compare(size()-s.size(),s.size(),s)==0;}}; +''' + s + r''' +int main(){ + assert(Candidate("{guid}Prefabs/Vehicles/MyAddon_NewCar.et")); + assert(!Candidate("Prefabs/Vehicles/Car_Base.et")); + assert(!Candidate("Prefabs/Vehicles/Parts/Engine.et")); + assert(!Candidate("Prefabs/Vehicles/Turrets/PKM.et")); + assert(!Candidate("Prefabs/Vehicles/Car_wreck.et")); + assert(!Candidate("Prefabs/Weapons/Gun.et")); + assert(PatrolSeats(1,0,3,4));assert(PatrolSeats(1,1,0,2));assert(PatrolSeats(1,0,14,15)); + assert(!PatrolSeats(0,1,3,4));assert(!PatrolSeats(2,1,3,6));assert(!PatrolSeats(1,0,0,1)); + assert(!PatrolSeats(1,0,15,16));assert(!PatrolSeats(1,1,1,5)); +} +''') +print('PASS: optional vehicle discovery excludes parts/wrecks/base templates; bounded custom patrol crews accept cars and gun crews without extra bodies') +choice=body(p,'ResourceName Choose(int role, ResourceName preferred, bool otherDefaults = true)') +choice=choice.replace('ResourceName','string').replace('array','Array').replace('Math.RandomInt','RandomInt') +choice=choice.replace('foreach (string key, ERR_VehicleEntry entry : m_Entries)', 'for (auto& [key, entry] : m_Entries)').replace('entry.', 'entry->') +run(r''' +#include +#include +#include +#include +#include +struct string:std::string{using std::string::string;bool IsEmpty(){return empty();}}; +templatestruct Array:std::vector{using std::vector::vector;bool Contains(T v){return std::find(this->begin(),this->end(),v)!=this->end();}void Insert(T v){this->push_back(v);}bool IsEmpty(){return this->empty();}int Count(){return this->size();}}; +struct ERR_VehicleEntry{string Prefab;int Defaults;int allowed;}; +struct Catalog{std::mapm_Entries;void Start(){}bool Allowed(string p,int r){auto it=m_Entries.find(p);return it!=m_Entries.end()&&(it->second->allowed&(1<

h2}7{JA`Cz4*F-cb2s!LWHwZULWxig*7g97h=@J?!v%$=9OM`*@tL zZLqCTk}-?;ogZh_c-#G`O%$`%@p$eNOfm^AjFz;}q84{_J6?@eJ6cx5*D!NX z{Y9Tko<)3XBW}QYq{C?;4#`Lg`sJ@o{O%u}6VHKDh%o)@=66UeI2+B*(&;Gd{$;+0 z<}`b!e&Mmkyt<;#;(Y0sP!=k{2lJS(x+3Vk5GaMIbF057_n&_ba%zzEH+fR$|4=r| zOwr0_-T*NQe+1~QybAJy|7d0GBChZgstp)kRH%Xj z%qwOk5RF_~-a)?ukp$3XH@Xj$XyLE38yP8vCnp_F`~BWguAB*l+>E~nTKtqhJr0WV z70;*!7XnddnDwVzBOxo&-Y6{Y^E>th{RGBB#^G@P^fx30B|KE0l?Em^<#J?toHT3;=n;RaZS9p^m z2SYT9r%>D{(EvBKsC+L@%A`U> z%9mn@`QP!h`&%FBJiEr2cbXh_?EO9nc?^l~s&-%aF+4mxHDwajn7HdwhG{aPqB|8;X!)$p<>phy5@+@Ny; zsL>kDse7rg`y!h-$QRzRT8cexntm|Hq^|QX<^A!-O`G>E{ z`8z5;HhbFUI~Lbd5(*0{fNEvHg7|cwlo$qfG|Nh4?ETtFRVg)Qr;WNrKAPHNt-Cd1 zQ*|<-AM%FLwAx|e$NBPe#*`c!>-|EbB{jiLEyfggYwQVld6(6k96Fp;bF1}S*7rxN ztFcd~Cxw20y=(yrnlG=uvYRj@>xyyA%1V?j83$8gOsacqWb(KXBdZm!y(c$_@B<;N0{Lt{EW!?JIvzZy75XgAS43nQSf!UcqK`C^Bp5&af{i2g++CX#6k6x zF(ZJlnFBWwJh;wob)XcTB(eVdOU_%0W+=Koabx1J3==~9-qPk|oJ!$wygr|Wxh$-g z=klep&2BD>6o2l(r>^gcpE+Cevte1rn>Kts%d`2q=5mR%u z0x1a=nOsxj!-U?h@D0{7DYk_BQG?#HzFgdEeK)g^EJ4VxLz`t?Hg~9H|4cAZST{^H z8+&sq`ku|-=%}wNHHMQ`T7Y*_CqpYOrFb}xY#BVT*iP1udevdkcg3pFJK&DlMq!`v z^*D_f9_p7hra+VJHPA+Eu4{S%<@dR>tf_id+Jz%PYll6aTQv}@7GtQ{#_vsMa-o=5 zOSO;O?PjLF^cm5JFGWw=dxl=fUC?w)yD+w`qO%k=D*Gyk@>P|Wqzqf5Vs z>J|o)d=EEv3*%o$c_>~heRe~qxP(1VoIPk&%FuTSI=WB5Jr{DI&8{_BH^ScxE8-5`3C4O?_dG>2=-#BR z^WQl4c0=f`(|8R)#5d26p zuL0`9pseal-5+(gW&uvp`By2HeJrJY{y(~hDVMa~3QSE-zVCT?FU;@-F0Ad zy8sFLU%iy!R|r9aru+|w-R0A5{U&y(^lE;tMUbo*rt?W}hvTU?_GfkVi$8)kuD~Hn zF1!CLJ0;}&za%E)F%3~$7+*&V@judDcQ4U}K>8o^&))Tt$-eQ76ObeIKU>@%f$%Wc z5R#N8CDDXIrLDc&51E0Zqo`@qW2ci*Wz|u024kvbkqvtqNx7J!eES{8iP+OrcCKsJ z`m#!O=y?LsPE9$X=yy}O%FjUk#awo-HoYtlM$l+`hUYcB*>U&pa?&> zZ*`2c3icut9gz3u5YI|t5hwVG&#u)_v>VZRMjtP zFE>6IyqF0J%pixGDa?Jmy~Ged^_K&71Z{C`IY@?|M9vzWmWRXDP7nyv6~E(8IMiO3 ze(<}Nm$rjn)rjlZAoPrtea6Xh9*LKf5*xp@9PoKM?1VdNMFloR@ z-Btk@c}bre&REm>{j}gpBcp)vN;4d}#t*gQaS2WSo;T+-k`tJ5!(=XH7K(jgd$Wy- z`e7&qGf(ZMUy_NJ9<07$d~mi$p7)FfcJ8NKBd)^HsMIe<&)5$J`{1o;A=%;wlIjGz z&hgBtwrZup{@)lS_y7Dub_yb)xGj)L&9i($>PnYv2x_w*OF7T#Jng^oh={TZ^x4|g zif5IGNltEfeq&BWMF~Fbvo&U1TVEes~F zbZJGNKRzZOO~5KzR&1Z9i39(10lg;~xpw(L&NetxmH@4l$85wDuib0?+bhyZ0Q3-(E$^rIDB){SeZ{wr^9{+$0cf17_M=BfU0CkA zqMKeny*E0^gkg&`qcIhgwo>Er+ku<@0aG$gif$p>*O^p~z6YCbeH(uH=gZi=Pdj7s z$fko8H_-OwsciMc@|mf@?A+*GO}`NA4BOfo?080Px;ao{%6s6nIL)al)mES^B((B| zihH2v0ihk|%Et$QMRM70@P(|!f*{>r}S6R6TzrG+K#8$P3*&z!13mGi5VpC~Yf1}#`@(yG| znu6~e8ynwq++{$J=P(%8jh||58w3vz55y7i6N9QdYWo}JZE@Znp`VKJQhRP;Se5n} zA%@y{2;@H@-Y~k<>o3k|41bYrYYVp8QrVA3som4G3T}fQk93J;ND{gcB(LF>J;}-1 zHC(c4UBGC7&J{^~-~`4*+P=)9#&PD56AV00L0Vr%NS)WjVi!&9FXwuZH0>O{20!wf zOl`M`#{53u7WKd@8g7+h1>RjO)I&6y<7jobA+!^ zU?4s=RoK?XhCMs$)xdkb&iDPVW|ESLYg3>P&i>_ReKBzb-xCTZJ9~Q~81pN?^NbBl ztKGZF<3IcSByalZ8-X~W_S2!jvzWjP^UBkq94sQV~30ru651rGn zGb`DEeO?n-D9*`;$H-Tfmn)@y`0$I-=$R2XN89QN9moxS6_FG!=>59>?%gFP$ESOq z$$7T})*`cG9QKa0N!y*H=)49HrNF`C)$|@d&!KPp>=tcDwN#XKy0}HF6E3%|^jT+D z7ohTVRrKRz+M2HM8~y1O<1qUCVN8tmRlY1KLHh|zTVIAmuC)E({k#x8&Fj~%``E9e z2XZfSu&}VQ`W@J@nj}ZsUCm4ojOrQaeHjDzZytK&*G2UAi_@S7jYKYS$bYa^8PnV! z7S0nlX}u{Xy_Y>I@r}hDeGNy&t0)k-CG=l_r4$bJESskq(TIb$> zX8bo7hG8zu*!oAI?}Vqst3R)LEBZKZwq`Cf5O+iPK;tZJ$5q{;tf*Io23^$&&*b?s z`uw(#()Qzzn#^6R+()%_%G3ybFRMRnI!99g0+qp?TerThjE}!%Y7@N&ZvG{rJ-3bU zsz0mbvB+&2<7cKLAbvJ96v*f+m&~+u1LX-97tV9UbM)77`wXI&de^h2Pfkj>gRAD6 zA6LqMyOEui33z47fRY_xH`1>SGCc_l%sP@YpU z-pMM*P8)+Ns93zUtjv?LyV#Kwf&_e)hT4KmU7elp($cS~1pbEqcdeW0ZI453uu@Rd z(#A;2;;7M>=I6L4bPOAt4fa=sR8^6RuPv&H8x~+x^o*ZfPwTB7Nr{T0By8E*7*1Pn zwcm}7eNbZfKH*-J^}T(3E)x0UhXy*85>gT2aMKOqe&GyAjl9OK_ik9If&q)G2Ej_1V!D!;`vXPC0cvkWM`h>l^ zwpLefh>G60F45c5Lt3*y3G>Z;b4AW7)YCZ*ez^W?Q1aJc18QS`?JHlQ(cXxGN|2c5i#a74EblTpmer!DV`i&dE zdV8z&kN>Ro_DQzAoEj0-^scWfZ!IgU{jABGDrx%dyUi^axriggyBqhR?;Il&--(mj zk9Y<~jo;Hg9L~~dMrj`F>XcK!J7TC+yc=NBsttxLq-B^heljo>mXaO;knP138VzIk&Ev6-WGe1Co&r3c z5>ddRxxbw{$k%)ZQgF9}CiK6Kr=aCo;K4qW?;*-Nb~vcRZa3e+)bNFjf^X%`%ziF=k@LdX&V@re`x+%wpTFcn(;?k(br02b6q@CMG%Zg7*vKF8Dn>18L2k6=yi3E_!Mg zWA43$@{4%(OgFlwxzry!JCVQhFdZBopkLaHzgH^#^r`O!s8Usj`hOJ> zTL@6q`$TVd;SA)vl^!eez@8(7k>Mve*njM^7foWNAom+Lr=dfN!z0tKIsSWd$(!>2 zTU!ieELT0wLHMXBqrmFF6M7EvV&o3RdF73bwOZZM+rd|L&NB6X|0z)XDx&35%64@2 zVuuBV)f_pQ*P5AGYQJ5}x74eB;M|Xg5Tw>_27u~@8n^a6lm~=}Jda1XqwctidrIN~Z0SrBaCt*kn{7}GF`5trincJ<=c9tQ;a>jT3 zd^aqb_j|=EPll62{`UP$RwLbJ%2D)L2h;$y5)bwCLKY%f;YW+{fT2jQ)8MQoXTU6N zfO$TgcNUIK@Q0Ia>=tVi^-QX+y(KyaVTQvo5!;!yxAi0>Nt z^GC*Olyi7*OsMO-T&45@TMGuAbaZe_9*Y`l7=<#!y4^CPd(@1z0gc z^2PAZ;fv?oDcn|mXO4}H8CwM()V>~NW?>N%6$Lh}vURr?6ymYLSg5|r!8^U;mbId6 z=NZt=*!!|Nnkz77sZp$=F${PM&D%d{Kt(uR!Xl7(Fi~kzBgD^dd$2wR{7@||Ex$RR ziS6xeZqjyiyhL-%Qo;Hy#o>NuIeA&xsaLSQY*a+m&Ea0<5uxO4iP68zw`fcG7B6Qh zYZ*k^{VkL7P_*YVD6DuYknU0RhVhE%wF!nGP(rwWx{^X66piRkm(p6@Jk`0EQeZbc zWlf3!+NF0i!3|M{g9%{ySTs#sT)fn{^3~LiSv;HctIf$OexS$;=ungg0qq{+69a>h zSQg>+^>v`U3ov7%Vq!BhGiIiyF)`@lL=Jf&0Ri`GxJldO$Tf9d#$;7ReBkT4X$&TJ z`-+hEEl*w5ohvr?)NFpXJ0i=_0n&qBaS;YKms?G`Gw~g!555WCdw0cH8zT8{-AY)q zTN^%p`+Q}!Az*I>P_@8!d&NeJbiJC|!O*J`Hl>}U=}N(bbp@S1G;ni&oYUNI~i|dl5;o zhJJdw!|6&F^vKpqSOtf_bNd3H&w?m_dy&8qzoCCdDm~57>?KK7_(nyu`TO07hYd+R*X12!$2#+|~SCkGX0ogtcH(SE9?U@kwn zPeI;gYuAc)Zy_Ge03!;aHlQ}ULXmUX^bSPx76qszsh_0)ah`tqJOt4k&huwMBGmf` zd4unwmecL_K)Tr8yXRtFreJy~ArPiB`Cy;_)~;p!yYoMl0h-XGf3wdf^~ggYmvVmI zJ^KQL@y+LuCmn_7c{WeYD^J`!QadGG;zP!}cOt1(+#$_l_1kgrlD9oiG)=X4k>U3{ zp34Da9Qx%AgbMQg<(t*}jSe#F`tV8LvBGT5^uZk2aP;wJ`uJrXR)*JgAT&40WbARuEIa_`hI71-ZlRpb$K6~8bpZcuo52^fTWn&&*gHd--f8wpP zBMj`06y$Ps3mc^mmyVlMG1K1IFDlV9!&ZjqR5v@GRxb#}a!+0QGn zRfx`ml8O?6pGg|EBCok-bI%2A*bbh^zAHRy?P6ZD7}qCRQeG}5E>1);z%F4H)i0&^ zi<>WY?L8<9Q`?S5O%1A^%;Z6lBOR1n^*eSbM%L^5pP#0Di2yeYq0owZ!=`U{@oqpW z3(G6RcZg%;eTfMv+71@kh7XCcPZA{;j@$Ejp9y74d*K&sh3`Ipp7qRhcM5G57k`l( zzf64i@SzoUw$6VcjK4c6?Gh^oZ4{u<xzFj1s(?RDrEj7eUrDs{oxfhK&EawS z074yvB9Hn;y7m-uTQ&=HeGcfRGTHK6r>re1COAB+Ym)PnRiG>0>2?D$GSk??$3Sto zhG+NbGcy-WwIWXL^&_MKZTrVC!vRKgE9N46xrwK@bjV(O$?|t$`ipj~P zqlH?RDXFM9va_OUry0{YPO2Ohf(kWC3`EOoK*WD}d71V}aPYalYA^HvW^;|k?EWY$Jy^>5V-6TtsGF=Ih!clh@)+1sFK*nG4xi`JK6{3S@yDk@Wh?=>JOp{ZY3NZS@rO!u(gkxN#_2pVNwQlj&-udrJ1<5UTc2^= znzQ7)!Dm~lqf^|b?hyA^$GIzCnMe0@|5Sg@D{&6On8+tY!K9s{c6}t)X)?w_fH2Nt zS#!7J;#&OYP(CpAZ!rI$KC7akWy7Cv77|LKwRxaEeI_MFu>BW31*JGJOrLoS+-e0Z zU5gjb8z3{RU^<}%U^=~vxg_j9rpf;!uw)W?)S%WN>%s#ofE+3*(mt?8D2MK!mrSwx z^g;2j>!8Kkvl})`y!_h<|6ki3`yllB8{4xViqkY+iacUpdPt25>nQP;sQ#tf9y$27 zqVziO-+960SCriRe?BU8Jd5K$Q{7>`(8@OY!{BOmhj3{QYgC)z-=Y^1b^Gj_D_1i{ zS-#@Kv@ZP&JAX%5L_OAAaKVvnBf#fH)2k|rL!BiSgH3x*S2=ZMxblsA3H$B63pvTB zp@9M8bUGumo8K8=b$PfhR*;y{{IyS=Ehc!y&J8XJ$YoGJp=ONvKEM>#k+ zw)~p*M|41U=5Y(k+Pv01@Ms}AH6^9Y<05P>Xs@3`&erp7V)Mh_sAmF$-FND4RZWaY_V-#wpf)+btzx!H!dvOOS2h>eiiaD2P z%%jL5Ynk@B_5Ftj2j}yOkRK&QZ%o!;)!p1sbg0In=6X356&K_O1&}F$`|lM6c%eTi zS_BMC%Yuw!>)OwaSP^Odr6P_>GC_^Z88i-`j|I02wuLlNL8iHo4eIqBe76?tMUFQJDGiaejD*@U7pf7&h?-s&8#QTE+ zNE%#Yl9iXInynKM7Pbf6&)|R8*4CJ69rCw#`zp=-=H$yp5hu%)Vfx$O^Z8ZUf=kmS zom|`++|3_)JaKX|b22k~_|Ri6GcbN?7jK3|5;|r81a$AUpq8;!z;RMe3*3h&A2v84 z8GiTfg-iOHfW(qL(NrRpTPeimXTrt!Dd5~!ljj#0GpNL`nllBxFs#z6KGi<&xA{!V z$bJ=QuYx`y5Cn*dih{;<@D4bAgbTnYCzgciX&|jD0~oyq2J}F_eWPz^YARs&Zw~;R zfh1X!HE0+g85vpM*Z^FSL5G_rnUB&lGua02##xT9-qX?PJB{F;UzA7s+XArlu)_@r zi7T}Zyw!jpi9`zF!vjd0(1WmSd6!2q$(1TzLiY+s*1X+X5A=+DbV2-w45o6P>FoS+ zv1r9b*{_X90k0)ws}pzeS*1Bs@h~IE`r%Otp)w=rH$-=`}y3e1D*(R_GC zg~SGPly$xH)Gl!84668jZ@aX}CDWOi^F7n7ZU_Qtq$_@XeZbq>Cov%*=x9e6fRmiCt4D!o%&`|* zMn;Z~mfp0Hk&b$i9_vdfKs8Jkb9VI<*~$~Q`&YSbYVxKG*Ci31-tu*~o&;U($FCjn zgQl#m5|)S7bFO?@*_J_{O9z_WpE+8)+WhRcKa7G;(tj;2)zQ|DijIy2EPTDBXkvSN zdrC?Qh{iBUN|^VzY=43<(RXXw4&i2Jw|p9RJr+5{qVzRS^;lN=vk^OqZuN7EBfRlh9F>IE>dDB+&bWPZ z8YEdj4`6zV=Cm~H-)e$ng)1NaXel{%wJ6)Q+J!s-?qF{~31iR# zhM`kzU4V5``YD8m_A|Q)NCp)^PCXJv-ygUldV-2+UWkMJ(%Z2}n#D9nv(Qg2A4_FC zdjGuJWN`8&`j5#+A2bK+cC$q_*)0?n&#W8B#MT(ljHgM&J`wR7=M*a7c;yoJM5Hdz zB0)niqX+ME*Ud15ZQxUwNXmySCJbLhOy7frh19WpiD-t;CZe$Ch(JLTKL+uVdpCh$ z`+2(Y1(C*A*j~>DM5<8p7LB&)_7x52CF-zCtvl0{DshNPUECMC`^08^3Z7&+_x;aj z=Ug;SmP=qIBJ&bYfY+UgYI&JJVKd()2e@28g;$+&T@@ z_m>f;+y1cdrH;P)E4tRJ+QARkdhy7bz?xga61tya6r?BhG@&zkbM;4Y>jRWYXp^Yp z=7lejXbD|&`3s>s*8!E3`J`eaf<&ys6NwGfN z9SI0yn~*L|lzY8N?C*`6p}$UjbO<9dH=V_}ANk@Y8>(#fu%mE7xeX1|e7T}f(-ri& zt=a44i=ICw8H0*`#zgC+rI)mQd#%WqlXISn%}v?+_d4=xiggV3^gfis9S@`MxmVhz zzLmLSdg`;>xvzx!?Y(+L4ALz9Cd0t-gW3JTMyqFA*0(W&5Fy1 zL5_l<)g|X>VmP^sg)l7^8&d|0b%t`Tm+|s#oO>1%YRp)YTixatObo0|Cw(VmPsLTYhL zG|kMdCo_=L(2?j0%aw0`bGc_d7ozHNQ%&2v7b-*IqWjLOf2Qf$eh$Huwq_&w13L7}anyv=rQTK1`@ zr+@C~m$5-Wilf%JmR*9?6OA+n^|<7&ODk_1nfUyjynxmmFljL@d3?jPabBK5ZBZ%% zi`vaWTOJ8B5%=LOq@$y}GMWrYlXp332P-XDngHb|_MWtn7jMR%##E3eXIu;@4E%~h z@cX;}rdAFkx&0*|>vu`&{(7b$5DWW1>QckNE4?Y?GI% z*-S{_1WqBz_Wf|LR)EPAlsm{DR8|0Q(CP|DMXs#vPb85FgCJ0Kb!l1i2d~$G=D)FKt9=Km zffS)>Nf?ioCvxrwunkcGO*}3}hC#^f{G)-WsD%9>fFR^jORzWf+6;#Te?EqI-8Xn3 zpEbJ?ae;NuzMK!8$()h$m;3B)fyTu^qEKOZL2X9;j*{_-|GMpv*+`o0yz}518vG5I z1Y*UVo1J5ZY=a$x#s?rq>O2SLDk?_4T-T?j3PTkN4SA9gDy8GZp#cL``&;|u=X-tg zn>$!`HVf>Tu8Ge&Pp#i)o~(pkj9nwt>&QJ)6j5t*;P1U4A< z#G>lz1H?d;#v|)^T?c(FQo}fNE449bS?9R5(ns zBl%tS8y^7~oGK$i_+n>le@;nLGd?EaTS~0+b$fT%dXeWYMHK)0))dtF~WOfr*rQ*S>qt56kCl0}+c=T66Au7lW@Chsp z*INMA_z@K1dDB-lR-*F??Dh+Otb$)6A3#JO+-tVaSQhJEqfI0j&hGm7J;``4cc%w* z#l}Z~^wm*P)Krz%G0~ozaX9_Y)22!mL}d=72-M~0tLF}54b~zp0qvj=6^$roFSNA4 zc=8C#*~#g}%Wd%AGvV#s*7@qO5;2(^B~Nl7*f~J^12jQ;dU}i)H5C=NwF2lA9hjR| zS~*TmLhzWi%De#ma&qw1Rpg)$Gv(p4=b7E-BWY>08J>IBKB}rO--r6ZbmiGDeK-=O z8GGnsC7}vkoh6zL1vNGPa4>*7Dmv=&^3vU>^=Sim307DC%&Bzg+fv?EDYdY+42g)? zCnwPBv?vwJ%rDPTvHde|H;bf?wa_pRlFb#+Ru;1Dw+ho>I&ER!F=MN=ny&QO1qlao za*6DP)p^Ytwc#Z;nS&o;fM3;PjlsoNH$9=cOyn@-&E;n0O%O1aG*)(2QBjd~8T+Qv zV^4zBy}}M&&!gZLRr(?wC1qV)RN^MBbm}}-7ykSy5%Of2a7r!Cf96L*cJ&Yw^!~>gTVK7T#@)R%l*DDBm)F7Yy~|COA_U8=YsFa$ z8q3YVt}y1sJ+(wAptBkh7FL$Pgj(|jj{5gVnSKhN7 z-v0ib?fojbt>(o{d~LUuwg_Ri%nXB%g?&AJNHxY&;;ig!9q)_RCL#WC{<>Or4h}=* zg2Z8lUc3;kbj%Z0+uFlRFrRq)_>#-Apr8;uEXwr8K!or433EDGjVC}CgAx&tXjIs} zQ&vVI<>HX}FBuJBMy}rMHNlHKZ-MlEhk^36}hNkH%D5GY=H$WI=8T#g9FH9(k6(| z*nFkm92hbHorOnX)E@zLe~&L>n-H`+r*R54+Bhr8b9l$$-iV1lvC$;LK9sWxNCXoRWt zZyhev1D*e?9h|pPsy)HP8sc!+F~wQ{b&s~$Ba-mLhbX+DQhb)J_mD(^=Huu0mzWEf z^v}UzL9~ss`M>)D36iSiI=Z^ZEc)qQNVUTU+c-^l%YS5okfpakeg$tR%bqx&Kk~ST zbGj*%^h?!PK^9m-UH*Ltk`A4q7;Y8uV|Xhl*8k)i>isdK*|s_oeDt8X$DcizD9ozy zygaYhQsMc2&?|1&`%i!-FAL!|PH1CqpCS1;eh0l_dhNbfggV`N)UR%sk|5$4V6E?A z@te<51tn1%yi*a?N&&KiKC_18k)!Txr|so<%Ta!wrF3g)f&-ou3`M?!HZ5 zBRw}f9v>Bxr;z_$L&MNeiEuMNtgkq6(_Aci(2TRA%iJxMAfOiyZQw|-%Qz>uqx}tW zl4fx}7{_$lZ!@rp0)f_gsJMwXmy*Uyo1#LYQ%$>uFD>zlg+z>AgJv_{zg{h4h7UCO zqxCN7WA_?9bwW+oom#u$8Vs2}!cBAfSatypLkk;O1JTxRDw--9R;&cm0=4jsWG;p$ zPoA##e!ra)Ps`1wW>IGyFyaOy!q(PTUzj5$f}X!J&K`sP%~^4BKHE46$Y{Mj4VMk+ zhyt%(@Wj(eNQB_^7Ul~mDkyz~wYAlPSF7s07fUGZ;@>{v`O5p0=Jk21(938}%WMmz9$*=RKz{#~t^W z6(7adH^Oz~>fS4~HWoED<=n4tFy1Hnp>_qfR;dD(APY9S+sLCqSb*cbKoJK)=t)=~ z!XySqUco@rQ+$1LEc~1o11mcxi@Lol-_S6~OwSIWN9Zpw0K1TzL(Rio1#0z5S0~x- z{&F!+z=B{rS#Dmy#Ny&a8kuBia;&=Fw&xd|SgO2v6U zbZlgdo0GFdt+5D++|6Ity&jd@4~mEw-#!t!o29zD-R3X}smaVd0vIJth7?Q9FTUo( zH2l4fxAHcV7sLI9 z$@u&`8xEcaXCIs{f_de>4R5a|$Mp0GHWe|u9)HUe`gcJ8>(A0YJUJVk5CcvaR_uv< zsq>YFsva7@ulW$x!~|hE=hfB8JLrTARM5=s>YHsL<&(t> z*%OBp6~j|`V-r)yMu&-Wamor%f-!gw|U`vy|*qRpC2P9 zc%$X$h=z4@*mB3i$q9o2&`<;6VJy`%*_C!v_w#YU8&(-1qO8I(Bwwj^qSB%BojFt^ z7FcrT&99WvaDoLeZe#+;9-u{+NK~i@*Ht{~w+tC7A8@L|lDF4z(XI*^dSWZ)o+W+vmpr))$ca-Q?%^Vm zF?KGN%myfpknL&cUaAhXpwRaBM>$3MR~Rx(+4lbC`E=8+d&X<*o96j2X;05wu}r|m zfhTrrLJjx?=O#Oj1P6{}m`sh?C!3o;S$ls)rocbD?96!2&$H0LPyGsY>y*i$dq!Ou5^OvzNC^SMxQCR+fd6R*ip$LULAC zX8!hB@(Tzgeb@Zmlatc4S>FXxk@f_9zs08v&WzDnB~lKpwr5ptdBWf5;I(14u}e3p z$5X5Jz<1d!SBn^>5+`g(J}R_h$rlLr_i8?2q#_JPVMEQ7??5L$fn~*X69z;g%JnmK zD5L3&|LSK_ils|`>UcpUw!+Sb)j=PF9@%e%`xC-9sSaAM>m}Oit~viLyJssz#zoCc z&E+e-85&mTuXN7J&RH=suB>#$#OksSdVWZsU5?QF_2wl!JmRMqiO+LmV$_Op%!qZn zuSQq5|HL+9wLpTWaO?5LuVX>WxdlZy#k(o65oFysf1T$Y9o>38Sqn)ATivG5fgHsZ=N-Pc3@om{i+Oz4 zn_v2JHh!Um8W83bR^6qGlkM-5Uyly>7-&w8jT-*h=Cc0|uurIkr6m>Axu~|ZDQ%he zzM`BvolOGxw}QdLha?N3%Y0D!@V;QxJRICDp@vvTY*Z#eRjwIq21VI0i2)@VEO`kl zm0EU6`Sko@q;Wx%p_*}Sy6!=%S{Fn%c$C_FN!_6T)O9`ED3k!>D^(j~4^6?c!ZLQy z8=Y54vEM||ktb(nVIB|A?10J7vb4GyQJ4geWBxurHW!%~siUDaF*IdjeGr?*W86}& z-qyyStx#jInbFvI8x!9C`#Z<6{fZM=Q z%m6jSLTP%mS5fAOD)&RmT5`o(M=E+Gow8Oaq6svO99&@7hBuf8pUI^ z!N$hxrMjf}_~Y~QEb-kI+x>QeB9?2tjkmY??lohLe2>0?{sx7q z(O3}T(uOa3&~VJ5z3W#Ds+h0=o65F^X%{}Ge3U2-t*WM*@cYD(oP8OU>b-_n)N%TR z0dA?}M1%P&sL-LLP&U-npZb2w)p3m_e~a=-1}v4>#>A;Q=#^Wa@B;2wOyoa+#)~qS zmI&eG4uX{)?0MLOdpCiN_N%YKMi!F=1G`)TW+^ctRwdAR5GtwK%w?s|r&%iIJKWzs zeJR5sxbnE=;2_vdhvB?uOMgWp{$JPZv;Dx`yl>N0pCve*=$v;o!9SMrsQLE!Y&MlL z>(-t(m0s^J91e3tkg?D)Umoe|{@g1EImG}Btv_oCENwbFd}(vLHj?iSj)%?*KAJSqhwUPFXZSqUyt%o#Jjq>8u*dXCC^D`S1|yx&4B4N^v@vpADyec6aypnm z+3nXnv<12x%h-+48OGGopCAU!*t!Z0iV@(rGFRJx-4<>_Nz9p5hg zGQ)xYNIhSu<=&laC7ptysa1CfnY-1FcrpCjn>+3jZ8qOIt<(*WWFsQ4?3z&^+pF*% zg}96$$J_z_(UuKcjtbAPp^-x%N7|B1z9)ts(Wn;f=#}>$Jlrw~k0uUtu<^g|s}igH zh~`}yIDGkn+F1|_gILU{-BD1)fITmkK2Bdfj*vT4T0(M{U`Ix!%hlrQNRb^pO~?k( z(^{~sPX4Q)80qL2+#3t)XnigA2A6XsgVD+n>_En{)VwP1K$A@_kd~7IxP+86JWVKb z>AYL=K@S9T&s-`ce~=zgd@7)BOXLyXdZT6c2Yu^UA>I?^9=J-zdLG z+9k{b>yaVx{uX|=lZEZN5 zzm~QBO*0DI5=K6+t9ZZrXG|J-`k?~mk$6~okr}8H@Q3#&a!{)e-sU!;x?*)E@{>%z z^CKYge*l3$1t0tTY`rY<$yYJ(a~kRhgs)5g#|fKqv|e>^x3Cb?N~Qr|mj;%FKb36w~NnB)xj~JV-qd3L^{R?1iD2x#@ zxJ_TaSHrIUM-e3aZi}*CTgd#<73<5F(*y9MWmQ*K=M@o4g^A(ND*TRKf7OnIcmRQF z!ER7chE%^L-CXHjAJ37`U>otz*RK8TVV+p9*?n|2w`j;OCv;7LrR~xZ5ISOXwJIlg zye-glwhO}HHqv$H$ffxnKw2T=HW2$Ck3mn_?>!X;=16S3&ULq`u9cwcO(&9}U&OYp za#xorL8P>*l*QL#F0Oc5r9{n!ljtRhV7*IU!GQ3*L;ocb49^&7JRd5aZ!EEzssN@P z{8xBDWpxyckNfViaS#bQj1+8a=~>lgc6M)=nQip+C>S^pzIx3--_)%+&ge@5$-R;B z@mERWsU9mlccqyPj*@#Zin(%@Bj0Cc=t`R|PI*ddhBOMYrSJxl*=AeqV`G(p1_e;N z_--SBt2})gXv9AG(&o~{-hPlg&8-$e+q*0dZt+`!^!wkAvrP`RzydbXD4xzffaxX!~^Gc9ghoNSo@*ZUd&Evs?O}MUpQcE#Omm5*Wlfo zJrhx@uv=_iSODCmJ8{4J)$CbuHkgcZvk^T&01eOwZ5kO9j>GFcArA+?m~<;E8Zz7B;9AV89eMCyX6$q^zj0_~*Vfmk$2vRPe;JjB9v>Uh z%F33$xtpu9{mDGO=>(eSy)?t+uS38!4HYv4ofPL+1B&|Zgt7WSyRkNBtn3eZHuY;q zK?`(9v;uYKU#hZRNF?MQVud`c@HuhVZU3!BWT`tCW~sz#YtK_sbaXs^^0mWY@WnPZ&XT6a zH0Wlqp;N{8czRx8V=wWAFY^j>bLTW<79txA=XMBh9(}bZLQWb`rp8EqkX2a&yY=PM zCmcfxM@KnIqp6cWeVo1DD{6X*Yl@Fw^Ko204Zua^JFEvKxl6f&hkB4`Im#)v@0*`C>Le>V{ZyF*VGd_Z#nBQ^Bk#~Qv95{O& z8K?6#i7Ry2Z#_}(=a(!RY5QaadyQrfHT=(vmD4`l!jv68V~Zwj_#O>&vjs~_3Rk9f z$&US(K=S05t6OpYYKFaHXn;UCZf#lo@51;ZBIpDDeK<*TA0YWW)HnaWMw=3-Gm&M9 z7&bF7G;qjW$%`onJ+5f|k`I3Mo;XHnNogZB7qN~CP_$)-td;6Cx`DUBYrexndp3II z5AK@>zzYP1T4EJzHqTo>$M+oj)opJ~laM#a;*+1*M@}Pp>Mm0iLyytc1g?{~t%-Uh^VrF_ zN-6$Hw06?CbF|N8+8tw(qGe!U@W-$uDq#RXIElje#j-1mwX}GF-;#faD{J)h%BI873_^6#=onzh<%d3t)v z%F23q)mtzA`SVFehNc8yk};d<)%Id8Fws}exSv*%NB z=8gO0>K#c@{&RKV&9Y8jfRylZa^milV}96YfZwa^SpD{1&s7qhmR`o@W_?i72j2}E z=Dj*r(`uz@NnG0EBc(~IsW3|dgSG?^s|+5avRjT@|LjvzQSQuFUSvRrymcDdLSHpr ztyB*bAFgsVZ!uv_zuhC4wUe*G&uApKB3iye!wp~5mgQ%(li!-b)j9{)7S-X~;Qy{H z?d@X3qLmAJk0m}OVDn`!ReV1A$qZ4qs=BfA5)Hm7YU>MNIreC%Q|{=<2G!Or4e#@R z)mBFN|9?^WS8X}TgP$HOEby zz;LVCnlo^!NrJnjULB#`Rqmb~Q#D;J%K7Yl8`<}{jZUdM^Qt%Q8jaWbq@Zy9XL$f~ zkgDn8LUX^qYW+_cCK=A>3eJ5dbQv*ssjc_XkvJ$A8NdJh`KD1kxEau<{p}6yoS_QM z00aD=zDPT+?d%RPv>3pP_LT0H)-5gND;|ZX@m>sj`c62UT7ij4o}RQ=vv#xhVV1kZ zB~32d{S9bq1JkwE#BHIfdMb?H0jv&#y?$JCXm1}Vr=${to0CI*C^&$rs1h^4ivGUB zYjH;VX*eso;bOJ=>gz5BOH*kEesymX7x(-*y}S}z?BhQVK*0v8Y2c>l{v`CGba9a~ zQXy5al;R)Q@{E#S_$w|OdcINtuwiEoo*%}M&R=%Evi}ZR32#=?Y^L3T^o$+ZVwU%Y zpvi9gPGuVFj9Sl32MN~-SQ ziwtnH|J-w)cD41{N^F|(=#ja4Ns=sNY2xK|?W^N+vh5w%>b!u-Tz+wsIHIIeh}@ZD zn*Z5yeX;(6m{ncf%B6DkKpz^F<{0kY6ZgE1Mbl)mL9_WUqc*1q6PG_+_;zG~;;o@ZmHz*XXtBes$6jjyM^xW)7s@k8^6?6{vM+lyG(caxuiKvc` zf{0w`Yd$_Ywn)k~9$&X>agpoW4t$&2abKPOl&Im^*_%^Oa-aP*+eB%TE0Ug^SQjwG z`s_F+J{H={#-|=mZo0HQ8I0;<_f3g@vfkZ@QzM)#mPrF2MdRs zC5bD9oM`ELk}-$LLH)tJSYSArt@ZXB20EZk<18&#?av_GZj;rVcjg`i0@wW3swt6} zCULP=EnGjL)MX!s)z!!Bm&3wmuUY<*^#9y+xE*Pt6U_L0lDqqiqobK(V`0>~WnZ>; zDr{Jicp?l87z1BKQc8+rpP(NGeOuryX=q@Y$^P8@;gBIAl?`0FE^#npfr8pqs=GQF zrAf$cU>7)XtzGYo`is<0dyE|jv4FDVsLB!%Bu^^j!_G|;2Y-TWV^8d@?E_j#Cvb3c zb4~BN9ULrj6{>3F#!C7hZMWIafWUt+Q`={!oi6ePYF5PfCP8d)P>7+U5*xtDmLGaf`Q>ixaUltBh1^O>me9O%SY7e3n9x3sX_jUOKy6FRNa z<>u!0uCzAQ(V1&-yV4R|jFp!YZ_O|pi zbx;u1za4omE{CG%V=8b;GE=tx!}`=e{?;_*ypKw55^v69JOTjQ>;LIa=7>yJ4*QI< z_}sn0@&@xi`U&qP=joigvwrb+xP(wL%}>qL)M}@DvBpNM=H}8~^;{G0*a^E=jdtU( ziF;Cnda|+)A3c)RBFP-IGX>|;>`eKW?_zP+;&Inpom@0cK|{IB%0)%&Xi^2LQER8; zd-qmU)XP>^cQ0m>fA(Y5hhOrn1aYyYTHPr^mMO6^Y5ixXQ3~B4iZHHo+X+Uk`SUY5 z5ftiU24{M+aCQ014EHB`tHDgaH2t|YAqDQgzNQ!1)9ZG#9~qKTQpWJDtt7nO#KeSz zx3Fy$rYnoHMo>0`&Y)~xl7hCTZbDjDxwNaCuD9V))MLl1r%zsz3YD33V5jK#9-nWn zO5r8+Wg03JX(D&dyMG6lV@FTUjE-_}*`f{{Ax(+ED4yeTz=wg~w%uM!LjIkPj*WDv zBy)VB(r;xce2i@|m;J7dSD2BEft~ZUnUCP9d>s6`s-`z0Je7WyR=9P7o?6~9{hXmL z^#w&G2;I4{Mc22(3`Zr}rwA>XzK!<$L18Vtz+C{gvVce3@7~`Ep?C{!GdR`%bpVkI z7IQHyO;dnm6Z98ldo9qT$7y10LL#Efg~*W3R`6-?yz4wE1Z$I=ipoGDpZDPPBKycQHwOqQZd>BtEMGzT`R6@H>$}%n{0n*I-8$0yO^ndci16Ks6$K=%#bTw6N*%Lw5 z2?D_mv?Ko6XZdD!AL}e8p;t39Gzd{jmfis{>e?U_@eE>6eSOh=z&hS7FeLVDk@^wf z2(+tOxE0lv33FBaOIZO2DpAM*wxMa0z$dim;^Y0<&%Xs4p2QthDEz4X3F!`{X>p(X zJupH-vx{H-#=#~y9&O%PRhvvHAEn%GuBh^~9~>Ehm#oWY_x$g+ZIBW*D3|ZgEmBK3 z(O&Zn+2ec)ZM-sWsn0vr@MC}A;QoNgN>ocmpVay{{WGQ<9X_W6p_x3yjeoXJTJTUQ zR{rq-gPtJdyH)l_2-dO#yJQ8@RkknX?@8*-BJ;ERq7#;WpXn+61nZ795n)Zbmr5nT zXRXmxP+Hpblj3f)O5~ZVI)p+x>yHF#i)79Sf^l-$J z=#LJfGgT!u*X3y3)moZSX;&cq_B^V8$sLjEasCc^2~rnyc})YXYot4Mewr^YeLw?8 zXrHsAG!)?3e@3ds4S8#1)&kUW7p(beidqmh!1y5>Fblxkl9dJ z=(#l_7%MqC|T=ENTUfwzJ;%mf(RNCrB(IylgWMOgm~4ib`+cVRla0JMDr zur(a)L#qxoqRitK$gu{sIQd_z#n!u${$JqxTRYH<(lgTU-{Vyk6&a$-?)egc8zFM5 zTnfoVcDlQQ6-7kQV^3fAYyF0IzWW1Y z$M#pRLe{h$M_-9tcMr^3|J3huNL_9^x2Ssi7zLsmbeb?BaT=96F+l#tGY1WD$0w25iM?Tg~j(3YGS1&y$7LIo7zA#`x z-kw*ZD*t$l23o>3xRAF>t>bkZGmgOS6)AC(Eu8<7tohNsU+Z%>)wfCpa2~25`0zZj z`xKV|^6iEFW$rT?!Pil9?hrW5dC*IUo&x4(0P2}JSQRz$ngF1A{sm+=JVXHxG6m{_ z!xPBjy;1cu?4uFmdEOUA(20hyy8m0r^|{FWFgK!B=nDRWgHqj(fL;rd{`K8`CK&8K z#%BxTiNDt2ZC4tx49!bTc65aP?(c!dYkDJNU=B=KSX`Bu-C~RCc|pOBg8KkM-P$DX zdEPwDBgkRCADIwzC%V!QAuKXI#%uf!457ZD@#w;Tg3$IYJ&K>xzWd{%j)f^F@5;DCRe~ePd@H3#~uTWx2z7r&kd5} z{v=!6x49sq`fat!7w$D*ziRy3t3kgiZmbf(M9%!$ijF-?7mmO^lJs2@0BsmgGUxRE zY>E*jX|fL~wrPXgM*hL-M4MOM3su-_-+Ei*T|qv1uhlR+)S$9Ef&^GZY0p0LcU*a#-C{K~+F3ATb*sf8)Bu|*O|!kbUHT?zY<8F< zW1JXWZ1-n>t@nFF#SiM{rmAvkQWy{lx^rg$^_)m+CN$T!^Ka|#u7$8T)`WR?jPf1p zHI?-+HRP;01dWeq;hC`830rKYJw@StnV9e&1XBA~0`~4c)kKt^>+sk5rdGhNV8q5r znzm1%>?v540(oACim^n_RvH$P<`P)%vxo_wOPN2&7#c;i zDhm1RR&SJ*>r?rx@*dl^&{5n*mWH$Q7U8H_{aSCR1kC$pGsLqeLRWkWXs>r{)jTblz z$hN}N3Gu0>53Skv^=SRp5Zt?hiQhZ|=D~T+D#r&_Ltw{XU-ah{@7xWghATlgN%Ou5 zs;UU>L-hy+*U277!oS&vJGsHVQScHS@TDANY0vc%G488|DCi(2iZt1)Y<~dHKOHy< zd_kU{U#tmcL;<-)aiHlO;ko~-yL)qM%L4?e-fou;U=CDOB83hX+A2w#+;5!wAB2OP z%&xpsu2gHyTC;Z&_E--|C?2OdGl<5GcXGbp?Ae{NlQSZx?5g+UR>(F6Htz8<&azP^`bykR-%Wo-9w&Z@ETJ)8r^!ZKp1 zGp@}G9)Elu}iVVHLc!04g|C#LB@8==Erv5&^lP|DInBRJG}T7Yz*yTCXEl(P|V6&77Bbw%35 zNDnC87RBeEq&5iyi1+hhcCRS3YQ*0JmWjSULPaI8{mVdi|9oeC6^Dzmy3h`7CNEKY zIvgBC3fMO70&~cAnTU|0^0-?MPiYx5V7g&hn#2QOeojtK9s6#7#hjJ;+su2DB-wY6U~OsO5k3Z*ikz zMn*+)pm)PZ?K{;}y0I}F#gKwD@?-*fWZg=yu_6PM6Wu~0dAhol(AmC>pJE$wJwXJ) z)dKY4kv&G>U1PP!3><3G-xJi3qS+jT2DtQ4h2JZJ14+CgpC7+r{zXnQg!gK#s-n`K zL>$%~^xXT=S6IyVSgW-W6oza=~DT4&EI@ zj7ptHm3VmlkFQk42k{>nLY_gv&+Uz_jkE_!}H&5<5H5`saVCSJz$!j25bljE#bF zp&tzPs;Vlb5Sce9Gcq-`zVR4Xjn@(6;CMX0MD^>h>o#;j(XCcs)!aP z$yC3(q1W&wvM;n}{JS_jkCn#T!YV+FOtaX!Th;UzLFMot7B_t{=_gRhVd|{**FVvx z|IDhyq;eQ=9&cBmw;9n;I|_=!?0+ZFb#J1}E7}GE?1|nr)okFuws9SMdpXef)^@!3 z03aw(8x2badw5=XUR?#5_4jT98)@k{!>eE^9$ONUp|Me(kyLZs0`yxuEQ6?X2#G#U zcW&$KMrvwWIgsS*a0Pevdg2-dPuh(6Qx!vg!#@W;i>YI}36{QiMTsh`X7WGnGO5qa zz0?GzoC>{(T#Civv%Uv^z_r_rcOuV24rzwUT`cnEY` zP@raKXFDUELD5Djtn&?S^dZ?f!#s;4joqVHqgWlEL9wG;633P=-}*bL?ps*?Z^YV~8aC=HF@-&^$P4AoQDi9M!z5IGKlt05%UYyU zb1lNsBnczwA`E>31>-ZSSZWTwRDtx%ftE~X)Bbxi6L1hwgVv+>=>>igcdF<0dC*07&4fy1qwNmJD6?O}^KOMZM_R3Ku(Q zcf#%k<&`CSzsi7n4Z+FVXrZ0<`rxu9Eu5|SFyLs)A!JtoBMC; zLr`}6@ZNs~uOwDAjy_h||Lk6-$UKb*YVg1VZ1L$eZtQi8G+z();5QvwLu2}y3{y8& zA>nQ#?xS{1VkakzlUy_Gty;|x1q4BW_0~40dM~r$bb<-H^KpZV*R^HewxIz}k+ylI z+6y4Oaq$GMUz}H0x3`~zYD1QR&O|-HSUt}86{>sBWM#!j3_$a9VsXt!wlZmDkt{KJC{Q{6@-GCJ0}q|NuCi4mm8Ak zGk989)N1vEgKz`Cmu%gTCI6 zz)^QlFXJsq)rkeJBxdU|%s|H#Ch=`+jp`D;E(z(-#$p4rw?{&H$`?pux5bxW;7 ziqxIGARl%I7&XqI`?kt&Bb>Qc_Zh;|wvC4@5hB;X%S!4-_khA|Ipu~RUdsRLn}-m$ zuWX>$q4_E?vpX~ViMZuOo4kh7r-U?9_M~A&MMf zL{Y0y$ceez1UvRMeu_JTi!Iw7i2)woRyFYkHYOVrKtVo9ck9K`{|q6HXVIMcGm)oKi1s(v#l^YX zXs3@yOIu0pJdie(kZA0=GZ}D_7=&52V}EdSdY{lLeoO~>hIL;Z>g|-6V~5tz?flB1 zk9APXEi5Sn?N3pfXeMo576y)4Jx*k@b&9-v=TUNto<^h5I|YTMR(Hfbtzl>&eD2h9 zK|Dqn+8Gd#Lq#i#Ggy@P3XmH!APqIP2M>XcaK7pXmOMhTF;Wp_30M+OiHJ`@d3}Xi zzS0;E_qtq4t9o^6VF%!nB`Y$YNMQalA+eq|qVGmumoLA&A9>F2Ksl`(GDQ_wr&)ie*X~w1W0Rih*@d5G3p&ef2);6D(bT`=!A+^L>;7QC=>5 zXRv*-UgF(H*NFl#FqrYlN7W(3U%DuPb39v3b{xYQ1fc-dh)Q$F%e}^fbvf??fpzl- z_btQEBXIj|T)z3!WpVNc#=`csQ+k}mx(ylW`Ton*LQh}ta3TpX0wyL1pqKNS&}V>c5q4MW9{Zlj^R(L}<{G^@!u5!R0|{|iO`U>i(%S2-{=pqP{_^*hfA z*qz6~zvq$(_Z<7oedDcvt+0Vuj|No**lh-Se*!mU|qfHOX=CogI?xre+s$G_Yu6hQiY7 zx3c3U7gU%uN9G2RXU+Q4Z-{I7CUXld6%?bar+?yj{s1%j5~VxslZ#DJ2cor@<)mcD z2Deuo_)Hg9*x3EG$Z#?Z2te!&7r1^lKV{)KNCW@}7+)y>PC=d;>TphP4@^bB-G z1;sDd)U57}vL#J_qd>%1N=bowrIEh4sj9f?_~0@vUT@O$=T!xqTDZ>Cl ztdeG7DHKrj1;=3Euq!RKy=!@|tt}*YSm&~DZf3>IM0Yu`z5fh!wJ0DNPYGU=v>YpN zK93h9(5$p_wyD;)o_uE*CSZl&EUO7@i`wWcw*uiX0N-i*n@$Pl%P@6GRN#~`HBu}* z(hAzhf9YdtUAP*C(-3l145EwlwW z@SZQp_+0x?(;t$+j)8=ZlufRbI&w2+!qRr_=rUd&bv+PKqkAFe%(1_-OP z1t0=ttVz3$Seh;xtrv;+eGO9F4n^*$pcyRi4KT@_G6PI!cZOzA(H0T!2nkO4t!(6P zW#$$X4_|fSOxD@BH8z8q?O(6f=({NN&fbODraE0-mBEBUctZeIn!X?p*PJoMaY z`vn^+&^4f#m7@|BA53W87h;%d6rcV{Zv!NiA;B7WXEDqM#>06DV$UQfruJTf?x&x< z0F~I2A?RX;{}&{dxZag)We&+0LDzqefK@%9RU5C|S^l}}JHNntehIu$yorR!!>+hob-k!GJv?UpH6=#4@!2wxn;z6^%F3wXzaITvGNA~n*De!dAmA3k6rc# ze7Ugx5_&Y9#$uwkRqJd;opLm5$%7Yy=*@#;V?-;DwEoGZ7FZ(R^X%H}VAuIzqD2gi zr`msAbP)YXo=Lk&FRJr5?^(a}V%-;y=D`bFZYcPq5Xd$46odrpk4VSpqS)KA2lc^4 z;%)!he0qQFtT5OTsj#9iCID3WMwkr*sy&PRiS&Kjh6aH`**8Mzk?frAlv&E!DL<)smqO1P*SA{~b zA_DxJPM>fh=Ex(8l|QA}@B*&gAw$??H8!rrc7>+BN4rVtu~*QjMOfQ^730pn$2%^r z(_LM(z_|SUWba=UOG5|KpOKJ}d}g>Obn{iemy}}X-u>G-^D?dIh2fq{2DbucI!MHN zsPe8Q1z`!L|?Pt4#mQxg{d`{>kM2j?lbX zB$LE`xQz8oQ0g({tpki$XT&M%%C5 z&0$~`99TUCVUgn7?ILNOTa#VnJ_r9@3FbCgwIm1nTnv-XU6KZ_&R>o3nDiysr1&f* zcHNyG8}{J$p8(<-Q!>5QYk~do0{OjYk+4HOYyLh|haNNeOFfCRRcJ>m7qTLZ0G+vt zj)6I^z!HkAm`+Ogp_MAb5ys%;)98a z7>I&1AC?3Gr(5bACU2ArtfyV6X=nuRMyN^~PXh+cyl(TwV^BLzOB?(9e>2iEj=Xp| ze}&M!1D#N-*~;Zw%Tj)?^NrTWM-gNKVlWortM-2FI=*mSUe8Nc+uPIT=7q^I73e+e z&q7DHIk~P|4d!luBnnTmbELPt49(H*nb5(tVuY6Gq(AVl=NFWa0r{}rEPc{yveNtN z5@`t%5XgK__Z@1kCk~^*hB(&XB%q z*RAKh*DjjoU3y$oeHYXEEqScf?z-1CJAUzm-Y9C>Z2uJvc-sC@n){!HR-o%jxa;G8 zPMO3M%D^wj*kfXng^kryPDSP6Y}Nbcz|Km#_u$}TsH8b7(eg-H;%0tZEf#diU6`9D z2a(Ie^ct9)Px^{|jN?-h=ccCxiYr!tG`q6CjuTmYdXN-I=DyJ7>I?i99UcClhjepu z<9%}@mRSardbV_TvyYnJM4a_NZ;`xVQJx-m;PzxcUZ=ucQnp{t_i*9n3}i%!hm$1< zc&f+3iRRP<$V+117=dh#^4^2xNd_P^=Bd?jYfw{AOnUmK_m^{IOTZ&2>gm& zF3^=p0@)q@req>Me~s?lsm58^pup};6skiMdTx(<-gtTIIj|+l^u#lk%j$Y8UOW$a zZrabeBG*SuLPF2X3_u;=m=QSJd1*`85r9SrQTtcQ#`rJs{E(QFdi)Rs&Uf5bJL;J# zXUC_sH0`cur-gWMs+S9+)fQK$83E*M7sYXC)H7?Lbft2Kc_6y-g%DXQDKF;*1rWK(5K`gwN8f zTqQ`ENa5G+KGFgyh;{qEA7Sh+$7Dgvj1Dz3W~`W4Z9ickonu^t^^>x;kZV6?Y%0mNhCXVTa$RoJA`s}*%bY~IayZf|f^uLo z3KTfR>p|4p29PX1W_8K zI|dL0Mv(5IlpMM_o9BOB?|aVqaQMiFJ+s%Iz1Dr-zmjkRygu@onZ;5q$xER`723Ft zKw<<-`rq>x=?hj%PI5qAM&f8}Ea0V3d$9U+FxJ`Gxmi*IzJG)UhF&_A_FWGaJvo{U zJ%?VTjlT2DHFe`t^eeKI3YAo^%f?zs;@D zwfjv(6OtFD@Y2baBWd@OQ&pZqVXxbh6TV?Dxj~OC?xk+y7F!@!WkU>*h5=>y&Sty_ z;O;$N+*%L(3>giK0B23zE1M#`^CrEyq<^SY;f@U@RiiXIoS2# z$j{Mn-@lNThhxSux+U}i7!tUw0%#R(r>KOw)MbH3wi4lMZ75>~5uu#`kT!W?^$||p)tzHQ3$j?Q%^1$D$(Xsb%PaF|q(@vnea_@YSqzjj{jfdf$jE;bZe_{>rg5)?WrKo2Ee_H94yAJ^o!_SWZ_`@^qz94|t z*GL=5ASJAcD#H#hP&xrf*WZy;09iAZN`#q#&Su}Lb^F-jhm`@T<$hjx<9$}3}7(Hv0|9zAmCE~H4mFW6e%__ZPIH2Gzaj7&(~e?nM+B%#{y&&nl#Uv@xayj zm8P=~pt2p9WxE6e*dHW~SaGny)>%ln`*z~xkiVH}7WXxT`ak3?Li5LyRwOzD9Tq;K zJPP1;v+;1l-Up!$>Zs$l>_B)mSG4kA?`E>8njnkGDCdvP1ET#nki>)hs{16rVGc=r zmra2*Gfb7t{P}9Hw`6#U5yD1*#;18hHh7+g%Rp+<$2L3D#RQBTZM0-tXo9HpL6+^! zeD8+`jMVF|-g|{iM2nFagk{0%kVM zbiTz7qxFNEW%7rSiKaUlb&^GiHC zljC~F`mX8aEH;=AfMPWWzMSh-t{Di-d6!6}ZcYG018M2Y6qk+Co`;XSWi{>B_s>+d z-R+iT_g{bu{oQm&H=uQ`?cNFpCc#jVyBXS$vkK|^9iZ~DDT+^4mb}`cJ*+rxzYsSt zZyNO-DLy}^4Gn||XIC2vO|HDST76sr^sBwE3Z$9$vnXqB02zVD*@eMfVYkmFP_s94 z-@_uFCeO?{Nhf>Y6qSDMQ89hjLLwC%?cK6#sceq-8*nW$fZhBliKL_#;G8r*rW?ng z{g?T{87f|4=vK}2hlfN?%g9JLbd{=c!PMxj4}h+7^Kb;+gu3BDX@S68uh1tufMS13 ztSXY<(fzG`vHc+ece!FZ@gA-jN?#J__T&oK);tR(ccr`IZE~hF-^!hLQTAwSr92%! zb+G{?N@-Tf}9NwJ5mT^%nr&2b@f$impB}adK}bEx7_N zaEqbqQ}TJD!XhGec6O2v%WI+6566X)OU8P7*J}n~@laSB0NmBquIV2D3T2a{*6f() zxH>>DVcPx<82;RAhFk{&Q<oVzn_yt%TRy^HmGQ3|e zT;e7fgIcqa@Z=2hjUUql-U3ldlr%IUTYq;MgL=)alO?rxy8L_6w|rO$5U`mV(Wc;W(yX8?814Y1aa2Mh$ikh%eWB?AKh z3GiwY$n?9y)s*mh>hcq5X#xt&9{8;I>>M2M;P(SkIX>CM15@Fa^77fsS4n#p$DLOj ziF4p3zz7j+9yHoMWiP}*gb75%jTZ&Och2%Y<#{zUg74=-T>(EZ@Y4ncbS()l*xxBn zocDu+U-l<038isy{!ecHgM`W7Ynha*U1?R!X&)$guK&D5c&!rD{+7UXe3B2p_`EeA z14!#@$yVp&=H9bOCw?8-zfWx?kh6w(zLP@W=BY>Xh;Q$2l0Ug&5V{X}*ndN>w zZnK6h@KeC{=1X26GV6Advv#sbG&^R(tmU7xlN0cx{g*lBceL2(50?Q_(`|=-1CAGM zUUqp@B2dfDBMD&TF5#Kjr7Y3m&$yeMcn` zWLT;#Dl7^HW^{5*fD;|*%mwSb1B z0yz+&H+Ry&I8aqCJ3rJF4DKC4 zWavUhyl4JL4AtEP=#heQauT!~q#_ubBv7*;K=vGV`wFvIUrGQ_HiJDV#v; zWQF5DZd)&H?Y=tK96+aLM-~Ny<^`D8U0qUx2~!oS^}l5R1diEYzvBfH9aA+4w|c{- zfq~hp%F%Z`Y$E`36d$1^g{HA@EsnQxLM3x!fOw_7J#gIC>&+Xfv4&Z^ zQKnEpY5-S(eV5y6H=>t+6?EM2fpI2Q_d%a49Xv#*z z*7owo=wvG95&&*duVs_=-un7*IjXFTfdMbQOG@xnrzIn!BBNsC;A-0WHb+SoB_QxS z_G@{0v$L^-lSy8+bNv=++nz}SpKa8$0H1UqKvZ1lp=PDk?fESb?_Y{bDr0)~&8aMMa&RG0ZAR1LV1Y{}T{2 zxzzGRhlrw72Nh+J|NbK6{;BH1gbZQ%KT@ET`x(-PzL_rIBdI9&BBJ63XWvXm=bC+b53#l=ik0`3nH|ZC2zDN&J_ub?$~0W1|z@ zr>CmwEV@B5L6(nt3>33}3;p-zfF)?q1XELrdqJ=OOHfg=as#~)!-c>iS0L7D!Dk)7 zWuB)&f4vtLjGXkVnMy*R4#}hY_b+bMDMj&8&80o(uG|1eH$Z{cSabXSxUZz7KW&p? z-x=5tVLeZ8Ra6B26UqqMj$eE3N=29L{3_rq^1lXf#*O^+j%q${+ zpL6kj1sMKRaDM-kHyi;19_{vYIXTvgeP_T3B7V4nejpM-#;66J*16&URifwMyV7lT69-0e-hecz4OrG3DYMd9V5>KgWmWlTHM%J; zF??}_yQNv+$VbM(@e}Y=o=_|zCLuZy_uSkjEn*CFe|aN3U2{qF^BNQQMZhJbEfEnw z{m&tKa=XL2dQ~!)T*RcK?uGi8+0`lRs8=9j33*f`uQlqm@87;XuAjMBF+Bnn&2Sj_ zUL=f~_HKo@Bk(=&_xN~hfXbWshkETn-%;gfL}-vs**U!q$}JHwJ#8U_sX$Ho%Rgtj zK}ur|k^@>S8|)kiNt)Vybfo}RpVb3PK~kdu!hdVUrs;GxKgf&5?D2*M@&nQnSzRJa z06%@YIesGG4MxBqtb_;Br4ke>a^fJ6KF_~XXo@y50d5t@mT|dJ4@Eo-9y#Aj;emj% z4yY%ABqh=bp#sTiZ~YlAsnvGbnR82>6pJ(LT^0f)78)ko{xbi$kSNQ8SA7U_ObO3j zn=*Yzz2`Xk9MF#7DHEAl^%Fg<4~-tie{nk73DgcwtX6{cHvhu%Y=sk@FQZuXKNxvNmJ@z*A(&c+;Ti1Bz`_Wb5p{C>H$ zqw-$zD>MecDcVs&{Nqyk#crdvG@=3T4312$v62ofEtOJ%m;9_-I=#CkNG}M z4B)@BFw(Eoi=wwipkKG+0VKr`bgw&@%U5k}xB4mIauzx#H~WQfJAK1dLdCHc2p9w0 zbO^x53gQBb)qo+41KvdL9A2>hpo9^2@*jfWO;6!Sln6||>0bN(!VUAROOof43rFI=Mk84Q<#yt(e(WR}Y0P}7V?4GUY}0c_P5`vYD^Iss}Q z6xq6cbn7dF5h6so_VpcNfY%^rYNY3^niq+kRCru$-4gs`bI-+`_7k_wvu z=^g{p9T@RwjO$E>6K!PD8L?|dIvU6?-ztULjKM&OK(pSAi$HhZxm-o z5KNqr%(wCxS$@BNRi!u{`2?svmd_9oBJ*Zkb*aW+{$FBxQ=b;auAIymj8Sc|&b_?Mou|qt|0q6rQMuql82TrV-o_9lh^mnfY*2l$7&u zLp5!?T!SICTc7>=GB-BAy)`c_D!^Y`(?IfymkVKDX$J|w{kmT>CZTWqVEq9yinO&G zwffjzZ+Y;jZhI7sik@Rpn~G4v)V`r<9v*$HnAqoy(xI(Onlso(e)^tcM^>p0?<*_rzG5hbAZ zzWFC!J?Wdq(pc4IuekG~;3FyVD3(40+%Wet?=Of5Ic4{qE~z1mIP7cDA4MSeNHHF* z^g%wKJU*r1ti^9>9sj^xj+w@lf8X*6iRPPLDJ4vhKCn^cMAs7LR3~=-OEmu~<1_#@ zh2^iA56}-wj;>8zyC32;h6bQuykShT&`sDOLyMhr4D+}pRp`cjJD_$iPVS_&*|QYkCLyEk>pK^dk?pQwW%NA?VkF-3V?_f)t9sVD{2c%?Zf zF#db>4JFSiV;ICHRKO@heqh0(aYwL%uG~lUs!S<4?85Czxs5Vic$^joUP?(M22)fz zivQ{K!8G4!lo};WZXGxX5OkQT#Yxvf=|~)hrz}x}&LOR_Xh;8q&_f-=RkV9I4c9t! zf>vCF`L$mFXXxn}=Q>8S=1;K&zTiNmAF^@k=##1-bE0Iin1Zf%0}CN|f2%2H1Y;n6 zS+kOeVP*eqMyRWtgGfxA?^KdJKHxvSGE zn*B>6UQ-FfT{BFH1jB#@nC8XM6C9-0BYAKo;wJ0j0|xA|g?*rKb-k0t&rPd?Jj(v# z=%e)tqD)>8vI--}L)H31Y=dH*n4Gt_tX{$j_;?8;*Y5ffEhmG?-2>R2MLX{wsc(Ux zvIAGnE&AM1G8i7?n|h`4RUYl%;?kYEL<8ML$#wlCD<{_1ixwr6Sg?WFgu_3ipF`u$ zYAh)@^k2Rc0nvY~zunw6SFmoTVr2KmQ8nBo#GpJe_!O|51a&cI zLw5b00fohi@Rpa3a+cnVF>3c*h?93yr3o#<8yHM4hX+|E;x1Q?UWwCQVKUnGKLI8p zI$fr~@rEDJ)q?R*o!pYdA$7pujgLYIaVj~tqCz_04GAx%JN(yW$iOkk=-ZNk9_t!; z3uE?1CZ-QipJ-!Oi3t$5z2am%bt0n6c%JKqmGMmgi)U4(@MbvhJSS&AQ-{V)0L8`& z{w+$WE&#(^fB#q8yEUvrkU?atyJU(yRVvDFk-Dci|Z`9@ydL_BTTM{>2kfb9+&r{TT`=xf>9`SiZwY7j0vfFkz%^k#>H5 z6-N8w*AhVYzroYL^*pZ(n+dr2C4PS8Dz(MdMyVnl$q%8Qbx5~Qh+w!j6G$C1E-LG% zN~IlhS1gMOM**I9y%jAxvpISW5*ljo6T^hNbwZkz0nR=9I_@gop@% z;lYUHUHm+K4{8T2NEi|wEsLr;su;;(w)$mP?_MYGk#urNz&m>?qhNvKik&Mp2ZJ9c z@=()~b-g2i?#?;}G)HYQcxQ@oA#frTLXr<`AKti3VPF3vR}gIN@(Ojk@+{*@|F$2* z51@WKQa_bClO&tNWco!peT!5X3=uxRg`Cy7wGOKjC3|seZbeb@tR>T|J{Es-7r+vv zxOCSZyD&zFu!pP__K*Fm*Lx%4gBatg z?S}yrc~afWAs?U63cj{}PAGy*Q75(dQd#X1-!d&TQ9fSP5!J0esy`3Wr*`+v4NEDl zi||6ulh>fwp0C2D6hx86#q4?F$34;>vo7RQc26FQmRZ%r5X$U4P1ymby<}^<7o&e3 zgV?m_TGsos87xZ77z!|{1Nd>+v4aqx5X%uYO6@h84=gmBS5^CtE*6rGWNu&&b5Zo9 zl!}R-!h-agTdyb0qsGUx_T1#kfDxIpso3C#ep~qFOF;M3e|BU`Pw*cG`Yv{c_I0OS zZtLE{Mr$nkFq5$&F~8XMW_NAei5VzTOfFSphUs5DQVpmRQ3g*Mo#ADl>M$P6RZqJm z0M!&dn^BjKOLox20KOb)_xjmu`l{B;)&9()}=YDVM*#EQUDsQPL8ptuC?E)RA5m{o5RO%(F(5A6_^)9{p}|`?x_* zx=Yka6FxuyUJe>_;q5-@d;srzE)D)_S+*_sp)s#1?u@Jx2E1dhBXh1hL6s-P_|dq5 z7-pFCx>(0yrI(y8_tcoZE+6G{$fBbOl*K$!(4$*i>^b^s6#t(4%pqK#@Yu#wMZ~<4 z5|8kRah)%hpbd9HCdDO%pNXsQkupdGL;al+WIH`UEW2bYC%0BNSyfug!maME@Qr1L zf#H)6!A$*P;<#YQ_J1d?P14&}?7qh*#cDcS%?5;+)Ia!f`ULRAZ^QN!%DiI0 zAZdXNnYX)GLZok0cA4Ax^%Zwr5=E(eFRvQ^=?;@6#rQ9!lwAIz8g%WzcLwLdl{KN* zR*J)faArQDAZ;Y$W0fU*ca; zbQN(=)Oz?65@61&Cq;Nl#MZvySUq54@0>*nJ0#WfW(?cB4#AsEqHHz_r36LpJ2X7* z?0d@LhTaf-JDHk7Ru?Nn{x2I-^AwwoX*z~c2MtCyToUL!ys>6T`GJJKv(kSoyzDVI z3?qMyxEPn!e++8F%O;JsU$-`u%)Ip{^$E&fGfusQycTgq*}FgRhrvI=|mBTtK;Apo*TW~?`06?%DOhX+5A z`XOgy{tg-lY0~zq#{~nw8|(kKOhlY*zyzuDEI&I>sOV?|r3>nnniFqgw|bb6gNiSp z&2LSmA@AqIMU$kNBTIUK5>?LdfiGIF70VJdj79bB6Lgl9c@H5vSX}b%jIhB=UTAgx z&A}u4Ceu4Vk!swSZ7Q^N^k8dg@NCCC4@it4#}n(tJt%NR*F=rt23&)NZ8<@7+0zjqLsO5K^%`3m>6;dM)-oRH}bD$ zuZ2Ol*kxIu7yfbOVJeXNFD z$i^lCO!KAb1}1}hTq+q1y@BWr6H&tyazB-&B^aY3cA5t*8T||0D#2#vjCuzSWFxPj zC9%6NaM2~mEgFjq7>0HZ#P0*8jTM=%H)|oRpi~f6EuNw%o*E+jS=^2HA*hWwUCw4Q`g;P?&%Y5TZ)X_AA#c#V)KnNG zDTlIWX&*)Z!FNfoECMuugPsBFGWzd@JJlzDzCpZ!v*tnPG1l^auR*WU=62+HlkKff}fOL+WT)UY$OLdrwO8sEWxO?+!RPZCuSY#QI07pzP08_xM)UVe|~*G z53{BA-5rLI`1tq79O8eIk+zh(X3e?|7Lj|X!TA@yOFzG9LxUjk-(adg8U7as(o)T& zxD}n;%6fW(dEwC}Mg>mNq0lrat{1=6>W(+_{fzLYl~PB@)Z@$gDR%ozh|u@E>sBVK z9E@LR5W-W=_KhRzqfML582XlEtyIt5jJ=me?NSVy!+&qoi)CLB7ToCp}Wo_KukW9AxNRtd$ z`%NAWqFBBfxIGaiKXr_G!c3(fe+7@vB#QirRH>fKi9utnD&fp8D9ZN#M&@L85? z^297Ui6mnFlQeKMYcL|~7s`VCQ}n!AEND_xhEg?l_%RYB6o>z#d;6XPbft-*JpD2| z=sNAph1<=KhxMEd-sV30$fhx%bTYA~;ae>NX-+zz6*tQ-gKEpOaGk*g56=|WmYl4E z<(G%c0#1M2L_M6jbm`QS&^CV>%xFL@TBW#ElP!RikuHE80Wg@@`i}8kI73_sRDr!o z-sdN$%A!Y1X36Bud;94Rdr_)t_NA2F=p_i2F4KbaCUa2i-30{yP}cYhEyIm;EEX}y z++@=vZ7{70tnFiTQGxDB0m{1gbFW!8wAKMSUW(o(kqS%Vs3DEjC7~z8z6dL=A@Mgo zaH5g=a~(7`FgF8f!DbA_q}w{UfP0;nxkO5H`?|*|tOo&7OL)86s*~v{bPglxH4LyXOPP+t= z0E1ttjI4MgD5vwgLs3tTOy8u3T5f%QUc-JX^MP>x_|H42B`cbCNm-dgPLYP=D3!3BOlZZIfKcv4;kX`=SK4Mu~_X+FQ zt7U9Px&`E`9=!>0MZbcm!n7ZMRz-)T!T`4f{y?i3UHxR|!(QH|=qJK;at*{PEH^!# zUNy->mcC@huy>Xz00Qn%zdDRAtx$2reZMrpipa!b|5&W#FJT5pqw;z0)hfmY)v&Vn zJUtY|dxhik@-GpWe~4s^P(nCcSy(j&nW&3t%x;iUU?*kVQd;EBkCP4g7F6eaG@lEO zoCtS+E7#W!^>QUi_>3xN*u_5=m!z4LULoLPKa-2uPm5Q{+EuDPo5~^HC(oiN-RqL1 zMStUyf`IHdUAlK=aqkB~ddet_Klq{(Q=~PcmE}-`t0FlaPuLf(7ReI{_^K`rCjr5i zteV8uI3a)MT(umG8)A7!a@L}C)O>Z(F;}z~_5FgtKKH2GW@Rs)=1q}Q*a*`HUZBrC zfs9e(!v;k9w@JLMq`dX;4@tB#%C87@utq=rsl@HUU3n|VWL5OS;WD$%()7WrB{wYh zz2RQxY&HSr(D0z7vu!AyRN2mvJGE_uw0#R}j^)T7Mq@MAiIne!?8O1;$(N;;E+0KX zs?BaZOTGz3Z!B@qHmnbZlRHhlUw&#G40bRSP3H5M7>s6Kom(X<{)X`ol_k-mmG8>01kcxmLAl7$8gy{Dme=4M6cz=f8{sMMd7cjB$ zJ+{dIr%Sa+Ykf};p1K&oX8Xa-?O_}%!`d0=J^|WKYn8A!K*9R z4H!Am{?`o1iQRke*nCBein-dD69I=NpY8i~AY4yr%a7~Cq@6^{4NMsf{Xt5OAELLC zl|sy}X5jHjrp+W`@mJyZrY>h6a3>;xV`F9Xvc^ zd`V8ujm>Z5mZ>YxJoUdCrj4DA;o%$kldhHU2zbT;Nwx0-=C;qMiW^;oH*VDu;$6u6 zV%s!{5jy{K$23MaO(Yf)BaOWwK|*&}k+4ro^3cMo5J*{(5BeJ}L4nRI>SG0d5$j=u ze_7o?4)V)gB#kAfrb+j>s+)x8yg26L#T$l;QP;hzb_*PzsZGw%N)$JY`hoinq-c52 zHmX{-7nO;CoYgMIKI{Y}vPJ{HW>G5A3rufA$^a5WlC>7w)(nJ|r z#kBkxAMWuV&U51f5GRA4<(DQPUVv7X`{I%x^AQ9pOs}u{NGYBk5~`|P+R=rZm>eW# zbc7Uu0HtRYpSBkQNTa{bI!$@9$7}#SS;nWdjP!zq`I${i#q?1<-M}cAzY|EdSgVdJ zJ?qnEC*w1_D{W`M?GKL?mANm5fgk>2AMa5YQk##IG+BbAg($v>}1-4?dZ!; zV%6t2iX;B6yc=!7sDdK9yKd8$4uV4T=5#vV1N0vI{#k_4_%_$jDbxYOJSw1yki~)9 zgdDugB`?C>st9nxmBYn#B$s68f>ZGy%m?g{MQtBW^a$31HJig5x#0N~gcE#nSZ)7w zH<^R8Y`C-FdoLzC>=UetfHc%)e-RBRwx5dx8DzIulqIG9U=PGea}CTAzXN>kdCSo@ z%1Kf_8(Q5);(_+AF{4T4n@nmYEz|s+nZJ%n03o^_2ys%$OxqoG7HMhmBOxXAU#%~{ zR0E8_bSj%#;I6QBNt?J7P{Oq} zI5Wg0CPE#f#ghD1pM@P^djk5&=cnJBX#tkuFBd3-k3>?6(5CzN%nH(y)oHa`TZ-Ls z3+YswL`W85Do(6LK1;Z2Ec}q0GX<(vb;#nMd~7~f8W*?1J;VvAC}b}b3kn!DY=~kE zcR;p{*D^H8Pw>=L0>fl1v1rj}#D*sIP%YM~27u1QCw30o-fC*FxF9ClBGN0KfHwWK zF43#JaO}7(l8&a$v@o^Mc7yAE1icu0>TVD=14Ux_<>f?vK3AfGx*Q;N4^*revlK6b zx&g#QiPKs{=lQ&W_dA9Xqy{BgG#_FD5?QJHzgJJgTcvwXRj3|R(y^cBSPV#M|lmzTWvQ0`9q&fjMZ7ZR8$(E_JH27`(W(s{#vk&Jj%uf z3$_Uhe=gpjBiU;|nP=$wcl$tt^j7ACiym4rpFCR~hu`S@t08cFZ2p^rQXwbT|8~L| zS$|%^oTzwnxA{`+6Z@o~&|?Y_#ePvgUqWyNTHzI05C)L>J1p&s3A|M+mr#q?R%qJN zHrdJ2LdZ3a(;LtmFp|@52F4-CG<(3|$C;O9Y~()`t1;P}Jq3%vsJJ-=ysd6^xn5@% zSt^QHbR780%1!d9jo2!i>*OG(8@}0al`UCFUQuVd|$zP!sI{F zC3VnYKAqZTe+B7I1tf|I@}_vdW|O0AL)I@d1+zReu+E4fk{ zUM^EUHD;-JN8BHjZu|(0DU;K8V8wlDM{hMwqN?mck58Tm0hrfa=93LoAJ1lD2KtQ* zv-rspJF^y-#Qh5!1g3wHyd2=0_-~uW6Gm!>rk$7-@2lg%(D}gGFM|vT9qHMlg3r8S zsr(|-v}}HnB9i!>OIlqi5ojJ$-1&#?Vyz_qvph^1NRW>8t-{EOp5z-iweIpi5Whe< zd2wY;TESX){p;8lhYFtbOH}R}?`~1T+Nx}*lIgJrCi9ev`B19NcRf`0JSZ*`1+^TjA=sF;o+4dp1zZbqJ}RJdhy|* zRFf-T{yVkQ(&CZN@b5GRu;0c3=9uSlKZcu5^@ z?-x`~Wpb1LZTouDG4Zx3t|&(MCx&t~2V{f6Df^{F75pIsoum>yv`gxq`Q$^-AC>G( zcU<=C)g=b>BN-=pGLHy)hA8+w%542>e(RP&>y7XOJ;7COpa4@(PsBhrFq9>)5>_-h zpQ(K`#4-DDFNwrb=Swxdm-{Xkjy9acyeA|uyhngYgALOit-|N@^f4WeRL)IcW@!BA zRd0Tep!mXPaq{vK_ofKKL~z^8fk)yWhY3Vsr+X86l72k9DdtF%;uB@b5Npb|sF>ca zxAec(L} z_pZMxRP46*(w8=HCE$2?h|mZ$QGDMS{2rj4|L0z2!=i5$bpK&)ZWV)}Dd&oNRO|9B ze#>`-*4u9&TgmpYAc{=J99@EmRn~A15PGemh0`_Oi5TG}Q-D3=hHQ4&p7omhKqcBw zwvf&e$2oXJ(RHYaE}FImqvE~2csMk=B0<=3omFVfy`ZvZjq6D2t5uMxSRwFk>r+v9 z%%gpZFMe&4ns{2nAx9|rrsjUnnensX{1Etd!f_J!dlguxPhR+BoByOg~ znD4>%z==;FnhJpQUzIw*nB}D^k(kyA1N>J|R96jN!TL{(9~SF`#G)mTq~3-%(KRH4 zTe&vMEJLeibNc7$3OjwAm9Fd-kJJ|2n5Hb~3ELs9Dj#;m8YC|>cMTymwV2TBt0*%8 z#2zQIiV61S?QW`kTGn3I>0Zq;w#43`vE>JS7(IQ@rYZhH8TRYnQ}U|lO#Trp zBg27<+#xiyoMuy_{@Y`Q<8)rzn^!lZhbp-!!@(#gzQa zK@sC2f2)0hc9TpI{UamfO-a&EeDc~jy;Z4+x5SV?Rg=P>+^G#(HFx$fJb7M7zbg3> zFDU4duMK&%yQwDL0>k?jE+#TRxMxUN`h|kpK0TLj@5O>29K98xnaD6IhBo*!mn_Uq z5lEr$K8!jf8+G`Mo&5!i*p|zCi=lnvg*4o(PjI${+-)NO(iWON&^@b$%=VS?M)&Na zDi)p2bJO!W2i5)Mu9vQ{ZGV1mqy`iKAB$O!+}>>*e%~}iz#VgTV!F+<>|Nm<{3@%w zLG@8|3aPmeZh%opXurGWRvQ)MjmBP>>FLcmjO;8hT<_@N{C zy#cK#&=91ZUa`MsN+0ZE1Q;2t#tDp{yZZenw@nflO@FP(roGRxqS8>@gPZlLEvtO} zb3w(^2&U?cs9s2D+PgBDAPFWRpfUY1BbB zYS=+4*t#rM=tm55H?`UcnCL%SeZ{cQa%y2FRCjtOyZ#imzTwJ?N~ipv${~EX{s^Ui z{t^9CNgYzWM-2E&{3%(qHMs;=V|A*GKL>0zjx9*Y#-k%;S3A-8}2OqjM-In@#&vMOqkeX3?(G`+vQkPHBZ}$ z0L1q^)%f|rtNGi1z`l}vpw6o{Lx)M>@fmm6RKNKMh02;G$@X~-)-`X)S7T$|OLEWl z2~>B~5h@ZhGbAzER%yRDHtn*F`2u))QD;z=cFYH-DS#;o8);&Ota4kC#eF$glDIie ze4v*!@TS%G|HvQ}gi`RWfVkn-c-L#TusoE)7D<5-H?A=P{9#m2ek(}p((78<4X%8s zy%tBNxvn4u_O~3sr!G^4d4E3GKBGtR-;YSV;{Rr2B=}ZTgg5>XTp^vW{ZnaR?&EY@ z14->{1J?p^5WeUz`P~ARe)$DtRpuXE z?0DM4PnN$XhdxshitPAXxm4uA4=MW|&0N3)``uM$$VB^DREh_N(HR(aajbVI$dl;_ zHr$UhK4zDv?lCB!rUH+ZCxwyy65Jx(!k7`~jfcsMTz^NiDjWrbiaslTukPfWe+m|e zIGkBF?*xW#StidSB9Q<7B?oksW=;LM3(h+rRRe&E>C5J5mw&%Dofg!r&+93K?u>x@PoYqxb);Hxd|#oZyO=sv)`zg%)ciM5m9F zczJpn_hLZ42^;C2Ca|PG$UKj*`zOs3WC!=TVN1c*{(w!QM}pOW*s1-xC5|QI3oAvM ze7NruOLmI3v2Ws&uN_PCml##S;NbZhsqEk8BH!0!s}`U)&E;i+)TnT`#NsS99<&O_bc2w2k8!XZ_v74{E&u1;rhXB zSYVZQoga4eeQ>dSM3z{xu30YaTm2GgRHM6R+tLmJ z*BFmU^PpD`ahvJH0%}BlvK~u1@z(B*aC20d#$1_|NZ$2lBQD!JAt(iaivR9xR=N1H z@jaCCg;M^xS=m1TVTQ*RR$6cKs;#^=&3G47KTN|}a~bl6u z7z&|85ml4|=jRZ8d9rBs)sU!qpWi1NjK2c&eR6*pu4K^9N;!21)DwQiX8yG^HTZK`7VQWC@v#J~D0BLzIL!KRYuQI=kBTv~IaZ_y)koUK2IfzyOH3YvKIQ5hv*{N%mICm|LbbmwYPMQN;f(q4H76u#B z)ek`FViT{DSMK@6_9c96)8;1zVZ+Xw3m652E&}NwPYDYa!ln8WwhZP^B(x1m=qRrV zP|(Bty+zxPR;2$yTU;gEZ;k#W9`CNFth{Y;UHKOB_Titw)onBLZTti`?D6>5dkZ=K z$v2X_X|B5zX>9Ap(q|7#pis8K=_0nP=E)`OXsjSZ2j~04iV-2At2gU3+Y+FP(x1jK zVvkcJkQl5}?>!}4WaViEzxC!vVSzCeJ3>&9%dNkK+x2zX@2GibVoWw;_+_61&%}*& za<{LI&Bf2LS|Odu_4QtObdp)X&A-DXRen;84zX>?Hfu7s_b@_7K6#b4X5Xu!v$doJy_nM4+T-=U2+Ihl5<9TZ zVSbd6!?rA1L%ur>7_Mx=hsMHi&5QDiz%i6H{oDW_(E;BBCH;$=la}}_ z%t*0Bdb!*AW@NN}*N=4P?qxoiHjBm$C^Yt^1U0s^A#;22xkB-XWevOGcF|o_&X6zU-TmsB@b0XS}!{k-n?ATJfvR@U*s0j{yQ! zKH^=`b{$8DUL*SmjY=+vU_}Iym6kH<>IPCeaM-JS(Wy7Aa^t}lTN}#kF|Bd)_RdiX znaeBme%W=%?Z%YW0a5g73wdH#WPL#njJYadG%}S2jU}~DC{!}2yzAT}o6H_4wV#VU zg{L{2lN1=wK*qCKUo)Gnsr!~zr7q>?bJDFRYZ-QY_7(II)k%D#WnK&YZj<8q;tdhe z9u}vEe8XbsCrj6uD_*>*U}CTX8I}ik%|NbO8zq!tq)CjgO?=e=JrKce5AbthxpH3U#HiGt_X(S`N5s;^4uiuK3QKK zFEqx-Jl=j^)3T$U?>Ro%h!~KSg}a%3_!f!h<>eKPLoI+6d|)^&w7awOZScz%)>y9W z{ikf&Ta1Y|JegnJVxGsv;QO}FQ87{Vv!}=E&{{P0PN&x|fSo$->#p4*J-?XdK#ll| zNP+vYyO+0k??-Ll01R` z%Yf4NtJa^e5%g$p4YYzS^vSs|1r5aoYjY}T8Cz~K)G?MCr^pKxqprv^O++^7sLJ%! zM;Y85OdL%t74+uSed5Izi%m3=nT%}`II5)!RF8iAr@Z}T z!INKO@#{}rI;mxE?_!&rtkpQWl=Nxzc!HPM=~UkOMl1`VRb*Vf8K{CN`T4&U745_1 z=i`a3VvDllXU|7qX5CpZJHqb@MQbne6;&PjsZg(i>DK+CZGpC%-Y6(f>#y?6I@4Fr zH-A*Nv`nlpwg2V`+KWb+RociE(p$&GfEw?ZD=CC3lLSemHZe*+L*H?j6w8HSK_WBq z`IUV|>3!{hq;q}}kZ_ZKt4L5k_-W937QG->Z70#qzke;#&8)Sx*;lkAN>Q_LZ-4(~ zzReJ*`=qu2BBjQ_Q9utQko`C=c@9} zDZG!?WfKTfgvM)gc0-$E8ZqIkr-4;`NiB)WnHG9Y=WU5rS*2m8!Y@c}yj& z+mnWrJ$o2?{mT5=KF6M<#sgd!bC{=9cAXx#A997jF)_RJEqH@J0|Z9TB#{Oy;vGeLF{ zmqlN{6oGMQWmJ^m$nEa#?%3Me?k?iaXA_gTB%n-MyT4C7nF(Mwwwc2W8y*e=nziyX z+*aqeJNekHc(nk=@A+|qOt0-M_1R@R;&`Rj`itw;UHWsciwn&F5QdXUh|TN_D0(aY zD6I?gvml@3eG&QX2|St&cI|;?3CwbOzu0k7^l@~znmKonI`ttO~3_Rk*PFho!}1 zJ!+PeE{llAPOs^~$rc$Kb6lhSD%5x5@7NkugrJR@_hw&d62rrveBsA+^hbX~{Pyz` z5i0+i5qJID($yyt>zVfF<t>GPn;N6i_Xu~fVp&zYo zvm+n|+xR7|UL!{bhp)lvv&Zm~t*zJ-j#~(zPeI7&j6Hl_g!o|rzeMi}qpIVmmA6QBOz-6D7V?e2wp)zssu*IJ2XW-7~SJ%wbp1CE@&wUE)< zCnvA$%)OMls!AJw)L}J3{s!5w_FItq3Bkkq5(<{?axB;K%KMY?5-|Ur>E*C8C?=SEe+~8pzEjRBx-A7ER1dK*vEf=s@ob4aF z_RXO`ZJy9&*>D4-Ig3CMVDK)&^XWB5A7BQPClq!O=?w1wT9Y=cdI<`1yFGLoOJ4j1 zg75wPB_aJ}f^Hi(e&bMbAjCpWLOlro9eF=dYTz~J3G6je>V-n={&SeM#)hPfJ&x>_ zV~xF9+H?*r)K9!##Em1OEJrA;vuVtE&D1SwzH~_ezDo z34?lMXUOa6P)+4yl8Lmy|gzRLtihl?& zmha&ORn&g4Z6 zDVbfc$~o;`v@j!{1M7pX{GM8ySrv_&!LVEHyf>bv#9_uUA%%fBW_g;ILnm0)>64U%47`sa_w%;+>B$C}aVfFr=hE!x;pLjb2$|3HBtFuCwlPA^e~~`* zgJp=AfCn1Q4^=ij&YX2U~)>F*1YinRyrHI}8AKVvvO^5|N zes6NL)#CGv1K+{3DNqMT(fcn9C_!~R8Xn6prBi~7AMH#~`Wp39MO3=i(%#M&EK%Sr zM{2I3q+sua#=f2Z#OtdwT}(DZatphX7=`0R1s65m9pcbHMX^BWhI3GJS7X@8*<2{MJ^jYk=f^ zHp%+(SlQh=^L5Vs^@T>>W2?OP5Af}U!2^#g<}(n>03h$)#!0jUxF|ZYIK|vw|LRT4 z7@iB5Po2s+?*&)xd#GPl6`#0SAk;{;G3R7NW|@eML^~m7Bdtqzv}Xvhd_VG? z7n^BZ?1UDW-DpPT;4D>uUDh-V;wx}7dL$I4aw~zT?LuKgRr+cOrk+Q>yX`;{%dszD zVbXtk*k1?MIlMd73bvh?;oxGMN0l^qNJ{m1D9WutQp#sdT&s~)eR!fMj;~!HG=aos zJycl>$r?AsagwJGY>K_~_{m)fLcsUIT6aye0s^*G#ZjTBh2}@4KYExyhx+G)b|yHH zG?wJK%9J+Tn)NRd5a}z%j+~hPv=M0L>Uvb(eiznv&{*qnKeKVvcc7)CbARD` zv*cIKch$!u%*V@H(bo1Yx*83pe3pzT|FBV_c`z{*; zc9C9ajb+Fz^VJIwny*lriG)_Cg$zQe)^__@sf-3`yCsn+u^ADU;h<0+{180& z;SM%yZ^s<5;PN#ge}~gM;O&QKS)M_NIi|iwL|Dhp9AYvNW*T`-8#^{2cOd9XAXaJ$WX?sI>hpCg}mjy6C2@_n3G zSkTsFD~{Ivk};#U+TdtyG+!C5wmeAVUnQyN#+3EXA6VR zXrVR8bQeXEJSF5G4&4TZC_{7D_lxwBRir$N-V;E)d(zH>xJzRCE0_hBsuV^Edk*mt zs=ekNkbixZa_lqB6)po*hay}p=hH!cnMN~TUR@c(z#e}rb|rY0D3llIh+HuNDPb0) ziHa1*io)%Gvk#T%=QXFMF%NxXXl}qZaS~C3pOUzef;N(fICK`QZyL50@{nDO5fvky z`6V~u*rGDZzUzhzp*2ImKdjC}6jz%;ryuC|711!zUe$CL@O*(V&IKIJm9_==>{`G( z5V^hvde4dlmjjs|0I;}b4Dd1aIqy9$_dfgsK(qaYg@AbGzGt(4Z@_3i2QkcyS3m## z(ArZ-0-+CD{)X@=&1l+1D>OUKLGgSVXnr#`B*=ya)=2Q%SKL+l?$ddS@yGqgN6Q)E(njjVS@#eI;TSI;k_{wOxSMhL2B^rDTF3sBwRM(KP zkYFPIq1ISiTRPRp+UL(o#P$gOiZ5BsM)VUaaG zTN*w#Tkws+CX=0AYN@f0yv%cABp$KRP#tR@!R9^=7tZ=rLBC$(ipH6hGq zEJlCRlR{iO=8SrIp||+xwbWT}F=pKxjPF>yIwlH1vaU{bR?MB1Yu2_i6_PQ3ZqQgu zyzE5gJBdHt2#1=)WoZ3rdv}cIxN$0cd{sQU1O#`5xk?KB9agZ@KIGIq*Wd-V7^#yH zyM6I*7g2WVW5b*{-cym859b*6Ak#gPH;gz0&>1ERO~047><(3jpvalwco_b$;xs|? zLV``5yW^=kQ$6c$TztG&)qKa$L0r)?6d;FZi~q#~kzkHz!TWeTxxOA%IxIi`wRCtm zbKTGtw@`2c1~k|BJv=z&V|WSHc7fb=Y`I(T38sVpTVj}kr)sk6_vNPMex0}{hxkEl z>}eBZk5&Sh6sLqz4uu}+0 zh_kvg{ce7B^pWl9;BXsvj_&Wb@mI{U10CVshnnzgj42cWxD^#KTqzH)EnmM%K|!mp zG^7X}3jZVthAFH4HHpOUa3FOj!A=VHW{O8&qCTCu z7)9!-Q|s*ckr{?#AFr`CZKT__rDU(Y5$E{*_G!TW)IdrSZRbGv2HTG%+$R=BA-Jt| z*>_GN*577Xf=fKIA03Mb`3*xI^{=gGr1Q(}WSZ7S#PrYU>`d|&aRiWjW~QM^!ZAQHc(`0U-Ng9b#+Hd`W&hwvjcx-E zXrAUT>(od3Db3Q0qG+iM(#SZ+T%a3_8tORpx0__AqtGwsSRd+EE-x~putma%*IL+i zTjE5a=jCq96e4FxcN2zq|8-j1d6;Z=x7Nb&+nV)gsJH$7>9Tnj{yaSqjCvrGrG}nMC2&6xn?R|^BGx6khOy%^$^y*tU`T*3~h$t#HP#z z34wde2iCeYY*$CMVUJ17ncf7QAm#S}dQ&rrIO3iQEjZL4V`e@(vTMPEesFCGhte3| zbTYIk_BQa>WnWQ=zFeuYR;eRoX&iD``7!0}Sd>BADN^e`BNKdnVW4rukyYPv78r7` zb@iD`t#DbR?~xB(HyMjNbe^z#00U}$(vy=2uy|&s+g|}qL@zE%N=uPcV!^#7(czeR zsti|GmmGc0w}RKN8wuwpI`G8tCpqOO6H-!&>`x(u4QhaShblVy8mx+z`FftlStiw@ zwL{+H1qBA>)8^lK-B0a#@WFth=~A)37T^a7gz^0~Z=~_w+g1_O^@>`Jw z?5ge-KckzK1@?#OGtN+*%&;LlYC7??FU?Zii%eZcJ#Q23%Wvq;tjH!Sb^{lC1J8cU zQIHnDRg*PAGNb{^P>%4*8tPf1huV46O>;Penqwq}b_Q!|A^KHUMZ%k>d~hY-A6W~P zHAtXp!iC|;Rl~(Rzo6ScMvziIfjgM&Ol;LCt#^s&{3zzF_0#SGf60AY@Ajx}^=u@c zg}2GD)v>s@@fCqoptC?sd)$`Ilal!7-l$YPPdxZ0;(h&x#3Ku3*vucAa=Mv zbOOdQ9jtosi3kXYEY)2lUpOK~kz^?GIQhY2Te`A6-@^xUd7xAdG*5iPLSga}XVQn< zaFSY00)3g~?1E6L&fP!;Ry5kn+b7DX>DSDiukyLY135*mHn`qvT!v8}{f0dVQ8kiW z`FS8#-VEj3eA6Iv^pkEaWrgIoHpw3-{VD{84rk*2hZO;_+NS16)5AF5^7C`c!l#+VEkj5Y-X{_|2{m3k9>wgaMCn$U9-K+{ZYro7k!-RtDy5HWLW|~Srzzp;{Dm5 zwfvT=_B5t6P3xQyVAIZ50_Rr>3)}%G=F8XZ9NeEBT)`Gp+!JXM3oWBWZAUrhnNi)V6{$f84~ zujp#5Ki2i8yToc>=DDh8Nn8pCC$;)Jrki4xiEG^Y0ff^8*UCi#oVl7Jp5yyH>B4hH zy*m~G`cA3Up2b?x*^h%V@8Zsq&U%igNR@kNNd1#!pzFQt@5`cc+DW=uNicmD^RNEJ zJ%z$5g5o#OzdvHyD5wbntC-ar=hpPtv%Yz`bf=PCOrFpa;(YH;PzH5Q_-Mj{DkNlf z9Hv`|aY!}`BG*)AIs16AGz~inedvf$rm*%3c;+xGEPTu{ z*oY!U{eST>I<=ur9rQm%ysFMFgq9QC4+%MM5axWTjC6u(4dx)utRpyZ;bI_A{cYQ6=QUJ@BDGTa`x$!*yBIdC`m)it zqvCrZ+T}0&iTZsmSeyyeVqFXBqpXz>!q8+0a98VA2b`tsk~()zPKlN*I{Omx$c3os-O{psG7MtI(acO~!S zB3_)>x~Kl0CC|$2kGt+8-#7Ri_?X#MGq#LW(d>VVzwxPE;ZP}8*P@8d zHkdyfUOUp6B^D(pKuB}md65qPY_F+WE z2sgeKi4E^6{>m=A=V;p@A?$T_T=}@iP@s0QZ;~6r58tpM-RD*YHmJ zNx=2rPfjgGR;WVk)`+1QP}#yByA*nLu@Q#)*n~WK8a|)+ITc>2k%p5t?9pp@Dx{yn zn)POqtM!yQQ%&U1XcUDs4Q1`_swpa|KfPu1$*mA;7l{SmPL^-fc$^bqD34lZ3Tlp7 zL?8hIb|5(cE1yn_7h6`oS_$l#_j<>&M+bQl!uRet)4jwxWN&ygqe3+RJWn0XyTql! z0O2c$sp5NIn{vWQ7iWU{b^l}5*|wO>DrMSvO;U1qO>Plwo<}+><=|l&m1*u<_`Q^H z4d(6pWG!c%1D%YxB-l~X!Ns?E=bB-ryv?lSW)!7Fnk8lY7iX6|b^AdJKfWTK;GDdE zXuwzF$JknW!&3oHg+zBYh_p+{YE#h5f(=VG5Sw?D8TmWt--r0UbNUz%E7`;M6aPc+ z(f)Tns(cyxR=P{Mfi<0AK_j|_8`Uq&eCPzf>V}4VDn-e7+`Dg^5Z@h{O|!~|Ix~^b zXRf~cT654*%n1VNy*m`m)n*8a4#afZo6|4g z8ybH-PaGGl8a6=Fm1af5G|s04r2xl@TvyZP62TQtfbFebpEGU!Vth02!Sg4pZLky$ zRgvv-N={b1U<%*2yl*}vtl+G7FZq4I;|`oaL#s{+kz#BMI(@L?amt>0mRjkbXS6bw zCPNJx8L*fjXQKE!iL8c9_IlK%c_OH~mia6sk}KF|D~)8e-k&9ry+`P&U~cSj zM|$YNxB9;RYBW!8c2`_47l}6v@b;jXs}Ft^Jem2F-b_#sVR4R+jC&n*m605nW}509 zNI^_WdvH!9HU4IocBAutnGFG*r8y&_)oMtNuh70g#!L}|GUCZEz*`9YNMj)JQ-+mt z-KACe5{lBW+{5#MpC`XT@}{9Y?R6@Q(JxbjDQfLU`=a24T)G;J8W;r=O2MYgUVK<^ zHMn0}ZV>LguDp*C3ncKy4yYEFK_A_sf4&&9$t5?2fTg0b-x#g@TVs$6MNs6^cc_{w z-vE++4PUM`wywL^iCSiYcY{3R@$Y1HPBA(pn27E;cInTSYc+m z1B6{>Y~X;mZxS~{!)%6tJb|f!F)1aN?(?xPCtB$eh0l}-tjgmgx0OD+Jhpg2-w(y+X_rJ$K z1Qn?%l69}Zg}$@MkrI%hU`+p5`pUhGusS2dk@>Lkw=cXZiHdOV-8}m_Zf-`_w_+3U zV4vbmxAwe803m(sO+ZC+L`9yAVFb>{5heyZ^jIc&hVf{2O`49*&*`jvAvrrFUEL@A z$^p;xkF>|bG@F?VLTi8sjI69F1@DgbYH^-r^rY6CdE-JEN(SV? zMxAJLkJQcE;EHd-tzgqhdi={GM2g490o7M(XpBvmRIt?hepu{uMV=!zgC(&Pm+?CE znTJtpNTw;P=Q0u!evFKaVN*)Qzdpv1c7<#c%)zBE!7u`IV?kUyWQm74@f^Gbaz zRCGN=fOV_#*;46m*Yi#xQ$;GK0fXTpZbK4(fkv6u-$tt`E%tMv;7>=bLj`3ckMt1M zjZnvCEc%?7FC7H#@V;A6u%=70V97Ud3CCmbC$#G$nLYnF6or%+T%H1#jlDw}My+nd z!w)(8^UPEujUs49t?2TTF48iUV76vs<@@Axda41|KHg2Y)vS>=r)pMSbdMOgk~smM znDueLUaY8C_T=>xfyYpG%B&K1u|3I)>Ff53Huo+{5B;Gtu=1t5l6Pj9)d@C_%OHb6 z0@!E7TNKNb_ZL148G0U^=plCxzYJ(@yy>^V}WW*D*%5SWE8%p&zyEKh6 zz#m^QfGBk9)|m2`&s^y|CugjUHW9bURPwaVV2OPO^zL^XZf_IOhbF2(O}}LRTM{>= zL3em!^MGS~#x6dXX@#QYNt^YlK|VgedaRu*J#;rIsWEWr`BjH9IBXZ=Rg@(Xg}*PN z@KvpNg2^&ft8qBW-OIN8O-kqg4)N03DZ*26T$x8UP@gI6*D$5{R z`07gmGT0LtV2p zLLcE$V0(o|z@w*{VQgr4wW>N?9`FlEc!vqBK||@=837^>dst7uh87YXNo<2HbUqDw z#8)5e1X{tme_ssTHDldQf$961%3g+g#xSKoIrU9-sZ*Zd8if_I`G_~uSU?E<+aL8% z`Cdg8Nfn8)6VCMKVZ~3BW=Gohw54NNL{J|3O$8!2Hg?|4Q0I{)F*TVzCund<=$n!6 z*{YHzxmv2j14@@B3@qTW;L6{YAlu}Lq|rv9EAXdJIVSK|ypTuizVF)_i}lLqLIi{h zG>B(#B2zT}999uTO-Suby-$@Vj!n`qpy?3-V!#?zS8VocL-;Pbx$Mz`sJFsnzv4^x zG_@Qc|8VT#Zz)~JZ|J2v>tsTEG?h~f^_v(&^5-i$>lc1_ty(#<<@2*x8QO6eQWwy( zH0j0DhuKGlJBBRNCvNvpP*TP|>WpO_z(L(8WXjI?N_;3Cd!#~zRoo3S*Q^zWRm=vr zx752PV#%Gdgi5#Gp|Dg@C7Xl2=WyRpu|fFMA#I9X+^SQf6PLgtilUW27W&b=MUy9{ zYhSTuBBnrP1!n@By{4esFCSO&#E5LzN(gTr>UpgA<}(cH$dH*S>|vW3zHyq5tmN-~ z&kUK^?H!1whY-P~1?&hAdo1iXq{RpG~SXgCw5xwpR1zL=ZWJ=dSKp9=&^fUBK-twAZC>URMz44Je35Qw}S~YP! z<+4FzI{C-#t6!ox*qWGtK7dfk(Bx9X$cHQ`&-GWtGE?y0#r&QPVoa5j&W{Ci|I2sA zf2*_#TWr852aJOwGjBW?n>`8C6a3ir**pq~4~Y7-IVp*8P9a`|p8|WhQfL_|1PYHq zThg=bNIop|T>f0@K6ow7R_uIyA0+q37-n!>jplGJEd>zFVG5A``F4f653$gLucU_k zoY39x&ZyJw`<6ipGC~_hE4f-7>u-^D@?Fjcmiu&+agg@vRMm7s{Wjvuq#Z*2x&k9; z++kzTSaY&*F%8kgbBqz*+$wQc6UVG+9rHw9*DzBzbv}GUSG30je<#?4mhp#BBM(eP zQdG)~ES;-1xBSKZi%w`2_O~bvK_}I(={lj|HU9i&7kEb}F}BmM6m=s7zp_A|p=3^? zg~GVh-p4(Nm6GDMu`c2u0UMAnjT7z6Os&Q*P)j7A;wZ4%!&kbkV5@G?y<*wJYaE>e zJvFo~tbJqW((UycwQp$Xpa6xKh?sWN%wrH|gtj``yI66$l$MgRn@IoEp$qPb%=?s?BtGhP$C-PP4X)J|?+(B(zU_Sz9uhAAid6(}d< zBuQN+lR?8HYs6#OD)m62QzL5Xb%Kfl3wc*k7v(~NLZ|EqiE}fUfe$&c2e8EI#z9Nk_=B=w?uUJWpxldec!(=r)-=kwgb)t_(aB^YhS^6dWfww%L^kqC| zo0|+}@gllw6TJ)~4~CNL*e3;0e;7pr8KIO(7#1Vk8%$S9Yc*W_WyE7nmHEjDLe_v_ zXIg4mdilvlW65SlseNlUUXGI7k`fGxfY`i9Q)Stq0W;o!4;y~s8iqpAO+;DS)(LH` zWC^dg`l#69BMyf-FZ#i}-b}pVhdu92av!0AjZ~C{fS!d%v<~LkrFyK6_Gd-N!FX~1 zAiv{*WO@x6Xt(E@0K8MNtM{1-TCZluC535GzSsR(etyUZ(z4&pSj@@71bTE6MK*_> zMkWpy+;wS=zRC*YP_gc9&c{|Kvkx>=(^~XMzlUNl*qSkE`VPk9 z*L5k;o~x6DW)Cj%$+jgnqkzGJdt8&O|NHl&g|$mL=sjHIwJ#MgGTJUU9Sj*R>FXg< z{>%h;Ph&GWe9B4(M(nHz>huuLfmHqTf(gf9w+g~+rqh}y9AOXCRGiI>nwr;!;W-~# zm`p?2T~&{D``kv35=_K24ofMdjmrXp2aXXSU^<(%HA!)#EoNLr1EOQ1v3BO`mN-5( z?So2RIdxKYGign4dBa(oWkCqv-X(YU(-m~2pms=!UK{B(PlDypg8sWak=Q?tBE8zh zvEpEJ7tLdR_OEmpNHr9kMU$b`=oXFIYPAF~?yrHPo;B**G5XV=} z#GsdD-w>-762r|!P-lL1_Z-^>hk8#xDPpcB64th7#{^-dFGZEvZ(dowhZiS}WOym= zqPDR&_TBD;9ok+0OMFXSd%b}+}z?U>e_l?_!0m27v(v)_>>uJeeZLBL5AdjmIC;a)HGocVRG^c zzgxV7j5>h~AV!vUO8=TJ0w9|^rCM*(cpUlF*Viv5AU5e~XmWpY^2Ea&!W1H5Yde&T z1OkmgU}10V+g-E}qYh41tGxvmlcCW=TW4WJ_2I;PIIU~Yc!R{0xtL+Iw{|O(S*_k~ z@pbj~OD(P!ZQhGhUSAbnRwG)Z)%ks|Tu|r{nm!9-y(HTg%R4{dr04E-tkdcuc z?d>&s9$fYHZD+z>%TQjf#8kWnIKa;vmxTJLF)y#LOUvyMDYDe2}rIKsLZ=MTroweR(c;Ej`EShq~-O;+#?`?PhS3L zc*j|?rn1p@W&1=P;~=HZk3mC z0opr9o8n8+8n<{|HbpwEPW_pivnZ^wO)^U{&5aFBxJ+Q{YwX0gHZ_K6LU@^C;kFqK zT-y3QGLMHH8OIVvYl8?iX1d1vL;a14X`yW}^+^-H}vfuw_}*0^T;Ny*=35 zn-{3eFE4lZG4=~~dVKVzbF;Uzt!rro>A}40lB#nx$HU~KVyQ0t^U`)*{s%7UayExa zj9Q(<=99qQO?>*YzCHD)2Pn&!%2bpy zEGxJFJ-k}bv^IW!T6Pc~cs+F#m& zHrv``0$=4)R~aRCxwkf!aDQ`mI9*x`R8ks zJ4U##tPL+k=XzB_iCd=0CK~a;QWPJj|S4t{r`Q}KS>>u1A+j^L=)v^N#8k-cvrRR=p-NG(3>ugqyEI; zTAF*&*0OsGn?#_mcGHuS)$S)NpM`x7W=glVwsMkTN%Cs+j`s?yC&LsB@udoDj;>H4 zT-=8Eff$rc39(hbu=GK0NxIDS_N%d$KW=Yt#WN#aoEgxF=R`O;Ynqz41q6~^bU^&1 zFBh4_&-rOLI|3j%)Kt7aX_rPko%qNyJjz17z`RSH3(4&K!V`TtCeeRfR@%<*EtG{~ zT%uaERH)C@;duD%zOi#Oy&XgOrJ{x8C^LvOB`K+jlnf}P`2D*$p2Z-%-NV3OwbKuw zJ1Ye;l$e-!_nkI7I~!f_F9=g!L7}X)w6v^jM)?h>!QrL2yx-%O&Wa#EKc#zHjwUd*Rl@%D=SW)3{zAaC`1yZz9G6Nb&| z>yQkd?`D^O4mP_T@q3;{WlNtVr>C<(!ED7439N$y_vBUeUAe%{)r-E_>x&DVkBjmp zb@}=E^*r7WH`Z;JrSW!5D`m}Tvm&Q+9il5*s3=}8kpKqn>78f^7` zYqw<4A`X&CmIy+_8vn`C=5a7XiAf^pvG#Ni@K>#P$H#4~Y}5NEBqs~F>_!^yO0*{B z@$v9zs6=aUCqI^*cp)3hHDB8Tj9(XfDl-@Dcg4@j%-P*bI*C?p?)t1@zvAp49nnxSHi=1=xAA|J1YiS~ zT2*VSkcde6Yxa_o$eXwL@B1S}OnSKFUV}!DFhLnjpbjEytGQ(-?J^ zO(2c(P-o=7&i*shj9R4fa-6 zz$~4et$mCi1MJ&8eC*otl3>Uk8+DJrAso-zomL!cd2fW!nVFlv#lr&<_DK8~ZEbAc zv#>-&L^P`a=}NP+v(}~N*1slo`T=>C8>BC`Ka~sR|=X>efpY386Mk%;4u)ot2DXXtchduc50elbLO~ z_k)SA@84Wy#)!?6(N>IhZc0L8;)*OHnw^!z#rk*yLErVBZghG1<5I2;Ho%}A&cQ~A zJQZ-KItvR6n=QvZUzYnCqxoFFa><}e|J?e_jP>j9-?6`cC4lUFPtV)lx1;5y(|?)% zXzS`89vr-6@>@7N8#_8yhJ*FJ_HsKrzpVrPju`NMj*2|X7jK{3mDOtw(gH!#w=DW4 z*=C@Z9&{NTKssPrT3TjiXDyc^oFR~u9c*E`rSMSn%I~csL>r%stZ!hK27;r%<y{nw$0JVp z(~J1$jmDjkX=Nr5HS_zX^@VzSD`5WH!^y7YMy96INDfPl)ev_Ypq9xaAz0?fB3qYP z2L_F)7Z$Yfl6aWGp$lB!-SKQdIyW4n4@cYEd0eM$_u(k$=*Sdp=cyWmg}TW47JMXO zQz#_sOXn=YSG(3BFIlx8S*BTCj56Bq$PCUEiAhPl9xA0v)PA!}&BU9}JsxdUX?Y*m ztbShaZ9Z`Ky$O0MA$r$Kl~cO2aF0ykK$u?pkXO@9Sd{V&c!6M5{{gaOz%cPOoEP!^oKWPjKHZ#+IoJjZ8 zLOg9}!uR&72Wye}JFc$W3=DkdmY~q- z_Ja=h0uWaq?N|#GXr59IL%CyZ)Om3db8B}x;YIh>5pgD z(*`E4rDa(W0KAQUvE9pS6S=<@7q`a8qX3{~IlDS*a0y2~+;;kVRgH>zLxsO)X>*sC(c&(rd~&ILtgyw&$O1u9hF^E71W?U$RT2X5%gj4E%=ezEZA zqhl^NI2r>N*2~))Fmz!E1|ZN2KxaN3VnjvFc_rWAgc6^SV8~Hk*1JbZjf#dw4Lpg}sQbmj zVh#sN#LT-xMMc%yrQWDpcbB$HD2_P!-rlZk$Jz6el(-Ln2Q`3>*Bn4yIqH7x$xkPP z7aE8l!+&U_DIw1?sqfDp)d|#Zc1jGm^+*9u^D*U7!)E<`?zXnJao|OuruVoK^rN@y z%I(qT&=T-yy}b5C-p{YB9G@JFUYJNp_dg1S;!6bfQ-xPVrV6xy#Yeas3=Sd$xJ0pEiHN+BwM@D-Q9Puh`;@>Z}F96D4h}$ zd#450lEiVrk2$yN<+~!8-?He*HN63a@LhGVUD68!aRKHdA}qqUbf#3{X1T7M#X!GK^a_^#)C ztgNg~R$3uLz_Jq)2`G(1*AYoUZtR~W>a;iLv8=TFr;9a~_W3Mf8m0KWk)VjG1HQ~WP^Ik}ua#}Tod**{+#sxcwn9q9EcM&%3;(CN_SyRG5qh?li(b1QE#%7c`P^OXP3BM210fdkk(5S;2yNNhi9S}8kw!!Or;rq93P}hmEJ%j9jRGbqK;xxra0sF2hMu(W-EErQ zeG)`RQE@Z`n~oAmQyHF%bv(m)RLJ;|t5RW?H_tL~xT{hCbm(vs2xoz30=S1c%lqf% zK?c|1-DFQawTfSIYIt?rg<4x%0iXrw+kH(JfVK&pNe0+v4weU%u6@-5$NYx+0ysQ} zXxzB7NtRem;HIGP>wQDW zV<7MtfC~OO+?P3_*vsTudwY9;H)q3LEH47MX2R)YBrhXOQ;;=0L%#e@vzYqO^3w%H z$r&$Kzb=wn##80sN~dz4)vo695_8G$>(%b**A)_+a}$fM7ulgY8~4>3^P zg5d?=K>Q^CjN-}RJV5i9Cf|fBAD96zNyK-v)@uJODzA~Lrb4HPSsAd?yyNFblGTYe z{waw17w0gfFlYNy9GGU36Waz$l&)wG?(`7$|4Ka%JM zKw_t-jw82YW096g|H15qT5H*QL@8>ElHTl%f0#r#Sf3dm$XKB=^BdG#_ zH{TW#@`ip3;5vPK5%+rR%fDEHX#KjBBDQt14ezNwlCo~Q^UnTl@=m)|9MZ6r=I4I` zMs;Qe<=h=rW?eeEh3`@KH>j}$;-xc`jl^;!yDQc`ORE}Ni+!2o(V72y zI?!I$nL}#a;wx&iQmXARTc)=VJDIPTF6^V73iy#e+rJZ$-#X+VM&f7l#JgZmynYck zu)Q!}6C6Z{fcp_9cv?n9_V{_U%tyYkG(Uf*Cj?u*5Q)4O;v<$sGsb_2;gfn~UD^p|-37>uN$ z@zd{e(=!Q`lV=MbuEUkq`?IZIv*iXmDb;~7KA62PpZ;3&61W#dSo66pME_jUQpxSR z&9krh83=QDc-+iY8cW8G?f^=tUiflK1?b@*Z<*``#9DwM3VAW$G6Hc&i_e`A*T-%7 z$HKg{bad78hc`D3mlvG~WJ|!I`^D0}6uV843_F3Shh_DDw*~26SnMcJu}w%o*z*#b z%q}NLnG$dpTRcvUsam zLrFz3rGF@C;vYsmrtoiY*^BnQGZ#Kj-0Y8NR;;h90}8Ac=9ph*^fm6E-*=xX<(D1PGh110^s3s6d$H z{FocP@W!rCm0iA?hVi3xmye;3>sH_Is~NNBzjFgCeu*|ytWu=`Bw4ckXtJ0u`VQ&8 zn=1fd2y+Vyi_f2zQh@>w4Rv+x>NE04mw)@cm_ckB)}p88_2f%-Ql&x7yt-u0B*3|ogbXF~*wZfm zhfO)<^m4t*y2r~2V@aTZ2?%BF#};dpGrtFFmu%lqU|Eg=WWv+% zl01|zMf4foDK8+aP-QvJ_9K0*?W&L;e$%Fa)5;R?KClx$swymkF!?harM zu|E~&gR>hgNdPR4@uK@J>+c@s*JoQd{|1RT9>tK+GmUWT8#N+JV&7oGV_qU}7X zeMF5He2U%&G+azSSM@jC5BwSH5KRkSaoE^hPJGUc^St^0D!USJD!aA)BEzRlC1ePh z5|K>XwCyCBWtJh8zA}?}Z0|lPGa-CQ=8RipRw9W8c7$!7Gi-Cpv~Bjk-t9Z*{O3C7 zT<8DS#dYxx>s{}9*Sgp9+|Rw%s&0=2MBl|N`+Gb2_eofr=$(+ac1*3z-2!O<{qL6@ z=TOIr|1LBe#jUf5`mAM2@k;z&nWgP5NiUHr?3K1no0NVQWjg7`2wk=Ay$C}v^%okm z{>`N7K@YW`p)XZPH01fvmE=rPB>JS)`gft1YC9iY!ddxuckF>LtqaC2m7zyqtRcJs z21rBy!otGGj}g07Kayh+Qw6>PzvtG&5H=6xl*^!J`&V{%r1cxgx&6o=Jy@H^c&0}w z`q{L6q+>h}PSg36*}Sw3`1+OPMOuIM(;vP18o1~E!#>DyKhSp)j)I-7!!>UB_?YR| zzkNH_3Z6i6;#(NW&lkyamE(k~l@GHuQ-EBnSZ^C5{Wc7vs-k2n31(- znR}_;cJa?Z4||W{hnGKqYO=oo0A$n+td8XEElaR4`=)Fg;Vwt9qMX`ah3=|v{}>zH zk}F|}BNp=A(lm0#FFd^_1|R`=WMC2-@HaP3Aa^#Gw!iloh14Aj9`B-iie-7Flx1-{ zP=z2mz!=_AQdy}HaVz~kK)4AYsd{FR)Lh9`B8!fmy9+(Z!lYw|&Qx1fKWo1DWSLk!HZoY(N*&$riJmz9B zH$q0^I)e}{3R1%3XwDKZ=bRzEO(88{ceHA~Mah5jkMKh@N@8oFvwECNh~ zGdFDBt*`Muc9flt}evGmj2y0Y)=9I$hSDJpJBdPb@|(P|@Aq z!zkNqzLUkBQ(>3rCo*t!iPb>YFCvqDs_*4q#Z^~-kBGl#hM7f4(wNNP`aGUQhtqfj z7>#@06#J&WpR4}s3%S3ku~CE{S-1F$fKD`%l>|kS19{!p*en^}?s@%FTI`h{TmjSv zql|xp3VA)eVBd~BaBH=T%jE|m&EMnAR3<`Reup3VV^M?Q{Wl-u*>gC+li7?{-MUW6@;^G< z<=#h_nHdFBQ&wBWNBYOd7dC~Nfu8^k!Ja*46jgk#KV-sC3)Fw8y^-e#&zFqCGqviWvjyZ2 zyXodncI%uo3~Z%^ThRCRd&pCJ_gC*f9pmy%2K$}fhTS;GIV_n;n?>StSF2T6kYTiG zPZ{U-QTn&^Q%y2!I3T;E!1Sntlash%1sKsH>hZB+3#M*4yIdCwQH(``EXx`VyS?b& z-!6!kSjVe;AS$lCYT^j&PNXFrqe<1hG9c<=+EOF)V^d6Isd{mx(NcanJY+Q|ZdePN zXNO`m7|e;a11^JS3QqyU5vy&nQ)N^HvyGP5y9nIxfo>@qW-9U#Y2+N(Myv)x7z;|UA(%l>%C4a|=kuNuAN0v&n*IKTSmJ`~ zn?x<=`BK?toHN#*BpGIrchZMA251dI*q9UGI3%C7d&p0gkU5sqeX7BgHOg@0Sp*VM zJZ9c&n^CvrJTul2{*f7~VuleG>MG(^I@{}RZG1;wMnqU6HDlIye0JNT$kC2P+^%M; zC2tNX3C&xm5@7cn>g`xQ{C>~ntNa>W|IwO&RJ-QYSDleB#aG`;4F}uRC_xEc2M%M# zX`*d!qXj=gTUS%9o3>YSub27Rq=(J4ieLuy>P6#B{NvUN@6G2TbLoUe$e7)@Wo#*_N=M+#6+^%L7*jpJy4}`{mRcS%P#4n62{$v$Bw?{8s z2A0r(v|&aTBy9MxH!ETNa@?CNkT5l+AH7pj5BlY(kY4?qgE1U{tMITed?jY{;IsUT zk>wEh>xbA^wJrTuZj|fFU}Xa8zp_<-8AG8@wauuzSs`e^7?_h4c{WsCBE?&SpvQjt zckEQlEa=fEwv3|v!Lv}izX>L~Q={7d8i0^!zir=D1ZmR9cK7>b-RMf+e&Cc0_xIN} zG;rV1RDQxkDEE>m6+W!kr;)BVrq4>&tUl^{++F(v(XvD}=L~pBoJf9EA|j!kstfV| zV5Xj?m_@7s%ps6fD9bk_6S|H$qZU3!eY;&Kh4`{P*+!#Fr#NyG9($E zE*;tx-4Y&!F?*g1E=?Zam(6AJM0>FRxT!xsZ&FgypsOG7V1kGfVJs`dwW~9!_M54t zLH;@h-aMRK9~hQEqzxoLL=13h6a3zbjX&qhd_#<6QT+D)G#gls?b@4wimO=XoV3Sm zF$)w#WrOu?34Rh^k&S-)B{zS%_a*A->9Kjs{;BWb;emCDKPin@w@g1en(5f;K)zCa zBdi8|34VB?x6-C2b;3ir!L~N73M)yD+7V`iKQ4tDWxnJ#zNfa56rC!?{M{M3Nef{d zL0vhp@Oo#C+1XgkF*C;&8S(6#nT2@_IoQoa|KLR5h2vz&{5y~Ne|vL@Hj4o0*6A31 z$p>jRb@}&9K5pHh!fdy-`N@i|j9k@e5HtW3J3T!;h?cFt;_De#vMJ^}r^#z*o7p(@ zkb^p}Rc#j#+>gP_b*VjI1p%FPBXY+bq&I2%?iK-<=p7yUJi`G0m+|A{wdLnBeI%ZG zfS@b*@$!oLh+GC4GD7B*;cgH2oZ`NM<`36ym&W`p3O@?|J{UOQqtL(6|M(=Dt_I8% z`M>E=zm)E1;7_K-Jk>Weyo&C`Rz_CKw~RIrpC&(NqJo%|Pk^Fe481lbj7nsp;kyQ3 zsxG5lpSb!@Lk%BVT1X&vVi{-n4GYQ)&yxobR26ahAn z&PhDYy6E{jL7M7wO5KMPUt~!=k7x#)>>`#F7Fj&JsAZR z4++rzg4);CJWnlyCVLZfgQ3bCm}pY=)y+5$>_9cO(TC>hU`W>VfjOIYJPoF%`ww=u zDgRIRx#&@*KCMbkL)vIgp6(3yEInq-FNV&E3EsVUYN*#pm#{yq@Sn_q$VGD@Zi_q` zf$E!WlBBH~sF^wY(yc1q*y0%~feY`9kH|Lwwa#m98u0bGz$%4#Hf&i3Toks1zn-V- zwl7QK(K{C&C_oJ{!?D`D)h}-Mrhe}3?^m4a>F>9^Y!0y|yqnZgd;#LdqM`|(sUW)! zxlRzy>FDUFD!kWbm7au{V%WV|dsJqG{m90>V~UqA8gyNON%TTmQaBa&9P|FdW)|Bh zPvKCoV_(aVbukCcyam2KsLxQOYG1x@?LPVfHvU_lqYN`vX5V0~U9*=da_l>TF`SyM zh%Htl`?|p)j5UFZd8=^i?*WmEfPM0*Fe#D)35mQ1oOX-eOq_5W!%(NFbtbp<95>!n zp2TMHge;C4C9yp!4vp4|;ail>-Be{PcPN@$*q71}QfAs{KYZ%BXg*#`%g8Atx0j0^ zNC;yYR>B;dozH;y_*moXPAnDVSm~;uf<)rDh5<1(GGZ%X(S21Wu9@o)HLPVlJ3}WA zCaODXdSV>F9e`+ab7urJ7wEKNqN3L969b>RCQm~sPCXrEt$vgvP1ao?I(&aFFZqSj z)GRwRAgJGyY~n@XNb^esHYm6?B$}0})FYRgnhLTU-p2zOZ;qAZSiLuWcWjD=0vNbd zfb!$J*G`^IHyoAp_U;L7@UCHpioeMs-~s9%tS{?20?LYhqMLuSqVCO`kmaH3yy0($ z0J7bU0x2$yQSS)Bu?jCM#^`?Fl#H2dGi~pUYZD0gWyzaX6z;rwCaYh-Tj3A%K zKttxoDA>Bbe$=?M<853G<*gZU6A31XvQ>hx26Tf^w`wG8i_$B)%vlz|m_O1L&*=&N|5;z`$t5fG}sL= z76#Aqu)I03EH|Q8{mSqy5(bPvsAwN6jF354@fi%DkWXF+G84|=0sj>U(>Ccz-ONH2 zN1Rjv;F!g{O$B451qv2DQqn&mZmJb#+Buc`k9dzSj#g~c0kya@atGbNr`K>+li(6x zjF%?I?~ODO`|QbzO~gg=i@4*LRNV^NEJr7#K^5kWJVLHlf+s~QmYgtmiLNi(d|=6K zujlP=r)SxXo$@mBsFb#VCngZAHO!lCppvfGQKWzze~fr!iEjr!G%(CYnUS*b}5M#TC?hWI*;>` zHYsXVpJ`=hVGwmt8?_xA6?rilSq+oDp%DljF zk;(O9U;WUK1BWROYt2rq;tRZA@p7blx=KHmLohz=4;tPZIv?-LFaQ(FmQ3YR@{+!| zJ#|0qBf^xyvH=p1Z^=2%Mw_!(hnK)ASmme%N4MMv$~u)eduW_K>g-E_Ow zINjtj(|(FeC-ZJLrAW?2MZ7E1<(l!$JxW2^^5xI+seJgeH*n&K{mRhD!|ll(7(Q}F|mA><19McIlS|D%80Rx zL$Q=q^}_~<2gM8gqBX|_V~F1rOTXC59Clzp0Rj|Xn}cppt~hQSN!K*lC+$t<489&V z%*tUjxfQtEqv%ZhaKu*i-X!~qCkR6ps?{pUHP%L?JfG{g4h+(=6!d8`HgG$^yO3Q& zW{_V(sp4KSeTy5Y5<2Hw7VJ{tH!)*a@sLH6-wBXm?wDrs*I><+oh^AvoEi;o~c3_tkEz+33U6{&h;5exukZ5S#re5dWe0zdh4>wHouDpch}qMkls=QqdnHd%xTgL)S5voP;}gPimJ z24r9Y1ME#5B;}L2_5o4^h29ByH1UE^5(sr_YTmAYaKr|3jA|m&XBz%h7B`0!z0ulF zFiJVnf}j$L;%>s3V5FK)1}|0Q4gZxT)Wr(NX($PZxc}Fq4%|L);-8@Hzl+JGli*ne zl!S?xpCiZH?`${ii;$fvgtV8hX(T>DptC8WQWG)R#&N-|8nJV77*mv}qL$ zvuV$3M;_khFQn!y+O0{YyEIPz<^wx0l$4iDc4uC`7LN~SIkj>v(w;^hU!iUAj|_?; zJTXD^y3sjw&ewB}Zzys;j08XrC+)+_ICe{`h-^YO6FI7iJqGcGj>Bbx>HOcTR$FL8 z^l?POBV~yoHuVxut9ijwYQjO6sugm@2OQ$n@XzJ{rlGH5fLC0gr2msVpQ1;BFP{$} Zt3O>ZG7FcO2!;RGxn!tWrg8m`{{ihltt$Wk literal 0 HcmV?d00001 diff --git a/docs/evidence/rhs-retired-2026-11-06/README.md b/docs/evidence/rhs-retired-2026-11-06/README.md new file mode 100644 index 00000000..d84e19fe --- /dev/null +++ b/docs/evidence/rhs-retired-2026-11-06/README.md @@ -0,0 +1,25 @@ +# RHS 1.9 override retirement — 6 November 2026 + +Removed the generated CAS SetAuthor and destruction-tire script replacements +from the active addon. Updated RHS Status Quo and both content packs are +0.17.5281. Their dependency identities and required resource GUIDs were verified; +the external manifest now records those versions and project hashes. + +Native GameLib/Game/Workbench compilation and game-mode initialization passed +without either override. No script errors or VM exceptions were reported. The +small test fixture suppresses ordinary scenario startup; this is compilation / +initialization evidence, not a new gameplay or multiplayer qualification. +The hidden, muted private-prefix run completed and its owned-process cleanup and +source/external immutability checks passed. Existing external localization/DLC +resource errors still cause a nonzero overall runner exit; see native-result.log. + +The retired generator exits with a retirement message. Repository checks reject +either stale override; a temporary-directory check verified both refusal paths. +External dependency/resource tests (11) and development-source bundle tests (18) +passed; generated menu outputs are current. Both removed files are absent from +the immutable native source manifest. All production addon files match that run, +except the disposable project's additional Rally dependency. + +The separate Reaper/RHS character-slot workaround remains. Published Workshop +packages/listings have not been changed; retirement description text is prepared +locally. No Git push or Workshop upload was performed. diff --git a/docs/evidence/rhs-retired-2026-11-06/checks.log b/docs/evidence/rhs-retired-2026-11-06/checks.log new file mode 100644 index 00000000..bead81a3 --- /dev/null +++ b/docs/evidence/rhs-retired-2026-11-06/checks.log @@ -0,0 +1,11 @@ +........... +---------------------------------------------------------------------- +Ran 11 tests in 0.375s + +OK +.................. +---------------------------------------------------------------------- +Ran 18 tests in 7.137s + +OK +Menu layouts and palette are up to date. diff --git a/docs/evidence/rhs-retired-2026-11-06/external-addons-inputs.json b/docs/evidence/rhs-retired-2026-11-06/external-addons-inputs.json new file mode 100644 index 00000000..2a78326d --- /dev/null +++ b/docs/evidence/rhs-retired-2026-11-06/external-addons-inputs.json @@ -0,0 +1,851 @@ +{ + "1337C0DE5DABBEEF": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-ContentPack01_1337C0DE5DABBEEF", + "title": "RHS: Status Quo - Content Pack 01", + "version": "0.17.5281", + "files": { + "ServerData.json": { + "stat": [ + 47, + 916830, + 236, + 1793966354242463962, + 1793966354242463962 + ], + "sha256": "cc4cc1b0d1d06fc4f1ced0117845930d8ed5291f63ca89577a47518018444706" + }, + "addon.gproj": { + "stat": [ + 47, + 40147728, + 339, + 1793966331111982831, + 1793966354215463398 + ], + "sha256": "09baf9fff74b1a8aadb03786d6d9ebe7159ddf074f7d46b35123501325332d98" + }, + "addon.gproj_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147698, + 362, + 1793966311083569723, + 1793966311083569723 + ], + "sha256": "2155ab32d13dd234b511ae5a390c1a5a4377ee9f3bde8a011b7b474c7da9b855" + }, + "data.pak": { + "stat": [ + 47, + 40147713, + 1992950655, + 1793966345831288514, + 1793966354160462249 + ], + "sha256": "46e22e1f561de7435912a9263e06cce6d6f81bb82c0c1da92d5937758b35963f" + }, + "data.pak_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147695, + 232639, + 1793966310556558900, + 1793966310556558900 + ], + "sha256": "1398f6275e2adb99ac13705a43071734105853f83ed427cff3f6a333a5f6907f" + }, + "data001.pak": { + "stat": [ + 47, + 40147722, + 1992538370, + 1793966346382299991, + 1793966354214463377 + ], + "sha256": "97314ce4854b3a35dc5cd181378af27281b2897586d59b1e5b108aff9a3c2eda" + }, + "data001.pak_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147696, + 349868, + 1793966310769563274, + 1793966310769563274 + ], + "sha256": "9800ba8266e30b2a81e59b119b1261a7a3b441adcc211dff9c08dda704853e83" + }, + "data002.pak": { + "stat": [ + 47, + 40147707, + 1992467288, + 1793966346414300657, + 1793966353764453977 + ], + "sha256": "4aadf524b9144c4f2886edf3442db02f36cecc93913926f815755a5f7d307d0b" + }, + "data002.pak_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147694, + 332026, + 1793966310371555100, + 1793966310371555100 + ], + "sha256": "9e33445c078f4dccd8ace6eb5a98e0ff04071c157b3182e1fcc315ee47c6ee0c" + }, + "data003.pak": { + "stat": [ + 47, + 40147725, + 364992473, + 1793966333186025798, + 1793966354215463398 + ], + "sha256": "e40e45672321aa36c0650bec960b7dd00ce55bdeff0fd27eb2ccfaa1c12070f5" + }, + "data003.pak_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147697, + 96625, + 1793966310953567053, + 1793966310953567053 + ], + "sha256": "881f85eed91e415e78bf28caa43b77d0ccc0ca8b5b1c8b89831058c1088c9671" + }, + "meta": { + "stat": [ + 47, + 911092, + 8398, + 1793966354241463941, + 1793966354241463941 + ], + "sha256": "7bab7f27e0808955b9e5feecbf94febc8de11d6e12e56f60c1e17c68791aa3d2" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 40147731, + 567493, + 1793966331188984425, + 1793966354215463398 + ], + "sha256": "29c053dcec2fd7f1e5187188f91eb1b652296e5d8a0f98a9ffd2bb48dcab374b" + }, + "resourceDatabase.rdb_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147699, + 368, + 1793966311208572292, + 1793966311208572292 + ], + "sha256": "a8fb8e19912a9450e68f702befa6d61320479bfce5b02faccea866b01b305ac4" + }, + "thumbnail.png": { + "stat": [ + 47, + 40147703, + 18180, + 1793966330833526806, + 1793966353682252124 + ], + "sha256": "4c70bf384375f069cab9ed719f3865441fd363a010495e7b465f3ae83ed887c3" + }, + "thumbnail.png_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147692, + 366, + 1793966310025547994, + 1793966310025547994 + ], + "sha256": "d0e233b32d3d41ac44ea127ea5eb028b97a63555f7867278a7a6f5e8e1df7255" + } + } + }, + "595F2BF2F44836FB": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-StatusQuo_595F2BF2F44836FB", + "title": "RHS: Status Quo", + "version": "0.17.5281", + "files": { + "ServerData.json": { + "stat": [ + 47, + 910012, + 8466, + 1793966281368963106, + 1793966281368963106 + ], + "sha256": "7a507c69efaca22a8ee61dda96ac8a7e337e3ad2b4cabd5ae203bec43d9e44d6" + }, + "addon.gproj": { + "stat": [ + 47, + 40146987, + 1101, + 1793966269260853248, + 1793966281217205538 + ], + "sha256": "51fda0afde5ebcd4dc88c6c9451d960b67aceaee437f02f1cc80aef724e3779c" + }, + "addon.gproj_0.17.5281_manifest.json": { + "stat": [ + 47, + 40146979, + 364, + 1793966268094694637, + 1793966268094694637 + ], + "sha256": "c67690023c7ecfda231509b46545febea451145a060277b8178c14ebaebb82b8" + }, + "data.pak": { + "stat": [ + 47, + 40146990, + 203659379, + 1793966280554946596, + 1793966281282961360 + ], + "sha256": "0aa031f2f9103e4663b99698a8712d2bb9a35601a0a8611e0acb2680cc2e46da" + }, + "data.pak_0.17.5281_manifest.json": { + "stat": [ + 47, + 40146980, + 1429277, + 1793966268286698509, + 1793966268286698509 + ], + "sha256": "50866475ea8bfb505b492852b22da7e082a1fa90171a7200d93067baabe14036" + }, + "meta": { + "stat": [ + 47, + 902077, + 17982, + 1793966281341962557, + 1793966281341962557 + ], + "sha256": "d062f6ede1b0ada0957339060074a87a119a67936e8f99f3422bdbb1f42fe28a" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 40146995, + 834332, + 1793966269484722676, + 1793966281284961401 + ], + "sha256": "32d8435e20292c6f6d8c3b48e3d76239ca84881bcbd4f1f9fe56bf2fc64b1c71" + }, + "resourceDatabase.rdb_0.17.5281_manifest.json": { + "stat": [ + 47, + 40146982, + 368, + 1793966268409700990, + 1793966268409700990 + ], + "sha256": "fd95cde11bd5c9bf8840fd43d2a20e257fc03907ed778f20b923e9f5b6fb840d" + }, + "thumbnail.png": { + "stat": [ + 47, + 40147000, + 18180, + 1793966269260853248, + 1793966281284961401 + ], + "sha256": "4c70bf384375f069cab9ed719f3865441fd363a010495e7b465f3ae83ed887c3" + }, + "thumbnail.png_0.17.5281_manifest.json": { + "stat": [ + 47, + 40146983, + 366, + 1793966268537703572, + 1793966268537703572 + ], + "sha256": "d0e233b32d3d41ac44ea127ea5eb028b97a63555f7867278a7a6f5e8e1df7255" + } + } + }, + "5E389BB9F58B79A6": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/SpaceCore_5E389BB9F58B79A6", + "title": "WCS_SpaceCore", + "version": "8.3.0", + "files": { + "ServerData.json": { + "stat": [ + 47, + 919166, + 273, + 1793966267029981947, + 1793966267029981947 + ], + "sha256": "758d38e13ee5254ed5c01c8f8d1b872af58481d0b839b55e5ee365ac96193691" + }, + "addon.gproj": { + "stat": [ + 47, + 40146953, + 2957, + 1793966266428418870, + 1793966267018672944 + ], + "sha256": "2db2e318e6f45bede0d1173d77af03314f888aedfb31bc767d569ccfb6e70a34" + }, + "addon.gproj_9.0.1_manifest.json": { + "stat": [ + 47, + 40146942, + 364, + 1793966266181656079, + 1793966266181656079 + ], + "sha256": "67d15a8e8623130546332c6d6433314cbdf38e034a66330b9c7a739a94731e21" + }, + "data.pak": { + "stat": [ + 47, + 40146950, + 25392420, + 1793966266923671030, + 1793966267018672944 + ], + "sha256": "d89a5253dbd6707176e7d515cea3e4701725c8197afb20aded18bb231aa6434f" + }, + "data.pak_9.0.1_manifest.json": { + "stat": [ + 47, + 40146941, + 32668, + 1793966266050653438, + 1793966266050653438 + ], + "sha256": "b4b9d9b1ca3534e5d09bed4ac8ce990a2f765f6386791e0241c3dd9a4bb7c308" + }, + "meta": { + "stat": [ + 47, + 918678, + 2510, + 1793966267027673125, + 1793966267027673125 + ], + "sha256": "203fd32b2a44e941808b0c621b5e885687262099d83c7b876c2e805c3ef6d313" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 40146956, + 22656, + 1793966266553663574, + 1793966267019672964 + ], + "sha256": "88b92c9ed25b3e2b0794a9d2ebd3449f616d2810f330a6330683eca7d533c769" + }, + "resourceDatabase.rdb_9.0.1_manifest.json": { + "stat": [ + 47, + 40146943, + 366, + 1793966266305658577, + 1793966266305658577 + ], + "sha256": "73614d689e2701b75bc009e9e4f4fd0a1c4b0df0061f4a299371cbb148c9f607" + }, + "thumbnail.png": { + "stat": [ + 47, + 40146947, + 689401, + 1793966266428661055, + 1793966267011366549 + ], + "sha256": "8da2e133303f21bb16a2abd25d5bd6c2a4a6f5eccedae74a98358db485a170d1" + }, + "thumbnail.png_9.0.1_manifest.json": { + "stat": [ + 47, + 40146940, + 368, + 1793966265925650920, + 1793966265925650920 + ], + "sha256": "5aaa5989b5f44b48ff03082a0d4004ae71420db6eebeb56282af7d98f36c7000" + } + } + }, + "5E524E4FEECCA92B": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/BMP-1IFV_5E524E4FEECCA92B", + "title": "WCS_BMP-1", + "version": "8.3.0", + "files": { + "ServerData.json": { + "stat": [ + 47, + 918673, + 193, + 1793966264963885489, + 1793966264963885489 + ], + "sha256": "bf2d1bf174c0385e65fa28e5991b49f6b86ee6c1463ca5fec742fa5d5bb1264c" + }, + "addon.gproj": { + "stat": [ + 47, + 40146895, + 2900, + 1793966263344149147, + 1793966264913686889 + ], + "sha256": "ad44151140adf62e99eaa639984c2b9c400be17481e934186d61c307b5221259" + }, + "addon.gproj_9.0.1_manifest.json": { + "stat": [ + 47, + 40146888, + 364, + 1793966262546582905, + 1793966262546582905 + ], + "sha256": "3065c7c353cb7623ee85f83d462d4dac37c92efad1a0255f2661470e6cedfd0f" + }, + "data.pak": { + "stat": [ + 47, + 40146898, + 120212943, + 1793966264519622607, + 1793966264949631264 + ], + "sha256": "d9d23369b41d3bdcb1e4a98a03bf27b944e688459f773f2cd8ab8484d434b63c" + }, + "data.pak_9.0.1_manifest.json": { + "stat": [ + 47, + 40146889, + 32902, + 1793966262705586103, + 1793966262705586103 + ], + "sha256": "fddebd10d715fc1f2255aa0b6d72184ec9a1da5a725033923ac82d60772a095f" + }, + "gallery0_776x436.jpg": { + "stat": [ + 47, + 23106914, + 64588, + 1788720671481676966, + 1788720671481676966 + ], + "sha256": "63649f5239059dd12234250b8c8e313b14ca134e30e4309fbd1eb45f92e77097" + }, + "gallery1_776x436.jpg": { + "stat": [ + 47, + 23106915, + 47808, + 1788720671495639547, + 1788720671495639547 + ], + "sha256": "81f89b026a1bf341f8cd3bb19facd67e8d0f56073c924e026983836fee6bfb4c" + }, + "meta": { + "stat": [ + 47, + 918496, + 2928, + 1793966264961631505, + 1793966264961631505 + ], + "sha256": "552e3e90048cfa515be78f992371b5b4ef29f1266f9a91b76369ec5bc8d95a27" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 40146904, + 20362, + 1793966263427600628, + 1793966264951631303 + ], + "sha256": "f29ecdc46a023287f2be40a502e3f0117be5a9278ab0eef7a0ce4628d30692e5" + }, + "resourceDatabase.rdb_9.0.1_manifest.json": { + "stat": [ + 47, + 40146891, + 366, + 1793966262950591030, + 1793966262950591030 + ], + "sha256": "4619fe9c8439d518292e6c511fd2be970893eda93eeb8554089823ebd4abaae3" + }, + "thumbnail.png": { + "stat": [ + 47, + 40146901, + 708338, + 1793966263345598978, + 1793966264950631284 + ], + "sha256": "103a98bf476d510ab3081abb371170ae6cf65aea65b9095636d651170a5b0038" + }, + "thumbnail.png_9.0.1_manifest.json": { + "stat": [ + 47, + 40146890, + 368, + 1793966262825588516, + 1793966262825588516 + ], + "sha256": "5bf1e0f8794a4e2e862658a10071360df63ed6a440ee2ca5514afbc2e97e375e" + } + } + }, + "629B2BA37EFFD577": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/WCS_Armaments_629B2BA37EFFD577", + "title": "WCS_Armaments", + "version": "8.3.0", + "files": { + "ServerData.json": { + "stat": [ + 47, + 920134, + 197, + 1793966262210522872, + 1793966262210522872 + ], + "sha256": "4f9a7b1c661f78832b570e3b050d05d643b531deb944336b99fc018028460b5d" + }, + "addon.gproj": { + "stat": [ + 47, + 40146643, + 2926, + 1793966255452440454, + 1793966262199575927 + ], + "sha256": "e6ffcf559a2e7898848349c090300ea8eca8cb2e13ecef456a108bcc82efc8b1" + }, + "addon.gproj_9.0.1_manifest.json": { + "stat": [ + 47, + 40146630, + 364, + 1793966254019411735, + 1793966254019411735 + ], + "sha256": "ba8f2b36575408f11b2107fc4b0f9449c9dc057629ebf894c7bdbc77f53cbc1f" + }, + "data.pak": { + "stat": [ + 47, + 40146634, + 442600639, + 1793966260630544384, + 1793966262197575885 + ], + "sha256": "26f63ca2134fb092a014e096664bea436720ec6af8d38788875bbb66417a8002" + }, + "data.pak_9.0.1_manifest.json": { + "stat": [ + 47, + 40146627, + 315478, + 1793966253656404464, + 1793966253656404464 + ], + "sha256": "c9f5b6bf65507836bb8243a83726f62eb53a190992f951da11e74919eb48dbab" + }, + "meta": { + "stat": [ + 47, + 919170, + 2601, + 1793966262208576106, + 1793966262208576106 + ], + "sha256": "8299678c3779dc13ea2a2d234407ea1ffae0d690398b45279261e8f68fef9a75" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 40146637, + 205606, + 1793966255643444284, + 1793966262198575906 + ], + "sha256": "d229ebb54d52c7417c7bcf05c934d41d51b3d936d610118239217962aa869562" + }, + "resourceDatabase.rdb_9.0.1_manifest.json": { + "stat": [ + 47, + 40146628, + 368, + 1793966253776406868, + 1793966253776406868 + ], + "sha256": "c69021b58814cec675c6f98da27d2810fe523e8fef71b023e3a4610739aca03d" + }, + "thumbnail.png": { + "stat": [ + 47, + 40146640, + 689544, + 1793966255454440494, + 1793966262199575927 + ], + "sha256": "ccd771dba7f3f222e9733e688e6dd9e4c5edae2accdd80a6876241094e23f3dd" + }, + "thumbnail.png_9.0.1_manifest.json": { + "stat": [ + 47, + 40146629, + 368, + 1793966253899409332, + 1793966253899409332 + ], + "sha256": "e58ef73e4a794e56ecd04bfd84940ec539e5ca481d6b69ffb20f9fedcd3c2e77" + } + } + }, + "65930CB4CD0237B2": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/ParachuteFramework_65930CB4CD0237B2", + "title": "Parachute Framework", + "version": "1.2.0", + "files": { + "ServerData.json": { + "stat": [ + 47, + 23608865, + 764, + 1788881939235881733, + 1788881939235881733 + ], + "sha256": "ec665641799be1f97100937ce87c894a88bee99526fac0695303c339121e8bd1" + }, + "addon.gproj": { + "stat": [ + 47, + 23608826, + 124, + 1788881938831871187, + 1788881938831871187 + ], + "sha256": "183fbb521382a95ad33af9efc547147a80241bd536a29d124c93064b5ae5e8bc" + }, + "addon.gproj_1.2.0_manifest.json": { + "stat": [ + 47, + 23608818, + 362, + 1788881938288857014, + 1788881938288857014 + ], + "sha256": "5030f4430dbd237d93fbcc49ab5c667241b803f1beee4060498e882ea85c9d7f" + }, + "data.pak": { + "stat": [ + 47, + 23608829, + 5048302, + 1788881939131386944, + 1788881939131386944 + ], + "sha256": "ccb22523ba0040cb9d9206a7ab0ae7e5b4411b1704bde39e3e4a7953416e3042" + }, + "data.pak_1.2.0_manifest.json": { + "stat": [ + 47, + 23608820, + 4696, + 1788881938426860616, + 1788881938426860616 + ], + "sha256": "168504d70f88650b0e7acbdcc80ef384ee5b90e2f044839f837b1220b767afcb" + }, + "meta": { + "stat": [ + 47, + 23608819, + 5088, + 1788881955440304751, + 1788881955440304751 + ], + "sha256": "178156f61a332f596dc3783c4d02b0ab5d50a47d4aa1572395760d0fe062500b" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 23608835, + 3188, + 1788881939082877739, + 1788881939082877739 + ], + "sha256": "0994a4b1fcfacdd8d8f69759ba6bde878d633545e380a5774a05e4cac3b6b2c4" + }, + "resourceDatabase.rdb_1.2.0_manifest.json": { + "stat": [ + 47, + 23608822, + 364, + 1788881938690867507, + 1788881938690867507 + ], + "sha256": "6a0793ea2080ae22fac1efd6d3da3ddb3100fd0b60869098e5572be66318c883" + }, + "thumbnail.png": { + "stat": [ + 47, + 23608832, + 2255011, + 1788881939194880662, + 1788881939194880662 + ], + "sha256": "715ac1bf4b6abefb2726cc4c61e903e63ae3a2bfec1e8a85be6cb81eb308407a" + }, + "thumbnail.png_1.2.0_manifest.json": { + "stat": [ + 47, + 23608821, + 370, + 1788881938560864114, + 1788881938560864114 + ], + "sha256": "2bd7127d58adee39c3aa1e2212436499b10adf4fe2faa0b3ed5fcadbfaaae768" + } + } + }, + "BADC0DEDABBEDA5E": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-ContentPack02_BADC0DEDABBEDA5E", + "title": "RHS: Status Quo - Content Pack 02", + "version": "0.17.5281", + "files": { + "ServerData.json": { + "stat": [ + 47, + 911088, + 236, + 1793966308641519583, + 1793966308641519583 + ], + "sha256": "64b0ff774b52b41cc3711fed424f3e377de4854652b4197f257893f892775e3e" + }, + "addon.gproj": { + "stat": [ + 47, + 40147536, + 337, + 1793966290112140796, + 1793966307987506163 + ], + "sha256": "196b2bc1da74c0b5154c7346c63989df237da487f29cff7b2094f53e0f17ff18" + }, + "addon.gproj_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147526, + 362, + 1793966282662989362, + 1793966282662989362 + ], + "sha256": "44a5d0e2cb0ff23da171ef0c929d1083d8ba71b2680a43ab7c3e53d6c40e74f3" + }, + "data.pak": { + "stat": [ + 47, + 40147548, + 1995519845, + 1793966301329369751, + 1793966308616519071 + ], + "sha256": "292e73f28ff1fc49f9a6503537615b124e7b447345e3230391f0a19322acd350" + }, + "data.pak_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147529, + 166380, + 1793966283062997480, + 1793966283062997480 + ], + "sha256": "6782e9310e8f40bf64b79c967bed419125575b1401a63d1fdb979758d5cffe54" + }, + "data001.pak": { + "stat": [ + 47, + 40147543, + 264943574, + 1793966292531190079, + 1793966308063507722 + ], + "sha256": "494ae75e15d681346e6b3637b7cc8b03a8313cc1326bf61048a24d524fef1eb7" + }, + "data001.pak_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147528, + 42695, + 1793966282903994252, + 1793966282903994252 + ], + "sha256": "3b8d813857f9d2c66053bd7c9a99a8f5a85e2421dd9b1634bcc18c55694daf18" + }, + "meta": { + "stat": [ + 47, + 910016, + 7867, + 1793966308640519563, + 1793966308640519563 + ], + "sha256": "c40492c4bb30eab03b030a34a0e12d594aab5cc62e2ab3a0a4602e5ea29c74e1" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 40147539, + 116443, + 1793966290235143301, + 1793966307987506163 + ], + "sha256": "e50f65fb8f49d84fe4819e8bd2b4520b62ca21e1c608099487c070d8834356a2" + }, + "resourceDatabase.rdb_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147527, + 368, + 1793966282782991797, + 1793966282782991797 + ], + "sha256": "1e2f8bad8ad8e44e1d1ebed49e22e81f3ea6e80788540090888afe4c94ee82a4" + }, + "thumbnail.png": { + "stat": [ + 47, + 40147533, + 18180, + 1793966289918911310, + 1793966307986845317 + ], + "sha256": "4c70bf384375f069cab9ed719f3865441fd363a010495e7b465f3ae83ed887c3" + }, + "thumbnail.png_0.17.5281_manifest.json": { + "stat": [ + 47, + 40147525, + 366, + 1793966282534986763, + 1793966282534986763 + ], + "sha256": "d0e233b32d3d41ac44ea127ea5eb028b97a63555f7867278a7a6f5e8e1df7255" + } + } + } +} diff --git a/docs/evidence/rhs-retired-2026-11-06/fixture.c.txt b/docs/evidence/rhs-retired-2026-11-06/fixture.c.txt new file mode 100644 index 00000000..cb45a980 --- /dev/null +++ b/docs/evidence/rhs-retired-2026-11-06/fixture.c.txt @@ -0,0 +1,17 @@ +#ifdef WORKBENCH +modded class ERR_GameMode +{ + protected override void StartScenario() {} + protected override void EOnInit(IEntity owner) + { + super.EOnInit(owner); + if(SCR_Global.IsEditMode() || !Replication.IsServer())return; + GetGame().GetCallqueue().CallLater(ERR_RHSRetirementComplete,10000,false); + } + protected void ERR_RHSRetirementComplete() + { + Print("ERR SMOKE PASS: updated RHS compiled and game mode initialized without either embedded 1.9 override"); + Print("ERR SMOKE COMPLETE: RHS compatibility overrides removed"); + } +} +#endif diff --git a/docs/evidence/rhs-retired-2026-11-06/generator-check.log b/docs/evidence/rhs-retired-2026-11-06/generator-check.log new file mode 100644 index 00000000..3092e101 --- /dev/null +++ b/docs/evidence/rhs-retired-2026-11-06/generator-check.log @@ -0,0 +1 @@ +Retired: use updated RHS Status Quo. Remove the old RHS 1.9 compatibility addon/overrides; do not regenerate them. diff --git a/docs/evidence/rhs-retired-2026-11-06/launch-source-sha256.json b/docs/evidence/rhs-retired-2026-11-06/launch-source-sha256.json new file mode 100644 index 00000000..3b802f34 --- /dev/null +++ b/docs/evidence/rhs-retired-2026-11-06/launch-source-sha256.json @@ -0,0 +1,724 @@ +{ + "addons/core/AI/BehaviorTrees/ERR/MortarRapidFire.bt": "16b263bcb2fb3ae361367a600753a829425620d2e6b350a891c51fba47437ab6", + "addons/core/AI/BehaviorTrees/ERR/MortarRapidFire.bt.meta": "f2a44ece28891240e6bfa1d01af29428adcadbe82c80e287eb33cd5e58f1f90a", + "addons/core/Assets/Items/ERR_Atlas/AtlasCover.emat": "0a536cd31d1917965ab36d33e273a881be384eb8b863eb5da03d1666e141d45a", + "addons/core/Assets/Items/ERR_Atlas/AtlasCover.emat.meta": "9f4d59cd6d103547e3e494baf7cc8fce70f31f87c66fe6d26b70011bbd27e38b", + "addons/core/Assets/Items/ERR_Atlas/AtlasPaper.emat": "88a2c1061c01eb96ce8a0f753bd3e89e1d7af01471ccc4abb4774a7aa9a532fb", + "addons/core/Assets/Items/ERR_Atlas/AtlasPaper.emat.meta": "e0093b7df155499444f93a1148a07f66cc755489192db17c81f4035d17378efb", + "addons/core/Assets/Items/ERR_Atlas/AtlasPrint.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/core/Assets/Items/ERR_Atlas/AtlasPrint.emat.meta": "33a9eaa49871813f2e8537f071ea0f5a4422eb08d536355a47314b6b6d845b19", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agf": "48dc42771b7e44994839dfabe9b007c23e37bd9be900196c757f42351e5c6b04", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agf.meta": "c081aec31c927c0c374dcc0f8eb3eaec498f71cb0e2ac746879b926f8dc7d00e", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agr": "8ec57b278c9d63324d00f7af62abf75230c5ef631d1cc070661585ee235c8a1f", + "addons/core/Assets/Items/ERR_Atlas/AtlasTurn.agr.meta": "b045e26f86116703d1b3599fdf747b413cc0064d8101eff659ded0355eff31fe", + "addons/core/Assets/Items/ERR_Atlas/AtlasWire.emat": "372247aac7b84ddf6c66e276d03321d22496e65726f55e490ee7287a90151318", + "addons/core/Assets/Items/ERR_Atlas/AtlasWire.emat.meta": "ea10c7bd630b31febf511fb28a42cc73597fcc1e3010597dc074c651813ede94", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.fbx": "03a654900103878223ab5c4a42e71d17022ca4885ced71b99c67d8c91652b5fc", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.txo": "9838bcb2e4ff1cd649586535ca7d5ad2497e6118cdfb76b8aadabded9cafb938", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.xob": "a4602d65e84cec1b23b6b09b5bc5847cbd52efe82925986c6eaf1c43bec1ac78", + "addons/core/Assets/Items/ERR_Atlas/ERR_Atlas.xob.meta": "04f4039be7950ca393ea74469898dabcfec4dc8b8f9e08068898c00333445878", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.fbx": "4ca13bbeafaa0dc0bf007ae9024b8d6c2a5279afc62e0ebc227e2bec2ad67a30", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.txo": "8ed37705192d3d9b18f26b5deb51af6f2a6d694e7e2dcdbd04b317497610b50d", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.xob": "fe6ea401412fdbb3bb46367cf7dc9215f7d01c6373c8ac954cbf23f2a6927bf7", + "addons/core/Assets/Items/ERR_Atlas/ERR_AtlasLeaf.xob.meta": "492a44fc323d3df469753d4bbbc35ceb3d362e734f48083ba633b3de5dd42d8b", + "addons/core/Configs/ERR/AdminMenus.conf": "5a4b405060135efd0f7faf913c7f061f6250a1e6e9d27f2bb394281d784b20e6", + "addons/core/Configs/ERR/AdminMenus.conf.meta": "5faf5ddc0a51c1d0f82d60af00d91edc22fe9c39aac50d8d04b772a2c9271be1", + "addons/core/Configs/ERR/Content/Registry.conf": "546a5a407c9e6c25c9157ae4392898fa3f40c04c7956649e62201f9ac0ba187c", + "addons/core/Configs/ERR/Content/Registry.conf.meta": "046aa988bf8e972afcf7a60b6f2312f605f016f98625dbbd9cd75ebf9ea88800", + "addons/core/Configs/ERR/EveronSites.conf": "781a9a3f4d2d4ea5b913fbfd15c2f1a991efdee7e033b7ba4241ad632609f52f", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/Factions/MissionVehicles.conf": "5f74f4a7089c7e7b54ad62463159ce8f0bab25a6b85268dc3872ea6001e048fb", + "addons/core/Configs/ERR/Factions/MissionVehicles.conf.meta": "00c368b6271d3440cc8bf627b03a384d247635723923fc5ad2104b8b4007b035", + "addons/core/Configs/ERR/Factions/US.conf": "4c3da063abb6e3ee39a6e4e0c5a9ffd5eae9d209d58470ea18b45dba5528db1b", + "addons/core/Configs/ERR/Factions/US.conf.meta": "a05469aef028e9e17eba545e81e2af2887b59f0fef17dac51a23c7b8155e381b", + "addons/core/Configs/ERR/Factions/USSR.conf": "407ea27f80a64c5184c089d43cdd0bdabfc5974c84f1d2a245081fdf2afa3f30", + "addons/core/Configs/ERR/Factions/USSR.conf.meta": "057397d97096346791b51b7b13fbe18af218bcf78e9984d9c01b49a2403de611", + "addons/core/Configs/ERR/GameOverScreens.conf": "1bb83c26a57d64595e91c3ba7926987e22b33dce2c6c876016e3ec2d04f9eb2a", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/ObserverInput.conf": "1efd2e1823f80e6b8a3e4a697cdeb72dd87888ec5a2d16ae289937575b880072", + "addons/core/Configs/ERR/ObserverInput.conf.meta": "9714dce6c38ee81bcc513c8ebef51d7af63fd15bcdda2e40946937c625dc3ba4", + "addons/core/Configs/ERR/Telemetry.conf": "12d895ba4fcd159e23c2f3e94dc59e6f1e54702470cf0b1dad7d04f15572cf7a", + "addons/core/Configs/ERR/Telemetry.conf.meta": "afd52b410ce1a1026f4b0900b10aae2ee50c30764a212a59668233f4f8b8c5a1", + "addons/core/Configs/ERR/Tests/LegacySites.conf": "3864eb638d0ed4dd313013d2d787f975ae6ce4bbe238569919f76b73d5f7ca42", + "addons/core/Configs/ERR/Tests/LegacySites.conf.meta": "097ac7daef4fc18344699a8471fdd77f9d158f8c70bab394068d7a08e4777ac0", + "addons/core/Configs/ERR/VanillaFactions.conf": "db890b61b48ee15484041fd2245a862d9fa9e7ba21b1229c281ff37c448a35b1", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Materials/ERRM_MapRenderTarget.emat": "4ab251037d40a850e3767c0de85136842bcd4fd130eda47bf8e19352b0d030e3", + "addons/core/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/core/Missions/ERR_Everon.conf": "c6cce48484301a76b81f3a0cd76a4012f5808b901754d4114034e92beeefcff3", + "addons/core/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/core/Prefabs/Characters/Core/Character_Base.et": "74a6f03a1e76173a0cfa20b23c711d02e70bac810d6743e16c60476bfe5be457", + "addons/core/Prefabs/Characters/Core/Character_Base.et.meta": "c6b142d1985719236268cdf12ac522fee4b1206871a6f22b568d9198d1fcc077", + "addons/core/Prefabs/ERR/AssaultParachute.et": "b556997989605e2a05982418b7e9f26d12d427eb3ea6e3bc50e85c67ea7aa4b8", + "addons/core/Prefabs/ERR/AssaultParachute.et.meta": "e9dea2d533ad1ce6ce689e0e2815c97a6382e1b90c35ce1efa88a885527e8e18", + "addons/core/Prefabs/ERR/CombatEpinephrine.et": "aa57d78bae861dc4a0fc509f7916190d2f2f0b36a1c3867f9bf9a071717cd7f5", + "addons/core/Prefabs/ERR/CombatEpinephrine.et.meta": "0e19ebd1dd4d81f739125a4dcbff898424ffe39572c2668bd56455d939b3f604", + "addons/core/Prefabs/ERR/ConvoyCrew.et": "29a525a29605386dfcf292dc2316e9fc7650ce39db9fbaa4ce4372ad0de66db4", + "addons/core/Prefabs/ERR/ConvoyCrew.et.meta": "0a909a15b7dcca34202ded136b3bdbbe8898153c9589e1cce1388433d362da02", + "addons/core/Prefabs/ERR/CrashSite.et": "8d06afe6e2db8986f06a7c5d6649e52df009f9eead7345bf2b477f50a0725b3c", + "addons/core/Prefabs/ERR/CrashSite.et.meta": "0f54fe80ed96394374c1922e1d0b05f7e0200ce5b979ff58325b033f51641f69", + "addons/core/Prefabs/ERR/CrashWreck.et": "f5de4785c0e3cdf02f1d5372e9b01171bd5a37acb9c36aa2a94bae3f429b2272", + "addons/core/Prefabs/ERR/CrashWreck.et.meta": "bde3299bdbbddb91d2ef471b61035b6cced29899cff4cd90c080fe584ce63f26", + "addons/core/Prefabs/ERR/Epinephrine.et": "e09c70b3d47a4dc5b92fd332c8222b99554b28a8a0c93cb5caac18eec4501571", + "addons/core/Prefabs/ERR/Epinephrine.et.meta": "f1861f0b0ccace1b7b3d9c29768e37a83bf0c6fae5a411b1bd61d6b2eec7ed89", + "addons/core/Prefabs/ERR/Extraction.et": "4d24c7811415c06386205e5bf5c132a23fcf21e96c75c7657ccd5f3ac914ac50", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FactionManager.et": "d34a8bbc5dce259c4a467c7bfa2ba746683bbeb9448de8c226856e65319f4911", + "addons/core/Prefabs/ERR/FactionManager.et.meta": "9bf53d5e4bcbe60dd1a4ece1409fc23c349055c860708620f5f6e9716290a97d", + "addons/core/Prefabs/ERR/FieldCover.et": "e403d5cb3a5966f0cea81f15e0e825d482ba1a7a27b12498319ba45a414963b0", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "a2b7e632714e646a7010592cc7ac75f0afff7da6c995bf91aaf65d9473a6af3f", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/Items/EmergencyRepairKit.et": "0157bc235eeb78a0e1373b561fd22a1dcb225c833ff7c2d4abae688bca0ec92a", + "addons/core/Prefabs/ERR/Items/EmergencyRepairKit.et.meta": "da6f065cb2414b5a4cbe9ef0f0b1295b2466f26ad406c0bddb83845d4598efb3", + "addons/core/Prefabs/ERR/MortarCrew.et": "21086e886fe3199624208c9a866f883ec109f7d08746c2b56b497e59857fb656", + "addons/core/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "5118ecaf9d2038eea44a4b785f05d2e78781dc1387249aa58a6782c7e6752e14", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "d3eca8fe9197c57a27a285cdb3baf168b037b198d92b39df28a338ae2cfd0c74", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "c0ca5219aa2d6322ba7d094b92000640b259112ff6611a745c0713c8875d09d4", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonBackpack.et": "ae750f08fc9af645561f59d7e5809bd22f4cec26ca8fa6409d09730765958c91", + "addons/core/Prefabs/ERR/PrisonBackpack.et.meta": "7da6aa45467250edc910ad7230dc244d1b041e8a6f55881eb3747ce51f9212ba", + "addons/core/Prefabs/ERR/PrisonDoor.et": "b0ff94443fe334032113a663917de23f920a8b73ffadc9c8e9f11b545022b3d2", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonPatrol.et": "dc88c31cf5c415573a874f74e13572f0add9e6122c8fcad507fe82860d789c47", + "addons/core/Prefabs/ERR/PrisonPatrol.et.meta": "5528e0d778dce5ed39c3e504c6427625527127b23269d20fbf12ca2bffe52ffe", + "addons/core/Prefabs/ERR/PrisonWall.et": "9b410b7c85bb001be4601ad93f750e17b8318b850306d84f29c4dc1b02723d7c", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Prisoner.et": "e6d345ac98ad9ec742bf6c3b8686839c3256df9833d31bb4bdf605cd41d0ba5c", + "addons/core/Prefabs/ERR/Prisoner.et.meta": "974278ba49fafeed70b619a0067bbc70ae4d534be441c812ce2bef4a5fb3c022", + "addons/core/Prefabs/ERR/Radio.et": "99b1d80b49d1e7f9d30aa4283772a36fd66e962369f288f5fe329c7fc911bb1b", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/RadioCamp.et": "5e6216bf8e6e160da5d9f966c8f7c2081bf6dd16dfac1b89d682a14b3b8a6716", + "addons/core/Prefabs/ERR/RadioCamp.et.meta": "3cb8d3d553ab6d8d111a74f721cf4e69ee1011cbb90248b83cdc7275697276bd", + "addons/core/Prefabs/ERR/ReconCrew.et": "33953379ceb725bcd0cbe505cd643c94adaed17dbbfa95dadd404d6b8e345715", + "addons/core/Prefabs/ERR/ReconCrew.et.meta": "2653e8c5b1cdb857de5badd5959ddd9826a6a298ab3c166628dbb835d7104d90", + "addons/core/Prefabs/ERR/ReconHelicopter.et": "c609ee59ab145e0a1936f95726b86df643f5cc425c43924029e9c1abc69ebbd0", + "addons/core/Prefabs/ERR/ReconHelicopter.et.meta": "d80f1c3d6a6f9104562b89729996c1c92ad240f08cdcf48d4c390a09d2047c08", + "addons/core/Prefabs/ERR/ReconPilotEast.et": "d961f329823b991eafed80d085de1bd89b44a4575be98d8dac385d6b77741ba2", + "addons/core/Prefabs/ERR/ReconPilotEast.et.meta": "d73df3c896359a54514d2efcd851f579feca7a2619b76c2a38f607649a31a4f1", + "addons/core/Prefabs/ERR/ReconPilotWest.et": "8f8221927269352e55c8026ee5b00e026c281c79af6684b386f24e7dc4675fb8", + "addons/core/Prefabs/ERR/ReconPilotWest.et.meta": "4785f23bb492c6af420ee7896ddbfc9767e0db1e06de95207df2dc949a1b1814", + "addons/core/Prefabs/ERR/RescueEscortION.et": "aa5cae65250936da239c865fe1070c68a1d20b49bcef37f6bd29021f22c274a9", + "addons/core/Prefabs/ERR/RescueEscortION.et.meta": "34eef8053198a49df774792322c6d3cba81f689e56b6a418aed5a14de0913537", + "addons/core/Prefabs/ERR/RescueEscortWest.et": "6f9671fb68e2716479d96be74b80ffb29fec535f1333c5e4dc4d7b684dca1ccb", + "addons/core/Prefabs/ERR/RescueEscortWest.et.meta": "45a87304712d6a18afb0ddc5b3ccbb70da395541e21aafe9d6d3641c392eaab3", + "addons/core/Prefabs/ERR/RescueHelicopter.et": "d9b3b01a0cdb6ed779f40f14f03dfd8fe732382931cdee02ea643f260783313c", + "addons/core/Prefabs/ERR/RescueHelicopter.et.meta": "f47b4a9a72faddcb5817e396dab7c115ac05a5455e5dc8ca4c6a3e9d5fc4093c", + "addons/core/Prefabs/ERR/RescueHelicopterAFRF.et": "cbd9c88b0a0c798096c78770cdef834cebfbdfd62fa12d96b56e74c5ac60dcb3", + "addons/core/Prefabs/ERR/RescueHelicopterAFRF.et.meta": "5cf8cdd7f34e2bffccedfab0cc0cf266d3c8a6856215e797874c531eb2a3ebf2", + "addons/core/Prefabs/ERR/RescueHelicopterFIA.et": "6aa11ddd56ebc9d0aefd06e1f55c7c61136d5c703b6eddc9cc84f3bcd8c8c26b", + "addons/core/Prefabs/ERR/RescueHelicopterFIA.et.meta": "ac0b32de9818aab77ff42d244cd5165112a7764eb6d289dcfe12ec77ea0c9b3b", + "addons/core/Prefabs/ERR/RescueHelicopterION.et": "a910548e7346439af90bb87e445f056aa1799572a69f87f45addbc17dc01fd85", + "addons/core/Prefabs/ERR/RescueHelicopterION.et.meta": "426a478d15718c0193490d5381f732e4c559348f2e5e9c7eb9473a4ca3017add", + "addons/core/Prefabs/ERR/RescueHelicopterWest.et": "dbf3827f58c27d957aac23f505a24c0af2a8f6c6555a82d0962a0ee5d47efb42", + "addons/core/Prefabs/ERR/RescueHelicopterWest.et.meta": "963b5b22139a2f3496e937855854c3ffe01604b86a93f1fb63b547bc1ba29068", + "addons/core/Prefabs/ERR/ScoutEast.et": "b4593aab494c4f21637757b3daff4f349da77b4c48ec5e8a4a2917a6a12cf811", + "addons/core/Prefabs/ERR/ScoutEast.et.meta": "7c72af632537f687e92f30b52d97fc7d70dadd39d33f37e0b1004f9596f55012", + "addons/core/Prefabs/ERR/ScoutGroup.et": "8dc0fce8ee3decc1c367411b00b6d8518df9d8458281cec0881464a2ce906af0", + "addons/core/Prefabs/ERR/ScoutGroup.et.meta": "62e43fd152ce57aa4ceb2187a49e4aecdeb9f428b3a1e8318f86bb83dbf8a259", + "addons/core/Prefabs/ERR/ScoutRadioPack.et": "f1c4911e2556c0e0caa8b896982190c5e7d0433e850b4610e19442caf9117607", + "addons/core/Prefabs/ERR/ScoutRadioPack.et.meta": "825506e3d814d30a52d5dbf64124470641c07a0453543ba71426841e6c783635", + "addons/core/Prefabs/ERR/ScoutWest.et": "2681b5a3f8621adb44195f0dbca6f3e79ef7decad8f9d0dd0e1a801ec2549627", + "addons/core/Prefabs/ERR/ScoutWest.et.meta": "22a6607b4b8fe606ca75a634a0b2ac3178e7bedae7f9ff01e7a4989f3b39a3da", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "761d845fc1c086da58fd87c8933bf58d46d1ff5e17cca5950141743d07c8ce16", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "4c97b0514fe7e723046f40f0b396f6573b12eb9981ca5df70b9e8aa3cf29323e", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "f33681281d26676fac88736091834d5a7b87fe0fa01883582542df964dcfc694", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Prefabs/ERR/TerrainConnector.et": "cf9cb28f5a3f41931380864a29ac979aa1d5e843456f564ac7a7de78f88e1aa8", + "addons/core/Prefabs/ERR/TerrainConnector.et.meta": "9f37c979ae282aabca29ce84beb0db851ee8b9a19f7f3a64d387c175616127f3", + "addons/core/Prefabs/ERR/TerrainTakeover.et": "63e26db48c624056350f9ee123ae5b815bc2fad392060a9c26cfcd86c0af872a", + "addons/core/Prefabs/ERR/TerrainTakeover.et.meta": "64e953e378ab1d2a75ee7246f876f4ef93ae8a4e3fddb5002d7ba37268cb959d", + "addons/core/Prefabs/ERR/TerrainTakeoverWithChat.et": "aa857f7e8e0585839c7e9b2e3616702180779e68c6fb149d94a83c05bd52449b", + "addons/core/Prefabs/ERR/TerrainTakeoverWithChat.et.meta": "a213272011050a881c87fdd94b229e002ece24f26f25db5fe53824f8a5b147a8", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZ.et": "29f157849f413261494a63d4d5b0a97e8bbe61cb076efcd59d6c940653f23352", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZ.et.meta": "544c94cf1c26757a10654de7856cd6cc48b821ce3bdc02add13cfe6514269915", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZRearSeats.et": "cd4acdcecad299445952aea0adefc85f2b9e9b43f8186f100e0505c5621b3656", + "addons/core/Prefabs/ERR/Vehicles/SupplyUAZRearSeats.et.meta": "123955da03462befb90e293b3bb856d49cc761166611b38ff47cb48ec2fbe95c", + "addons/core/Prefabs/Items/Equipment/ERRM_AtlasLeaf.et": "11185bc813c00c5bda09c0afaad78849a1c81d89843e8f7f3a14c0776b8296a9", + "addons/core/Prefabs/Items/Equipment/ERRM_AtlasLeaf.et.meta": "8cdfeb51c3774ed790a223ce74872cfbc4588fb6812a0e98136eb607dcc17d9d", + "addons/core/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "57dfbd215f28478a791b2e029832ddf3c363658d5dd5590cee4db9ec6a8b690a", + "addons/core/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Actors.c": "7258b838f8365e4fa575c4f2ccc8532e22a33946405ebb490120534d5ca65607", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenu.c": "cac52cfb9f31ba42daed671e55bf5d55ea0840139deba5d13a0e156ec90559ff", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuFields.c": "55466b735c5c8f1041ac600338d55847372a71af48ba1ffbde8cce4286e55b19", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuPages.c": "fc07549ba14900998223e8c1a95f57ddb0f365d0d687ac4907b0d97ffe1612b8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenuView.c": "6c34557350659782bc1a098169dbbabf1f71502c35cdf711b83ce0efad907142", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminPlayerTools.c": "56780d78bf423f54f482d8620f821b8d3eb0199194482b4f12e37f5ec3f55ef5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminProvider.c": "62e05aceb49da07fed7aa89fb6b2f8eb3efc373ac09eff286fba983c3ad570eb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminService.c": "277df355d00458bf4a337b68feeb926ec4aa12c1546a604d039121a1bde7d995", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AdminSession.c": "27c88e9317ada33351042f0d1bdbd8e406fd798de34d1057544f1c6165a289b2", + "addons/core/Scripts/Game/ERR/00_Core/ERR_AirfieldPlacement.c": "0601d8da570e1f63e43ea7df451d0e997872e4e163669fd8ad37bedd59de7b9b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_BakedSpeech.c": "d11fff16f86fd3447126701af84c3800860d721263b3c2c16d3b91d686d8b2fc", + "addons/core/Scripts/Game/ERR/00_Core/ERR_BuryBodyAction.c": "adbf4cee5b5f5317b185f17738205f28b701a15364e643cc9fb443866a121109", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c": "8010394e7731d3bc2ce436cf795a37819e16d4d605e8d152027cf391e811d37c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingFeedback.c": "ac554a946cd14f73a5bf79005b8a3f770c9caaf0a6ea409134077b8d96f9433f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingGameMode.c": "1e670937736330716a467157d0f45bace512047d7e87d8678f4ae0ee123969c3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingOwner.c": "3f430930c2598951b75cba157a57967189686ca7a86aff8ecedd20f181262bbb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingService.c": "6efcfb4bb1bdf0da84400eef28a24f6c61e7f446073af2c9667b6f26f0bc47b5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ChatClient.c": "4bf937ff74e0483c17fa0103f73bfee3afd8f67a37c0c248b08772a17bfcc349", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CommunityStatistics.c": "84f2615fac1375bbe3738edd13a413ef1d524dea5ce0195b05b3a957aae84435", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentDefinition.c": "bc1dd4ed27ec894cf4bd617fb226cb8140b544aaa9ef6d8654e815d81e7f6fd0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentMenu.c": "d9df3b2dd8fca119ecee466dc71d336b5a70ee7d5fced368cf34e250d22075de", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentPolicy.c": "3a4987345d5a7159234a7e1a08bf5ac40dd5a23031e9b1953fc43a0501d9924b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ContentSettings.c": "3e2734dfb935a4e93d79b66ca4a7c883723a1fc348e3595432dbf2bfca643923", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CrashSiteResources.c": "832aebf6e754dba54ba28b8f480180d32ced968a2d2f192424c4007a862c2b43", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DebugAI.c": "bc5529c60591a6c36c39cdb753b1af948690fc3c3c725f38a8d595b41a499235", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DebugIntel.c": "a9f6e7e42a3214879a21052e897f9afc0653c12ff15d5bee7766e26a1af6ab17", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DiscoveryMap.c": "8a8653b322c948c462002077272dae79e2f45a24e883767b3ad9c1f24caad237", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DiscoveryService.c": "552d9e40f72a135f19d25a17fbecf475b8bba8d8b62ec6b6d055c65499a0b637", + "addons/core/Scripts/Game/ERR/00_Core/ERR_DocumentComponent.c": "885c8ab4fc9e64c3f8b40056536096c8c32b011cb340b25ca00353a96da15c69", + "addons/core/Scripts/Game/ERR/00_Core/ERR_EnvironmentService.c": "c0fae5bf51ccf507bc84d44adc2d1dff021cd83653c0468b7645a4f343e3fc8d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Epinephrine.c": "14a75e040f510773313c7e70b57f338821bc1ded650bc65133968dcad6e49c7c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_EscapeGameOverScreenInfo.c": "4746b0715c6e9a527038b47d54d2ff305becea219da6b736f6998d81901143c9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionPlacement.c": "6d388fe21f08b25cbdb5dfa4e198d94a4c80c5092f8d17630a4654e18bf8b3f5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionRadio.c": "ad7fd91d8bb96f05f3be04a03fd00c20ab9413adb12d649d3020c6f7994319e1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionService.c": "c48e79a117990f83839704ae221af05fc7995b956af2d4b4f9ed2a6b91ec335a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_FactionMenu.c": "1deab4c396c307fc17dbaa8731b2943ffb73c37dc0121a5cba5c239c34901ba3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_FactionSelection.c": "04b8bd8a042cf743ab8a87ec3711f9758e7b0112995a9d363e81a63df4eabe5e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ForceLedger.c": "0ecaf1c5a52568e751678b0b1236e91e6adb538f8fbf010d38b61a312d1bf253", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ForceSimulation.c": "2bbb8888c752a3ffc042f3059937526d25ae288af5b4db024cc683025a2605ce", + "addons/core/Scripts/Game/ERR/00_Core/ERR_GameMode.c": "d26e665cf5b9c0e1dc6c5e2da200a99711ef9272718d330f5aa66b09cede40d1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_GeneratedSites.c": "4943f761d0274e163a1da325ac4f750de9180947b05b79ee173e12141bfd6661", + "addons/core/Scripts/Game/ERR/00_Core/ERR_InitialGuardRules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_InventoryHitZoneCompat.c": "23c34f901311dce63a79aafe83c11e2fc25bd3fddb0cde38bd313eb90878ca90", + "addons/core/Scripts/Game/ERR/00_Core/ERR_InventoryLayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ItemPreferences.c": "1319637add7f9fdb122ac130784c5426d90a32380d870df03efcce7f297c55e9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ItemStationLifecycle.c": "0feee55cc5ddf13e00fe73ae3926ec2cadd5ba861d793a939164287ccbe1861d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ItemStationTeardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_JournalText.c": "1ad00a77cb0be741c7b6ef5dad2d8a8c1ff1fcca3b093df2e132ead0b69f74e1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_LoadCasualtyAction.c": "1521af55a34110ce1c971b5226a618a9c6d931622abaae4946d9c0d27c05a273", + "addons/core/Scripts/Game/ERR/00_Core/ERR_LocalAdmission.c": "a076922d1ae966cf5cc67b198166ca6b1288358fb7f641207a4681e6a610a2ae", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Location.c": "6323facd2d5b32382b466a2aa0140064632a8c1de0597e0738cb09a3fcfd7abb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_MenuTheme.c": "90d9babfec7978b3d7f5baffedbbe5c1b54a9742f576f51e6232043e32d1cc9a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_MissionRules.c": "17d1f48878b02a457eebbe5ff87c4267488d68d2a9b3121dda77a8bc8e69c8c6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAdminMenuProbe.c": "2deded62be82adcf9866dacf8065f0c6a9a643bdd60a1c3e87990e1c70254c48", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAdminSettingsProbe.c": "73e58561e08e50008d33f81eed606dd4e8109fb69a627e892d28ca468d641f7d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAggressionProbe.c": "dcda8528a64d35e6aa2f030b59503a49ea8a85ffcc33beaecdf8da00c003b50e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeAirfieldMarkersProbe.c": "980025c07d042c2f109e2c99ccee0316b596806ba2c4fcd9446b6ad7580d1d1f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeBaseSmoke.c": "f7697361c6a056a62aff86de7f7d69e9ccf47b92121dcb96ed012ad136e47e30", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyGroundProbe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyLoadProbe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyRemoveProbe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCasualtyServiceProbe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeContentProbe.c": "cb0ccfe1e1575f9ed80a8054058b471f3543378db059e6af2fed8eb42a262638", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeContractsProbe.c": "60aa767d9455f2f4958a6a47bd68bbd8ab0466adc8f1dd9ae433c40ae96c68ff", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeCoordinatedAIProbe.c": "9104a7a5154bf34906f135f00c5793229e343da6a1ed19dd572e3c1d9821d393", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeDefinitionProbe.c": "904d8d4c3e7b91d49dadfe495fc7b4f02f300e4aaf7efa348df5ca17ec4a6e8a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeDiscoveryMapProbe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEndProbe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEnemyLoadoutProbe.c": "0885ca69f6fa7f53414ce1792cfc3c49916886b8173783c634135c13c5d37429", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEnvironmentProbe.c": "9e2e66ac5d9778a1c65445348e3300cbb90b68b3f669f3ddf1d2b78a858430eb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeEnvironmentRestartProbe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFactionCatalogProbe.c": "e3011fa47b67122d7b2c23af8f91b7a217599d6cc114c4f9de628744b9c948d3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFactionSelectionProbe.c": "946879d822e7be2d48e03a3140aa1aad3e3d44dd18507fa3cdedb4c6d7dd81b9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFlightFootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeFlightInputDiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeGeneratedSitesProbe.c": "a3202ee4658e98539122926755caf689a693a79642e8c88d3146c247dd961138", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeGuardCancelProbe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeInfantryCombatProbe.c": "3e4c4382ab91f470357268927b954fd101685df6b2244df483f0422d6c0d7da2", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeInventoryHitZoneProbe.c": "604eacdc66cd52bc8a0115862ee7884a8b0f83bdb50609397de671eacd476543", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeItemStationTeardownProbe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeLifecycleProbe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeLocalAdmissionProbe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeMedicalCombatProbe.c": "59c5b04dd32370f8cf5c62fe6931d64209825522127a068b1957e9d1556274e1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeMedicalProbe.c": "4b73e7cf35e9c8fddb089678a320ea58272e1b6611318d0a762754c171eff785", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeObjectiveMapProbe.c": "37e66177ee0f16fc33d3d18321211206bc4f095fccbd17b177d4b8cc1ba4e057", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeOpeningToolsProbe.c": "0c5d6b96ed5a7cb1cf0d098d534dc7190449ed09339062e6b584729d53a61b4c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeOptionalSiteProbe.c": "59d86432c19fd85da30a63087cf1f15375c8ee30178ed7e2765c1bda4cc4d035", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePatrolProbe.c": "5a2af71cc4cfccc7dd7c23584398a38290eba1a8894cd46f6967252ff3a7087c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePoweredFlightProbe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePreparationStatusProbe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePrisonBreachProbe.c": "4889e0d3799a6a21b9f84bcb2f2ae78dce16269cccd1329f8d1fcc1a23e7c22c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativePrisonerProbe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeProgressionIdentityProbe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRadioCampProbe.c": "67f1a088f9b20e5f0f11ed3aa083ffa772bffd7c74d85b7a307344ac3d47e09a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRadioDefenceProbe.c": "ff1e27a0ce75b123a86e7df31354831880ca62ea90b6c5d7c60d3ba168e1fff0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRadioInteractionProbe.c": "7b27552d233813894f65c08eb9f04b547c4ca9ff96a2370a763cb94bd4a555c3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRecoveryProbe.c": "d6691f22432b3ce37d07d448aeb3ce7feb5cd09e852e0167b5e4676afd24bb21", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRescueProbe.c": "78f4dc11a179a5b924c0ec1939f0fc1e61d4e6f6647729c48a9f126ee32d1714", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeResultProbe.c": "c9a89cae067f221b9f33965b4d3ab311b78ba79ea383ca65032c4001df44b472", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRoadblocksProbe.c": "6f44725b049f2545a9ce3c94ae3e9134e16077fa017a438fe4f073b453292c1e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSarkaProbe.c": "511816c4b86c9f1392bc4a1d83ad11e082280bec16356d8ab24ac1f2094bba93", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSiteGarrisonsProbe.c": "1a5ff8747d7501862085b5e9162043fee3b05e82c73c516ad8093aaada53dc60", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSpeechDownloadProbe.c": "5377da12cabd58b9105851a2348d7496316db371bfc4346a5fb3f84f245ec013", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeStationTeardownDiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeTimeProbe.c": "4a2c6ffd947334a0a71eac083d10c853c524b00042e9ea0987497c4cee60c3d5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeTransportProbe.c": "7a3fe04aa1c5ed1061ff63d9d5180e8b925932b62d76c1ffb49bd3dc23530993", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeTransportSurvey.c": "e5abdb69c0675a20f4287afb24b9e3c877e91b162c77c32d81ef61e2a8b72577", + "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeVehicleSecurityProbe.c": "59bce863142e4fba4b6fb2f544bb8a58061f0e99b1a38e5ac291cea919563763", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObjectiveMapPresentation.c": "70339c05c550b72a4fd5890a871c5d8e6a9e574813d61696194c5fbb1475ac8f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObjectiveText.c": "d2fd3670c89d679fcb1359ebccf67b58734fe5168e31fc239bdeffa7f8ff0607", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Objectives.c": "b9cd5bb3b193c20401175c4328405be1b121e8a60b7b5999910b6a71f834af8a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Observer.c": "7c478eff3575eb1bd8a85c08955d4ca7f63b57969cd7b2b76dfd6c42136de1af", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObserverPlayerView.c": "c287a1891451dce0836c6e859eb962c154aad9621a46e50400f44fb83f97d95e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObserverScope.c": "97d29535a0ca1571ceb86996f58b68e5ba0944edfe30370455c52a321772f85e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ObserverTargets.c": "1dfd50307b5d74075b90b5f2f70bae2c9488fc12df03d82eb19350a724f910f6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryGateObserver.c": "1e376ca83c0005cf532539e14d7f47363c47b7c5b03fe3d55405a59208705fd7", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryInputObserver.c": "808a46cc1e4b31b65dbbbcdd55493f594ebb3974bbec38b4a2402334c653c0ef", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryLookObserver.c": "d5a1b636938d65e9d11c78b31487f2924400c34d98e2ec812954a2a224da7dc0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_OrdinaryScenarioLaunch.c": "8d8da4c1222dcc6adfee350490f4399b4129cfce7a42b45fd7fba52febfd3eda", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PassengerHandbrake.c": "3078487e077aaed1567894f6df12386aae440b790b6c134118d3afc2c4da156d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Performance.c": "037ffa482e3765bb537629e34f10919d85d4b6bfb0abf56ccc7c0d44fce8872f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerAdminCommands.c": "eca9baa3b07da48a740851583540840f8bf5f65f7be854902a3778f76967faad", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerGuide.c": "dc52f551a1d3705fceb64ea18d882009d9e9548c01f08ae1c7ef3083b19ab2d3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerMedical.c": "270454d50235bc28df9bba4fde2689934578874c4eca9560afb9f0f6324d7215", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerReconnect.c": "478fd041e8a13132df25202088f42d0810d36680060dd7a0424d8f40a5b1ca44", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerRoster.c": "dc785a8a1d78a285fe55ce76f87b78a9f522eeb9f7d9655dfe9b5c4348a26a18", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PreparationFailureMenu.c": "5c31219740bbc26cb903a91f4fe22866c465b38220391093c72a3b094ca30f34", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PreparationStatus.c": "c5cc9125986e2285282f3f7fa9068ca72f00d7e26465d00213e734039c0e34e4", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PrisonAI.c": "67f8b444824634fc37fc253c60fd24b56d06d971f48e56a8d53095c97aaf0070", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PrisonEscapeService.c": "ed180448cb516bc4ec521aedd366810a47787628c7f5ee9c9afdbd185d980751", + "addons/core/Scripts/Game/ERR/00_Core/ERR_PrisonPatrol.c": "284618391ee2da84dbcda4a99ca3c072eae3d67b8a9ef40a86827b9ea00810f9", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ProfileConfig.c": "b5aca526a860ed9ed609dc3fad99ebb34d2f6fbd537575a167390472efd4ba89", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RadioDefenceService.c": "f5f0bf1352141f933d0edb5630e30541e001dc07e1d2c8529b29cc159c126b13", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RadioFeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ReaperRHSCompat.c": "bcdf98c05ac6cdf0c7eaa854531b02e9ee4f53fbb346ae01d58114e572e7dd4f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RecoveryForecast.c": "0eda507fb58860c0eac1d957319d1e80e9576a870d22931c86081db748df44b6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RecoveryService.c": "182037828b74938746022ebe03bbd9cf849d52e31067c0b33f392f03969d6162", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RescueLanding.c": "e6f63ee8860335de1125e0a62eae3b8406faf5a5ad2c8d9c6f9a6da077986e56", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RoundStatistics.c": "60e6839cc50fa02df1795a00b93fd431160f9201bdbb6f1e3b9b50271306e9fb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_RoundStatisticsLifecycle.c": "b813a9ccea9a61c9c6d7d4806cf18adfb323d483622ca1225930207ca2436d12", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ScenarioComponent.c": "ca6b20d5c4599e31957e5cb464d21bb3a4bac517dd539711f9d4f380e48a0e15", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SelectionStyle.c": "b9ea5158e51559dc13812cdfa8939ac36b58c79b9e4115c72465d869fdf264a8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SelfEpinephrine.c": "da5850374b51e89016c4557d06f3c7c087b6e6e36fa9734b22c7c6c50d757914", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemCatalog.c": "047d8c4c36bfa32e1afed13f8199f01681ebd362c72d87da8868cb6959661973", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsMenu.c": "b81283ec17fdd9f72096901f8bc2a3c87fb8fa4c8fd488579ba0817328b9dafd", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerItemsWeightsMenu.c": "f0900e42100c9a58402cfdd48b7f27689144f53e03d3ae3dcd4bbebc13a5f61f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehicleCatalog.c": "bbc346188ed280d34b1b519ab7c96c6bc35df9ec3e4bfd03591cb9b8008f89f7", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ServerVehiclesMenu.c": "d873cdd81b2350acac7068c4d59d5603437561e061a3b9ff2cde2356239da322", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Settings.c": "fc5cbd7f52632228c071b9f14cce7979ef55298672e441f665f0efa97f083249", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteDefinition.c": "d421d70b32bd2b55cd8e4966c04af3d5bc381ac811d3b4b2efa4bc0a8af8bd2c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteDiscoveryRules.c": "dcbce3b7aee89bfc47a50e9de89209758af1f1bb462b99af67a8ad7a26e9f229", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteService.c": "2b283ad19b046fd6b33245d466b197bd05b4c472e128a747e6b1e725f4a34c2a", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SiteSquads.c": "183883783a4e8399cf62851a4cc65a5d091d25131bc53b4323cf17286315b2e0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnClientScene.c": "b56f99a91cdc53bdb93d320d10839339022d7e61e6b101eee8296271abd7d3cb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnFinalization.c": "6ec741f8d19ee316d3c67b0dd2216698584bf2cde3634a3d6a7c3cdc3a3935b8", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c": "6d9243f66b4ca8c53d53fedff9dea8986c815e90c1f97de58200cd759aa8b49f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnPlacement.c": "fc5b61f1877aeaee75fbfd6aed3cd0b4c5277ae8543bc38a0c09836353d54b27", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnSceneInventory.c": "76b79d5bd9d1f367e1ed19724302b7d49f8b0ede85cf19e89c452582ef651f8f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnSceneLease.c": "20de7f96bacc9037580d88d4424664b4554b2c082d82e7d29913e9dfe390b594", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechMenu.c": "33f9ef80b4d6cdbf3646eab602d15ae0d05884bb20b3a7222b0648752339cda5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechService.c": "74ea305ac0c9a9d145646a5c73cba58e4920ab472943ae73b3dbd71d8216f752", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartBackpack.c": "4a36799d3a3defd674822974cd96647c0accb2a854631dd5488c35e2ef697f7c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartBackpackMenu.c": "07c90db1a84893759dae71f40b7ae3109827646e48fade542190d21598ac271e", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartRules.c": "ab7c21ef700343cbe769d8d51d91f167db37285b466d6af9873e121b3adf4ade", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartSetup.c": "58a6b617b22910d0ce9255f82091dc11cd1284417a66adf1cdaa7b661c1ed01c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Telemetry.c": "b1dc3ecab89f5e6db1ff4ba613b43755a5ae44f3612249288cd134ad850719f6", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TelemetryCredentials.c": "9835caf69d4615d6a3fc840d9dc3cb0f507a0c5a2a6490893c21761f9cb4a216", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TelemetryLifecycle.c": "15d2d90d4457339dacd61c1bb23b619243b8af10731687c35ecc300125a642f5", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TelemetryServerName.c": "7744762c4586e2543601fb0899847bed311c439cfda3dcaba825adf870628693", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainCatalog.c": "ba2e68543a8c929492d06f8725a743d26849a630d6f8c09be0f23894f92d0990", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainControllerInit.c": "8071e38812ac61f9b480d9e91f9ebc7712b360d431f5555da83027db6cdf2471", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainMenu.c": "1da542ef60ff7c1897b1f12432c636ef6a08cc710bac520ef186589d506e9a54", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainPreference.c": "93fc55f2c33e95adbcf2bead3430aa14bdb55154315760bcc9647f89dc8286ff", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainSelection.c": "ee75cac068b99e7403f5eaabe556152513cf5d973602cc6e6b8967d25402f6ad", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainSites.c": "4ac347d4d91951bcc7175a965ccea25f3782edb6e352354cce506d6b626e5ac0", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainSupportStations.c": "c4fe4265963ec88e24379c143edae251452c84e43a3102f5da120205f9a39c9d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeover.c": "ac31af5ff2937f8a1fd89ac03732a8a473b27b09c83a07923f17986b0f9db841", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverClient.c": "70f192d5d749b4211c5604575d2b9d7e39deca589b5841ffdd03f99baeca1280", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverManagers.c": "ab1d64c8073e4daebf14f4ad2c745d874032675ebcac3fdb0fdae4626acb8dbf", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverPresentation.c": "91d450215eb6ed2da74446b5fbb805356e3881e3cb43e37fe45308e30b22be9c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverSettings.c": "da22775930b13e41d4a71409e37af3bb99e4cc1d94bdea0e3b59fbdcd4d40132", + "addons/core/Scripts/Game/ERR/00_Core/ERR_TimeService.c": "63867760876d523a1794f619118a52c5cd387d5d92756cd286b2c16a348a6c7b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_UnconsciousCameraProbe.c": "cfc63058a20fad99e76c59b64d0d288cc3441fd3486ff63a6dde9998b4ab103d", + "addons/core/Scripts/Game/ERR/00_Core/ERR_UnconsciousWeapon.c": "24d31bc857486638e55c605283c17cde0cdbd3c5c6021eac1ec93611387b10d1", + "addons/core/Scripts/Game/ERR/00_Core/ERR_VehicleSecurityActions.c": "bd7d0aeb4abcc9d8044e4888f9a92f9e5fc97c098bdfa3bbad57e1a29697a779", + "addons/core/Scripts/Game/ERR/00_Core/ERR_VehicleSecurityComponent.c": "2ffec4e646584ec546147fc4b08249825cb32b531aba26467b586d760485adc3", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ViewDistance.c": "8514f72f8207f12570d2317e64094a45507a1647dfd45a1501499ef81e90189f", + "addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeIdentity.c": "8624bac67c1990f87b3fb799361e5facd31c2e03cb621563b9c73c4fe9d7f87b", + "addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeVoice.c": "a6a9a816dee1c766675990c158a757cf9ea8628a7b2b0de991af67ff4cd23e47", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZBakedSpeechProbe.c": "533c89b6a258dccb61d7ff6abe0a43da58d52ffae60735a38c2545fbb4480afb", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZSelfEpinephrineProbe.c": "a13e14d1ef525209d4609a2532c6d72135377ce058298937b632a91eeb6392fe", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZStartBackpackProbe.c": "6778cd98392f4e73dfe974782e626d98472251c1266698020d63edf8fe735bcf", + "addons/core/Scripts/Game/ERR/00_Core/ERR_ZZZContentReviewProbe.c": "3c23e798850236de5e5c2084eddc1614daf4c9f51a762c697ae1df91dde71d34", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AIDriverHorn.c": "db9f100c6cc10efc6f5b86e8fe9adb75657ebabee6f8bf0c89b997c2e947750a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirAmmoMission.c": "0a471a40c8f7dfb797d8d35e41c5b1ff91e8d2ab13b43cf866e46c0e4ab4ed9d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirAssaultLoad.c": "de7b6c485167ab68ab0b37b96fe161ee821c2efd41362172b810448a02110e68", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirAssaultSystem.c": "2eaf9816eee3e1cd2ac70744a6ef7ea5a90d0a3eebdf925e384028a7edde6a42", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirReconSystem.c": "f8a0e3cf4552d8133efd33c2126ea15a7694676773a7047c15e00021c1d9721e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirSupportPolicy.c": "c1a7ac8759ca8ec8b43cbccf303255a2f0b69de447d0d991e44b6bd3db415d51", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftAmmo.c": "2be282406d0c45ab2e35b0ced791b5e494c662588f536701a4e82e6f5fb7c913", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftControlBridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFieldEnvelope.c": "0f53c7d9ab167a804eb904d63725decebb53fd5796fdf27864a75abed5679838", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFieldFlight.c": "c04e264cff9963821852094c451502d31bf9c96d4deae2e8ff8a2373b53b5665", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFieldRules.c": "30be68f4ca2db7e169f6f0432815821179cddf9159f7b150341dc8eb479bbd17", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFlight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFlightEnvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftRouteEnvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftRouteFlight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftService.c": "3f05209227986b5c6bfb193f8f53783cfd4ef083bce898e22257c3e63daed913", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AirfieldSupport.c": "c6d88ede0b1b6bac5a7075b6e2e783ccfa8850210aabd28bfa4bcdb698cc5f87", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AssaultParachute.c": "a93c996059e7166988e9d1b0b498cbfd36f19a1cf8520cb4e9215a8884752e18", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AttackSpace.c": "e7be303231b5946d78c61480a5de3f5b37a63d0d2281a9a30a21e59f072904d0", + "addons/core/Scripts/Game/ERR/10_AI/ERR_AutomaticEquipment.c": "8658421f846fcd3402289103762edaccbe3ca26280d7d72df2846c32ae8a4cdc", + "addons/core/Scripts/Game/ERR/10_AI/ERR_BodyRecovery.c": "f5fc311ecac4533c2d053a686c51e71216e69130a34483f27146627172914c99", + "addons/core/Scripts/Game/ERR/10_AI/ERR_CessnaBridge.c": "f1adb0f9b92f6ed94a8e9897b64e2fccba0f28552525a93f1ab893faa4fc5da2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_CivilianTraffic.c": "b6509be9cc891ba4c1fc0f3fed8b09ebb31ca69bf2e5b28b50a6060706baed73", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyBoardingProgress.c": "328f8a5eabb8174b7727eee1d675db83a2eb0be7b8e834db4e950a645ca5d7a3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyBudget.c": "fc7e254056c1da4aadd26d4f56d51ee375d5d3331f5f7e5183581108c7474a10", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyCombat.c": "5c4b7576b28d51edea868cbb91a0ab31a40e6ddb558f1b8a38e07e20fdb2969d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyMineStock.c": "4497d6b790a45df2b76d18541ddaf299b406def88b868caa29f096849026a42c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyPlacement.c": "af4799e3028448e1a73f944989313e5d10c6262521bd29a8cdd5236842717963", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyRoadPlan.c": "fae404f85cae63e63976938a5fdb73efc988ba25c5846564f12edca04fb88551", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyService.c": "5abc35861aebf2e4ad00de11f040d01f784c6f2184de2e10beaf46a74ec8758c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyStartup.c": "360228fd45aa6ecd9426e36120b5e637d2feee1e3a4a89aac8207526b871c87e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_DroneBridge.c": "9ad23a763c5995b2ac6f68ed02def487b0ba887e8ca68f0e546d1b6812504cc9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_DroneRecon.c": "dc685b57c884d733e0ff90cf7937f5664ec08545f4cbf59d63bc8a84383dc442", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyEquipment.c": "dfb6a7aeda23adb8aff2292753b694770affc9855bff9fb11d50bb534f9219eb", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyGunnerSkill.c": "adf8bac5a6f7e40b2f9caff5fe9be590c4e4ce2b2b387ba39e741a3c4f4cc564", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyLoadout.c": "a48f32dbd7f209bf08fce2840aaffc1781c571fc679763be58987f6b082e776c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyMapMarking.c": "0f161fd3e08a54e3e1063679127549e482c40253a022e9d06cd9ee4d740b8625", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyMedicine.c": "68b65c98214e1a27383e155727901a4f70e9c065bb0cf133bdcf7fe6d5a57a40", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyOptics.c": "215e8a05594c541861b48e093520c00091708eb0f3635dcee5d0b5e1160230eb", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyRadio.c": "3a97e5c3de9ff33873d97c6b2d84ae505cfc4f3146e047b928e76ec3b22c8789", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemySkillAwareness.c": "00c450d033e43fc45c9e2cb64a1d81161d123cc594a4292cfc5f68eb6c17ee60", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EngineerMine.c": "067bed625a3f4d0fa189f46476988e90528c59b2351ec0ea71916317b06efabb", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EngineerMinePosts.c": "bcddb72845189b52e5ed71c687d7dd4b0b40b91b7306c3f6edf84a631002fc5b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EngineerMineSite.c": "d838f5693d4fa5d252d529e59777f560674c02532f1041a5598e938b3a850839", + "addons/core/Scripts/Game/ERR/10_AI/ERR_EquipmentLog.c": "df9eec7f94e4bf1b30b9463604e9b97ba3cbff36028a80b81327b0b021cbb2a9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_FiniteMagazineReservation.c": "8278590ced1936d618905b0cbd0b5aebddda238d426a6a2a52e455fc36bbb502", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GarageVehicles.c": "673661374e0854fd896d3d51aba84c07088057c941751b311daa4a97b899633e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GroundDepotHQ.c": "c51fccd0ecdb0a1d6ba99ae965e2e572fc1ea65a5d8dc2e1e2a058698dae45c3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GroundDepotLoading.c": "6abb278409527bb67db084138a773de240d99ba7f63f9ac740f8167615d53f1d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_GroundDepotTransfer.c": "21daa9ed8cb5f2dc08a0fa85e305fa4b4f3e7b01e16c71fd1ca98d66a4e8b652", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c": "9bd25f9fc7e574c515c7131e8b52eb357e295822e1ce2f401e6e86cfd6ce062f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQAdminProvider.c": "8879febe59fd99584add06690b29853f7cf14b580bb15c9a955cf1a2ce033908", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQAmmoReporting.c": "95c024cbdd35c02d9b0c3d389d29bb042e5dda6ffd2f5f0d896078274b3adb35", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQAmmoSampler.c": "8bb0ec1422887feaa340307d3c60bae50fc82d424fce6390876e580ff8b75e8b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQBodyObserver.c": "f59421c1e0c83f0f480d7dd4d048b4b0a41193ed8fe8f2f627d2b6a696420ea1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQCoordinated.c": "5b67ad624c4a6b0bbb715314ab9cf14e527018fccb7d38af479184b4952b8c49", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQCoverage.c": "0ef1ed718797114d95c636c8fa5a9e46a5f2a7ccbe3f432049b0c7d37f1eebd0", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQDeliveredCasualties.c": "1f738127e55e843ee2705007cedb5c08741f52f63c75eca7c80242177af82273", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQDoctrine.c": "6335728e89ed40ce11b811f00b61bfea76e94dd3379e4357cbfc438b05522bb0", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQExecution.c": "d286b8273faec0acf87366bf53ad2517d5b7d909741e981cdf283cd1f4f50314", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQHunterOperations.c": "b9200b6de3a3a61de94ad720aca94aca64db542acc64ba65e7b8061a5e4884e7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQHypotheses.c": "060796bbbed604f9733d23e131c9836702870c6e25c81cc0b396c885eb06ade2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQJournal.c": "53563ff54fc4e0656713d6eaec5e88ddf69fd4bfa8ef6a67cfa13380d24031e1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQLocalAwareness.c": "124260280ac8eda0e920bfcfc86932c9b21df6b1f7a6aa8acfc43feea3da149f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQLocalHandoff.c": "2dd700dae9d9b232d22ca63ff01af75a3f5cc213ac24b7c0a43ffa38bc0b9ffa", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMemory.c": "ec2047a477fb4273e22ae6bb68e7365f321f55c583b5d2c48c4abf2ac38e3b7d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMineSampler.c": "2a0fdc4d27e947a1d77b02ae23f757c7fa074eb456f817b7df0766583d757f55", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedAmmoSampler.c": "97dfab7381385959b0906be13fa2575253ac43be91a271a5d41edaf4106366ac", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedDispatch.c": "12769b56019e9fa5b8141498a1c33814ba5262253193495e72f85972365961a7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedIntercept.c": "5f45545c11de5e183969203cdf07e29089697ddc89752a9c5aea0fa2a1a33a97", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQNetwork.c": "0b73be993628a55e3b21c8670d540e39c938093dd5cb4d586e800ac530509b25", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQObservation.c": "57ad3f0b68d150791e30a7e4bd7dfedfb1ddd78a1c76f228e67b33ea9cb7144e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQOperationSpeech.c": "6f133c104223ce23262c2927db9e16df0f76f1ee647085114baef1d51417f4f3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQOperations.c": "b83b805c61c3960801d24ae54854ba7aa4dc914ea89e61db365b5ec99f305ae5", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQPursuit.c": "280e91feecc4e5b6d0886fc4201b12117b58c56857d4386b6c4cb963557274bf", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQReport.c": "4c0c1f0e33f621d1e02375cf4f56b0e8c4ba6fd851912d3d16081949bae46158", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQRoadIntercept.c": "f87727aa1c722a180c7b71fa2d896601b6250978a21bd2d1e973501fee81373b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQSquadJudgment.c": "12e9ccc9d42a858a998bd46708fbb04d05d48dcf460303a5ecc1629021051bb4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQStatusSampler.c": "b937eaed913a5095afa8e678dc1c36b5c805541bf8cd5be927069533d6baed1c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQTacticalGround.c": "eba9a9cabdaa80b936aa5e7025544e8b011fb597b96cbdb8d781583c025afbe8", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQTask.c": "29359f52734cbf3400e12696057bbb7aa54466a018fc88c42015b6eb9bb9990c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HQWatch.c": "abe634cf6003ae920ec1ed18e305ed462920204960894520d3dd11f7e5ef1c33", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterCloseContact.c": "56f22051566354ccdc61531af4869b62458a30d945e4d21de5aadf7079d2245b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterCombat.c": "df1c319d10efd07ed6f971cf0e41d8d7e377b04ea7f0fe143bf94df733fd1d9c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterCrewRecovery.c": "22e192ca222017d4d7a27210c6e42cf0f128827bca00b37924c9c8d6866b62a4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterGunTeam.c": "0e66d82964ef8eeba29de11d5bb2af954ad72a8090855ac4c1b28fe1e66c0d69", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterOpeningPlan.c": "7791513b8b41f4d2ba1b593b5219d7f6e2bf036e352f8e4eb1a8029fc97ab7c8", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterSarkaRules.c": "8c8c96e2f985f553e303f7e459b73a2a5cd0051951b22aa0ed364bc2ae19e194", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c": "c938b8beb3f72ca1b2a76b48052dee70fe52651593dcdc16b7993a9398bc92e8", + "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterTactics.c": "274ae619589b85cf64df1510631ab914aa9fe8c50fc2a76e6e8c5aa5a2c8d9ba", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryAmmoAccess.c": "ab4262f78d54782c5ecbf5fff4ebe3da16d72329658d7e18c0c35387dc8b3c7d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryAmmoTransfer.c": "99fa26beb0c0869d0cd694500f3bfc0705c2c1cf674dea90d98fb93a59570ef7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryCombat.c": "5d7a8e579edf95003133ddb6e509202dba56ac9e68385247e1ac0256c1b319ec", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryMineTransfer.c": "02c399413f80879c22b4891e8ec807c67a6235677095fc4b98bafdc360d6944c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryResupply.c": "ca8eee2704e7758172e33014404bb1307c683f19b561b840d4592f6312051e62", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantrySupplyPool.c": "c8e454573cf064ff392291d6feebf1f23be64390b5b8e944c03dd065f9f46b42", + "addons/core/Scripts/Game/ERR/10_AI/ERR_InterceptVehicleFootprint.c": "5dea67d14ebab67231c485e14bc92f34c005a5f1bf6d9c0943db28e9857e958a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_KnownMines.c": "045468a052e485a91da601adcb42b504bb6e4ff13b096bc0666128e50a6aa9c6", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarAimSolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarBattery.c": "157024afc8fd3c1ffeea6ae923ff091e5773b9ffcf5f5864f8040d001e689110", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarCourierTransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarFiring.c": "2606ed8c19d5569815dacd3248f012072bb76834f429ce7557d24d884724f733", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarLogistics.c": "b3624e4a00a2bdef16f6c100bbd79910e3bb8c2ae8ec5fe2ad5aa70bffecd303", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarPrediction.c": "05863b2b4f9f70cdb288f91c722cbea163c13f2a2927dc485482e5bd4fa7d57f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarReadiness.c": "4c3799b3f2681e977669de0cbfaeb307d9a682b04365bfc9f59079e762965758", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarRefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarReportLedger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSalvo.c": "c128850c7a78a4d8fee00ad38f48b265f1fbd1d9b24b092ddc5c205b0f0ad6da", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSpotting.c": "39b3c223ade610ed9f1d73040423339ac65c90b153f30c6f5c42290978c57427", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarStation.c": "cbbd7c86f722b664c85ab7c070ae1131d2ce5c41d1dacb4381bff9c1720a1866", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSupplyTransfer.c": "ad71084f507ad9c32d3055e7ec6844a1ec5ddf568c0216ab8391e902b56e417c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSystem.c": "01bae0bab685e9f0c86c3a8939d18ce6f20dc0b8c1a389d179d91e93008c6957", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedAmmoPickup.c": "5f7ca5b31f3b405c2a6ca32ff91042f5b4dac6ab9640ce67fb10d7a74236ba69", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedAmmoTransfer.c": "0b195784497672fdaf651f336c14f7be98c257f98c85cfbeb4f96fe1a401999b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedMagazineSeed.c": "b42d0aac142907433df8bedc40de24c94813544016cf5f451846f1980250f995", + "addons/core/Scripts/Game/ERR/10_AI/ERR_MountedResupply.c": "c26ad43705765be1c20eca37fbe2978b8c647151f6620ed37141657a4b7dc312", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAirAssaultProbe.c": "c1d55b338b157b758e6ffb993d5f689029b28b13929797c91e5dcb15b5e561ea", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAirLogisticsProbe.c": "58fe863775d0ad575cb566c78cef696c9826691cf49ef9adde76376be7316db1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAirReconProbe.c": "c1216e0512a0268e4dbb82429e228334401c0c3cac52ba4486ae6dc91e41576d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAircraftControlProbe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAircraftFieldProbe.c": "b64907c7566a894ca2f3c49ede5d972d4087a938da1a0ca87bcbd7c2203b2c52", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeAircraftRouteProbe.c": "8d0dca97e5106d1c84b64992c789e1af0689514beefc027e713ca6ab901fc470", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarCourierProbe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarFiringProbe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarSalvoProbe.c": "fb9ccc6b36247ab3ad828ffbb2556abf5c2838d93ea6cd1ad259c0a015142f5e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarStationProbe.c": "a110f0abc753cb1d2f781e457e637dd5346ecd2e924eb5eb3a5c7dca3d1e2340", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeMortarTransferProbe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativePatrolHQProbe.c": "9784b551cbb91f017004fb728ce08b5c36bead0ffc83aa7149c2c46a7c4dc495", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeScoutProbe.c": "41b39b1abe5e51a5b8a428d533cccbfb0dda9d7a570228dc3489408c60543f17", + "addons/core/Scripts/Game/ERR/10_AI/ERR_NativeTownProbe.c": "28876e65f9f8a7d96d8056f446b61e12e97d9bbf1a5ac0d4c40edee44e6c4a21", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ObjectiveDefence.c": "83ef91c2118521aedb4c1838b2e47909c80e0950086449b98ced168f1fd87080", + "addons/core/Scripts/Game/ERR/10_AI/ERR_OptionalMotorbikes.c": "87cf6544983386d29058a6f892aadbf242a517cfff4ed24348f56a72bcde8cd1", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ParkedCarCatalog.c": "1d865c263e910071b127ccd1bdc8b58dd45768c4629194da49705f76995ff0e7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_PlaneFlight.c": "14fa2328e1d31cf59fb89cbb53ba33224be6cfcdd2813525fa9585f8b2e237c7", + "addons/core/Scripts/Game/ERR/10_AI/ERR_PlaneRecon.c": "fe94c29fd9befd3c1bf3ab97b9b27458a8563697d4d46f72df43c6e642f3664e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ReconAirports.c": "7551347d776d6e0eec818d6468cacbca7ac53daee7317e0a1618ca3d39ebc762", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ReconCrewLocks.c": "83b63c21574140208792aaf3d24e3d22b255a078871382122110bb48520d4541", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ReconFlightComponent.c": "1386e2a2d2a635417ca517aa1d8ddd4f657dd415ff59be2465543cd8f601e7a9", + "addons/core/Scripts/Game/ERR/10_AI/ERR_RescueAssets.c": "fca1a4518baf09f0b2c97f3a51995001d9674849417fea9ca1233e8d1f578495", + "addons/core/Scripts/Game/ERR/10_AI/ERR_RescueFlightComponent.c": "60db8029bbfbbb362b5bce61f509740eabea5925b93bc975e7c2b44addcf03f3", + "addons/core/Scripts/Game/ERR/10_AI/ERR_RoadblockMining.c": "47d0212cd20c0b320a47123d17f2b89f7d60b44072a00c69944ada7bb83c4e5a", + "addons/core/Scripts/Game/ERR/10_AI/ERR_Roadblocks.c": "879f78beeb284d1298ec49dbca9624c5f3899ffc6fcd376e748bf55e4347d4bf", + "addons/core/Scripts/Game/ERR/10_AI/ERR_ScoutSystem.c": "63287a252e4e7d5aefce840279f26ce3e1f286cb79cadb32596c37897cec7119", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeech.c": "ca87494ecd355052b46b72e2faf13660e458f3d376285bb0e4c20fd0112ef2e2", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeechAudio.c": "4734d614c5366ae3ff57717f514664c9dfdbe4408e16ba36f6b10d807361e313", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeechContext.c": "d2baa94f036f7dde5cf24e004ad1fb9416f249cbf7d0c6c07c5898f7d21751be", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyColumn.c": "bd898aabcac5724d60dbecc4ff5ab6f062c66cf7c735ff59127c588ff94f898e", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyService.c": "5393efab9d663382e67b9b27a388063986a4f99c2607328c998f007588074ca4", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoySystem.c": "f09aa817c27d6af0ccfb544f4ab1ae2afafb63d626641e03d87cfe159475d821", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyTactics.c": "d2fe073b0c23c877afaa65e246544751eecabce4febd72412fc9a4ec18eb1c8c", + "addons/core/Scripts/Game/ERR/10_AI/ERR_SupportScenario.c": "151eb6189701e559bd4f1359c91187f5a64deab1f2bacbd521c4f4cf3de6d878", + "addons/core/Scripts/Game/ERR/10_AI/ERR_TownGarrisons.c": "9b48331ff8bf7e5a111b498c59a57a5d0210125af983424535286a4aeda9a18d", + "addons/core/Scripts/Game/ERR/10_AI/ERR_VehicleAlarmPerception.c": "45ac71d25e10a057a26a5b0fc7128935baaf47f4c0f87208a4420fa52086fd98", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelAdminProvider.c": "40adf8497b64cc74b1390149fe5ba789ee2f14e6fb3c325af8f5ffa8c806878e", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelDiscoveryFeedback.c": "741de1dbadfd46c154905a0918aad41386ddc139d843553db55d20d60700c020", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelEvidence.c": "ff436bd3c7aa0fcd5c24e940430c1ffdda934889953f63e877ae418bc9557d26", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelReroll.c": "d8b04de9ea789732cc78ebce9aa60786c86fe46d05f671cf251eefa68a214b59", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_IntelService.c": "2911325c79a7a372628b18ffa0e110d11919ce2c2cd7b19277bfd608fdb03dfc", + "addons/core/Scripts/Game/ERR/20_Intel/ERR_MineIntel.c": "3ce16cebaa9703b2f9803df7c11614f94de6460a9136dab8f80dcad41ae2b1c2", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_AtlasPresentation.c": "f0b36472b16477b8c3b5b62f55cfb2a3b3a08304b0779bc39244359af1abe203", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_NativeAtlasAnimationProbe.c": "845b39276bfdbadd6bfd9b41f445fce1a9d40231d38ef32adc7a6654868e17f2", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_NativeHeldMapProbe.c": "46c0210a3aef40fc34e4c9682d9364b1cc1e15d4373d8aabfeac7d9b8e55c351", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_NativeMapOwnershipProbe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_SharedMapComponent.c": "73298c94ecc8d227452b0eddfcaec7fe9df4748875fa7fafcc52544a43658f36", + "addons/core/Scripts/Game/ERR/30_Map/ERRM_SharedMapPages.c": "2286d327b87f127f052e06c22f553b30ea31d25127b860fc02a220aeb4ce3ea2", + "addons/core/Scripts/Game/ERR/30_Map/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_AdminCommands.c": "282fe1463add7af8771aa58507b254e69d2d06f50274d4c77321db073f8394f0", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeAlarmHearingProbe.c": "5dbb6a48909b76cd141e3a79ef01d2e68cafee55153821c4471f85c761fff94f", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeConvoyCoverProbe.c": "d2450140cf9bdf09210473234605b4c0d818ea5b91f9532209166a35c5d13701", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeConvoyProbe.c": "87df652b339df4fe4239617752ac5fd9f47aa4396ba94742a0af39a32b54e784", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeCrashGeometryProbe.c": "7867ce1794aa0d1bbab72c32f60f5bd0c2bad4f5ff6224978c215e7828840178", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeCrashStartProbe.c": "957f40e36bfc025b8bc752b1f41dc177c8d0844c69ee5994321a47cf3ddea1ad", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeHQBodyProbe.c": "811244cc8297817efbfc3ee4edf01c868eae23c88127ba0c72e98ee7422da72f", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeHQMemoryProbe.c": "9bcd0b2e1007d40cb794aabe80368a2584ae58aad6a3ebbee070efc7b21a8147", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeHQResponseProof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeInfantryTransferProbe.c": "9b2de4dc22bdadd51b0271219a971dc8dc07f70ed3534f306acf03ed81b29424", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeLocalHandoffProbe.c": "0d4d61c424a16008595f86fa61f3b848caf9bd6e9ebbacea9c10254d88ba378e", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMaintenanceProbe.c": "852b9b397efc3f919c97fec63bc3df1a850cd7833421af8441994afd191951d4", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedAmmoProbe.c": "7ddb634444c79ad9291d53a754dc0ed383342e36720ddaa4b7aa4bd4e7ee656d", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedCourierProbe.c": "12710e9e5548fe8856f7a52f3566338369a8a1eedf0bd92af16229271872ada5", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedInterceptProbe.c": "34b0b1e38a59f14c4e83d93ec412779945388e6f4d697bda2f6cb90f519a6372", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedSwapProbe.c": "a6721fcaaccadf8eddb06687c7d587d0a3e377d5d1bb0b8e72e630fede8690ac", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeRadioProbe.c": "a4bd5cd9fe0594e05238b2d6dcd80466773f8fa160dc60bbe1eda70e3acdbe79", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeRandomRadiusTrace.c": "7e946406067092e30b6b75cc6ef0c56db7f866249e02bd13648156933ee578d9", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeSmoke.c": "4dfb218419db4cd7a46d25cb1f2e578e75ad89efc43f99c6ca8ab8e591e139d7", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeSupplyConvoyProbe.c": "89c2696071912500840f4bb91d754f695bf674335b51a7ee1d03727084fd4869", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeSupplyTravelProbe.c": "32e6074e912491f2643a24cb44311b9fe5b069c76e4e94a45e7409ac82d36507", + "addons/core/Scripts/Game/ERR/40_Chat/ERR_OrdinaryScenarioLaunchChat.c": "a747af09599ce4d0c52051f18f00c4624d24d137e328341b580b82e896c6bf65", + "addons/core/Scripts/GameLib/ERR/00_Core/ERR_DiagnosticNoSplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5", + "addons/core/Scripts/WorkbenchGame/ERR/00_Core/ERR_BuildAtlasModel.c": "f6cb5e6f5afc9bb60a8a46d96b52c7506882faf0a880e0b20a01a2603b336d2c", + "addons/core/Scripts/WorkbenchGame/ERR/00_Core/ERR_ValidateBaseWorldPlugin.c": "49a38c37b51e5318c7dcbcb01543dd9a6300d053f0d39808b3974f4edc45b871", + "addons/core/Scripts/WorkbenchGame/ERR/40_Chat/ERR_ValidateWorldPlugin.c": "d1f3fc372d0d16062a5983f2a6cffb6e72f202cb93fea5b33b4d77e0c852ecc7", + "addons/core/Sounds/ERR/Speech/radio_01.acp": "cf63378bf3950f5e6c1c1f46c057ad38a371b14b945b1201777820384805c3af", + "addons/core/Sounds/ERR/Speech/radio_01.acp.meta": "d5966526f35aa64dc980238f72f4f93f9d0e6a360f10e3f6538e97b7d086aa47", + "addons/core/Sounds/ERR/Speech/radio_01.wav": "cfe4a00000bc9b629a9e8e282ed64e7177673f829c5657b1ae2b2cb9e661d2ae", + "addons/core/Sounds/ERR/Speech/radio_01.wav.meta": "eaf33fa344fccf9aacab626117d03b96b135fa819d3e63ae300fac544291b571", + "addons/core/Sounds/ERR/Speech/radio_02.acp": "9111d118594094a8e09acdf80d8b107cc7d5d890b6ab086274e0e1004039e345", + "addons/core/Sounds/ERR/Speech/radio_02.acp.meta": "76b55d9abf7f599c5db3269a5829546a6d5f92e6350b2fe987245f9cd6b599fb", + "addons/core/Sounds/ERR/Speech/radio_02.wav": "6f0c94ae0e501afe6cc1aba804ba6a0403ba4de931debc28bf22970f591d0798", + "addons/core/Sounds/ERR/Speech/radio_02.wav.meta": "06ec85166aa4c54a6fafa1fa2eb2cc32f4a36dc8eecde8f9ba9912229e5e00e0", + "addons/core/Sounds/ERR/Speech/radio_03.acp": "019f939d65396f4a334a024bbf53c41479a9f8ce806610945af2be13e7352c70", + "addons/core/Sounds/ERR/Speech/radio_03.acp.meta": "8aa2f4f26f04bc3085ae046f543c047cdadf9af9e06a38920f1e1fd8a3aa02fe", + "addons/core/Sounds/ERR/Speech/radio_03.wav": "415a206bd1de167342cf1b82d59c708441b8d802395f941d15097c064133802a", + "addons/core/Sounds/ERR/Speech/radio_03.wav.meta": "de1d81fb653146404de5b6a6018c1cd73e902571b82d544de5b6cfccf21f5410", + "addons/core/Sounds/ERR/Speech/radio_04.acp": "77bcff7cc7ce49036a440e829fb4eab1dbe5252b0fc9ea24c42e6f6b68e2698e", + "addons/core/Sounds/ERR/Speech/radio_04.acp.meta": "dd61ee2545776cf23403240424470661c737048d01432d90b24f2c9e75f45d82", + "addons/core/Sounds/ERR/Speech/radio_04.wav": "a225810c7fba048517248fd9f7e9f7ab8aad5bac35e59f22e11e69166551f7f3", + "addons/core/Sounds/ERR/Speech/radio_04.wav.meta": "0ae046e2ac7f9653661ba99646d40dd78d52f113ea6554e1dbfd6e578572a4f4", + "addons/core/Sounds/ERR/Speech/radio_05.acp": "7dbc2b3b3d251eb8d3e749b0a7f32186b0421a95fa5585be493cf04b45510e3d", + "addons/core/Sounds/ERR/Speech/radio_05.acp.meta": "cbf3b48ed3865e30ba5d838d96ec4f1ee950cdcd51368f7a9259460e4b78cc1b", + "addons/core/Sounds/ERR/Speech/radio_05.wav": "90f5abe221165ac5cd7d88c9b3e01cf6fd4d00b594c84d09c6baf101fdb776ad", + "addons/core/Sounds/ERR/Speech/radio_05.wav.meta": "d8e3de0e1ae8670a01bcc272a1adf4199ffcea514ce024ee3286820dedab4d83", + "addons/core/Sounds/ERR/Speech/radio_06.acp": "e14da41c1cd186f35a4f385fab71ad85ad6fe718e67299a65466339ae23a2922", + "addons/core/Sounds/ERR/Speech/radio_06.acp.meta": "efc810a60e93453942adba476b423121f2a7dc1133b25d8764c1bec546a3949b", + "addons/core/Sounds/ERR/Speech/radio_06.wav": "b3f86b8dde535bc1a63301376c8d42775446d1b6117168557841565391fe0a14", + "addons/core/Sounds/ERR/Speech/radio_06.wav.meta": "07f53131f4ad153cc09051ba1de07f7b43d38f69781aad24371c4eeb331b280b", + "addons/core/Sounds/ERR/Speech/radio_07.acp": "bf3a48af07ad6e5da2ca6ed6c581fc6232e1bd62ebb905b934188366f2bc3d77", + "addons/core/Sounds/ERR/Speech/radio_07.acp.meta": "60aab59223c0ea734f7c1e88f803de30164ccef1a909730abed3eb76b3378ca2", + "addons/core/Sounds/ERR/Speech/radio_07.wav": "f3fd18ddaebe9eb3d0db9ac73c89a7b7a7f18b76e4b66d404d544be660a6825e", + "addons/core/Sounds/ERR/Speech/radio_07.wav.meta": "ef6c72aa32c1c46f7133782536744bdaf4eee03bcdb75aecb87accef6d1c4f2d", + "addons/core/Sounds/ERR/Speech/radio_08.acp": "a82c5dbcd7094085324d93d539c6f829c53dcf3781f40b8d65a10b7cb4125bae", + "addons/core/Sounds/ERR/Speech/radio_08.acp.meta": "69fb3400109e19d4f4d0fb371d056edbecc0a96a0a923174d1aba95dfeac1014", + "addons/core/Sounds/ERR/Speech/radio_08.wav": "ce3c2aff20dbea83aa6545a383c454969c5caeb53d5a88155ec182f789047d4a", + "addons/core/Sounds/ERR/Speech/radio_08.wav.meta": "72c5e117ab7b605b8370fe90923edee73593df6071c39b86556731387814a014", + "addons/core/Sounds/ERR/Speech/radio_09.acp": "73725377def1832742c7620fec46dc0100400d92b9cb79add8b4d44e94c46c0a", + "addons/core/Sounds/ERR/Speech/radio_09.acp.meta": "95456fe20def274a1972867024e9d0eb572f3878eae19c63522fcefe401dcb07", + "addons/core/Sounds/ERR/Speech/radio_09.wav": "3eb0be6393c431b526dbddc723cb608a7681a2dcd8af6910d9f2234aa98c923c", + "addons/core/Sounds/ERR/Speech/radio_09.wav.meta": "724dd301d1b25e41318503a815e87b54e7283735c51fd122af55c070f26adb37", + "addons/core/Sounds/ERR/Speech/radio_10.acp": "f976a0fecf73b3379ffb9728e96c68ca79800712919320e7ff7f3484cd2c9724", + "addons/core/Sounds/ERR/Speech/radio_10.acp.meta": "5411a9ffa23e42c8a2e8d4eba75d6e87631bcf542128327dfefd603a64d5b6ec", + "addons/core/Sounds/ERR/Speech/radio_10.wav": "2b2dac499a45a7779e79465d628a67b87078c0951db7db3e051feeb4342f2816", + "addons/core/Sounds/ERR/Speech/radio_10.wav.meta": "c3ac10a092dcb26ec637be6c9264a85eae1b6da55b9d8b44a14766a70ddf2933", + "addons/core/Sounds/ERR/Speech/soldier_1001.acp": "1af0d303063f37811a9b1a25424d887fe5eed4b5c57da71cf36ba6985f8cf002", + "addons/core/Sounds/ERR/Speech/soldier_1001.acp.meta": "2fbdda4d9fa83c6945985bd2f2215aa9f745b3a18adb0e7edafac1b01c161ba5", + "addons/core/Sounds/ERR/Speech/soldier_1001.wav": "a8935a5aded028f2fb03734f4423e731ea4f5b17394526df47c0407a3deddfe7", + "addons/core/Sounds/ERR/Speech/soldier_1001.wav.meta": "aff7a92a727d8bd4df033be2961fb85cafdc5c45fd272c5ea718bc07fb8e5cce", + "addons/core/Sounds/ERR/Speech/soldier_1002.acp": "1444636949683a430efe20a7f296e85e669cb8e26799c326f73a00c4f8d32fa5", + "addons/core/Sounds/ERR/Speech/soldier_1002.acp.meta": "d8eb34135a3b76f0a4f889f9662d954b3b0b3638c10c0732e25ca29d7b2ef412", + "addons/core/Sounds/ERR/Speech/soldier_1002.wav": "8535643e93757dd916f4158b5b03671cefc599489dbccf6bb0f7abf294fbae88", + "addons/core/Sounds/ERR/Speech/soldier_1002.wav.meta": "e8c8813e5a1989a0d7e4d2a5c90622c4b0f909aafb929f4737c82e5710220d1f", + "addons/core/Sounds/ERR/Speech/soldier_1003.acp": "5ab123f150debd6fda0b822fee7ffca5a0bdc168f4d8d2e28b3982972db05613", + "addons/core/Sounds/ERR/Speech/soldier_1003.acp.meta": "f89fa8e7ac42e7f675d29f0b241d181df572413c6c41bf31cfb98fa205baa87e", + "addons/core/Sounds/ERR/Speech/soldier_1003.wav": "5910896661ad67333d2374a16ca44ce831a5820feb337655df99c02df2915d5a", + "addons/core/Sounds/ERR/Speech/soldier_1003.wav.meta": "5281a71be599a70aeb9972ea85364e5ef32f824db94c71953d8a1912fb2a27c2", + "addons/core/Sounds/ERR/Speech/soldier_1004.acp": "10ac847b206834168e63d8d0f7ad25d7542a58a49d331af50aecf13e7e070ac9", + "addons/core/Sounds/ERR/Speech/soldier_1004.acp.meta": "8c073328d3f5f06ca583d97e9ce2453d8167ec7bc5643ab90783748a4cd9b6bf", + "addons/core/Sounds/ERR/Speech/soldier_1004.wav": "76375e462ba518c76f752d4b194c9370dffcebd8ce0037865133b37af3ff9a9e", + "addons/core/Sounds/ERR/Speech/soldier_1004.wav.meta": "563aae8d93efeaa7ca098c12bf0004da279321607793bb32a93b2530d6832d06", + "addons/core/Sounds/ERR/Speech/soldier_1005.acp": "ea3d874f84dd85f09871444c348b1c7f4948fc043c59cba4d3aea8b8eaa8b86e", + "addons/core/Sounds/ERR/Speech/soldier_1005.acp.meta": "40cbfddfa9937e319d412f3ecb66b75e2c1c88f2823a64e43a81a2939fb9021a", + "addons/core/Sounds/ERR/Speech/soldier_1005.wav": "3e20728fb61863278738f5366343cddd6fac1b8b114a14867f91ebb5cac547d8", + "addons/core/Sounds/ERR/Speech/soldier_1005.wav.meta": "e330fc819872b0a97a280a42d936ff75e30d21ea3ac96891988b48ded36af7b0", + "addons/core/Sounds/ERR/Speech/soldier_1100.acp": "86dc8e90d826947672342f44a6ff8d2fd4a8f014db0b215c0865b3728b14ea88", + "addons/core/Sounds/ERR/Speech/soldier_1100.acp.meta": "1a41730365335ebfabf6c75ab1c67ecb1d0d6c85db56d1d85f688a780a3ecf15", + "addons/core/Sounds/ERR/Speech/soldier_1100.wav": "eaf1deb5381f6bac165e364a652920fcf78438c351c564ebe50a216f3f3ba5a0", + "addons/core/Sounds/ERR/Speech/soldier_1100.wav.meta": "dcd087d3e0bec53abdd4e42218a3bbb234b7ae3cd2da05dcee71a298632a8da9", + "addons/core/Sounds/ERR/Speech/soldier_1101.acp": "2680131b5364efe39f3dee44ce1605dbc9e064cea9baf8247a8c5b55dcfa8d99", + "addons/core/Sounds/ERR/Speech/soldier_1101.acp.meta": "4feaa2b8e069ee2e9576d4009329f585b1b5ade9e47816882b78075f4897646f", + "addons/core/Sounds/ERR/Speech/soldier_1101.wav": "4bca012ec25d8456cd38d26606312f54b480b674365b76a9c9f54e408314570b", + "addons/core/Sounds/ERR/Speech/soldier_1101.wav.meta": "6ac6bd7a06be3fa35c513137b4584e405c0cd7e32d0c6912f2d7f9b5a3087d36", + "addons/core/Sounds/ERR/Speech/soldier_1102.acp": "08002dc26a4c07d6bf488d5f7c8c6587787c1755ce374b4053dad582eb2d77cb", + "addons/core/Sounds/ERR/Speech/soldier_1102.acp.meta": "2133e516f162d6aaa7f0d3a191421964ca6df7b00d0a50fa42ffaba70864bef4", + "addons/core/Sounds/ERR/Speech/soldier_1102.wav": "1432bb3c9d99910314a84d9773d2afafe4f5fbb143afb291b0deed55d25ee6d0", + "addons/core/Sounds/ERR/Speech/soldier_1102.wav.meta": "a6ca33938733e22789434db35ca2cdfb0fc4c51716feadf4a28a60ee9d1044b2", + "addons/core/Sounds/ERR/Speech/soldier_1103.acp": "c93e1e75c272d31107fde86205b859cf505e2acf7d8776fbd81357bc8b3625b9", + "addons/core/Sounds/ERR/Speech/soldier_1103.acp.meta": "f3d41ab27e932b10d46c3a2aa63f826825403a70640381a089db608c1c00a257", + "addons/core/Sounds/ERR/Speech/soldier_1103.wav": "c294454907a229d521c2285eec26dbb82f9782f2a7eca764e11713ff63f0e004", + "addons/core/Sounds/ERR/Speech/soldier_1103.wav.meta": "968d93e9dee2104aee94407604d021d8849a83dc3d115484088e81289654c246", + "addons/core/Sounds/ERR/Speech/soldier_1104.acp": "cb94ed3c95670f11f78f6470f1f50492fff6d2f0ac94602d054d474d52400cec", + "addons/core/Sounds/ERR/Speech/soldier_1104.acp.meta": "92d43bf610784953d8d94322b73ae235f7a8aeb83ece72733d795c8034275052", + "addons/core/Sounds/ERR/Speech/soldier_1104.wav": "952b3d71366c26fc12bdbb9014665bfc0402f30944c22b1b2369d26a93db7104", + "addons/core/Sounds/ERR/Speech/soldier_1104.wav.meta": "939562214b39250feaa8f6f6c6bd10c3d4e0b4c529f338490a2dc234919c0d31", + "addons/core/Sounds/ERR/Speech/soldier_1105.acp": "62c5d3d230a8a15cf2a4de193620ccdf83ca9973b550ace4e8edf7cc49f52851", + "addons/core/Sounds/ERR/Speech/soldier_1105.acp.meta": "6774063562b9c83975bc394dd3c72aa2a0d8001d0990ab8ff870ae2876889f93", + "addons/core/Sounds/ERR/Speech/soldier_1105.wav": "20e9e82d9897b598497da4722432f83ae03a5e6bf9a1f7a77caab712e3fc3130", + "addons/core/Sounds/ERR/Speech/soldier_1105.wav.meta": "6f21652352edbd59d1244ce9c2dcd1ad4ab65f022222381d9709c28148121c42", + "addons/core/Sounds/ERR/Speech/soldier_1200.acp": "c27db60629a41145697e041224cc2dde21c72d6a883fa305c71ec9c5b86bd84e", + "addons/core/Sounds/ERR/Speech/soldier_1200.acp.meta": "ea228ec869a7a0266f5604266f68c4166abc6cfeaa29180cb3b4351464b71079", + "addons/core/Sounds/ERR/Speech/soldier_1200.wav": "5a1561e821ef33a574c1f9ef95ccf76e69b832bf0a20bcbbf914760345921859", + "addons/core/Sounds/ERR/Speech/soldier_1200.wav.meta": "ccf3b62fd2eea460d576fa68863a901eb0025f47b1b76729a4289162d0dfa0c8", + "addons/core/Sounds/ERR/Speech/soldier_1201.acp": "45f220c5b6bac64db61eebcf54bb52da572f9f8f1ea0872c5af9fd3238c25a4e", + "addons/core/Sounds/ERR/Speech/soldier_1201.acp.meta": "3be417d66b05e11e0b520af136dfc45c86c17d5e35b56a611efbcf38e0d35003", + "addons/core/Sounds/ERR/Speech/soldier_1201.wav": "f058f0482cfe4034fdf37d9b596f7ba8172fae1c57aeb387ce153f8041895e45", + "addons/core/Sounds/ERR/Speech/soldier_1201.wav.meta": "abaebe719eff7e009eb4d0222060280877451126c02154706df6d13e4c5d3e11", + "addons/core/Sounds/ERR/Speech/soldier_1202.acp": "c08625886d8c6dc405cf96c640c9dafd4510ba5cef2c22b037c8c7b3eb5bea39", + "addons/core/Sounds/ERR/Speech/soldier_1202.acp.meta": "cf345e968edad1b825dd33b87267b63f770c169250f8c51195bffc3161d396bd", + "addons/core/Sounds/ERR/Speech/soldier_1202.wav": "c875f4e798ff5e24c3eb3b48bdfa1b8af03de9326a19c671eca86660297ad737", + "addons/core/Sounds/ERR/Speech/soldier_1202.wav.meta": "dd2d6411abe914bce71c6688a1647c2699303ca248191ec01c6325b366e5d7fb", + "addons/core/Sounds/ERR/Speech/soldier_1203.acp": "f0237a51ffe0e7d463154d321117a9b19c6914f6ee680ebf07a0ff9ab51fc340", + "addons/core/Sounds/ERR/Speech/soldier_1203.acp.meta": "0e93332191ac74be950ce8139b96ed6fdfe3ddbe68de8949826dc801d12c97f2", + "addons/core/Sounds/ERR/Speech/soldier_1203.wav": "6e7857dc96dfb556f011ba89f2f4ea659cfd7b605b88790c69e754d5cc51398a", + "addons/core/Sounds/ERR/Speech/soldier_1203.wav.meta": "0f564169dc05a95f7b01f64f72bdabf6de9ed3f37a2f44b4751f89b38eb18cd8", + "addons/core/Sounds/ERR/Speech/soldier_1204.acp": "94dbf98b5e05f1ebf6960495032c46203caaa4440dfb1ffd3beda2679fe6bec5", + "addons/core/Sounds/ERR/Speech/soldier_1204.acp.meta": "7cc8c61f4bb210c0576fac350d170f8f54a6e55531db6102c1a0fa7cb7a8a809", + "addons/core/Sounds/ERR/Speech/soldier_1204.wav": "bd170ca015b017114e42078dcc5c49d5626aef17d22e4a12b8282e9ee4908ae6", + "addons/core/Sounds/ERR/Speech/soldier_1204.wav.meta": "1c6ddb11c22a14d9d498074e2fb2864783f91afc552c4cd671452fa8df483de0", + "addons/core/Sounds/ERR/Speech/soldier_1205.acp": "47180a3445a265335d682eac6fa51fedca51d76f329adc39b1802092b311118b", + "addons/core/Sounds/ERR/Speech/soldier_1205.acp.meta": "c34346f4b10149b426ebb4e94db8c29883c9d0e36f2b42d07d41570eb8932554", + "addons/core/Sounds/ERR/Speech/soldier_1205.wav": "769c457805376e9c0172ddb525ead5f1d8774e15bd1f3f3b218a19f9d77b6883", + "addons/core/Sounds/ERR/Speech/soldier_1205.wav.meta": "31a2a7314b44afb3f0031376b2ad6df22649e8089bf1a3bbeb64cdc41156cff7", + "addons/core/Sounds/ERR/Speech/soldier_clear.acp": "f33f03f3d24182a95db7d02058f2dd6ae52098e3b5142a33ede833ee881d54ed", + "addons/core/Sounds/ERR/Speech/soldier_clear.acp.meta": "7d3643c9de2d81ab0f1b4898e781341c1962bd8505c20882233ef7c40159b23b", + "addons/core/Sounds/ERR/Speech/soldier_clear.wav": "d6527b8136aa720b721463210420f47de0dbc45acc4e4c390b6a44968c5f0acd", + "addons/core/Sounds/ERR/Speech/soldier_clear.wav.meta": "d9f9a921a85fe275c6cce649421a19946ff6aec49559796725c3858d9fe9b261", + "addons/core/Sounds/ERR/Speech/soldier_covering.acp": "7d4109edbd6c20f9e2af0b394fa12e8b3b40fc18bf2b5ac118beebb1fa4a79b1", + "addons/core/Sounds/ERR/Speech/soldier_covering.acp.meta": "320908bf7decea55b8d8b4a89b30e84e7d96a033d4a9cd1bd84912dce013f0d8", + "addons/core/Sounds/ERR/Speech/soldier_covering.wav": "f51e0086eaf0eece8b4061711088a413a2dbeae263deab7ea30fb1852dafda69", + "addons/core/Sounds/ERR/Speech/soldier_covering.wav.meta": "7bdf2d2c5f9cf741bae523e1ab0b9acc99b38ccd1228ebfbcba92f2b9a5cba9d", + "addons/core/Sounds/ERR/Speech/soldier_engaging.acp": "9f052e87edaf182030edb656821621cdeabbf13d65bc181308357530c9d93a74", + "addons/core/Sounds/ERR/Speech/soldier_engaging.acp.meta": "9e487fa3746c46b2993f1dfd1f0513f375571728704533674bee62586e25b72b", + "addons/core/Sounds/ERR/Speech/soldier_engaging.wav": "ac0f2d7d698732e3d7c270186e7aa2ab7e6bd4c908f36b07fb6f66a3cbe75ccf", + "addons/core/Sounds/ERR/Speech/soldier_engaging.wav.meta": "d571b9ebce196cc209078a83e4bde8f6a5f4b6d28c2945e2b47953ccb6889e97", + "addons/core/Sounds/ERR/Speech/soldier_moving.acp": "05503ca7af13a7ad03ed2a3aa562cc58504fdfff3148477f8d81b5a01abdf37c", + "addons/core/Sounds/ERR/Speech/soldier_moving.acp.meta": "a2474c87e4e1587226919dfdbd03739d938803d34f4a4f441889b0d8015513bd", + "addons/core/Sounds/ERR/Speech/soldier_moving.wav": "a61dda64e6fc2a11eac3e6008ee14b89f360bd67e258dce1191a71d9e2e26fad", + "addons/core/Sounds/ERR/Speech/soldier_moving.wav.meta": "bd87cd72ccb819584f9da09fb0d6973ffd6eb0bb5572c562978500e2af467217", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.acp": "c821c61afb2ddc12d3ecdb552a66d2a9ff89a5258a567ff2a99fed4f45a33520", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.acp.meta": "65a27b81a5b437163befd4dc566785a9dda4def1798495ca53c8f768a5d7a73f", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.wav": "ffe6ef5fdf30411749e0cb73186e3005b1ce6a52fcb7c836caeb1bca422ed3ed", + "addons/core/Sounds/ERR/Speech/soldier_no_ammo.wav.meta": "25b5680fd2a313c18e15ce6e0d3f709d78352b93206c22c7881be19b81faddd5", + "addons/core/Sounds/ERR/Speech/soldier_reloading.acp": "51c5cb464bab6637cf9e3b1880a010e05774d76a92298daf40b1d84970845be7", + "addons/core/Sounds/ERR/Speech/soldier_reloading.acp.meta": "ca351e809b1ba7c69b066d2c1d0a5d2afdcaa833c1163e6d13a0396437e98cf6", + "addons/core/Sounds/ERR/Speech/soldier_reloading.wav": "15b2749f79bc73fd0784bcd6e6076e1bc50da835e0c434cd43bd185d0735c732", + "addons/core/Sounds/ERR/Speech/soldier_reloading.wav.meta": "161c9ebee1d0496c7aa9501d00eba646094bf1ce89cda4efde6e3a0229a49e4f", + "addons/core/Sounds/ERR/Speech/soldier_target_down.acp": "77acc89c4ef0b912b969a2e5f6c41e071e04d10cfe89666fbc1296878dab62bf", + "addons/core/Sounds/ERR/Speech/soldier_target_down.acp.meta": "fe456d354ace93b0f2261de483e86ccc92991011b1738c5703d6d7bc0daa49a6", + "addons/core/Sounds/ERR/Speech/soldier_target_down.wav": "e2e60e8b83a24a548c90b84c5e1137adb7e792cf1d4ba6232ddfb1012fa78892", + "addons/core/Sounds/ERR/Speech/soldier_target_down.wav.meta": "064588b86589ac9437fbccafedeefae04bec3331dd8a229d1c6d27b5e524a9e9", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.acp": "5ffd3ff57550296274e9e93fb64efdf2fb06a51161d6deb221c1f3eb408d1459", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.acp.meta": "366a3c9e20f27c0f73bdff5827576df8924e99241061f933e72bd342e5bc7119", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.wav": "bbcf454d48adea47478d410b1baf14df3a5d018237272e70ae33ee62823f822f", + "addons/core/Sounds/ERR/Speech/soldier_target_lost.wav.meta": "d1ac64242280521a7e40de51ae32a007878d7801401020e7a074a48e0f8ce62e", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.acp": "5af1c949d4662c2f33320165d2efdbd69cb183af1101aa246fe538bf0d91a33e", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.acp.meta": "aa7799e8a790539166a1d3a9c691416e7b2f6589d1674f5cf4b3e47523f15259", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.wav": "e4bd5e69fda289593fc6e6b8c2fae9a271a10d0a9bae877f18ba02dbbf75d1fc", + "addons/core/Sounds/ERR/Speech/soldier_under_fire.wav.meta": "25a988c31e4fc3ae6540920df3d4548307a4a1e3b96b1303e9b7bdb4ac5eea27", + "addons/core/Sounds/ERR/Speech/welcome.acp": "f8a7b6cdd08b57b4b227a2d5b480a6c76857d7fc8ace3434478aec01c0de5a83", + "addons/core/Sounds/ERR/Speech/welcome.acp.meta": "d3ac98b02c0725d347b30d0ac7586cb22904d46b65a145e4a1131222484a6929", + "addons/core/Sounds/ERR/Speech/welcome.wav": "01de068469bd6746dba7634fb6b5b85b150621d3359c17fd01bcb916b34b1720", + "addons/core/Sounds/ERR/Speech/welcome.wav.meta": "bf33edad44bbb04df852501154f08a9a9900ce503248abc698127a51e9eec934", + "addons/core/UI/Textures/ERR/SiteMarkers.edds": "611ec6c68c2456c2af017c47135134d73122461017b315f64ed7ca9891f20c21", + "addons/core/UI/Textures/ERR/SiteMarkers.edds.meta": "90f40b38e52a79951b72da2960e30887d5ee8bbcefbada0c0ac950c1bfcf847f", + "addons/core/UI/Textures/ERR/SiteMarkers.imageset": "3f947d03b3492ada541032539cdb3f34a03d68ae83c0ef8796dc7fd091b5911d", + "addons/core/UI/Textures/ERR/SiteMarkers.imageset.meta": "1dc5285abd0062af288fb40b2f22b5b7c3925cf7270a096862335db250ac1453", + "addons/core/UI/Textures/ERR/SiteMarkers.png": "76b472982234bd27050a9430e6a53f4c14fa38f7388db3706ebef506eab4e660", + "addons/core/UI/layouts/ERR/AdminMenu.layout": "9a2c9d6e2526d9318b4587bb69741f828f7f0f26607e5ef3791455fff6a701e3", + "addons/core/UI/layouts/ERR/AdminMenu.layout.meta": "9deeece996f43b1f1fed6b5ec89279645c7b6424250200a42580cc088142e9bf", + "addons/core/UI/layouts/ERR/AdminValue.layout": "cd811af6d2fb187f01c74e20ea07ad85669546b0ad70efae2ce52921ce26cbca", + "addons/core/UI/layouts/ERR/AdminValue.layout.meta": "56b3d2335db400c1308e07c4a35d278b23ef32013dfd6dc82951866327428d08", + "addons/core/UI/layouts/ERR/ContentRow.layout": "7bf19d12b1b5e2c165f8671e92ae9227b54b4d1e551de94fa67bd54d3a66fddb", + "addons/core/UI/layouts/ERR/ContentRow.layout.meta": "8c4bc13b41e7aee38e0ca640a97813ed1a6964a00e2cff9e1fe4ebd71fc2fdc6", + "addons/core/UI/layouts/ERR/ItemRow.layout": "3c7ae3acdf2fad0ba661a1152ea319392668d774adc09a2a8b61e9a0319db312", + "addons/core/UI/layouts/ERR/ItemRow.layout.meta": "33eaef9c403ea3a030e58ec17f78e46af457048243571ad5856fff04101fb60b", + "addons/core/UI/layouts/ERR/ItemWeightRow.layout": "dfa6b87420efc683cb278178553350daa7753004d64672741a3dc13b4316810d", + "addons/core/UI/layouts/ERR/ItemWeightRow.layout.meta": "eb4b28587abdf6100092fd6eee1695663fa6e1548d5e53017173c4a5f7320240", + "addons/core/UI/layouts/ERR/PauseModsButton.layout": "d21d436291e2c1b262e33dc228b0d60a1d188dc9e85cfda6d2373f8281431b79", + "addons/core/UI/layouts/ERR/PauseModsButton.layout.meta": "9ed6adabd8f53eb9a562d7186789876bba5c4202155ca894c1af866ca47354f3", + "addons/core/UI/layouts/ERR/PreparationFailure.layout": "b7c4a2e6aa2be0992b478bb4f969f80355753573fffbc15be44670f3b136ea2e", + "addons/core/UI/layouts/ERR/PreparationFailure.layout.meta": "17ca2c9a12f691680883cec368ff06f511c996e5da5c25498f5f0955887867b0", + "addons/core/UI/layouts/ERR/PreparationStatus.layout": "ec3369f4030e593d34043e70a311b0963606cf024cb452648671556f25f5b52a", + "addons/core/UI/layouts/ERR/PreparationStatus.layout.meta": "75b12176a443bb911fc4ad446982d762201fda42ed38736b79bc5439fca31ccc", + "addons/core/UI/layouts/ERR/RoundResults.layout": "8550ebc009024f619827a43fd766aff8b7fbf8bc87ef7593db0fd7f4d778c615", + "addons/core/UI/layouts/ERR/RoundResults.layout.meta": "7509e050b3910ee5730dd25c60aacf405110e943f4ab46e3fc2186b3b15a3cf9", + "addons/core/UI/layouts/ERRMap/ObjectiveMapElement.layout": "82d9ae77f076f945583791dfa0b01f1c925e6ff8aaebcf382fd56089fe61a115", + "addons/core/UI/layouts/ERRMap/ObjectiveMapElement.layout.meta": "8691fe2eaf46568bca4a9f8128b247a8da810bb87a5546aa7ca3334e740270d6", + "addons/core/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "aef5d565301046ae902033ec4eb4799ff1bdd9a37bc507898781d8790f04fc2a", + "addons/core/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "6bcb7fbb27b6282719dae8a37486e518d4cbaea385f2ea9af1918b36bb28b175", + "addons/core/addon.gproj": "6ccf0d3a2817a5f865e605d5abe89bd794e7c8654f2dd005d0f496f05d91e76a" +} diff --git a/docs/evidence/rhs-retired-2026-11-06/launch-source.json b/docs/evidence/rhs-retired-2026-11-06/launch-source.json new file mode 100644 index 00000000..e6215607 --- /dev/null +++ b/docs/evidence/rhs-retired-2026-11-06/launch-source.json @@ -0,0 +1,45 @@ +{ + "schema_version": 1, + "launch_id": "72c1fbf7-2df3-4999-b82e-c311d45e0c64", + "captured_unix": 1793974621.5725198, + "source_root": "/home/jakub/devel/escapistsrereintroduced/.local/rhs-retirement/source", + "command": [ + "gamescope", + "--backend", + "headless", + "-W", + "1920", + "-H", + "1080", + "-w", + "1920", + "-h", + "1080", + "-r", + "30", + "--", + "/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton", + "run", + "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe", + "-gproj", + "Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-retirement/source/addons/core/addon.gproj", + "-addonsDir", + "Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-retirement/source/addons", + "-profile", + "Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-retirement/native", + "-logconsole", + "-wbModule=WorldEditor", + "-load", + "Worlds/ERR_Everon.ent", + "-plugin=ERR_ValidateWorldPlugin", + "-errPlay", + "1", + "-errSmoke", + "0", + "-errSmokeOutcome", + "normal-escape-route", + "-noThrow", + "-disableCrashReporter" + ], + "manifest_sha256": "5eb4a6371e5b915be8970e341590f7fd4fc80dcf3481e0616300a44371d3f1b8" +} diff --git a/docs/evidence/rhs-retired-2026-11-06/native-result.log b/docs/evidence/rhs-retired-2026-11-06/native-result.log new file mode 100644 index 00000000..1986562e --- /dev/null +++ b/docs/evidence/rhs-retired-2026-11-06/native-result.log @@ -0,0 +1,53 @@ +Test audio routed to silent output and muted (stream 55443) +Test audio routed to silent output and muted (stream 55485) +{ + "stopped_unix": 1793974689.0559237, + "console_sha256": "646e42a0216b18e3e8b9a6da1b5f4eb61548a03ec69919d24e6eb0e5571f8bed", + "end_source_sha256": "5eb4a6371e5b915be8970e341590f7fd4fc80dcf3481e0616300a44371d3f1b8", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "72c1fbf7-2df3-4999-b82e-c311d45e0c64", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "5eb4a6371e5b915be8970e341590f7fd4fc80dcf3481e0616300a44371d3f1b8", + "external_addons_unchanged_after_run": true, + "external_addon_count": 7, + "external_addon_inputs": "external-addons-inputs.json", + "started_unix": 1793974621.5727522, + "result": "smoke-completed", + "result_before_cleanup": "smoke-completed", + "cleanup_confirmed": true, + "cleanup_report": { + "cleanup_confirmed": true, + "idle_verified": true, + "errors": [], + "orphan_cleanup": { + "attempted": false, + "reason": "noncanonical-private-prefix" + } + }, + "runner_error": null, + "session": "/home/jakub/devel/escapistsrereintroduced/.local/rhs-retirement/native/logs/logs_2026-11-06_15-17-03", + "rounds_required": 1, + "project": "chat", + "display": "headless Gamescope 1920x1080/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} +{ + "log": "/home/jakub/devel/escapistsrereintroduced/.local/rhs-retirement/native/logs/logs_2026-11-06_15-17-03/console.log", + "smoke_completions": 1, + "assertions_passed": 1, + "script_or_runtime_failures": [], + "engine_errors": [ + "15:17:05.210 RESOURCES (E): Wrong GUID/name for resource @\"{0AFDD005CD669892}Language/rhs_localization.st\" in property \"StringTableSource\"", + "15:17:05.210 RESOURCES (E): Wrong GUID/name for resource @\"{41FA2A08B6971D4C}Language/wcs_armament_localization.st\" in property \"StringTableSource\"", + "15:17:05.210 RESOURCES (E): Wrong GUID/name for resource @\"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st\" in property \"StringTableSource\"", + "15:17:05.211 RESOURCES (E): Wrong GUID/name for resource @\"{E50E557B468C7073}Language/wcs_bmp1_localization.st\" in property \"StringTableSource\"", + "15:17:13.321 DEFAULT (E): Failed to request DLC ownership information.", + "15:17:51.683 WORLD (E): Unknown keyword/data 'm_HardLandingVelocity' at offset 133(0x85)", + "15:17:51.683 WORLD (E): Unknown keyword/data 'm_DeathLandingVelocity' at offset 163(0xa3)" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/rhs-retired-2026-11-06/runner.json b/docs/evidence/rhs-retired-2026-11-06/runner.json new file mode 100644 index 00000000..7c73d5a9 --- /dev/null +++ b/docs/evidence/rhs-retired-2026-11-06/runner.json @@ -0,0 +1,34 @@ +{ + "stopped_unix": 1793974689.0559237, + "console_sha256": "646e42a0216b18e3e8b9a6da1b5f4eb61548a03ec69919d24e6eb0e5571f8bed", + "end_source_sha256": "5eb4a6371e5b915be8970e341590f7fd4fc80dcf3481e0616300a44371d3f1b8", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "72c1fbf7-2df3-4999-b82e-c311d45e0c64", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "5eb4a6371e5b915be8970e341590f7fd4fc80dcf3481e0616300a44371d3f1b8", + "external_addons_unchanged_after_run": true, + "external_addon_count": 7, + "external_addon_inputs": "external-addons-inputs.json", + "started_unix": 1793974621.5727522, + "result": "smoke-completed", + "result_before_cleanup": "smoke-completed", + "cleanup_confirmed": true, + "cleanup_report": { + "cleanup_confirmed": true, + "idle_verified": true, + "errors": [], + "orphan_cleanup": { + "attempted": false, + "reason": "noncanonical-private-prefix" + } + }, + "runner_error": null, + "session": "/home/jakub/devel/escapistsrereintroduced/.local/rhs-retirement/native/logs/logs_2026-11-06_15-17-03", + "rounds_required": 1, + "project": "chat", + "display": "headless Gamescope 1920x1080/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/rhs-retired-2026-11-06/script.log b/docs/evidence/rhs-retired-2026-11-06/script.log new file mode 100644 index 00000000..66ad4ded --- /dev/null +++ b/docs/evidence/rhs-retired-2026-11-06/script.log @@ -0,0 +1,90 @@ +--------------------------------------------- +Log Z:\home\jakub\devel\escapistsrereintroduced\.local\rhs-retirement\native\logs\logs_2026-11-06_15-17-03\script.log started at 2026-11-06 15:17:06 (2026-11-06 14:17:06 UTC) + +15:17:06.112 SCRIPT : SCRIPT : Initializing scripts +15:17:06.112 SCRIPT : SCRIPT : ScriptProjectManager init +15:17:08.932 SCRIPT : SCRIPT : Compiling GameLib scripts +15:17:08.989 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +15:17:08.989 SCRIPT : Module: GameLib; loaded 513x files; 704x classes; used 887K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 35487d81 +15:17:08.990 SCRIPT : SCRIPT : Compiling Game scripts +15:17:09.969 SCRIPT : Compiling Game scripts +15:17:09.969 SCRIPT (W): @"Scripts/Game/Parachutes/ParachuteDeployed.c,7": Pointer type 'Physics' can only be used with local variables +15:17:10.175 SCRIPT (W): @"Scripts/Game/Components/Vehicles/RHS_VehicleAntennaComponent.c,82": Pointer type 'Animation' can only be used with local variables +15:17:10.635 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,787": 'GetPlayerPlatformKind' is obsolete +15:17:10.635 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,788": 'GetPlayerPlatformId' is obsolete +15:17:11.134 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SiteService.c,363": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:17:11.154 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +15:17:11.211 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +15:17:11.373 SCRIPT (W): @"Scripts/Game/Components/Magazines/SCR_MagazineComponent.c,134": Variable 'prefabPath' is not used +15:17:11.393 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +15:17:11.393 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +15:17:11.393 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +15:17:11.393 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +15:17:11.428 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_NativeVehicleSecurityProbe.c,77": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:17:11.441 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead +15:17:11.529 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +15:17:11.529 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +15:17:11.531 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +15:17:11.572 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_NativeVehicleSecurityProbe.c,186": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:17:11.603 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,311": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:17:11.603 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,323": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:17:11.605 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +15:17:11.605 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +15:17:11.648 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_NativeTransportProbe.c,138": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +15:17:11.695 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +15:17:12.133 SCRIPT : Module: WorkbenchGame; loaded 187x files; 692x classes; used 2796K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 53d2bfa5 +15:17:12.144 SCRIPT : Module: Game; loaded 6965x files; 14468x classes; used 45292K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG,WCS_DEFINES_ARMAMENTS,WCS_DEFINES_SPACECORE"; CRC32: 15013bce +15:17:13.321 SCRIPT : Unable to register a script command due keyword duplicity: ban +15:17:13.321 SCRIPT : Unable to register a script command due keyword duplicity: kick +15:17:28.810 SCRIPT : Reintroduced [config]: using $profile:Escapists.json; legacy files retained but no longer used. +15:17:30.489 SCRIPT : ERR VALIDATION: prison terrain=211.344, radio terrain=159.656, extraction terrain=65.1562 +15:17:30.490 SCRIPT : ERR TERRAIN: x=6084 z=7154 y=211.531 +15:17:30.490 SCRIPT : ERR TERRAIN: x=6084 z=7157 y=211.516 +15:17:30.490 SCRIPT : ERR TERRAIN: x=6084 z=7160 y=211.5 +15:17:30.490 SCRIPT : ERR TERRAIN: x=6084 z=7163 y=211.453 +15:17:30.491 SCRIPT : ERR TERRAIN: x=6084 z=7166 y=211.406 +15:17:30.492 SCRIPT : ERR TERRAIN: x=6087 z=7154 y=211.438 +15:17:30.492 SCRIPT : ERR TERRAIN: x=6087 z=7157 y=211.438 +15:17:30.492 SCRIPT : ERR TERRAIN: x=6087 z=7160 y=211.422 +15:17:30.492 SCRIPT : ERR TERRAIN: x=6087 z=7163 y=211.391 +15:17:30.492 SCRIPT : ERR TERRAIN: x=6087 z=7166 y=211.344 +15:17:30.492 SCRIPT : ERR TERRAIN: x=6090 z=7154 y=211.344 +15:17:30.493 SCRIPT : ERR TERRAIN: x=6090 z=7157 y=211.344 +15:17:30.493 SCRIPT : ERR TERRAIN: x=6090 z=7160 y=211.344 +15:17:30.493 SCRIPT : ERR TERRAIN: x=6090 z=7163 y=211.328 +15:17:30.493 SCRIPT : ERR TERRAIN: x=6090 z=7166 y=211.281 +15:17:30.493 SCRIPT : ERR TERRAIN: x=6093 z=7154 y=211.25 +15:17:30.493 SCRIPT : ERR TERRAIN: x=6093 z=7157 y=211.281 +15:17:30.493 SCRIPT : ERR TERRAIN: x=6093 z=7160 y=211.25 +15:17:30.495 SCRIPT : ERR TERRAIN: x=6093 z=7163 y=211.234 +15:17:30.495 SCRIPT : ERR TERRAIN: x=6093 z=7166 y=211.188 +15:17:30.495 SCRIPT : ERR TERRAIN: x=6096 z=7154 y=211.156 +15:17:30.495 SCRIPT : ERR TERRAIN: x=6096 z=7157 y=211.172 +15:17:30.496 SCRIPT : ERR TERRAIN: x=6096 z=7160 y=211.156 +15:17:30.496 SCRIPT : ERR TERRAIN: x=6096 z=7163 y=211.141 +15:17:30.496 SCRIPT : ERR TERRAIN: x=6096 z=7166 y=211.094 +15:17:30.519 SCRIPT : ERR SITE CANDIDATE: position=<6090,211.344,7160> elevationRange=0.640625 +15:17:34.666 SCRIPT : Unable to register a script command due keyword duplicity: ban +15:17:34.666 SCRIPT : Unable to register a script command due keyword duplicity: kick +15:17:46.929 SCRIPT : Reintroduced [loading]: respawn animation and preparation display attached to Escape +15:17:51.676 SCRIPT : Map load time: 2474ms +15:17:51.688 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +15:17:51.688 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +15:17:51.691 SCRIPT (W): Can't open config file "" +15:17:51.702 SCRIPT (W): Slot_WeaponInfo Has no Content! +15:17:51.703 SCRIPT (W): Slot_Chat Has no Content! +15:17:51.703 SCRIPT (W): Slot_VON Has no Content! +15:17:51.703 SCRIPT (W): Slot_AvailableActions Has no Content! +15:17:51.703 SCRIPT (W): Slot_Vehicle Has no Content! +15:17:51.703 SCRIPT (W): Slot_GameVersion Has no Content! +15:17:51.703 SCRIPT (W): Slot_Notifications Has no Content! +15:17:51.703 SCRIPT (W): Slot_Hints Has no Content! +15:17:51.727 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {259EE7B78C51B624}UAZ469.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants. +15:17:51.727 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {DF5CCB7C0FF049F4}Mi8MT_unarmed_transport.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants. +15:17:51.728 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {DF5CCB7C0FF049F4}Mi8MT_unarmed_transport.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants. +15:17:51.734 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +15:17:51.877 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +15:17:51.893 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +15:17:52.102 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +15:18:02.257 SCRIPT : ERR SMOKE PASS: updated RHS compiled and game mode initialized without either embedded 1.9 override +15:18:02.257 SCRIPT : ERR SMOKE COMPLETE: RHS compatibility overrides removed diff --git a/docs/evidence/rhs-retired-2026-11-06/source-comparison.json b/docs/evidence/rhs-retired-2026-11-06/source-comparison.json new file mode 100644 index 00000000..78c3396e --- /dev/null +++ b/docs/evidence/rhs-retired-2026-11-06/source-comparison.json @@ -0,0 +1,8 @@ +{ + "production_files_matched_except_project": 720, + "removed_overrides_absent": [ + "addons/core/Scripts/Game/Editor/Components/EditableEntity/RHS_CAS_EditableEntityComponent.c", + "addons/core/Scripts/Game/Vehicle/RHS_DestructionTireComponent.c" + ], + "test_only": "Rally dependency in project and initialization-only probe" +} diff --git a/docs/evidence/rhs-standalone-published-2026-11-05/README.md b/docs/evidence/rhs-standalone-published-2026-11-05/README.md new file mode 100644 index 00000000..2ffcff80 --- /dev/null +++ b/docs/evidence/rhs-standalone-published-2026-11-05/README.md @@ -0,0 +1,14 @@ +# Standalone RHS publication — 5 November 2026 + +Published RHS 1.9 Compatibility 1.0.0, Workshop ID E119F1C05A274B83. +The Systems category selected correctly in a fresh private Workbench profile +after backing up the disposable prefix DbgUIState.bin. This does not isolate +which reset resolved the original category problem. The user editor was untouched. + +The listing is public, uses APL-ND, includes RHS attribution/EULA and the gear +preview. Upload and backend processing both succeeded. The packed two scripts +match the previously tested patch. No WCS or Propeller fix is included. + +The UI runner was intentionally stopped after publication; prefix-scoped cleanup +confirmed idle. Escape remains 0.0.141 and already embeds the same two fixes. +The main-mission changelog helper is not applicable to this different addon ID. diff --git a/docs/evidence/rhs-standalone-published-2026-11-05/console.log b/docs/evidence/rhs-standalone-published-2026-11-05/console.log new file mode 100644 index 00000000..e8a2e669 --- /dev/null +++ b/docs/evidence/rhs-standalone-published-2026-11-05/console.log @@ -0,0 +1,231 @@ +--------------------------------------------- +Log Z:\home\jakub\devel\escapistsrereintroduced\.local\rhs-19-work\rhs-publish-retry\logs\logs_2026-11-05_18-34-08\console.log started at 2026-11-05 18:34:08 (2026-11-05 17:34:08 UTC) + +18:34:08.271 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\.local\rhs-19-work\rhs-publish-retry\logs\logs_2026-11-05_18-34-08' to filesystem under name logs +18:34:08.272 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\.local\rhs-19-work\rhs-publish-retry\profile' to filesystem under name profile +18:34:08.272 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +18:34:08.273 PROFILING : Workbench Create Engine took: 8.264400 ms +18:34:09.307 INIT : INIT : Workbench Init Engine +18:34:09.307 ENGINE : Initializing engine, version 193322 +18:34:09.307 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-addon/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons -profile Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry -logconsole -noSound -disableCrashReport -wbModule ResourceManager +18:34:09.317 ENGINE : Addon dirs: +18:34:09.317 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-addon/' +18:34:09.317 ENGINE : dir: './addons' +18:34:09.317 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons' +18:34:09.317 ENGINE : Available addons: +18:34:09.317 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-addon/addon.gproj' guid: 'E119F1C05A274B83' +18:34:09.317 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +18:34:09.317 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +18:34:09.317 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF' (packed) +18:34:09.317 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB' (packed) +18:34:09.317 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6' (packed) +18:34:09.317 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B' (packed) +18:34:09.317 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577' (packed) +18:34:09.317 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2' (packed) +18:34:09.317 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E' (packed) +18:34:09.317 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\.local\rhs-19-addon' to filesystem under name ERR_RHS19Fix +18:34:09.322 ENGINE : FileSystem: Adding package 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_595F2BF2F44836FB/' (pak count: 1) to filesystem under name RHS_Core +18:34:09.324 ENGINE : FileSystem: Adding package 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_BADC0DEDABBEDA5E/' (pak count: 2) to filesystem under name RHS_Content_02 +18:34:09.328 ENGINE : FileSystem: Adding package 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_1337C0DE5DABBEEF/' (pak count: 4) to filesystem under name RHS_Content_01 +18:34:09.433 ENGINE : FileSystem: Adding package 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ArmaReforger/' (pak count: 15) to filesystem under name ArmaReforger +18:34:09.436 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +18:34:09.436 ENGINE : CPU vendor : AuthenticAMD +18:34:09.436 ENGINE : CPU type : 2 +18:34:09.436 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +18:34:09.436 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +18:34:09.436 ENGINE : CPU count logical : 16 +18:34:09.436 ENGINE : CPU count physical : 8 +18:34:09.436 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +18:34:09.436 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_RHS19Fix path=Z:\home\jakub\devel\escapistsrereintroduced\.local\rhs-19-addon/resourceDatabase.rdb) +18:34:09.436 RESOURCES : ResourceDB: loading cache (id=1 name=RHS_Core path=Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_595F2BF2F44836FB/resourceDatabase.rdb) +18:34:09.444 RESOURCES : ResourceDB: loading cache (id=2 name=RHS_Content_02 path=Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_BADC0DEDABBEDA5E/resourceDatabase.rdb) +18:34:09.446 RESOURCES : ResourceDB: loading cache (id=3 name=RHS_Content_01 path=Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_1337C0DE5DABBEEF/resourceDatabase.rdb) +18:34:09.453 RESOURCES : ResourceDB: loading cache (id=4 name=ArmaReforger path=Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ArmaReforger/resourceDatabase.rdb) +18:34:09.581 RESOURCES : ResourceDB: loading cache (id=5 name=core path=./addons/core/resourceDatabase.rdb) +18:34:09.583 RESOURCES : ResourceDB: loading cache (id=6 name=profile path=Z:\home\jakub\devel\escapistsrereintroduced\.local\rhs-19-work\rhs-publish-retry\profile/resourceDatabase.rdb) +18:34:09.583 RESOURCES : ResourceDB: loading cache (id=7 name=logs path=Z:\home\jakub\devel\escapistsrereintroduced\.local\rhs-19-work\rhs-publish-retry\logs\logs_2026-11-05_18-34-08/resourceDatabase.rdb) +18:34:09.746 RESOURCES : RESOURCES : ResourceDB: full scan +18:34:09.751 RESOURCES : RESOURCES : scanning... +18:34:09.751 RESOURCES : RESOURCES : scanning @"ERR_RHS19Fix" +18:34:09.763 RESOURCES : RESOURCES : scanning @"RHS_Core" +18:34:09.774 RESOURCES : RESOURCES : scanning @"RHS_Content_02" +18:34:09.778 RESOURCES : RESOURCES : scanning @"RHS_Content_01" +18:34:09.787 RESOURCES : RESOURCES : scanning @"ArmaReforger" +18:34:09.988 RESOURCES : RESOURCES : scanning @"core" +18:34:09.992 RESOURCES : RESOURCES : scanning @"profile" +18:34:09.992 RESOURCES : RESOURCES : scanning @"logs" +18:34:09.992 RESOURCES : RESOURCES : processing meta-files... +18:34:10.060 RESOURCES : 114145 meta-files cached, 0 loaded again +18:34:10.060 RESOURCES : RESOURCES : processing files... +18:34:10.061 INIT : Workbench startup +18:34:10.061 INIT : Workbench Init Engine +18:34:10.061 RESOURCES : ResourceDB: full scan +18:34:10.061 RESOURCES : processing files... +18:34:10.061 RESOURCES (W): resource not registered: @"$RHS_Core:system/thermal/thermalProfileTreeCrownDefault.conf". Setting null GUID +18:34:10.074 RESOURCES (W): resource not registered: @"$logs:external-addons-inputs.json". Setting null GUID +18:34:10.074 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +18:34:10.074 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +18:34:10.074 RESOURCES : RESOURCES : processing folders... +18:34:10.082 RESOURCES : RESOURCES : creating GUID-item mapping... +18:34:10.098 RESOURCES : RESOURCES : building tree... +18:34:10.152 PROFILING : ResourceDB: full scan took: 406.126200 ms +18:34:10.153 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_RHS19Fix path=Z:\home\jakub\devel\escapistsrereintroduced\.local\rhs-19-addon/resourceDatabase.rdb) +18:34:10.155 RESOURCES : ResourceDB: written 526/526 bytes +18:34:10.155 RESOURCES : ResourceDB: cache successfully saved +18:34:10.155 RESOURCES : ResourceDB: saving cache (id=6 name=profile path=Z:\home\jakub\devel\escapistsrereintroduced\.local\rhs-19-work\rhs-publish-retry\profile/resourceDatabase.rdb) +18:34:10.157 RESOURCES : ResourceDB: written 51/51 bytes +18:34:10.157 RESOURCES : ResourceDB: cache successfully saved +18:34:10.157 RESOURCES : ResourceDB: saving cache (id=7 name=logs path=Z:\home\jakub\devel\escapistsrereintroduced\.local\rhs-19-work\rhs-publish-retry\logs\logs_2026-11-05_18-34-08/resourceDatabase.rdb) +18:34:10.158 RESOURCES : ResourceDB: written 208/208 bytes +18:34:10.158 RESOURCES : ResourceDB: cache successfully saved +18:34:10.158 ENGINE : GameProject load +18:34:10.158 ENGINE : Loaded addons: +18:34:10.158 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +18:34:10.158 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +18:34:10.158 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF' +18:34:10.158 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E' +18:34:10.158 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB' +18:34:10.158 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-addon/addon.gproj' guid: 'E119F1C05A274B83' +18:34:10.160 ENGINE : GameProject load +18:34:10.160 INIT : GameProject load project data @"Z:/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/addons/ERRI_595F2BF2F44836FB/addon.gproj" +18:34:10.160 RESOURCES (E): Wrong GUID/name for resource @"{0AFDD005CD669892}Language/rhs_localization.st" in property "StringTableSource" +18:34:10.161 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +18:34:10.161 ENGINE : No Enfusion settings file loaded. Continuing with defaults +18:34:10.260 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +18:34:10.261 RENDER : Basic screen setup: +18:34:10.261 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +18:34:10.261 RENDER : MSAA : none +18:34:10.274 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +18:34:10.274 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +18:34:10.274 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +18:34:10.274 RENDER : * core clocks 2000 MHz, memory 1124 MHz +18:34:10.274 RENDER : * TFlops 20.5, memory bandwidth (562.0 GB/s) +18:34:10.274 RENDER : AMD AGS correctly initialized +18:34:10.275 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +18:34:10.275 RENDER : Detected output devices: +18:34:10.275 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +18:34:10.275 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +18:34:10.275 RENDER : Concurrent frames limit 2 +18:34:10.351 RENDER : DX12 device successfully created by AMD AGS library +18:34:10.351 RENDER : * user markers not supported in this version AMD SW +18:34:10.351 RENDER : Graphics device features +18:34:10.351 RENDER : Needed: +18:34:10.351 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +18:34:10.351 RENDER : Optional: +18:34:10.351 RENDER : * Allow tearing (VSYNC) : 1 +18:34:10.351 RENDER : * 16 bits : 1 +18:34:10.351 RENDER : * Resource heap tier : 3 +18:34:10.351 RENDER : * Persistent heaps (DRED) : 1 +18:34:10.351 RENDER : * DRED 1.2 is supported by compiler +18:34:10.372 RENDER : Main RT format setup. +18:34:10.372 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +18:34:10.372 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +18:34:10.374 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +18:34:10.399 PROFILING : Settings changed took: 0.013300 ms +18:34:10.405 RENDER : RENDER : Reload shaders +18:34:10.405 RENDER : Enfusion shader version 37 +18:34:10.405 INIT : INIT : ShaderListReload +18:34:10.405 PROFILING : ShaderListReload took: 0.000500 ms +18:34:10.687 RENDER : Loaded 4592 newer shader binaries +18:34:10.687 PROFILING : Reload shaders took: 282.325800 ms +18:34:10.687 ENGINE : Initializing inputs. +18:34:10.701 RENDER : Super resolution method available: AMD FSR 1 +18:34:10.701 NETWORK : Initializing networking. +18:34:10.701 NETWORK : Using new GameRplScheduler. +18:34:10.702 SCRIPT : SCRIPT : Initializing scripts +18:34:10.702 SCRIPT : SCRIPT : ScriptProjectManager init +18:34:12.235 PROFILING : ScriptProjectManager init took: 1534.020100 ms +18:34:12.274 PROFILING : Initializing scripts took: 1572.994200 ms +18:34:12.295 ENGINE : Enfusion engine successfully created. +18:34:12.295 PROFILING : Workbench Init Engine took: 2989.597500 ms +18:34:12.295 INIT : INIT : Workbench Create Game +18:34:12.329 GUI : Using default language (en_us) +18:34:12.329 GUI : Loading 'en_us' localization file. +18:34:12.329 INIT : INIT : Loading StringTable +18:34:12.359 PROFILING : Loading StringTable took: 30.198200 ms +18:34:12.359 SCRIPT : SCRIPT : Compiling GameLib scripts +18:34:12.425 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +18:34:12.425 SCRIPT : Module: GameLib; loaded 512x files; 704x classes; used 887K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: a2fafa86 +18:34:12.426 PROFILING : Compiling GameLib scripts took: 66.651700 ms +18:34:12.426 SCRIPT : SCRIPT : Compiling Game scripts +18:34:13.526 INIT : Workbench Create Game +18:34:13.526 SCRIPT : Compiling Game scripts +18:34:13.526 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,787": 'GetPlayerPlatformKind' is obsolete +18:34:13.526 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,788": 'GetPlayerPlatformId' is obsolete +18:34:13.782 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +18:34:13.812 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +18:34:13.899 SCRIPT (W): @"Scripts/Game/Components/Magazines/SCR_MagazineComponent.c,134": Variable 'prefabPath' is not used +18:34:13.911 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +18:34:13.911 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +18:34:13.911 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +18:34:13.911 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +18:34:13.993 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +18:34:13.993 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +18:34:13.995 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +18:34:14.034 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +18:34:14.034 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +18:34:14.081 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +18:34:14.444 SCRIPT : Module: WorkbenchGame; loaded 184x files; 690x classes; used 2792K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 7a91374f +18:34:14.451 SCRIPT : Module: Game; loaded 6193x files; 12247x classes; used 35594K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 3a6fbb0c +18:34:14.498 PROFILING : Compiling Game scripts took: 2072.183900 ms +18:34:14.503 INIT : Creating game instance(ArmaReforgerScripted), version 1.9.0.37 built 2026-10-27 15:39:59 UTC. +18:34:14.557 ENGINE : Game successfully created. +18:34:14.558 PROFILING : Workbench Create Game took: 2262.603000 ms +18:34:14.566 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_RHS19Fix/thumbnails +18:34:15.475 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_RHS19Fix/autosaves +18:34:15.477 PROFILING : Workbench startup took: 7256.685500 ms +18:34:18.653 DEFAULT : Checking pending workshop invites... +18:34:18.889 DEFAULT : Pending workshop invites request done (1) +18:37:03.044 DEFAULT : Checking pending workshop invites... +18:37:03.306 DEFAULT : Pending workshop invites request done (1) +18:41:13.371 DEFAULT : Creating bundle... +18:41:13.382 DEFAULT : Checking required files... +18:41:13.413 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_RHS19Fix path=Z:\home\jakub\devel\escapistsrereintroduced\.local\rhs-19-addon/resourceDatabase.rdb) +18:41:13.415 RESOURCES : ResourceDB: written 526/526 bytes +18:41:13.415 RESOURCES : ResourceDB: cache successfully saved +18:41:13.415 RESOURCES : ResourceDB: saving cache (id=6 name=profile path=Z:\home\jakub\devel\escapistsrereintroduced\.local\rhs-19-work\rhs-publish-retry\profile/resourceDatabase.rdb) +18:41:13.417 RESOURCES : ResourceDB: written 51/51 bytes +18:41:13.417 RESOURCES : ResourceDB: cache successfully saved +18:41:13.417 RESOURCES : ResourceDB: saving cache (id=7 name=logs path=Z:\home\jakub\devel\escapistsrereintroduced\.local\rhs-19-work\rhs-publish-retry\logs\logs_2026-11-05_18-34-08/resourceDatabase.rdb) +18:41:13.419 RESOURCES : ResourceDB: written 208/208 bytes +18:41:13.419 RESOURCES : ResourceDB: cache successfully saved +18:41:13.419 RESOURCES : Packaging project started. +18:41:13.430 DEFAULT : DEFAULT : Scanning source directory +18:41:13.432 PROFILING : Scanning source directory took: 1.303600 ms +18:41:13.432 DEFAULT : DEFAULT : Scanning intermediate directory +18:41:13.432 PROFILING : Scanning intermediate directory took: 0.160200 ms +18:41:13.432 DEFAULT : DEFAULT : Refreshing intermediate directory +18:41:13.434 DEFAULT : Refreshed 2 files in intermediate directory. +18:41:13.434 PROFILING : Refreshing intermediate directory took: 2.290900 ms +18:41:13.434 DEFAULT : DEFAULT : Assigning files to selections +18:41:13.434 DEFAULT : Selection 'data': 2 files +18:41:13.434 DEFAULT : Default/unassigned selection: 0 files +18:41:13.434 PROFILING : Assigning files to selections took: 0.027500 ms +18:41:13.434 DEFAULT : DEFAULT : Calculating chunk pak layouts +18:41:13.434 PROFILING : Calculating chunk pak layouts took: 0.006000 ms +18:41:13.434 DEFAULT : DEFAULT : Writing pak files +18:41:13.435 PROFILING : Writing pak files took: 0.524100 ms +18:41:13.435 RESOURCES : Packaging done. Result: 1 +18:41:13.436 RESOURCES : Gproj file copy successful +18:41:13.437 DEFAULT : Created PAK files: +18:41:13.437 RESOURCES : 1: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Publishing/E119F1C05A274B83/data.pak +18:41:13.439 RESOURCES : Packaging project successful +18:41:13.441 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_RHS19Fix path=C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Publishing/E119F1C05A274B83/resourceDatabase.rdb) +18:41:13.442 RESOURCES : ResourceDB: written 466/466 bytes +18:41:13.442 RESOURCES : ResourceDB: cache successfully saved +18:41:13.466 RESOURCES : Saving manifest successful: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Publishing/E119F1C05A274B83/manifest.json +18:41:13.466 DEFAULT : Bundle successfully saved into: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Publishing/E119F1C05A274B83 +18:41:13.469 RESOURCES : Creating bundle successful +18:41:13.469 DEFAULT : Validating bundle... +18:41:13.480 DEFAULT : Validating bundle successful +18:41:46.191 DEFAULT : Publishing project to Workshop... +18:41:46.197 DEFAULT : Validating bundle... +18:41:46.208 DEFAULT : Validating bundle successful +18:41:48.592 DEFAULT : Uploading status: 20% +18:41:48.634 DEFAULT : Uploading status: 25% +18:41:49.021 DEFAULT : Uploading status: 70% +18:41:49.212 DEFAULT : Uploading status: 100% +18:41:50.189 DEFAULT : Uploading finished +18:41:50.189 DEFAULT : Project uploaded successfully +18:41:50.189 DEFAULT : Checking addon processing status... +18:44:13.235 DEFAULT : Addon processing successful diff --git a/docs/evidence/rhs-standalone-published-2026-11-05/external-addons-inputs.json b/docs/evidence/rhs-standalone-published-2026-11-05/external-addons-inputs.json new file mode 100644 index 00000000..cae3fc13 --- /dev/null +++ b/docs/evidence/rhs-standalone-published-2026-11-05/external-addons-inputs.json @@ -0,0 +1,851 @@ +{ + "1337C0DE5DABBEEF": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-ContentPack01_1337C0DE5DABBEEF", + "title": "RHS: Status Quo - Content Pack 01", + "version": "0.16.5236", + "files": { + "ServerData.json": { + "stat": [ + 47, + 916830, + 209, + 1791217537263294562, + 1791217537263294562 + ], + "sha256": "191c50eba8ec43670d1adf9c600b4eaa1eccce659b8572a4f10ead4e7abe612e" + }, + "addon.gproj": { + "stat": [ + 47, + 32064141, + 335, + 1791217514094252612, + 1791217536463650049 + ], + "sha256": "65197c50ff6e906a5732564e8b440d80ef1cdbcffead9eb388e1e2b56c1322bc" + }, + "addon.gproj_0.16.5236_manifest.json": { + "stat": [ + 47, + 32064122, + 362, + 1791217492996283583, + 1791217492996283583 + ], + "sha256": "17b87e0976ac2da1032f1661a884f6d59b56c00823b2fcfdc2a698ea8bcc92cc" + }, + "data.pak": { + "stat": [ + 47, + 32064165, + 1992950655, + 1791217529019417115, + 1791217536749658990 + ], + "sha256": "6f03d41961efe91af0060c0362c8a65c31d34c4f0ba173a4ddc8eb8ee965c4cb" + }, + "data.pak_0.16.5236_manifest.json": { + "stat": [ + 47, + 32064123, + 232639, + 1791217493181289432, + 1791217493181289432 + ], + "sha256": "e1b26dacd2d4054b748824f737693975b07bc9ff383b5e973a8915f58c01591e" + }, + "data001.pak": { + "stat": [ + 47, + 32064187, + 1992538370, + 1791217526882350163, + 1791217537231674056 + ], + "sha256": "6426f25d25633e9d3e34fd064e56a02230f5c7b85176dd73d8914eeb772ef8c8" + }, + "data001.pak_0.16.5236_manifest.json": { + "stat": [ + 47, + 32064126, + 349868, + 1791217493712306218, + 1791217493712306218 + ], + "sha256": "027b0a089cf9c9b099ea8f06a4bfb025a383de718df13df71313089215655d12" + }, + "data002.pak": { + "stat": [ + 47, + 32064182, + 1992467294, + 1791217529310426228, + 1791217537064668837 + ], + "sha256": "5596b2bf81be625ae76e4a22e2d802e730c9fe4ae127c7fa713dd002d45b899d" + }, + "data002.pak_0.16.5236_manifest.json": { + "stat": [ + 47, + 32064125, + 332026, + 1791217493496299390, + 1791217493496299390 + ], + "sha256": "a918a87020efea578db5698f03698d07b3b7f3ebb2c5804202766e6e6d2c8021" + }, + "data003.pak": { + "stat": [ + 47, + 32064138, + 364877149, + 1791217516523025099, + 1791217536462650018 + ], + "sha256": "ba633b5025f357a37f74f2484b8cfe0d51a88b1e732fdf95d982e9d17b66828e" + }, + "data003.pak_0.16.5236_manifest.json": { + "stat": [ + 47, + 32064121, + 96448, + 1791217492872279662, + 1791217492872279662 + ], + "sha256": "ceca6220d153deaf4cd4ea9aecb4d1a9db63e4f4f950deb2acfc03cbe52ae431" + }, + "meta": { + "stat": [ + 47, + 911092, + 8188, + 1791217537260674963, + 1791217537260674963 + ], + "sha256": "ab21fee89c49e2622f33c3f614b4a0b8671985a9d3bc138baaec92bb4574bb33" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 32064190, + 567385, + 1791217514761969753, + 1791217537232674088 + ], + "sha256": "a71a5e6639ad4c44787eed5916dc4e153886326382d05c20cef179fd8c532fcb" + }, + "resourceDatabase.rdb_0.16.5236_manifest.json": { + "stat": [ + 47, + 32064127, + 368, + 1791217493836310139, + 1791217493836310139 + ], + "sha256": "d0a77a21db87a11b0a67e3adca189e4868c2f348d918fd04af6b8a6bb5b9fb31" + }, + "thumbnail.png": { + "stat": [ + 47, + 32064168, + 18180, + 1791217514094761493, + 1791217536749658990 + ], + "sha256": "4c70bf384375f069cab9ed719f3865441fd363a010495e7b465f3ae83ed887c3" + }, + "thumbnail.png_0.16.5236_manifest.json": { + "stat": [ + 47, + 32064124, + 366, + 1791217493307293415, + 1791217493307293415 + ], + "sha256": "d0e233b32d3d41ac44ea127ea5eb028b97a63555f7867278a7a6f5e8e1df7255" + } + } + }, + "595F2BF2F44836FB": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-StatusQuo_595F2BF2F44836FB", + "title": "RHS: Status Quo", + "version": "0.16.5237", + "files": { + "ServerData.json": { + "stat": [ + 47, + 910012, + 3022, + 1791300979137534085, + 1791300979137534085 + ], + "sha256": "94bcd198ec248f7e1317838378d902fe8e098d052a4cb9575a68029d8f3ae21a" + }, + "addon.gproj": { + "stat": [ + 47, + 32244359, + 1101, + 1791300968688283305, + 1791300979087532885 + ], + "sha256": "51fda0afde5ebcd4dc88c6c9451d960b67aceaee437f02f1cc80aef724e3779c" + }, + "addon.gproj_0.16.5237_manifest.json": { + "stat": [ + 47, + 32244348, + 364, + 1791300967569256451, + 1791300967569256451 + ], + "sha256": "c67690023c7ecfda231509b46545febea451145a060277b8178c14ebaebb82b8" + }, + "data.pak": { + "stat": [ + 47, + 32244356, + 203465487, + 1791300978292513803, + 1791300979065532357 + ], + "sha256": "dcceaad42c6ac6ffaef277a2e7ec799a1b4f1d5c27e885d83728245c52a82e9e" + }, + "data.pak_0.16.5237_manifest.json": { + "stat": [ + 47, + 32244347, + 1414398, + 1791300967419252851, + 1791300967419252851 + ], + "sha256": "973213b9295b25179f079ff0e01baa7f49418d1f24bedba331930177b6c60496" + }, + "meta": { + "stat": [ + 47, + 902077, + 12812, + 1792584948525389732, + 1792584948525389732 + ], + "sha256": "35a3f1e3c74b73b57235ec5ae2fe4a798740501272afdbf06cf2b3b3e3680eb4" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 32244362, + 826592, + 1791300968575280593, + 1791300979087532885 + ], + "sha256": "b7977b6dad5dcf8b140a860dc425184cc04ba24b310124184c6bad232109bc03" + }, + "resourceDatabase.rdb_0.16.5237_manifest.json": { + "stat": [ + 47, + 32244349, + 368, + 1791300967709259811, + 1791300967709259811 + ], + "sha256": "0296f06bb84669527e3580aa4e2fc053ee27ee39a8c9bb1bd87762e9b7f8fdc7" + }, + "thumbnail.png": { + "stat": [ + 47, + 32244353, + 18180, + 1791300968572481488, + 1791300978991147498 + ], + "sha256": "4c70bf384375f069cab9ed719f3865441fd363a010495e7b465f3ae83ed887c3" + }, + "thumbnail.png_0.16.5237_manifest.json": { + "stat": [ + 47, + 32244346, + 366, + 1791300966985242436, + 1791300966985242436 + ], + "sha256": "d0e233b32d3d41ac44ea127ea5eb028b97a63555f7867278a7a6f5e8e1df7255" + } + } + }, + "5E389BB9F58B79A6": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/SpaceCore_5E389BB9F58B79A6", + "title": "WCS_SpaceCore", + "version": "8.3.0", + "files": { + "ServerData.json": { + "stat": [ + 47, + 919166, + 197, + 1791905536676880291, + 1791905536676880291 + ], + "sha256": "7590c843333aec0f90fb2663dab5f0f764fac6baa96cda65038d15777e18b581" + }, + "addon.gproj": { + "stat": [ + 47, + 33588062, + 2957, + 1791905535812995569, + 1791905536666241292 + ], + "sha256": "2db2e318e6f45bede0d1173d77af03314f888aedfb31bc767d569ccfb6e70a34" + }, + "addon.gproj_8.4.0_manifest.json": { + "stat": [ + 47, + 33588053, + 364, + 1791905535321183833, + 1791905535321183833 + ], + "sha256": "67d15a8e8623130546332c6d6433314cbdf38e034a66330b9c7a739a94731e21" + }, + "data.pak": { + "stat": [ + 47, + 33588059, + 25392053, + 1791905536569237148, + 1791905536663241163 + ], + "sha256": "0e783e0179a90d2764361c1833824b64b0d0270a09716599ff593a318f0f14cd" + }, + "data.pak_8.4.0_manifest.json": { + "stat": [ + 47, + 33588052, + 31209, + 1791905535162177040, + 1791905535162177040 + ], + "sha256": "6719a69faacb0cd291b816ff2f26ce87c54fdda3d3718897d64d143d97e887cf" + }, + "meta": { + "stat": [ + 47, + 918678, + 2338, + 1791905536675241676, + 1791905536675241676 + ], + "sha256": "ac0338fc8260380e7b399b73e24b2c963420694a3fd9eaa0c0acf93baec938bd" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 33588065, + 23196, + 1791905536041214598, + 1791905536667241335 + ], + "sha256": "f8e7de8778bec66ba13e1ebe7f1ddb29667cc9738e0ccf3f977180ff7e05d449" + }, + "resourceDatabase.rdb_8.4.0_manifest.json": { + "stat": [ + 47, + 33588054, + 366, + 1791905535503191610, + 1791905535503191610 + ], + "sha256": "730c5097d76cde9084a700a426f917569dda13b553dc88aaaf2ee876e3607fa1" + }, + "thumbnail.png": { + "stat": [ + 47, + 33588068, + 689401, + 1791905535814204899, + 1791905536667241335 + ], + "sha256": "8da2e133303f21bb16a2abd25d5bd6c2a4a6f5eccedae74a98358db485a170d1" + }, + "thumbnail.png_8.4.0_manifest.json": { + "stat": [ + 47, + 33588055, + 368, + 1791905535684199344, + 1791905535684199344 + ], + "sha256": "5aaa5989b5f44b48ff03082a0d4004ae71420db6eebeb56282af7d98f36c7000" + } + } + }, + "5E524E4FEECCA92B": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/BMP-1IFV_5E524E4FEECCA92B", + "title": "WCS_BMP-1", + "version": "8.3.0", + "files": { + "ServerData.json": { + "stat": [ + 47, + 918673, + 193, + 1791902411944955262, + 1791902411944955262 + ], + "sha256": "66d9aadb7bc9f87ec89f252ab0fc418b3164108ea06ba4702a873ab98cd2bce3" + }, + "addon.gproj": { + "stat": [ + 47, + 33574555, + 2900, + 1791902410577627717, + 1791902411894052339 + ], + "sha256": "ad44151140adf62e99eaa639984c2b9c400be17481e934186d61c307b5221259" + }, + "addon.gproj_8.4.0_manifest.json": { + "stat": [ + 47, + 33574548, + 364, + 1791902409731031220, + 1791902409731031220 + ], + "sha256": "3065c7c353cb7623ee85f83d462d4dac37c92efad1a0255f2661470e6cedfd0f" + }, + "data.pak": { + "stat": [ + 47, + 33574558, + 120024479, + 1791902411497121011, + 1791902411928073379 + ], + "sha256": "7accd95e940856220f8e65f7b73c63385e73b5804da811761c7eeac9408abcb8" + }, + "data.pak_8.4.0_manifest.json": { + "stat": [ + 47, + 33574549, + 29851, + 1791902409891034290, + 1791902409891034290 + ], + "sha256": "95ffd8ab723c92c027f847e552dae12fce3448ce2187ba5ef5e548f3e6a3fa0b" + }, + "gallery0_776x436.jpg": { + "stat": [ + 47, + 23106914, + 64588, + 1788720671481676966, + 1788720671481676966 + ], + "sha256": "63649f5239059dd12234250b8c8e313b14ca134e30e4309fbd1eb45f92e77097" + }, + "gallery1_776x436.jpg": { + "stat": [ + 47, + 23106915, + 47808, + 1788720671495639547, + 1788720671495639547 + ], + "sha256": "81f89b026a1bf341f8cd3bb19facd67e8d0f56073c924e026983836fee6bfb4c" + }, + "meta": { + "stat": [ + 47, + 918496, + 2928, + 1791902411943073667, + 1791902411943073667 + ], + "sha256": "dd115af27f420e89401e532ace686df8f13976d437bbcf6ba4f57af4ad9e73d0" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 33574561, + 19326, + 1791902410661049065, + 1791902411933073476 + ], + "sha256": "f0ad9d9f9339fd946be962e93543c696992b30159cc9d4cf7cadec5f87967d6e" + }, + "resourceDatabase.rdb_8.4.0_manifest.json": { + "stat": [ + 47, + 33574550, + 366, + 1791902410064037609, + 1791902410064037609 + ], + "sha256": "f66140ac6ccf012f21e3ff1919b4981b3fd06c42f7efc53d666b70705dfe9b4a" + }, + "thumbnail.png": { + "stat": [ + 47, + 33574564, + 708338, + 1791902410579047492, + 1791902411934073495 + ], + "sha256": "103a98bf476d510ab3081abb371170ae6cf65aea65b9095636d651170a5b0038" + }, + "thumbnail.png_8.4.0_manifest.json": { + "stat": [ + 47, + 33574551, + 368, + 1791902410190040027, + 1791902410190040027 + ], + "sha256": "5bf1e0f8794a4e2e862658a10071360df63ed6a440ee2ca5514afbc2e97e375e" + } + } + }, + "629B2BA37EFFD577": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/WCS_Armaments_629B2BA37EFFD577", + "title": "WCS_Armaments", + "version": "8.3.0", + "files": { + "ServerData.json": { + "stat": [ + 47, + 920134, + 197, + 1791902409425068465, + 1791902409425068465 + ], + "sha256": "6bddc06413108d624039e3ec7566ada8242b579a09b0bafe894877282e2a95f8" + }, + "addon.gproj": { + "stat": [ + 47, + 33574250, + 2926, + 1791902402861114545, + 1791902409412025099 + ], + "sha256": "e6ffcf559a2e7898848349c090300ea8eca8cb2e13ecef456a108bcc82efc8b1" + }, + "addon.gproj_8.4.0_manifest.json": { + "stat": [ + 47, + 33574239, + 364, + 1791902401264868815, + 1791902401264868815 + ], + "sha256": "ba8f2b36575408f11b2107fc4b0f9449c9dc057629ebf894c7bdbc77f53cbc1f" + }, + "data.pak": { + "stat": [ + 47, + 33574247, + 441631740, + 1791902407839994936, + 1791902409400024869 + ], + "sha256": "e18ab4bb3f390dd6116d8c7e686fe21349c6c993a77b7ea6361d4027d7683788" + }, + "data.pak_8.4.0_manifest.json": { + "stat": [ + 47, + 33574235, + 298655, + 1791902401137866379, + 1791902401137866379 + ], + "sha256": "c0a4abb0dbd590b845af29dd9cd8c4b28beba961052138da894d57230e27c171" + }, + "meta": { + "stat": [ + 47, + 919170, + 2505, + 1791902409423025310, + 1791902409423025310 + ], + "sha256": "7f3d6fb9d09d3f0a435eb10f711d63408fe7d0ec5b62f6723ee7da97d1e0c289" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 33574256, + 195796, + 1791902403029902666, + 1791902409414025137 + ], + "sha256": "92f6c40aeebab4c2148173ff61d4312340111a2e7b675b9e4bbced2814ed2154" + }, + "resourceDatabase.rdb_8.4.0_manifest.json": { + "stat": [ + 47, + 33574243, + 368, + 1791902401530873916, + 1791902401530873916 + ], + "sha256": "65ecf9dae6a8b3c864965b392b83ea520bc1f2910b4fdc83c3cfe16282647454" + }, + "thumbnail.png": { + "stat": [ + 47, + 33574253, + 689544, + 1791902402861899444, + 1791902409413025118 + ], + "sha256": "ccd771dba7f3f222e9733e688e6dd9e4c5edae2accdd80a6876241094e23f3dd" + }, + "thumbnail.png_8.4.0_manifest.json": { + "stat": [ + 47, + 33574240, + 368, + 1791902401396871347, + 1791902401396871347 + ], + "sha256": "e58ef73e4a794e56ecd04bfd84940ec539e5ca481d6b69ffb20f9fedcd3c2e77" + } + } + }, + "65930CB4CD0237B2": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/ParachuteFramework_65930CB4CD0237B2", + "title": "Parachute Framework", + "version": "1.2.0", + "files": { + "ServerData.json": { + "stat": [ + 47, + 23608865, + 764, + 1788881939235881733, + 1788881939235881733 + ], + "sha256": "ec665641799be1f97100937ce87c894a88bee99526fac0695303c339121e8bd1" + }, + "addon.gproj": { + "stat": [ + 47, + 23608826, + 124, + 1788881938831871187, + 1788881938831871187 + ], + "sha256": "183fbb521382a95ad33af9efc547147a80241bd536a29d124c93064b5ae5e8bc" + }, + "addon.gproj_1.2.0_manifest.json": { + "stat": [ + 47, + 23608818, + 362, + 1788881938288857014, + 1788881938288857014 + ], + "sha256": "5030f4430dbd237d93fbcc49ab5c667241b803f1beee4060498e882ea85c9d7f" + }, + "data.pak": { + "stat": [ + 47, + 23608829, + 5048302, + 1788881939131386944, + 1788881939131386944 + ], + "sha256": "ccb22523ba0040cb9d9206a7ab0ae7e5b4411b1704bde39e3e4a7953416e3042" + }, + "data.pak_1.2.0_manifest.json": { + "stat": [ + 47, + 23608820, + 4696, + 1788881938426860616, + 1788881938426860616 + ], + "sha256": "168504d70f88650b0e7acbdcc80ef384ee5b90e2f044839f837b1220b767afcb" + }, + "meta": { + "stat": [ + 47, + 23608819, + 5088, + 1788881955440304751, + 1788881955440304751 + ], + "sha256": "178156f61a332f596dc3783c4d02b0ab5d50a47d4aa1572395760d0fe062500b" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 23608835, + 3188, + 1788881939082877739, + 1788881939082877739 + ], + "sha256": "0994a4b1fcfacdd8d8f69759ba6bde878d633545e380a5774a05e4cac3b6b2c4" + }, + "resourceDatabase.rdb_1.2.0_manifest.json": { + "stat": [ + 47, + 23608822, + 364, + 1788881938690867507, + 1788881938690867507 + ], + "sha256": "6a0793ea2080ae22fac1efd6d3da3ddb3100fd0b60869098e5572be66318c883" + }, + "thumbnail.png": { + "stat": [ + 47, + 23608832, + 2255011, + 1788881939194880662, + 1788881939194880662 + ], + "sha256": "715ac1bf4b6abefb2726cc4c61e903e63ae3a2bfec1e8a85be6cb81eb308407a" + }, + "thumbnail.png_1.2.0_manifest.json": { + "stat": [ + 47, + 23608821, + 370, + 1788881938560864114, + 1788881938560864114 + ], + "sha256": "2bd7127d58adee39c3aa1e2212436499b10adf4fe2faa0b3ed5fcadbfaaae768" + } + } + }, + "BADC0DEDABBEDA5E": { + "path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-ContentPack02_BADC0DEDABBEDA5E", + "title": "RHS: Status Quo - Content Pack 02", + "version": "0.16.5236", + "files": { + "ServerData.json": { + "stat": [ + 47, + 911088, + 209, + 1791217577175957552, + 1791217577175957552 + ], + "sha256": "344a5ceec8c8c98aad2ac5831febebd0facb93ddd02422ad24060ecd09bd9d7e" + }, + "addon.gproj": { + "stat": [ + 47, + 32064850, + 336, + 1791217562080448337, + 1791217577146066199 + ], + "sha256": "6ebd73d663ed6dbf981cd8bc7d19cfd5bcd3c9dec3b9a706fa331d992ef200b4" + }, + "addon.gproj_0.16.5236_manifest.json": { + "stat": [ + 47, + 32064829, + 362, + 1791217554184202802, + 1791217554184202802 + ], + "sha256": "72d988d5881efdf7d8781b2dc978a0243e1a3d587ced56563299855724137232" + }, + "data.pak": { + "stat": [ + 47, + 32064844, + 1992510440, + 1791217570711716195, + 1791217577146066199 + ], + "sha256": "b67a44100a378580fd85b20009cb3ec0080809c676a8b5a1cb742e9b38ecc6c6" + }, + "data.pak_0.16.5236_manifest.json": { + "stat": [ + 47, + 32064827, + 173766, + 1791217553936195082, + 1791217553936195082 + ], + "sha256": "993b2ae337e9ac1739ae8ec463059046d4c04478150741d2b2f7cc6bf69936f7" + }, + "data001.pak": { + "stat": [ + 47, + 32064836, + 238642257, + 1791217563390489027, + 1791217577146066199 + ], + "sha256": "0fdef61ed28e54cf79586d11fcc06784e419df64e8a3a189f28bdc165a40b182" + }, + "data001.pak_0.16.5236_manifest.json": { + "stat": [ + 47, + 32064826, + 29970, + 1791217553778190164, + 1791217553778190164 + ], + "sha256": "f2e6ba88d0c10dc3270ff36c0782ec18d3b556b9d66905b88c28674abfad4020" + }, + "meta": { + "stat": [ + 47, + 910016, + 7720, + 1791217577173916383, + 1791217577173916383 + ], + "sha256": "f15f5ef2900d28a101f6a2e7ce9e59d97c12bcf22413b11d8f81915a95b1c0b1" + }, + "resourceDatabase.rdb": { + "stat": [ + 47, + 32064847, + 113129, + 1791217562363457128, + 1791217577146066199 + ], + "sha256": "cd6d683ab9b1bcb46936e113311e9ea68875a4411e4341c9761d961544c544d1" + }, + "resourceDatabase.rdb_0.16.5236_manifest.json": { + "stat": [ + 47, + 32064828, + 368, + 1791217554060198943, + 1791217554060198943 + ], + "sha256": "e0ff6ea4509dd43f625f774a23a9a829356ac2a8244d02199fa639684139f3f8" + }, + "thumbnail.png": { + "stat": [ + 47, + 32064853, + 18180, + 1791217562080448337, + 1791217577146066199 + ], + "sha256": "4c70bf384375f069cab9ed719f3865441fd363a010495e7b465f3ae83ed887c3" + }, + "thumbnail.png_0.16.5236_manifest.json": { + "stat": [ + 47, + 32064831, + 366, + 1791217554308206661, + 1791217554308206661 + ], + "sha256": "d0e233b32d3d41ac44ea127ea5eb028b97a63555f7867278a7a6f5e8e1df7255" + } + } + } +} diff --git a/docs/evidence/rhs-standalone-published-2026-11-05/manifest.json b/docs/evidence/rhs-standalone-published-2026-11-05/manifest.json new file mode 100644 index 00000000..27fd8076 --- /dev/null +++ b/docs/evidence/rhs-standalone-published-2026-11-05/manifest.json @@ -0,0 +1 @@ +{"version":1,"files":[{"name":"data.pak","size":6150,"contentType":"application/enfusion-pak","sha256":"ce5367d92d62d5683bf0b11844968a26eb7986ce2587fefb0d17ab49c888a6f8"},{"name":"addon.gproj","size":152,"contentType":"application/enfusion-gproj","sha256":"6e9ac7e5b83df0bd3c28d117e464123baf7d67f3efdeae6409cf0416796d55fe"},{"name":"resourceDatabase.rdb","size":466,"contentType":"application/enfusion-rdb","sha256":"36c35d9722ff7c60b8d0ab56153b48bad5fd21d79c1a10c2c8affff58f03ff0e"},{"name":"previewImage.png","size":2348651,"contentType":"image/png","sha256":"f38bbe231778f3c9b4374b2b3a01b894ebb0910f2120db47d3445c04578dff9f"}],"asset":{"id":"E119F1C05A274B83","version":"1.0.0","name":"RHS 1.9 Compatibility","bundledAt":"2026-11-05T18:41:13.447Z","type":"addon","totalFileSize":2355419,"platformCompatibility":1,"gameVersion":"1.9.0.37","minGameVersion":1,"private":false,"unlisted":false,"previews":["previewImage.png"],"description":"RHS 1.9 Script Compatibility\n\nUnofficial compatibility patch for RHS Status Quo 0.16.5237 on Arma Reforger 1.9.0.37.\nRequires the original RHS Status Quo addon and its content packs.\n\nUpdates the CAS editor component's SetAuthor signature and the tire component's\nwheel-index accessor so the installed RHS scripts compile on 1.9. It does not\nretune vehicle handling or add support for every new 1.9 feature.\n\nOriginal RHS scripts and content are by Red Hammer Studios. This is a community\ncompatibility addon and is not an official RHS release.\n\nRHS terms: https://docs.rhsmods.org/rhs-status-quo-user-documentation/arma-reforger/rhs-status-quo/eula\n\nBuilt specifically for the versions above. Reassess or remove this patch when\nRHS publishes its own compatible update, because these replacements can otherwise\nhide newer upstream script changes.\n","summary":"Unofficial RHS Status Quo 0.16.5237 script compatibility fixes for Arma Reforger 1.9.0.37.","license":"Arma Public License No Derivatives (APL-ND)","tags":["COMPATIBILITY","1.9","SYSTEMS","RHS","FIX"],"dependencies":[{"assetId":"595F2BF2F44836FB","version":null}]}} \ No newline at end of file diff --git a/docs/evidence/rhs-standalone-published-2026-11-05/package-inventory.json b/docs/evidence/rhs-standalone-published-2026-11-05/package-inventory.json new file mode 100644 index 00000000..cf235cd2 --- /dev/null +++ b/docs/evidence/rhs-standalone-published-2026-11-05/package-inventory.json @@ -0,0 +1,43 @@ +{ + "archive": ".local/rhs-19-work/compat/pfx/drive_c/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Publishing/E119F1C05A274B83/data.pak", + "archive_bytes": 6150, + "archive_sha256": "ce5367d92d62d5683bf0b11844968a26eb7986ce2587fefb0d17ab49c888a6f8", + "entries": [ + { + "compression": "zlib", + "content_bytes": 6668, + "offset": 56, + "opaque_tail_hex": "07e2ca6a", + "path": "Scripts/Game/Editor/Components/EditableEntity/RHS_CAS_EditableEntityComponent.c", + "sha256": "3788cbdc39c3da4f6564b73b7f49848077ad4504b6c28a1984c424247d1c6678", + "stored_bytes": 1610 + }, + { + "compression": "zlib", + "content_bytes": 19677, + "offset": 1666, + "opaque_tail_hex": "07e2ca6a", + "path": "Scripts/Game/Vehicle/RHS_DestructionTireComponent.c", + "sha256": "9b3de0966d7b8184bb70a14df2a448e06f34ca9db09b46da07277cb92ab7f8b2", + "stored_bytes": 4271 + } + ], + "entry_count": 2, + "expanded_bytes": 26345, + "format": "FORM/PAC1 observed HEAD 03000100", + "head_hex": "030001003c2e3d02727b601047015a0c010b035d0055025100000000", + "limits": { + "archive_bytes": 4294967296, + "depth": 64, + "entries": 250000, + "entry_bytes": 1073741824, + "expansion_ratio": 1024, + "total_bytes": 8589934592, + "tree_bytes": 33554432 + }, + "platform_or_resource_semantics_verified": false, + "release_qualified": false, + "scope": "Bounded structural/content-hash inspection only; no extraction, native load or gameplay proof", + "structural_inventory_verified": true, + "tree_node_count": 8 +} diff --git a/docs/evidence/rhs-standalone-published-2026-11-05/publication-status.json b/docs/evidence/rhs-standalone-published-2026-11-05/publication-status.json new file mode 100644 index 00000000..855c4410 --- /dev/null +++ b/docs/evidence/rhs-standalone-published-2026-11-05/publication-status.json @@ -0,0 +1,14 @@ +{ + "addon": "RHS 1.9 Compatibility", + "id": "E119F1C05A274B83", + "version": "1.0.0", + "category_selected": "SYSTEMS", + "license": "Arma Public License No Derivatives (APL-ND)", + "preview": ".local/rhs-19-addon/preview.png", + "upload_success": true, + "processing_confirmed": true, + "escape_version_unchanged": "0.0.141", + "note": "Fresh private Workbench profile with backed-up/reset DbgUIState.bin; existing user Workbench untouched.", + "published": true, + "cleanup_confirmed": true +} diff --git a/docs/evidence/rhs-standalone-published-2026-11-05/recovery-cleanup.json b/docs/evidence/rhs-standalone-published-2026-11-05/recovery-cleanup.json new file mode 100644 index 00000000..da26d590 --- /dev/null +++ b/docs/evidence/rhs-standalone-published-2026-11-05/recovery-cleanup.json @@ -0,0 +1 @@ +{"prefix": "/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/compat", "owned_processes_terminated": [], "idle_verified": true} diff --git a/docs/evidence/rhs-standalone-published-2026-11-05/runner.json b/docs/evidence/rhs-standalone-published-2026-11-05/runner.json new file mode 100644 index 00000000..84305717 --- /dev/null +++ b/docs/evidence/rhs-standalone-published-2026-11-05/runner.json @@ -0,0 +1,34 @@ +{ + "stopped_unix": 1793900746.5277748, + "console_sha256": "2ce30fc5fc7c232704b70eb4b92d6c94fb37df9297b3dfe22e74e4d9fc2737a3", + "end_source_sha256": "01739daea8e2cf8c35123393ac77b773add84933319563db21eeedee68a3418f", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "3719ae50-1cad-4602-a74d-f234b774915c", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "01739daea8e2cf8c35123393ac77b773add84933319563db21eeedee68a3418f", + "external_addons_unchanged_after_run": true, + "external_addon_count": 7, + "external_addon_inputs": "external-addons-inputs.json", + "started_unix": 1793900046.8570962, + "result": "interrupted", + "result_before_cleanup": "interrupted", + "cleanup_confirmed": true, + "cleanup_report": { + "cleanup_confirmed": true, + "idle_verified": true, + "errors": [], + "orphan_cleanup": { + "attempted": false, + "reason": "noncanonical-private-prefix" + } + }, + "runner_error": null, + "session": "/home/jakub/devel/escapistsrereintroduced/.local/rhs-19-work/rhs-publish-retry/logs/logs_2026-11-05_18-34-08", + "rounds_required": 1, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/vehicle-roles-2026-11-06/README.md b/docs/evidence/vehicle-roles-2026-11-06/README.md new file mode 100644 index 00000000..be945427 --- /dev/null +++ b/docs/evidence/vehicle-roles-2026-11-06/README.md @@ -0,0 +1,67 @@ +# Discovered vehicle assignments — 2026-11-06 + +Content → Vehicles now provides a **Use for** selector for garages/yards, +civilian traffic, enemy patrols, convoy armed escorts and convoy supply trucks. +Installed server vehicle catalogs and complete vehicle prefabs are scanned in +small batches; new vehicles remain unassigned until an administrator enables a +use. Existing pool defaults remain. Source-mod exclusions, per-use choices and +presets persist through the shared server preferences. + +## Verification + +- Full `python3 tools/check.py` suite passed (`repository-checks.log`). +- Focused checks repeated after final traffic-budget and wording corrections: + preferences, command authorization/allowlists, convoy dispatch transactions, + real selection policy, traffic lifecycle, garage geometry and generated menu. + See `focused-final.log`. +- Discovery found 321 ground vehicles in the installed dependency closure, plus + three temporary uncatalogued vehicle prefabs in the disposable test addon. +- `menu-run` exercised the real admin menu: item/master controls, state filters, + all 29 navigation pages, selecting a new vehicle for patrols, independent + assignments, stale-role action rejection and persisted preference reload. +- The same run assigned a new car to garage and traffic selection, verified its + actual garage footprint, and allocated production crews for a patrol car, + armed escort and supply truck. All three physically drove more than 20m. +- `final-run` compiled the exact final production addon sources and repeated all + page geometry checks plus discovery, per-use selection, garage fit, production + crews and physical driving. Rejected traffic candidates consume a native + creation attempt before their early return, preserving the 64-attempt ceiling. + +The temporary prefabs inherit an S105, armed UAZ and ammunition Ural, with new +GUIDs not known to the mission. They are found through the ordinary prefab scan, +not a hardcoded production list. They and the fixture script exist only in the +disposable source snapshots. Screenshots show the real menu, including the +fixture vehicle. An earlier run also allocated five crew and drove a new UAZ +patrol derivative; the final fixture uses a smaller car to check garage fit. + +## Scope + +This verifies local Workbench integration, not a dedicated multiplayer session, +every third-party mod, every garage location or a complete live supply-convoy +mission. Native physical tests use production crew allocation with fixture road +starts/orders; finite convoy dispatch and refusal behavior also have policy tests. +The garage check proves selection and physical dimensions, not a new full yard +placement/claim/cleanup run. Existing lifecycle tests remain in force. + +Convoy assignments affect the three light escorts and supply truck. The special +BMP slot stays fixed because its interception/mounted-ammunition logic depends +on that exact resource. Patrol assignments affect the main HQ vehicle roster; +optional bike and Sarka waves retain their existing settings. AI component +support is checked without spawning; physical crew and size checks still veto +incompatible mod vehicles. Such vehicles are unavailable for that use until the +next round. No Workshop addons are downloaded or unloaded by these controls. + +All native runs used hidden Gamescope, muted audio, a cloned private Proton prefix +and new test profiles. Runner records include immutable launch/external-input +hashes and confirmed owned-process cleanup. No user Workbench was closed. + +Installed RHS content packs 01/02 were 0.17.5281. Their fingerprints were accepted +only in the disposable audit, without changing the repository dependency +manifest. Native scripts compiled without errors. The runner still reports +external resource errors (localization GUID references, DLC ownership request, +and old vehicle fields); successful smoke completion does not mean clean engine +logs or certification of the whole external-mod set. + +`source-comparison.json` compares the final tested production files to the +workspace. The fixture source and prefab resources accompany each run. The +release version remains 0.0.143; this change has not been pushed or published. diff --git a/docs/evidence/vehicle-roles-2026-11-06/escort-filter.png b/docs/evidence/vehicle-roles-2026-11-06/escort-filter.png new file mode 100644 index 0000000000000000000000000000000000000000..044f448fd845fe7cc7aff2cf56a06bf2f8a59d71 GIT binary patch literal 110655 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